ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Справка
  • Sign Out
ArcGIS Desktop

ArcGIS Online

Картографическая платформа вашей организации

ArcGIS Desktop

Полноценная профессиональная ГИС

ArcGIS Enterprise

ГИС предприятия

ArcGIS Developers

Инструменты для встраивания приложений с местоположениями

ArcGIS Solutions

Бесплатные шаблоны карт и приложений для отрасли

ArcGIS Marketplace

Получение приложения и данных для вашей организации.

  • Документация
  • Поддержка
Esri
  • Войти
user
  • Мой профиль
  • Выход

ArcMap

  • На главную
  • Начало работы
  • Карта
  • Анализ
  • Управление данными
  • Инструменты
  • Дополнительные модули

Интернационализация модулей Python

При распространении наборов инструментов геообработки с модулями Python модули можно настраивать для поддержки всех языков, доступных в ArcGIS. Файлы справки и поддержки для этих языков хранятся в директории help. Далее показана структура директорий help для всех 10 языков с английским в качестве языка, используемого по умолчанию:

Структура директорий help для языков, поддерживаемых ArcGIS

Для определения начальной директории поиска используется локальная настройка. Директория верхнего уровня gp используется для английского языка и является директорией по умолчанию, если файл, поиск которого осуществляется, не найден ни в одной из специфичных для определенного языка директорий. Директория messages (сообщения) содержит файл локализуемых строк .xml, используемых в инструментах наборов инструментов Python и инструментах-скриптах Python, а директория toolboxes (инструменты) используется для замещения локализуемых надписей бинарных наборов инструментов (пользовательских наборов инструментов, содержащих модели и инструменты-скрипты).

В директории gp хранятся файлы .xml для боковой панели справки набора инструментов и инструмента. Эти файлы .xml создаются на основе метаданных набора инструментов, редактируемых в контекстном меню Описание элемента (Item Description) с помощью функции createtoolboxsupportfiles. Команда работает для любого набора инструментов.

Примечание:

Перед запуском команды убедитесь, что для набора указан псевдоним. Для создания файлов справки боковой панели необходим псевдоним.

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

Данная команда создаёт все файлы поддержки набора инструментов в описанной выше структуре каталогов esri. Директория esri создается в том же местоположении, что и набор инструментов, указанный во входном пути для команды. Вновь созданная структура директорий esri должна быть

Структура директорий для файлов поддержки набора инструментов

Файлы справки боковой панели размещаются в директории esri/help/gp, файл локализуемых надписей – в директории esri/help/gp/toolboxes, а обертка ArcPy для набора инструментов – в папке esri/arcpy. Дополнительно, в каталоге esri/help/gp должна быть создана директория messages (сообщения) для локализации сообщений об ошибках, используемых в инструментах-скриптах или наборах инструментов Python, и, если это ещё не выполнено, то директория toolboxes (инструменты) с набором инструментов и любыми поддерживающими скриптами Python должна быть скопирована в существующую структуру размещения. С учётом создания директории messages (сообщения) и копирования директории toolboxes (инструменты) в каталог esri, структура должна быть

Структура директорий для файлов поддержки набора инструментов с директорией messages (сообщения)

При правильном размещении локализованных свойств наборов инструментов и инструментов посредством создания файлов для конкретных языков .xml под esri/help/gp и esri/help/gp/toolboxes, требуется один дополнительный файл .xml для хранения локализованных сообщений об ошибках, используемых в инструментах-скриптах и наборах инструментов Python. В директории esri/help/messages создайте новый файл .xml с именем messages.xml.

messages.xml

Примерный код для создания messages.xml.

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

Чтобы отразить эти изменения, должен быть отредактирован метод execute в SamplePythonToolbox.pyt из раздела Расширенная геообработка с помощью модулей Python (Extending geoprocessing through Python modules) для использования метода AddIDMessage вместо AddMessage. Новый метод execute должен быть

Метод набора инструментов Python execute

Примерный код для редактирования метода execute в SamplePythonToolbox.pyt.

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

Метод AddIDMessage обеспечивает эффективный способ доступа к внешним сообщениям, хранящимся в файле messages.xml в директории esri/help/messages. В этом случае он берет сообщение, помеченное уникальным идентификатором. Сообщение может быть любой строкой. Сообщения Python ID определяются либо целым числом, либо строкой; целые числа являются ссылками на сообщения Esri, а строки должны использоваться сторонними разработчиками или пользователями. Поскольку уникальные строки создавать проще, советуем указывать для ID сообщения имя компании.

С учетом данных изменений новая структура директорий должна быть

Новая структура директорий размещения с пользовательским сообщениями

Чтобы показать эти изменения, необходимо отредактировать setup.py. Новый setup.py для локализации должен быть

Новый setup.py для локализации

Примерный код setup.py для включения директорий локализации.

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/*.*']},
    )

Файлы .xml теперь можно отредактировать на любом языке для поддержки набора инструментов и модуля и скопировать в директорию для соответствующего языка так, как описано выше. Если файлы языка распространяются для испанского и английского языков, структура директорий должна быть

Структура директорий размещения для английского и испанского языков

Для распространения испанской локализации должны быть внесены изменения, а setup.py необходимо отредактировать. Новый setup.py, который включает локализацию для испанского языка, должен быть

Новый setup.py с локализацией для испанского языка

Примерный код setup.py для включения директорий локализации для испанского языка.

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/*.*']},
    )

Следуя данной обработке, возможно построить и распространить один установочный пакет, который будет поддерживать несколько языков и соответствовать локальным настройкам операционной системы с использованием прямого подхода на основе .xml. Расширяя геообработку с помощью модулей Python, все 10 поддерживаемых ArcGIS языков могут быть распространены, причем без необходимости создания наборов и инструментов для каждого языка.

Связанные разделы

  • Расширение геообработки с помощью модулей Python

ArcGIS Desktop

  • На главную
  • Документация
  • Поддержка

ArcGIS

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

Об Esri

  • О нас
  • Карьера
  • Блог Esri
  • Конференция пользователей
  • Саммит разработчиков
Esri
Расскажите нам, что вы думаете.
Copyright © 2021 Esri. | Конфиденциальность | Правовая информация