FAQ
アドインのローカライズ

ナレッジ番号:2612 | 登録日:2023/05/29 | 更新日:2023/12/28

サマリ

このトピックでは、アドインを多言語でサポートする方法について説明します。

内容


アドインのローカライズについて

アドインが多言語でサポートされるようローカライズするには、設定ファイル(Config.xml)を翻訳する必要があります。また、.NET リソースを使用している場合は、サテライト アセンブリを生成し、それらのファイルをアドイン ファイル(.esriAddIn)にパッケージ化しなければなりません。

Config.xml のローカライズ

ウォークスルー:アドインを使用したカスタム UI エレメントの作成のトピックでも説明している通り、Visual Studio に統合された アドイン テンプレートを使用して作成したプロジェクトでは、Config.esriaddinx という名前のアドイン設定ファイルが生成されます(Config.esriaddinx ファイルは、プロジェクトのビルドによりパッケージ化されると、Config.xml に名前が変更されます)。

image

この設定ファイルでは、以下のように、XML 形式でアドインの要素や属性が設定されています。

[XML]

<!-- 英語 --> </ESRI.Configuration xmls="http://schemas.esri.com/Desktop/AddIns" xmln:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Name>Acme</Name> <AddInID>{c9256b2b-72cf-49ba-8609-c80d4af1c3d7}</AddInID> <Description>Type in a description for this Add-in.</Description> <Version>1.0</Version> <Image>Images\Acme.png</Image> <Author>esrijapan</Author> <Company>Microsoft</Company> <Date>2011/07/26</Date> <Targets> <Target name="Desktop" version="10.0" /> </Targets> <Addin language="CLR" library="Acme.dll" namespace="Acme"> <ArcMap> <Commands> <Button id="Acme_ToggleDockWinBtn"
class="AcmeToggleDockWinBtn"
caption="Show Selection Window"
category="Acme Controls"
image="Images\ToggleDockWinBtn.png"
tip="Shows the ACME Selection Window"
message="Shows the ACME Selection Window">
<Help heading="Add-in button">The ACME Selection Window displays the current selections count broken down per layer.
</Help>
</Button> </Commands> </ArcMap> </Addin> </ESRI.Configuration>

アドインを多言語でサポートするには、この設定ファイルを言語ごとに用意する必要があります。各言語版の設定ファイルは、Visual Studio またはサード パーティのローカライゼーション ソフトウェアを使用して作成することができます。Visual Studio で行う場合は、まず、新しい項目として "XML ファイル" をプロジェクトに追加し、次に、Config.esriaddinx に記述されている XML コードを追加した XML ファイルにコピー & ペーストします。最後に、翻訳すべき以下の要素や属性について翻訳を行います。

  • Description: アドインについての説明
  • Caption: コマンド名
  • Tip: ツール チップ
  • Message: アドインの簡単な説明
  • Help: ヘルプ

以下は、日本語版の設定ファイルの翻訳例を示しています。

[XML]

<!-- 日本語 --> </ESRI.Configuration xmls="http://schemas.esri.com/Desktop/AddIns" xmln:xsi="http://www.w3.org/2001/XMLSchema-instance"> <Name>Acme</Name> <AddInID>{c9256b2b-72cf-49ba-8609-c80d4af1c3d7}</AddInID> <Description>このアドインは、ACME 選択ウィンドウを表示し、レイヤー毎の選択数を表示します。</Description> <Version>1.0</Version> <Image>Images\Acme.png</Image> <Author>esrijapan</Author> <Company>Microsoft</Company> <Date>2011/07/26</Date> <Targets> <Target name="Desktop" version="10.0" /> </Targets> <Addin language="CLR" library="Acme.dll" namespace="Acme"> <ArcMap> <Commands> <Button id="Acme_ToggleDockWinBtn"
class="AcmeToggleDockWinBtn"
caption="選択ウィンドウの表示"
category="ACME コントロール"
image="Images\ToggleDockWinBtn.png"
tip="ACME 選択ウィンドウを表示します"
message="ACME 選択ウィンドウを表示します">
<Help heading="Add-in button">ACME 選択ウィンドウは、レイヤー毎に分類された現在の選択数を表示します。
</Help>
</Button> </Commands> </ArcMap> </Addin> </ESRI.Configuration>

