ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • ヘルプ
  • Sign Out
ArcGIS Desktop

ArcGIS Online

組織のマッピング プラットフォーム

ArcGIS Desktop

完全なプロ仕様の GIS

ArcGIS Enterprise

エンタープライズ GIS

ArcGIS Developers

位置情報利用アプリの開発ツール

ArcGIS Solutions

各種業界向けの無料のテンプレート マップおよびテンプレート アプリケーション

ArcGIS Marketplace

組織で使えるアプリとデータを取得

  • ドキュメント
  • サポート
Esri
  • サイン イン
user
  • マイ プロフィール
  • サイン アウト

ArcMap

  • ホーム
  • はじめに
  • マップ
  • 解析
  • データ管理
  • ツール
  • エクステンション

Python モジュールのローカライゼーション

Python モジュールを使用してジオプロセシング ツールボックスを配布する場合、ArcGIS がサポートするすべての言語に対応するようにモジュールをカスタマイズできます。サポートされている各言語用のヘルプ ファイルとサポート ファイルは、ヘルプ ディレクトリに格納されています。英語をデフォルトとし、10 種類の言語すべてに対して作成した場合のヘルプ ディレクトリの構造を、以下に示します。

ArcGIS でサポートされている言語のヘルプ ディレクトリの構造

最初に検索されるディレクトリは、オペレーティング システムのロケール設定を使用して決定されます。英語の場合は、最上位のジオプロセシング ディレクトリが使用されます。このディレクトリは、特定の言語のディレクトリ内に検索対象のファイルが見つからない場合に、デフォルトで使用されます。メッセージ ディレクトリには、Python ツールボックスおよび Python スクリプト ツール内で使用されるローカライズ可能な文字列の *.xml ファイルが格納されます。ツールボックス ディレクトリは、バイナリ ツールボックス (モデルとスクリプト ツールを含むカスタム ツールボックス) のローカライズ可能なラベルをオーバーライドするために使用されます。

ジオプロセシング ディレクトリには、ツールボックスおよびツール内のサイドパネルのヘルプの *.xml ファイルが格納されます。これらの *.xml ファイルは、下の createtoolboxsupportfiles 関数を使用して、[アイテム説明] ショートカット メニューで編集されるツールボックスのメタデータから生成されます。このコマンドは、どのツールボックスに対しても有効です。

メモ:

このコマンドを実行する前に、必ずツールボックスのエイリアスを設定してください。サイドパネルのヘルプ ファイルを生成するには、エイリアスが必要です。

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

このコマンドを実行すると、ツールボックスのすべてのサポート ファイルが、上で説明した esri フォルダー構造内に生成されます。コマンドに入力したパスが指すツールボックスと同じ場所に、esri ディレクトリが作成されます。新しく生成された esri ディレクトリの構造は、以下のようになります。

ツールボックス サポート ファイルのディレクトリ構造

サイドパネルのヘルプ ファイルは、esri/help/gp ディレクトリに配置されます。ローカライズ可能なラベルのファイルは、esri/help/gp/toolboxes ディレクトリに配置されます。ツールボックス用の ArcPy ラッパーは、esri/arcpy ディレクトリ内に作成されます。また、スクリプト ツールまたは Python ツールボックスで使用されるエラー メッセージをローカライズ可能にするために、メッセージ ディレクトリを esri/help/gp ディレクトリ内に作成する必要があります (まだ作成されていない場合)。ツールボックスとサポート用の Python スクリプトが格納されたメッセージ ディレクトリを、既存の配布用ディレクトリ構造にコピーする必要があります。メッセージ ディレクトリを作成し、ツールボックス ディレクトリを esri ディレクトリにコピーすると、ディレクトリ構造は以下のようになります。

メッセージ ディレクトリが配置されたツールボックス サポート ファイルのディレクトリ構造

esri/help/gp および esri/help/gp/toolboxes の下に言語固有の *.xml ファイルを作成して、ツールボックスとツールのローカライズ済みプロパティを所定の場所に配置するとともに、スクリプト ツールまたは Python ツールボックスで使用されるローカライズ済みエラー メッセージを格納するために、*.xml ファイルを 1 つ追加する必要があります。messages.xml という名前の新しい *.xml ファイルを、esri/help/messages ディレクトリ内に作成します。

messages.xml

messages.xml を作成するためのサンプル コードを次に示します。

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

この変更を反映するには、「Python モジュールによるジオプロセシングの拡張」の SamplePythonToolbox.pyt の execute メソッドを編集して、AddMessage メソッドの代わりに AddIDMessage メソッドを使用する必要があります。新しい execute メソッドは、次のようになります。

Python ツールボックスの execute メソッド

SamplePythonToolbox.pyt 内の execute メソッドを編集するためのサンプル コードを次に示します。

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

AddIDMessage メソッドは、esri/help/messages ディレクトリ内の messages.xml ファイルに格納された外部メッセージにアクセスするための効果的な方法を提供します。この例では、unique_string ID のマークが付けられたメッセージが使用されます。メッセージには、任意の文字列を使用できます。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 モジュールによってジオプロセシングを拡張することで、言語ごとにツールボックスとツールを作成しなくても、ArcGIS がサポートする 10 種類の言語すべてを配布できます。

関連トピック

  • Python モジュールによるジオプロセシングの拡張

ArcGIS Desktop

  • ホーム
  • ドキュメント
  • サポート

ArcGIS

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

Esri について

  • 会社概要
  • 採用情報
  • Esri ブログ
  • ユーザ カンファレンス
  • デベロッパ サミット
Esri
ご意見・ご感想をお寄せください。
Copyright © 2021 Esri. | プライバシー | リーガル