ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Hilfe
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Die Mapping-Plattform für Ihre Organisation

ArcGIS Desktop

Ein vollständiges professionelles GIS

ArcGIS Enterprise

GIS in Ihrem Unternehmen

ArcGIS Developers

Werkzeuge zum Erstellen standortbezogener Apps

ArcGIS Solutions

Kostenlose Karten- und App-Vorlagen für Ihre Branche

ArcGIS Marketplace

Rufen Sie Apps und Daten für Ihre Organisation ab.

  • Dokumentation
  • Support
Esri
  • Anmelden
user
  • Eigenes Profil
  • Abmelden

ArcMap

  • Startseite
  • Erste Schritte
  • Karte
  • Analysieren
  • Verwalten von Daten
  • Werkzeuge
  • Erweiterungen

Internationalisierung von Python-Modulen

Beim Verteilen von Geoverarbeitungs-Toolboxes mit Python-Modulen können die Module angepasst werden, um alle von ArcGIS unterstützten Sprachen zu unterstützen. Die Hilfe- und Unterstützungsdateien für diese unterstützten Sprachen werden im Hilfe-Verzeichnis gespeichert. Nachfolgend finden Sie die Hilfe-Verzeichnisstruktur, wenn sie für alle 10 Sprachen mit Englisch als Standardsprache erstellt wird:

Liste der von ArcGIS unterstützten Sprachen der Hilfe-Verzeichnisstruktur

Die Gebietsschemaeinstellung des Betriebssystems wird verwendet, um festzulegen, welches Verzeichnis zuerst durchsucht werden soll. Das oberste gp-Verzeichnis wird für die englische Sprache verwendet und ist das Standardverzeichnis, wenn die durchsuchte Datei in keinem der sprachspezifischen Verzeichnisse gefunden wird. Das messages-Verzeichnis enthält die .xml-Datei der lokalisierbaren Zeichenfolgen, die in der Python-Toolbox und den Python-Skriptwerkzeugen verwendet werden, während im toolboxes-Verzeichnis die lokalisierbaren Beschriftungen für binäre Toolboxes (benutzerdefinierte Toolboxes mit Modell- und Skriptwerkzeugen) überschrieben werden.

Im gp-Verzeichnis werden die .xml-Dateien für die Hilfe im Seitenbereich der Toolbox und des Werkzeugs gespeichert. Diese .xmlXML-Dateien werden aus den Metadaten der Toolbox generiert, die im Kontextmenü der Elementbeschreibung mithilfe der nachfolgenden Funktion createtoolboxsupportfiles bearbeitet werden. Der Befehl kann für jede Toolbox verwendet werden.

Hinweis:

Stellen Sie sicher, dass ein Alias für die Toolbox festgelegt wird, bevor der Befehl ausgeführt wird. Der Alias wird zum Generieren der Hilfedateien im Seitenbereich benötigt.

arcpy.gp.createtoolboxsupportfiles(<path to .tbx or .pyt>)

Dieser Befehl generiert alle Unterstützungsdateien der Toolbox, die sich innerhalb der oben beschriebenen esri-Ordnerstruktur befinden. Das esri-Verzeichnis wird im selben Verzeichnis wie die Toolbox erstellt, auf die im Eingabepfad für den Befehl verwiesen wird. Die neu generierte esri-Verzeichnisstruktur sollte folgendermaßen aussehen:

Verzeichnisstruktur für Unterstützungsdateien der Toolbox

Die Hilfedateien des Seitenbereichs werden in das esri/help/gp-Verzeichnis eingefügt, die Datei mit den lokalisierten Beschriftungen wird in das esri/help/gp/toolboxes-Verzeichnis eingefügt und der ArcPy Wrapper für die Toolbox wird im esri/arcpy-Verzeichnis erstellt. Außerdem muss das messages-Verzeichnis im esri/help/gp-Verzeichnis erstellt werden, damit die in den Skriptwerkzeugen oder Python-Toolboxes verwendeten Fehlermeldungen lokalisiert werden können. Falls dies noch nicht erfolgt ist, muss das toolboxes-Verzeichnis, in dem die Toolbox und unterstützende Python-Skripte gespeichert sind, in die vorhandene Verteilungsstruktur kopiert werden. Wenn das messages-Verzeichnis erstellt und das toolboxes-Verzeichnis in das esri-Verzeichnis kopiert wurde, sollte die Struktur folgendermaßen aussehen:

Verzeichnisstruktur für Unterstützungsdateien der Toolbox mit messages-Verzeichnis

Wenn die lokalisierten Eigenschaften der Toolboxes und Werkzeuge durch die Erstellung der sprachspezifischen .xml-Datei unter esri/help/gp und esri/help/gp/toolboxes vorhanden sind, wird eine zusätzliche .xml-Datei benötigt, um die lokalisierten Fehlermeldungen zu speichern, die in den Skriptwerkzeugen bzw. Python-Toolboxes verwendet werden. Erstellen Sie im esri/help/messages-Verzeichnis eine neue .xml-Datei mit dem Namen "messages.xml".

