(非推奨)ガイドのローカライズ

* 10 で追加 *

ガイドには、キャプション、ヘルプテキスト、リストソースなど、ローカライズ可能な文字列が含まれています。

ガイド入力者がローカライズ対象のガイドにアクセスすると、サーバーにより、ガイドはガイド入力者のロケールに基づいて変換されて表示されます。ガイドランタイムは、ブラウザーが送信する HTTP ヘッダーに基づいてロケールを判断します。

ガイドをレンダリングするプロセスでは、ロケールを入力変数として受け入れ、値を Generate Guide 操作に入力として渡す必要があります。Generate Guide 操作について詳しくは、(非推奨)「Generate Guide」操作を参照してください。

ガイドの文字列をローカライズするには、変換リソースを Workbench から書き出します。Workbench は、ガイドがあるアプリケーションに XLF ファイルを作成します。XLF ファイルには、Guide プロパティで定義されている文字列のみが含まれています。ガイドの基礎であるデータモデルの文字列は含まれていません。

ガイドリソースをローカライズした後は、ロケールごとにガイドをプレビューしてテストします。Guide Properties ビューの Preview Settings でプレビュー言語を指定します。

ガイドのローカライズ

  1. Applications ビューで、アプリケーション内に「Locales」という名前のフォルダーを作成します。

  2. 各ロケールのサブフォルダーを作成します(en_US や fr_FR など)。例えば、/<Application Name>/1.0/Locales/fr_FR/ です。

  3. Applications ビューで、ガイドを右クリックし、「Export Translation Resources」を選択します。Workbench によって、ガイドと同じフォルダーに <Guide name>.<locale>.xlf という XLF ファイルが作成されます。

  4. XLF ファイルの翻訳後に、Guide Tree ビューでガイドを選択します。

  5. Guide Properties ビューで、Preview Settings からロケールを選択します。

  6. 「Preview」をクリックします。

XLF ファイル

ファイルごとに 1 つの言語翻訳を含めた複数の XLF ファイルを使用します。XLF ファイル名は言語タグで終了します(<GuideName>.fr.xlf など)。ターゲット言語は、「file」要素の属性です。

<file original="/server/MyApp/1.0/MyGuide.guide$MyGuide_GuideExperience.xml" source-language="en" target-language="fr-fr" tool="GuideBuilder"> 
  <body> 
    <trans-unit id="99999" resname="99999" restype="caption"> 
      <source>Text for translation.</source> 
      <target>Texte pour traduction.</target> 
</trans-unit>

画像は <source> タグ内で参照されます。ソースに変換用のテキストが含まれている場合は、画像参照を <target> 文字列内に含めます。画像参照を <target> 文字列に手動でコピーする必要がある場合があります。

アセットのローカライズ

ガイドには、画像やビデオなど、ローカライズ可能なアセットを含めることができます。ガイドをプレビューまたはレンダリングすると、サーバーでは、ブラウザーが送信する HTTP ヘッダーに基づいてロケールが判断されます。

Workbench は要求されたロケールに最適なアセットを見つけるために、¥<application name>¥<application version number>¥Locales¥<locale>¥<location of asset files>¥ というフォルダー構造を使用します。

例えば、アセットが ¥my_application¥1.0¥assets¥images¥ フォルダーにある場合、フランス語のアセットを ¥my_application¥1.0¥Locales¥fr_FR¥assets¥images¥ フォルダーにコピーします。

  1. Workbench で、ローカライズしたアセットを適切なロケールフォルダーにコピーします。

  2. Guide Tree ビューで、ガイドを選択します。

  3. ローカライズしたアセットがあるガイドをプレビューします。Guide Properties ビューで、Preview Settings からアセットのロケールを選択し、「Preview」をクリックします。

ガイドランタイムのローカライズ

Workbench には、英語(en_US)、フランス語(fr_FR)、ドイツ語(de_DE)および日本語(ja_JP)ロケール用のガイドランタイムバージョンが含まれています。デフォルトのロケールは英語(en_US)です。