翻訳されたすべての言語版の設定ファイルは、次のネーミング規則のいずれかにしたがって名前を付け、アドイン アーカイブ(.esriAddIn)のルート レベルに配置します。

  • Config.<言語>.xml
  • Config.<言語>-<国別コード>.xml

以下のテーブルに、ファイル名の付け方の例を示します。

 設定ファイル  言語 または 言語-国
Config.fr.xml 仏語
Config.fr-FR.xml 仏語-フランス
Config.fr-CA.xml 仏語-カナダ
Config.ja.xml 日本語
Config.ja-JP.xml 日本語-日本

アドイン フレームワークは、ユーザーの デスクトップ アプリケーションが現在動作している環境のロケールを自動的に検知し、最適な組み合わせの設定ファイルを選択します。選択の順序として、まず、フレームワークが言語と国別コードの直接的な組み合わせを検索し、続いて言語のみを検索します。もし、適切な組み合わせが見つからなかった場合は、デフォルトの設定ファイルが使用されます。

たとえば、実行中のロケールが「仏語-スイス」で、該当のアドインに次の3つのファイルが含まれているとします。

  • Config.fr-FR.xml
  • Config.fr.xml
  • Config.xml

このケースでは、Config.fr.xml が最もふさわしい組み合わせとして読み込まれます。同様にして、実行中のロケールが「ドイツ語-スイス」の場合で、上記 3 つのファイルしか含まれていない場合は、Config.xml が読み込まれます。

.NET リソースのローカライズ

ダイアログ ボックスなどの追加リソースを持ったアドインには、.NET 標準のサテライト アセンブリ モデルを使用してください。このモデルでは、Microsoft の ResourceManager クラスを使用して、ローカライズされたリソースを読み込みます。このクラスやサテライト アセンブリの一般的な使用に関する、より詳細な情報については、マイクロソフト社のドキュメント をご確認ください。翻訳済みの設定ファイルと同様、サテライト アセンブリは、ユーザーのアドイン アーカイブにパッケージ化されなければなりません。サテライト アセンブリは、ルート インストール フォルダーの下にある言語サブ フォルダー内に配置されます。

次の図は、ローカライズされたアドインの完全な構造を示しています。

Image

Visual Studio と ArcObjects SDK を使用したローカライズ済みアドインのビルド

Visual Studio と ArcObjects .NET SDK (ソフトウェア開発キット)は、ローカライズ処理をシンプルで分かりやすくします。翻訳された設定ファイル(たとえば、Config.ja.xml など)は、Visual Studio プロジェクトのルート レベルにあるデフォルトの Config.esriaddinx ファイルと同じ階層に追加する必要があります。

Image

Config.esriaddinx ファイルは、パッケージ化されると Config.xml に名前が変更されます。

プロパティ ウィンドウでは、各言語版の設定ファイルの [ビルド アクション] プロパティを "AddInContent" に変更します。この設定は、ファイルがアドインにパッケージ化されることを指定します。

Image

ドッカブル ウィンドウのようなダイアログ ボックスを含んでいる場合は、[Localizable] プロパティを "True" に設定し、次に、対象の言語を設定します。たとえば、次の図では、言語を日本語に変更するところを示しています。

Image          Image

上記の時点では、ダイアログ ボックスに対する変更は、そのダイアログ ボックスの日本語版にしか影響を与えません。この状態で、ダイアログ ボックス上のテキストを適切な日本語文字列に翻訳したり、単語や文章の長さに合わせてコントロールの幅やサイズを調整したりすることで、ロケールに適合させることができます。この処理を、サポートしたい言語ごとに行います。Visual Studio は、アドインをビルドする際、変更が加えられたことを認識し、この処理が行われた各言語につきサテライト アセンブリを自動生成し、それらを自動的にアドインにパッケージ化します。


この文書は、ArcObjects Help for .NET Developers 内のトピック Localizing add-ins を元に翻訳したものです。

メタデータ

種類

製品

バージョン