UnityのLocalization Tableで多言語化したテキストをC#スクリプト内で参照する

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では新作ゲーム「ポテポテドリーム」を開発中です。


投稿日

カテゴリー:

投稿者:

タグ: