> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# MicrosoftGame.config のローカライズ

> MicrosoftGame.config のローカライズ

このトピックでは、パッケージ化されたゲームの表示文字列をローカライズして、シェルに文字列の適切なローカライズされたバージョンが表示されるようにする方法について説明します。これらの手順は、Microsoft Docs の [レガシー アプリまたはゲームで Windows 10 リソース管理システムを使用する](https://learn.microsoft.com/windows/uwp/app-resources/using-mrt-for-converted-desktop-apps-and-games) の記事に関連します。このトピックで扱われていない詳細やシナリオについては、そちらを参照してください。

<Note>[前述の記事](https://learn.microsoft.com/windows/uwp/app-resources/using-mrt-for-converted-desktop-apps-and-games) には、マニフェスト ファイル内で文字列アセットが以下のように参照されるというバグが 1 つあります。</Note>

```
    ms-resource:Resources/ApplicationDisplayName  
```

<Note>実際の参照は以下のように動作します (`Resources/` が省略されていることに注意してください)。</Note>

```
    ms-resource:ApplicationDisplayName  
```

## ゲームにローカライズされたシェル ビジュアルを含める

パッケージ化を開始すると、次のようなセクションを含む *MicrosoftGame.config* ファイルがあり、`OverrideDisplayName="My Game's Display Name"` のような属性に含まれる表示するテキスト コンテンツを指定します。

```xml theme={null}

  <ExecutableList>
    <Executable Name="MyGame.exe"
                OverrideDisplayName="My Game's Display Name"
                Id="Game"/>
  </ExecutableList>

  <ShellVisuals DefaultDisplayName="PackageName"
                PublisherDisplayName="Publisher Display name"
                StoreLogo="Storelogo.png"
                Square150x150Logo="Logo.png"
                Square44x44Logo="SmallLogo.png"
                Description="My App Description"
                BackgroundColor="#000040"
                SplashScreenImage="SplashScreen.png"/>  
```

これらの文字列について異なるローカライズ版を許可したい場合は、サポートしたい言語に関連付けられたアプリケーションの各サブフォルダーに .resw ファイルを作成することで対応できます。

1. *resources.resw* という名前の XML ファイルを作成し、プロジェクトの *Strings* サブフォルダーに配置します。これは、プロジェクトの言語ニュートラルなフォールバックになります。
2. 各言語について、プロジェクト用に新しい *Strings* サブフォルダーを作成します。たとえば、英語の場合は *Strings\en-us*、メキシコで話されるスペイン語の場合は *Strings\es-mx* とします。言語ごとに適切な [BCP-47](https://tools.ietf.org/html/bcp47) コードを使用するようにしてください。
3. 各 XML ファイルには、次のコンテンツを追加します。強調表示されたテキストは、適切な言語でアプリに適したテキストに置き換えます。次の例では、シンプルなサフィックスとして `(English)` を使用しています。

```xml theme={null}
    <?xml version="1.0" encoding="utf-8"?>
    <root>
        <data name="ApplicationDescription">
            <value>Contoso Demo app with localized resources (English)</value>
        </data>
        <data name="ApplicationDisplayName">
            <value>Contoso Demo Sample (English)</value>
        </data>
    </root>
```

次に、`OverrideDisplayName` プロパティと `Description` プロパティで次のように示されている `ms-resource:ResourceStringName` 構文を使って、これらのリソース文字列を参照するように *MicrosoftGame.config* ファイルを更新します。

```xml theme={null}
<ExecutableList>
    <Executable Name="MyGame.exe"
              OverrideDisplayName="ms-resource:ApplicationDisplayName"
              Id="Game"/>
</ExecutableList>

<ShellVisuals DefaultDisplayName="PackageName"
              PublisherDisplayName="Publisher Display name"
              StoreLogo="Storelogo.png"
              Square150x150Logo="Logo.png"
              Square44x44Logo="SmallLogo.png"
              Description="ms-resource:ApplicationDescription"
              BackgroundColor="#000040"
              SplashScreenImage="SplashScreen.png"/>
```

次に、*MicrosoftGame.config* ファイルにアプリケーションがサポートするローカライズ ターゲットのリストが含まれていることを確認します。たとえば、アプリが米国英語とメキシコ スペイン語をサポートする場合、.config ファイルには `Game` の子要素として次の内容が含まれることになります。

```xml theme={null}
<Resources>
    <Resource Language="en-US" />
    <Resource Language="es-MX" />
</Resources>
```

次に、[makepkg localize](/build/core-features/common/packaging/deployment/makepkg) コマンドを使用して、これらのローカライズされたアセット文字列を含む *Resource.pri* ファイルを生成します。生成された *Resources.pri* ファイルを、ゲームのルート コンテンツ ディレクトリに配置します。

1. ゲームのルート コンテンツ ディレクトリで Microsoft Game Development Kit (GDK) の gaming command prompt を開きます。
2. 以下を実行します。

```
    makepkg localize /d . /resw Strings
```

ディレクトリ構造がこの例と一致しない場合、または追加の検証が必要な場合、`makepkg localize` を追加のパラメーターと共に実行できます。

* `/resw` を使用して、.resw ファイルを見つけるためのルートからの相対パスを指定します。
* `/pd` にディレクトリを指定して、既定のルート ディレクトリ以外の場所に生成された *Resources.pri* ファイルを保存します。ターゲット ディレクトリは事前に存在している必要があります。
* `/t` にディレクトリ名を指定して、リソースを XML ファイルにエクスポートするための場所を指定します。これを手動で検証して、適切なリソースが含まれていることを確認できます。

たとえば、次のようになります。

```
    makepkg localize /d . /resw Resources /pd ..\FinalLooseFolder /t ..\TempOutput
```

これでゲームのルート コンテンツ ディレクトリに *resources.pri* ファイルができたので、通常どおりパッケージを作成できます。

最後に、システムを英語またはメキシコ スペイン語に設定してインストールした場合に、ローカライズされた文字列が \[スタート] メニューやアプリの文字列を表示する他のシステム ページで表示されることを確認します。Microsoft Store アプリ内のアイコンは、アプリ パッケージ内の情報ではなく、パートナー センターにアップロードされたデータから取得されることに注意してください。

## 関連項目

[MicrosoftGame.config](/build/core-features/common/game-config/MicrosoftGameConfig-toc)
[MicrosoftGame.config の概要](/build/core-features/common/game-config/MicrosoftGameConfig-Overview)
[MicrosoftGame.config エディター](/build/core-features/common/game-config/MicrosoftGameConfig-Editor)
[MicrosoftGame.config リファレンス (MicrosoftGame.config のサンプルとスキーマ)](/reference/system/microsoftgameconfig/microsoftgameconfig-schema)
[パッケージ化の概要](/build/core-features/common/packaging/overviews/packaging)


## Related topics

- [パッケージ リソースのローカライズ](/ja-jp/build/game-principles/localization/localization-of-packaged-resources.md)
- [ローカライズとグローバライゼーションの概要](/ja-jp/build/game-principles/localization.md)
- [MicrosoftGame.config の概要](/ja-jp/build/core-features/common/game-config/MicrosoftGameConfig-Overview.md)
- [MicrosoftGame.config](/ja-jp/build/core-features/common/game-config/MicrosoftGameConfig-toc.md)
- [Intelligent Delivery: Feature と Recipe](/ja-jp/build/core-features/common/packaging/intelligentdelivery-features-recipes.md)
