docs.unity3d.com
    目次を表示する/隠す

    クイックスタートガイド

    このガイドでは、ローカライズされたアセットと文字列を持つ簡単なプロジェクトの設定方法を説明します。

    1. Localization Settings を作成する

    プロジェクトの Localization Settings は、1 つのアセットです。このアセットを作成するには、Edit > Project Settings > Localization を開いて Create をクリックしてください。

    Localization のプロジェクト設定を作成する

    2. ロケールを作成する

    ロケール (Locale) は地域を表します。アプリケーションをどの言語にローカライズするかなど、ローカライゼーションに関する設定が含まれます。

    Locale Generator ウィンドウを開くには、Localization のプロジェクト設定 (メニュー: Edit > Project Settings > Localization) を開き、Locale Generator ボタンをクリックしてください。

    Locale Generator ボタン

    ロケールを選択するには、ロケール名の横にあるトグルボックスにチェックマークを入れます。追加したいロケールの横のチェックボックスにチェックマークを入れ、Create Locales ボタンをクリックして、アセットを保存する場所を選択します。

    Locale Generator ウィンドウ

    3. デフォルトロケールを選択する

    アプリケーションにデフォルトで使用させたいロケールが英語 (English/en) 以外の場合は、Locale Selectors を使用してデフォルトのロケールを選択します。これを行うには、Specific Locale Selector フィールドにそのロケールを追加してください。アプリケーションは、起動時および他のロケールが選択されていない時に、このロケールを使用します。

    ロケール選択 UI のドロップダウンメニュー

    4. テクスチャのローカライゼーション: Asset Table Collection を作成する

    アセットをローカライズする理由は様々です。例えば、異なる吹き替え (ナレーション) オーディオや音楽を再生したい場合や、書かれたテキストを含む (標識などの) テクスチャを変更したい場合などが考えられます。Localization のシステムは、Asset Table を使用してこれに対応しています。

    以下は、アセットのテクスチャを任意のロケールの国旗に変更する手順です。

    まず始めに Asset Table を作成する必要があります。これを行うには、Localization Tables ウィンドウ (メニュー: Window > Asset Management > Localization Tables) を開いてください。

    1. Asset Tables ウィンドウで New Table Collection タブを選択します。
    2. どのロケール用にテーブルを生成するか選択します。
    3. Type ドロップダウンメニューで Asset Table Collection を選択します。
    4. Name フィールドにコレクション名を入力します。
    5. Create を選択し、アセットを生成するディレクトリを選択します。

    Asset Table を作成する

    Edit Table Collection をクリックし、My Assets テーブルを選択してください。

    テーブルには、ロケール毎に Key フィールドと値フィールドが含まれています。Unity は Key (キー) を使用して、ローカライズされたアセットを識別します。このチュートリアルでは、Key に Country Flag という名前を付け、+ ボタンを使用して Key のエントリーを追加します。

    ロケール毎に Unity に表示させたいテクスチャを選択し、以下のように、テーブル内の対応セクションにそれをドラッグアンドドロップします。

    テクスチャのエントリーを含んだ Asset Table

    5. テクスチャのローカライゼーション: ローカライズされたアセットを使用する

    Unity は、ローカライズされたアセットに複数の方法でアクセスできます。このチュートリアルでは Localization システムが提供するコンポーネントを使用しているので、スクリプトを記述する必要は一切ありません。

    シーンに UI Raw Image コンポーネントを追加します。Raw Image を使用するためには、プロジェクトに Unity UI がインストールされている必要があります。 Raw Image を追加し、GameObject > UI > Raw Image を開きます。Raw Image コンポーネントをローカライズするには、コンポーネントを右クリックして Localize をクリックしてください。

    Raw Image コンテキストメニューには、コンポーネントをローカライズするためのショートカットが提供されています。

    これにより、Localize Texture という新しいコンポーネントが追加されます。これは汎用的なローカライゼーションコンポーネントです。Localize オプションを使用してこれを追加すると、そのコンポーネントがローカライズされるように Unity が自動的に設定します。

    Raw Image コンポーネントの Update Asset イベントが Unity によって自動的に設定されます。

    Localized Asset Reference フィールドを使用して、Texture Asset Table に追加した Country Flag Key を選択します。

    Asset Reference フィールドのポップアップ

    シーンを実行し、ゲームビューのロケール選択ドロップダウンメニューを使用して ロケール を変更します。全てが正しく設定されていれば、国旗が、Asset Table 内で割り当てられたテクスチャに変更されます。ゲームビューのメニューが表示されない場合は、Localization のプロジェクト設定 から表示をオンにできます。

    ゲームビューのロケール選択ドロップダウンメニューを使用してテクスチャを変更する

    ゲームビューのロケールメニュー を使用するとエディター上で言語を素早く変更できます。これは Edit > Preferences > Localization から有効化/無効化できます。

    6. オーディオのローカライゼーション: ローカライズされたアセットを使用する

    オーディオクリップのローカライズはテクスチャのローカライズと同じ手順で行うこともできますが、以下のように Inspector 内で、ローカライズされたアセットを作成して編集する方法もあります。

    1. Audio Source ゲームオブジェクト (メニュー: GameObject > Audio > Audio Source) を追加します。
    2. Audio Source コンポーネントを右クリックし、Localize をクリックします。
    3. Localized Asset Reference フィールドを展開します。
    4. Table Collection ドロップダウンメニューから My Assets テーブルを選択します。
    5. Add Table Entry をクリックし、名前を National Anthem に変更します。
    6. オーディオクリップを正しいロケールのフィールドにドラッグアンドドロップします。

    オーディオクリップのローカライズ

    オーディオクリップのローカライズ

    7. 文字列のローカライゼーション: String Table Collection を作成する

    まず始めに、String Table を作成する必要があります。これを行うには、Localization TablesWindow (メニュー: Window > Asset Management > Localization Tables) を開いてください。

    1. Asset Tables ウィンドウで New Table Collection タブを選択します。
    2. どのロケール用にテーブルを生成するか選択します。
    3. Type ドロップダウンメニューで String Table Collection を選択してください。
    4. Name フィールドにコレクション名を入力します。
    5. Create を選択し、アセットを生成するディレクトリを選択します。

    Add New Entry ボタンを押して新しい String Table エントリーを作成する

    Smart オプションを有効にすることでエントリーを Smart String としてマークします。 この例では Smart String リフレクションと Plural 機能を使用して以下のスクリプトから変数を出力します。

    using UnityEngine;
    
    public class Apples : MonoBehaviour
    {
        public int appleCount = 1;
    }
    

    以下の値を入力します。

    ロケール 翻訳
    English {global.player-name} has {apple-component.appleCount:plural:an apple|{} apples}
    French {global.player-name} a {apple-component.appleCount:plural:une pomme|{} pommes}
    Spanish {global.player-name} tiene {apple-component.appleCount:plural:una manzana|{} manzanas}
    Japanese {global.player-name}は{apple-component.appleCount}個のリンゴを持っています

    Add New Entry ボタンを押して新しい String Table エントリーを作成する

    8. 文字列のローカライゼーション: String Table エントリーを使用する

    UI テキスト要素をシーンに追加するには、GameObject > UI > Text を開きます。

    Text コンポーネントを右クリックして Localize オプションを選択してください。Unity によって Localize String コンポーネントが追加され、その添付先ゲームオブジェクト用に自動的に設定が調整されます。Text コンポーネントに含まれる文字列型の値で String Table にも含まれるものがある場合は、これは Unity によって設定中に自動的に割り当てられます。それ以外の場合は、String Reference フィールドのポップアップを使用して値を割り当てることができます。

    Local Variables フィールド内で Add (+) ボタンを押し、Object Reference を選択して Apples コンポーネントを Object Reference スロットにドラッグします。変数に apple-component という名前を付けてます。

    Unity が設定中にテーブルを見付けて一致する Key とペアにします。

    サンプルテキスト

    9. ビルドのプレビューと設定

    ローカライズされたアセットをプレイヤー内で使用するには、Addressables プレイヤーの内容がビルドされている必要があります。 これは Addressables ウィンドウの Window > Asset Management > Addressable Assets > Groups から、Build > New Build > Default Build Script をクリックすることで行えます。 Addressables ウィンドウはアセットのパッケージおよびホスト方法 (ローカルストレージ、あるいはリモートウェブサーバー経由など) の制御にも使用できます。

    Addressable システムを使用してローカライゼーションデータのプレビューと設定を行う

    トップに戻る
    Copyright © 2023 Unity Technologies — 商標と利用規約
    • 法律関連
    • プライバシーポリシー
    • クッキー
    • 私の個人情報を販売または共有しない
    • Your Privacy Choices (Cookie Settings)