前述の記事 には、マニフェスト ファイル内で文字列アセットが以下のように参照されるというバグが 1 つあります。
実際の参照は以下のように動作します (
Resources/ が省略されていることに注意してください)。ゲームにローカライズされたシェル ビジュアルを含める
パッケージ化を開始すると、次のようなセクションを含む MicrosoftGame.config ファイルがあり、OverrideDisplayName="My Game's Display Name" のような属性に含まれる表示するテキスト コンテンツを指定します。
- resources.resw という名前の XML ファイルを作成し、プロジェクトの Strings サブフォルダーに配置します。これは、プロジェクトの言語ニュートラルなフォールバックになります。
- 各言語について、プロジェクト用に新しい Strings サブフォルダーを作成します。たとえば、英語の場合は Strings\en-us、メキシコで話されるスペイン語の場合は Strings\es-mx とします。言語ごとに適切な BCP-47 コードを使用するようにしてください。
- 各 XML ファイルには、次のコンテンツを追加します。強調表示されたテキストは、適切な言語でアプリに適したテキストに置き換えます。次の例では、シンプルなサフィックスとして
(English)を使用しています。
OverrideDisplayName プロパティと Description プロパティで次のように示されている ms-resource:ResourceStringName 構文を使って、これらのリソース文字列を参照するように MicrosoftGame.config ファイルを更新します。
Game の子要素として次の内容が含まれることになります。
- ゲームのルート コンテンツ ディレクトリで Microsoft Game Development Kit (GDK) の gaming command prompt を開きます。
- 以下を実行します。
makepkg localize を追加のパラメーターと共に実行できます。
/reswを使用して、.resw ファイルを見つけるためのルートからの相対パスを指定します。/pdにディレクトリを指定して、既定のルート ディレクトリ以外の場所に生成された Resources.pri ファイルを保存します。ターゲット ディレクトリは事前に存在している必要があります。/tにディレクトリ名を指定して、リソースを XML ファイルにエクスポートするための場所を指定します。これを手動で検証して、適切なリソースが含まれていることを確認できます。