ローカライズされるガイドランタイム文字列には、「Add」、「Copy」、「Remove」、「Next」、「Back」および「Submit」ボタンがあります。文字列は、guides_rb.swf という名前のリソースバンドルにローカライズされています。リソースバンドルファイルは、各 ¥Guides (system)¥2.0¥Locales¥<locale>¥Runtime アプリケーションフォルダー内にあります。

その他のロケールのリソースバンドルを作成するには、ガイドの ¥SDK¥code¥libs¥runtime¥locales¥<locale>¥ 内にあるプロパティファイルを使用します。

ガイド SDK は、Workbench がインストールされている Adobe LiveCycle ES3\Workbench 10\sdk\misc\Guides フォルダーで入手できます(デフォルトでは、C:¥Program Files¥Adobe LiveCycle ES3\Workbench 10\sdk\misc\Guides です)。

プロパティファイルには、ガイドランタイムの各文字列についてキーと値が含まれます。プロパティファイルを作成するときは、値は編集できますがキーは変更しないでください。

MXML コンパイラーを使用して、プロパティファイルを SWF ファイルにコンパイルします。

  1. GuidesRuntime.properties と XFAModel.properties ファイルをコピーします。

  2. これらのプロパティファイルをテキストエディターで開き、各文字列の値を編集します。

  3. Workbench がインストールされているマシンでは、最新の Java Runtime Environment(JRE)がインストールされていることを確認してください。

  4. スタート/プログラム/アクセサリ/コマンドプロンプトをクリックします。

  5. Workbench のインストール先の Flex_SDK¥bin フォルダーに移動します。デフォルトのパスは、C:¥Program Files¥Adobe LiveCycle ES3¥Workbench 10¥Flex_SDK です。

  6. mxml コマンドを入力し、次の引数を指定します。
    • -locale:作成している新しいロケールと、新しいロケールが見つからない場合に使用するフォールバックロケールを指定します。

    • -source-path:プロパティファイルの保存場所を指定します。

    • -include-resource-bundles:次の GuidesRuntime、XFAModel および Flex SDK リソースバンドルを指定します。

      GuidesRuntime、XFAModel、aircontrols、charts、collections、components、containers、controls、core、effects、fiber、formatters、layout、logging、messaging、rpc、SharedResources、skins、sparkEffects、states、styles、textLayout、utils、validators

    • -output:コンパイルしたリソースバンドルを保存する場所とファイル名を指定します。ガイドランタイムのリソースバンドルファイルに guides_rb.swf という名前を付けます。

      次の例では、it_IT リソースバンドルを作成します。

      mxmlc -locale=it_IT,en_US 
      -source-path="C:\Users\user_name\Workbench 10\server_name\application_name\1.0\locale\it_IT" 
      -include-resource-bundles=GuidesRuntime,XFAModel,aircontrols,charts,collections,components,containers,controls,core,effects,fiber,formatters,layout,logging,messaging,rpc,SharedResources,skins,sparkEffects,states,styles,textLayout,utils,validators 
      -output="C:\Users\user_name\Workbench 10\server_name\application_name\1.0\bin\it_IT\Runtime\guides_rb.swf
  7. 新しい ¥<locale>¥Runtime¥guides_rb.swf を ¥Guides (system)¥2.0¥Locales フォルダーにコピーします。

  8. Workbench を終了し、再起動してログインします。Workbench はロケールをキャッシュしてパフォーマンスを改善します。

  9. 作成したロケールを使用して、実行時文字列をプレビューします。Guide Properties ビューで、Preview Settings からロケールを選択し、「Preview」をクリックします。

データモデルのローカライズ

ガイドの基礎であるデータモデルには、ローカライズ可能な文字列、スタイルおよび検証メッセージも含めることができます。

XDP フォームのローカライズ

