Unityのパッケージの一つLocalizationで多言語対応する際に、Localization Tableに設定してあるテキストをC#スクリプトで参照してUIに反映させる方法を説明します。
動作環境
Unity 2022.3.9f1
Localization 1.4.5
1. 前提条件
Localizationパッケージのインストール、Localization Tableの作成、Localization Tableへの以下のEntryの追加が完了してある状態を想定しています。
テーブル名:String Table1
キー:MesoStudio
2. 参照の追加
C#スクリプトにLocalization Tableを参照するのに必要な名前空間を追加します。
C#
using UnityEngine.Localization.Settings;
using UnityEngine.Localization.Tables;
3. Localization TableのEntryを格納する変数を宣言
Localization Tableの一つ一つの項目はEntryという単位で、それを格納する変数は以下のように定義します。
C#
StringTableEntry entry;
4. 言語に対応したテキストを取得
C#
StringTableEntry entry;
entry = LocalizationSettings.StringDatabase.GetTableEntry("String Table1", "MesoStudio").Entry;
string text = entry.Value;
Meso Studioでは新作ゲーム「ポテポテドリーム」を開発中です。