ステップ2 - 右から左へのロケール用にアプリケーションレイアウトを定義する

このステップでは、右から左へのロケール用にコンテンツを配置するレイアウトを定義します。LocaleButton から別のプレハブを作成し、右から左へのロケールボタンの配置を設定します。

右から左へのロケール用にアプリケーションレイアウトを定義する

このセクションでは、右から左へのロケールのレイアウトを定義します。グリッドレイアウトノード内の要素を配置し、テキストとテクスチャコンテンツを右に揃えるために、Columns プロパティのサイズ設定を反転させます。

右から左へのロケール用にアプリケーションレイアウトを定義するには:

  1. アプリケーションのユーザーインターフェースのロケールを右から左へのロケールのいずれかに変更します。

    • Node Tree で IVI Grid ノードを選択し、Properties で Prefab Template を IVI Grid RightToLeft に設定します。

      ../../_images/ivi-grid-righttoleft-properties.png
    • Screen で、Arabic のために Locale を ar-AR に設定するか、Hebrew のために he-HE に設定します。

      ../../_images/node-tree-ivi-grid-righttoleft.png ../../_images/screen-locale-ar.png
  2. Prefabs で IVI Grid RightToLeft を選択し、Columns の Properties プロパティで列サイズの順序を逆にします。

    ここでは、プロジェクト内のすべての要素を含む列のサイズを変更して、アプリケーションユーザーインターフェースのレイアウトを反転させます。

    ../../_images/ivi-grid-righttoleft.png ../../_images/ivi-grid-rtl-columns.png
  3. Prefabs > IVI Grid RightToLeft で LocationInformation ノードを選択し、Properties で設定します:

    • Column を 1 に

    • Row を 0 に

    ここでは、アプリケーションユーザーインターフェースの左側から右側に LocationInformation のノードを配置します。

    ../../_images/locationinformation-selected.png ../../_images/locationinformation-column-property.png
  4. Prefabs > IVI Grid RightToLeft で Locales ノードを選択し、Properties で Column プロパティを 0 に設定します。

    ここで、ロケールを変更するためのロケールボタンを含む Locales ノードをユーザーインターフェースの左側に配置します。

    ../../_images/locales-selected.png ../../_images/locales-column-property.png ../../_images/columns-set-in-application.png
  5. Prefabs > IVI Grid RightToLeft で LocationInformation ノードを選択し、Properties で列サイズの順序を逆にして、テキストブロックノードと画像を LocationInformation のアプリケーションユーザーインターフェースの右側に配置します。

    • #0 から 486

    • #1 から 930

    • #2 から 140

    ../../_images/locationinformation-selected.png ../../_images/locationinformation-columns.png
  6. Prefabs > IVI Grid RightToLeft > LocationInformation で Image ノードを選択し、Properties で Column を0に設定します。

    ここで、画像を LocationInformation グリッドレイアウトの最も左の列に移動します。

    ../../_images/image-selected.png ../../_images/image-node-column-property.png ../../_images/image-column-set-in-application.png
  7. Prefabs > IVI Grid RightToLeft で Apps ノードを選択し、Properties の Columns プロパティで列サイズの順序を逆にして、Text Block 2D ノードを Apps Grid Layout ノードに配置します。

    • #0 から 450

    • #1 から 405

    • #2 から 270 まで

    • #3 から 300 まで

    • #4 から 345

    • #5 から 280

    ../../_images/apps-node-selected.png ../../_images/apps-columns-property.png
  8. Prefabs > IVI Grid RightToLeft で Apps ノードを選択し、Properties で Column Span プロパティを追加し、それを2に設定します。

    Column Span プロパティは、グリッドレイアウトのセルが何列にまたがるかを設定します。Apps グリッドレイアウトノードの Column Span プロパティを2に設定すると、IVI Grid RightToLeft ノードのすべての列にまたがります。

    ../../_images/apps-node-selected.png ../../_images/apps-column-span.png
  9. Prefabs > IVI Grid RightToLeft で、LocationInformation、Apps、Locales ノードと、それらの中にある LocaleSelector ノードを除くすべてのノードを選択し、Properties で Horizontal Alignment プロパティを追加し、Right に設定します。

    Horizontal Alignment プロパティを追加する必要があります。なぜなら、そのプロパティのデフォルト値は Left だからです。

    ../../_images/multi-select-nodes.png ../../_images/localebutton-horizontal-alignment.png ../../_images/alignment-set-to-right.png
  10. Apps ノードを選択し、Properties で Horizontal Margin プロパティ Left プロパティフィールドを0に、Right プロパティフィールドを130に設定します。

    右から左へのロケールの場合、マージンを右側に移動します。

    ../../_images/apps-node-selected.png ../../_images/apps-node-horizontal-margin.png ../../_images/apps-aligned.png
  11. Prefabs > IVI Grid RightToLeft > LocationInformation で Destination ノードを選択し、Horizontal Margin プロパティの Right プロパティフィールドを150に、Left プロパティフィールドを0に設定します。

    ../../_images/destination-node-selected.png ../../_images/destination-horizontal-margin.png