messages.xml

Nachfolgend finden Sie Beispielcode zum Erstellen der Datei "messages.xml".

<Messages>
<Message><ID>unique_string</ID><Description>%1 welcome to the sample tool</Description></Message>
</Messages>

Um diese Änderung zu übernehmen, muss die execute-Methode aus der SamplePythonToolbox.pyt aus Erweitern der Geoverarbeitung durch Python-Module so bearbeitet werden, dass sie die Methode AddIDMessage anstelle von AddMessage verwendet. Die neue execute-Methode sollte folgendermaßen aussehen:

Python-Toolbox-Methode execute

Folgendes ist Beispielcode zum Bearbeiten der execute-Methode in der SamplePythonToolbox.pyt:

def execute(self, parameters, messages):
    """The source code of the tool."""
    messages.AddIDMessage('informative', 'unique_string', os.getenv('username') )
    foo.hello()
    return

Die AddIDMessage-Methode ist eine effiziente Möglichkeit, auf die externen Meldungen zuzugreifen, die in der messages.xml-Datei im Verzeichnis esri/help/messages gespeichert sind. In diesem Fall wird die Meldung verwendet, die mit der unique_string-ID gekennzeichnet ist. Die Meldung kann eine beliebige Zeichenfolge sein. Die Python-ID-Meldungen verwenden eine Ganzzahl oder eine Zeichenfolge; die Ganzzahlen referenzieren Esri Meldungen und die Zeichenfolgen sollten von Entwicklern oder Benutzern von Drittanbietern verwendet werden. Da es einfacher ist, Zeichenfolgen eine eindeutige ID zuzuweisen, kann die Meldungs-ID beispielsweise mit dem Namen eines Unternehmens festgelegt werden.

Wenn diese Änderungen vorgenommen wurden, sollte die Struktur des Verteilungsverzeichnisses folgendermaßen aussehen:

Die neue Verzeichnisstruktur für die Verteilung mit benutzerdefinierten Meldungen

Um diese Änderungen zu übernehmen, muss die Datei "setup.py" bearbeitet werden. Die neue setup.py-Datei zur Lokalisierung sollte folgendermaßen aussehen:

Neue setup.py-Datei zur Lokalisierung

Das Folgende ist Beispielcode für setup.py mit einzubeziehenden Lokalisierungsverzeichnissen.

from distutils.core import setup
setup(name='foo',
    version='1.0',
    packages=['foo'],
    package_dir={'foo': 'foo'},
    package_data={'foo': ['esri/toolboxes/*.*', 'esri/arcpy/*.*', 'esri/help/gp/*.*', 
        'esri/help/gp/messages/*.*', 'esri/help/gp/toolboxes/*.*']},
    )

Die .xml-Dateien können nun zur Toolbox- und Modulunterstützung in jeder Sprache bearbeitet und in das entsprechende Sprachverzeichnis wie oben beschrieben kopiert werden. Wenn die Sprachdateien für Spanisch und Englisch verteilt werden, sollte die Verzeichnisstruktur folgendermaßen aussehen:

Die Verzeichnisstruktur in der Verteilung für die englische und spanische Sprache:

Um die Änderungen der Verteilung der spanischen Lokalisierung zu implementieren, muss die setup.py-Datei bearbeitet werden. Die neue setup.py-Datei für die Einbeziehung der spanischen Lokalisierung sollte folgendermaßen aussehen:

Neue setup.py-Datei für die spanische Lokalisierung

Das Folgende ist Beispielcode für setup.py mit einzubeziehenden spanischen Lokalisierungsverzeichnissen.

from distutils.core import setup
setup(name='foo',
    version='1.0',
    packages=['foo'],
    package_dir={'foo': 'foo'},
    package_data={'foo': ['esri/toolboxes/*.*', 'esri/arcpy/*.*',
        'esri/help/gp/*.*', 'esri/help/gp/messages/*.*',
        'esri/help/gp/toolboxes/*.*', 'esri/help/es/gp/*.*',
        'esri/help/es/gp/messages/*.*', 'esri/help/es/gp/toolboxes/*.*']},
    )

Nach diesem Prozess ist es möglich, ein einzelnes installierbares Paket zu erstellen und zu verteilen, das mehrere Sprachen unterstützt und auf die Gebietsschemaeinstellung des Betriebssystems mit einem einfachen .xml-basierten Ansatz reagiert. Indem die Geoverarbeitung durch Python-Module erweitert wird, können alle 10 Sprachen, die in ArcGIS unterstützt werden, verteilt werden, ohne Toolboxes und Werkzeuge für jede Sprache erstellen zu müssen.

Verwandte Themen

  • Erweitern der Geoverarbeitung durch Python-Module

ArcGIS Desktop

  • Startseite
  • Dokumentation
  • Support

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Über Esri

  • Über uns
  • Karriere
  • Esri Blog
  • User Conference
  • Developer Summit
Esri
Wir sind an Ihrer Meinung interessiert.
Copyright © 2021 Esri. | Datenschutz | Rechtliches