アプリケーションのローカライズ

提供: RAD Studio
移動先: 案内検索

国際化対応とローカライズ への移動


アプリケーションの国際化が済んだら、配布先となるさまざまな海外市場向けのローカライズ版を作成できます。

理想的には、国際化の過程で、アプリケーションのリソースは、フォーム ファイル(VCL アプリケーションでは .dfm)とリソース ファイルから成るリソース DLL に分離されています。

リソースのローカライズ

  • 機能のローカライズ

ローカライズには機能のカスタマイズが含まれる場合があります。たとえば、財務アプリケーションには、さまざまな国々の税法に合わせた修正が必要になることがあります。

  • UI 設計のローカライズ

複数の海外市場向けにアプリケーションを作成する場合は、テキスト、グラフィック画像、データ書式、ソート順序などの UI 機能の設計が翻訳時の重要なローカライズ要件を満たしている必要があります。

  • 追加言語用のリソース DLL プロジェクトの作成

[リソース DLL ウィザード]を使用して、追加言語用のリソース DLL プロジェクトを作成できます。作成した各リソース DLL プロジェクトには、フォームなどの GUI リソースを記述した .dfm フォーム ファイルと、resourcestring セクションで宣言したリソース文字列を記述した .rc リソース ファイルが格納されています (「リソース DLL の作成」を参照)。

[リソース DLL ウィザード]では、各リソース DLL プロジェクトをターゲット ロケールに固有の別々のサブディレクトリに作成します。最初の 2 文字でターゲット言語を示し、3 番目の文字でロケールの国を示します(「言語カルチャ名、コード、および ISO 値」を参照)。たとえば、"ドイツ語 - ドイツ" ロケールの場合、サブディレクトリは DEU になります。

  • リソース DLL プロジェクトに格納されているリソース文字列の翻訳

次のステップは、.dfm フォーム ファイルと .rc リソース ファイルに記述されているリソース文字列の翻訳です。[プロジェクト マネージャ]で .dfm フォーム ファイルまたは .rc リソース ファイルをダブルクリックして[トランスレーション エディタ]に開き、該当する文字列を翻訳します。

翻訳者は一般に RAD Studio IDE をインストールしていないので、(IDE 内部の[トランスレーション エディタ]ではなく)スタンドアロンの External Translation Manager を使用して、リソース DLL プロジェクトに格納されているリソース文字列を翻訳できます。

メモ: リソース DLL プロジェクトでは、GUI コンポーネントの追加や削除を行うことはできません。

  • 翻訳先言語のリソース DLL のビルド

[プロジェクト|すべてのプロジェクトをビルド]コマンドを実行すると、現在のプロジェクト グループに含まれているすべてのプロジェクトがビルドされます。このコマンドでは、すべての追加言語用に[リソース DLL ウィザード]で作成されたすべてのリソース DLL プロジェクトのすべてのリソース DLL をビルドします。たとえば、実行可能ファイルが Test.exe のアプリケーションがあり、リソース DLL プロジェクトのロケールが "ドイツ語 - ドイツ" の場合、RAD Studio IDE では、アプリケーションのメイン実行可能ファイル Test.exe と同じルート プロジェクト グループ ディレクトリにリソース DLL Test.DEU をビルドします。

ローカライズ済みアプリケーションの配置

ローカライズ済みプロジェクトには、アプリケーションのメイン実行可能ファイルと一緒に配布しなければならないローカライズ済みリソース DLL が多数作成されています。たとえば、アプリケーションの実行可能ファイルが Test.exe で、"ドイツ語 - ドイツ" ロケール用のリソース DLL Test.DEU をビルドした場合は、このローカライズ済みリソース DLL Test.DEU と一緒に実行可能ファイル Test.exe を配置しなければなりません (詳細は、「ローカライズ済みアプリケーションの配置」を参照)。

アプリケーションでのローカライズ済みリソース DLL の検索方法

ローカライズ済みアプリケーションを起動すると、アプリケーションはローカライズ済みリソース DLL を見つけて読み込もうとします。ローカライズ済みリソース DLL を検索するために、アプリケーションはまず優先言語名リストを取得します。このリストを用いて、アプリケーション(実行可能ファイルは Test.exe)は、以下のいずれかの拡張子を持つローカライズ済みリソース DLL を見つけようとします。

  1. Test.XYZ (Windows レジストリで XYZ という値の "ロケール オーバーライド" キーが実行可能ファイル Test.exe に定義されている場合)

    この "ロケール オーバーライド" キー は HKEY_CURRENT_USER\Software\Embarcadero\Locales または HKEY_LOCAL_MACHINE\Software\Embarcadero\Locales レジストリ キー下に追加することができます。"ロケール オーバーライド" キーの Name フィールドは、アプリケーションのパスと実行可能ファイル名 Test.exe を特定する文字列値でなければなりません。Data 値は、ローカライズ済みリソース DLL の目的とする拡張子 XYZ に等しくなければなりません。

  2. Test.AB-CDAB は言語コードを、CD は地域コードをそれぞれ表します)
  3. Test.AB
  4. Test.EFGEFG は 3 文字の言語コードを表します。「言語カルチャ名、コード、および ISO 値」の ISO 639x 値を参照)
  5. Test.EF

上記の手順のいずれかでローカライズ済みリソース DLL ファイルを検出すると、アプリケーションはそこで検索を終了し、検出したリソース DLL を読み込みます。

たとえば、UILocaleドイツ語 - ドイツに設定されていて、"ロケール オーバーライド" キーの値が XYZ である場合、Test.EXE アプリケーションを実行すると、Test.EXE を実行したディレクトリで以下のファイルが検索されます。

Test.XYZ
Test.DE-DE
Test.DE
Test.DEU
Test.DE

関連トピック

関連項目