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

Для определения начальной директории поиска используется локальная настройка. Директория верхнего уровня 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, структура должна быть

При правильном размещении локализованных свойств наборов инструментов и инструментов посредством создания файлов для конкретных языков .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 языков могут быть распространены, причем без необходимости создания наборов и инструментов для каждого языка.