右から左へのロケール用に LocaleButton プレハブを作成します。

このセクションでは、右から左へのロケールボタン内でロケール名の配置を設定するために、右から左へのロケール用の LocaleButton プレハブを作成します。プレハブ内で Horizontal Alignment プロパティを使用して、Arabic および Hebrew ロケールのロケールボタンを配置し、左から右へのロケールには元のプレハブを使用します。

  1. Prefabs で LocaleButton プレハブを選択し、Ctrl D を押して複製し、新しいプレハブに LocaleButton RightToLeft という名前を付け、元のプレハブを LocaleButton LeftToRight に名前を変更します。

    ../../_images/create-new-localebutton-prefab.png
  2. LocaleButton RightToLeft > Text Block 2D および SelectionBar ノードを選択し、Properties で Horizontal Alignment プロパティを追加し、Right に設定します。

    ../../_images/localebutton-righttoleft-text-block-selected.png ../../_images/localebutton-horizontal-alignment.png

左から右および右から左のロケール用にプレハブをローカライズする

このセクションでは、Prefab View 2D ノード IVI Grid をリソースとしてローカライゼーションテーブルに追加し、各ロケールが使用するプレハブを設定します。

左から右および右から左のロケール用にプレハブをローカライズするには:

  1. Node Tree > RootPage で IVI Grid ノードを右クリックし、Add Resources to a Localization Table を選択して、そのノードをローカライゼーションテーブルに追加します。

    ../../_images/add-ivi-grid-resource.png
  2. Localization Table で image1 を選択して、選択したノードのリソースを表示し、Prefab Template を選択して Add をクリックします。

    Kanzi は IVI Grid ノードから Resource ID を作成し、そのノードの Prefab Template プロパティをその Resource ID を使用するように設定します。

    ../../_images/select-displayed-prefab.png
  3. Library > Localization で Localization Table (Main) ローカライゼーションテーブルをダブルクリックして、Localization Editor でテーブルを開き、Localization Editor で IVI Grid.PrefabViewConcept.Prefab Resource ID を IVI Grid に名前を変更し、Kanzi が Resource ID の使用を更新するかどうかを確認するプロンプトを表示したら、Yes をクリックします。

    ../../_images/update-usages.png ../../_images/rename-ivi-grid-resource.png
  4. 各ロケールの列の Localization Editor で、そのロケールに使用したいプレハブを選択します。プレハブの Default Value が Prefabs/IVI Grid LeftToRight に設定されていることを確認してください。

    Kanzi は、左から右および右から左のロケール用のレイアウトをインスタンス化する際に、プレハブリソースを使用します。

    ../../_images/set-prefabs-in-localization-table.png

kzbファイルをエクスポートする

kzbファイルをエクスポートするには:

  1. Node Tree で Screen ノードを選択し、Properties で Locale プロパティを Invariant Language (Invariant Country) () に設定します。

    このようにして、ロケールをデフォルトのロケールに設定します。

    アプリケーションをビルドすると、デフォルトで言語が English に設定され、正しいレイアウトがロードされます。

  2. Library > Localization で、Localization Table (Main) ローカライゼーションテーブルをダブルクリックし、Arabic と Hebrew ロケールのロケール名の横にある イメージ2 (image2) をクリックします。

    この方法で、特定のロケールで使用されるリソースのみを含むロケールパックkzbファイルを作成したいロケールをマークします。Kanzi Studio は、ローカライゼーションテーブルでロケールパックとしてマークされたロケールのリソースをメインkzbファイルにエクスポートしません。

    ../../_images/export-locales-in-localization-editor.png
  3. Kanzi Studio で、File > Export > Export KZB を選択します。このコマンド:

    • ローカライゼーションテーブルでロケールパックとしてマークした各ロケールに対して、1つのkzbファイルを作成します。Kanzi Studio がロケールパックをエクスポートする際、kzbファイルはそのリソースを含むロケールの名前が付けられます。各ロケールパックファイルには、そのロケールで使用されるリソースのみが含まれています。

    • Kanzi Studio プロジェクト全体を含むメインの kzb ファイルを作成します。ただし、ローカライゼーションテーブルでロケールパックとしてマークしたロケールのリソースは除きます。

    • ロケールパックのkzbファイルを <ProjectName>/Application/bin/Locale_packs ディレクトリ、または Project > Properties の Binary Export Directory プロパティで指定した場所にある Locale_packs ディレクトリに保存します。

    ../../_images/export-kzb-binary.png

関連項目

チュートリアル: アプリケーションをローカライズする

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

スタイルを使用する

ノードプレハブの使用