ガイドが XDP フォームに基づく場合、ベストプラクティスは、Guide Properties ビューを使用して文字列を上書きすることです。

XDP フォームの文字列を上書きできない場合は、各ロケールの XDP フォームを作成し、各 XDP フォームのガイドを作成します。例えば、XDP フォームにローカライズが必要な検証メッセージが含まれている場合、XDP フォームおよび対応する各ロケールのガイドを作成します。

XDP フォームのローカライズについて詳しくは、「Using XLIFF for translating Adobe LiveCycle Designer ES form designs」を参照してください。

データモデル(FML)のローカライズ

ガイドがデータモデル(FML)に基づく場合は、文字列を Modeler でローカライズします。文字列をスタイルで定義し、各ロケールのリソースバンドルを作成します。

データモデル(FML)のローカライズについて詳しくは、「Model XML elements reference」を参照してください。

  1. モデルで、スタイルを使用してローカライズ可能な文字列を定義します。
    <style name="bid_amount"> 
        <message name="caption" bundle="AuctionModelProperties" key="bid_amount_caption"/> 
        <message name="description" bundle="AuctionModelProperties" key="bid_amount_description"/> 
        <message name="error" bundle="AuctionModelProperties" key="bid_amount_error"/> 
    </style>
  2. 文字列を保持するプロパティファイルを作成します。例えば、¥locale¥en_US¥AuctionModelStrings.properties です。
    bid_amount_caption=Amount of Bid 
    bid_amount_description=The amount that you'd like to bid.  The minimum bid is 10000. 
    bid_amount_error=Invalid Bid
  3. ローカライズされたバージョンのプロパティファイルを作成し、対応するロケールのフォルダーに追加します。例えば、¥locale¥ja_JP¥AuctionModelStrings.properties です。

  4. ロケールごとに、プロパティファイルを SWF ファイルにコンパイルします。詳しくは、「Using Flex 4.5」の「Using Resource Modules」を参照してください。
    重要: SWF ファイル名は FML ファイル名と同じである必要があり、_rb 接尾辞を付加します。例えば、FML モデル名が AuctionModel.fml の場合、SWF ファイル名は AuctionModel_rb.swf である必要があります。
    mxmlc -locale=en_US -source-path=locale/{locale} -include-resource-bundles=AuctionModelStrings,core,effects,skins,styles -output Locales/en_US/Models/AuctionModel_rb.swf 
    mxmlc -locale=ja_JP -source-path=locale/{locale} -include-resource-bundles=AuctionModelStrings,core,effects,skins,styles -output Locales/ja_JP/Models/AuctionModel_rb.swf
  5. Workbench で、各 SWF ファイルを該当するロケールのフォルダーに追加します。例えば、/<Application Name>/1.0/Locales/fr_FR/models/AuctionModel_rb.swf です。

    <model_name>_rb.swf ファイルの場所は、モデルの場所を反映する必要があります。例えば、モデルが /MyApplication/1.0/myModels/AuctionModel.fml の場合、<model_name>_rb.swf ファイルは /MyApplication/1.0/Locales/<locale>/myModels/AuctionModel_rb.swf である必要があります。

    指定したプレビューロケールに対応する /Locales/<locale>/../<model name>_rb.swf がない場合、デフォルトの _rb.swf ファイルがプレビューに使用されます。デフォルトの _rb.swf ファイルは、データモデル(FML)と同じフォルダー内にあります。デフォルトの _rb.swf ファイルがない場合、デフォルトの文字列がプレビューに使用されます。ベストプラクティスとして、デフォルトの _rb.swf ファイルを作成するか、FML モデルで、style 要素の text 属性にデフォルト文字列を指定します。

    <style name="bid_type"> 
      <message name="caption" text="Default bid_type caption text" bundle="AuctionModelStrings" key="bid_type_caption"/> 
      <message name="description" text="default bid_type description text" bundle="AuctionModelStrings" key="bid_type_description"/> 
    </style>