ステップ2 - 右から左へのロケール用にアプリケーションレイアウトを定義する¶
このステップでは、右から左へのロケール用にコンテンツを配置するレイアウトを定義します。LocaleButton から別のプレハブを作成し、右から左へのロケールボタンの配置を設定します。
右から左へのロケール用にアプリケーションレイアウトを定義する¶
このセクションでは、右から左へのロケールのレイアウトを定義します。グリッドレイアウトノード内の要素を配置し、テキストとテクスチャコンテンツを右に揃えるために、Columns プロパティのサイズ設定を反転させます。
右から左へのロケール用にアプリケーションレイアウトを定義するには:
アプリケーションのユーザーインターフェースのロケールを右から左へのロケールのいずれかに変更します。
Node Tree で IVI Grid ノードを選択し、Properties で Prefab Template を IVI Grid RightToLeft に設定します。
Screen で、Arabic のために Locale を ar-AR に設定するか、Hebrew のために he-HE に設定します。
Prefabs で IVI Grid RightToLeft を選択し、Columns の Properties プロパティで列サイズの順序を逆にします。
ここでは、プロジェクト内のすべての要素を含む列のサイズを変更して、アプリケーションユーザーインターフェースのレイアウトを反転させます。
Prefabs > IVI Grid RightToLeft で LocationInformation ノードを選択し、Properties で設定します:
Column を 1 に
Row を 0 に
ここでは、アプリケーションユーザーインターフェースの左側から右側に LocationInformation のノードを配置します。
Prefabs > IVI Grid RightToLeft で Locales ノードを選択し、Properties で Column プロパティを 0 に設定します。
ここで、ロケールを変更するためのロケールボタンを含む Locales ノードをユーザーインターフェースの左側に配置します。
Prefabs > IVI Grid RightToLeft で LocationInformation ノードを選択し、Properties で列サイズの順序を逆にして、テキストブロックノードと画像を LocationInformation のアプリケーションユーザーインターフェースの右側に配置します。
#0 から 486
#1 から 930
#2 から 140
Prefabs > IVI Grid RightToLeft > LocationInformation で Image ノードを選択し、Properties で Column を0に設定します。
ここで、画像を LocationInformation グリッドレイアウトの最も左の列に移動します。
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
Prefabs > IVI Grid RightToLeft で Apps ノードを選択し、Properties で Column Span プロパティを追加し、それを2に設定します。
Column Span プロパティは、グリッドレイアウトのセルが何列にまたがるかを設定します。Apps グリッドレイアウトノードの Column Span プロパティを2に設定すると、IVI Grid RightToLeft ノードのすべての列にまたがります。
Prefabs > IVI Grid RightToLeft で、LocationInformation、Apps、Locales ノードと、それらの中にある LocaleSelector ノードを除くすべてのノードを選択し、Properties で Horizontal Alignment プロパティを追加し、Right に設定します。
Horizontal Alignment プロパティを追加する必要があります。なぜなら、そのプロパティのデフォルト値は Left だからです。
Apps ノードを選択し、Properties で Horizontal Margin プロパティ Left プロパティフィールドを0に、Right プロパティフィールドを130に設定します。
右から左へのロケールの場合、マージンを右側に移動します。
Prefabs > IVI Grid RightToLeft > LocationInformation で Destination ノードを選択し、Horizontal Margin プロパティの Right プロパティフィールドを150に、Left プロパティフィールドを0に設定します。
左から右および右から左のロケール用にプレハブをローカライズする¶
このセクションでは、Prefab View 2D ノード IVI Grid をリソースとしてローカライゼーションテーブルに追加し、各ロケールが使用するプレハブを設定します。
左から右および右から左のロケール用にプレハブをローカライズするには:
Node Tree > RootNode で IVI Grid ノードを右クリックし、Add Resources to a Localization Table を選択して、そのノードをローカライゼーションテーブルに追加します。
Localization Table で
を選択して、選択したノードのリソースを表示し、Prefab Template を選択して Add をクリックします。Kanzi は IVI Grid ノードから Resource ID を作成し、そのノードの Prefab Template プロパティをその Resource ID を使用するように設定します。
Library > Localization で Localization Table (Main) ローカライゼーションテーブルをダブルクリックして、Localization Editor でテーブルを開き、Localization Editor で IVI Grid.PrefabViewConcept.Prefab Resource ID を IVI Grid に名前を変更し、Kanzi が Resource ID の使用を更新するかどうかを確認するプロンプトを表示したら、Yes をクリックします。
各ロケールの列の Localization Editor で、そのロケールに使用したいプレハブを選択します。プレハブの Default Value が Prefabs/IVI Grid LeftToRight に設定されていることを確認してください。
Kanzi は、左から右および右から左のロケール用のレイアウトをインスタンス化する際に、プレハブリソースを使用します。
kzbファイルをエクスポートする¶
kzbファイルをエクスポートするには:
Node Tree で Screen ノードを選択し、Properties で Locale プロパティを Invariant Language (Invariant Country) () に設定します。
このようにして、ロケールをデフォルトのロケールに設定します。
アプリケーションをビルドすると、デフォルトで言語が English に設定され、正しいレイアウトがロードされます。
Library > Localization で、Localization Table (Main) ローカライゼーションテーブルをダブルクリックし、Arabic と Hebrew ロケールのロケール名の横にある
をクリックします。この方法で、特定のロケールで使用されるリソースのみを含むロケールパックkzbファイルを作成したいロケールをマークします。Kanzi Studio は、ローカライゼーションテーブルでロケールパックとしてマークされたロケールのリソースをメインkzbファイルにエクスポートしません。
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ディレクトリに保存します。