[Unity]Localizationの初期言語設定

はじめに

 Localizationを導入し、下記リンクの方法で日本語を初期言語に設定をしたが、ゲーム再生時に言語が英語に切り替わってしまう事象が発生した。
この記事ではその対策をまとめる。

このときのプロジェクト設定

添付:プロジェクト設定

事象事例:
https://x.com/Zaki_san208/status/1825046063784591556

解決方法

 解決の流れはゲーム起動時のシーンに設置してあるGameManager内のStartメソッド内で、以下のことを行った。
1.PlayerPrefasに保存されている言語コードを取得。もしなにも保存されてなければ、日本語の言語コードjaを取得。
2.Localizationの言語設定を1で取得した言語コードに設定する。

下記のコードをStartメソッド内に記載した。

string savedLocale = PlayerPrefs.GetString("selected-locale", "ja"); // デフォルトは日本語(ja)
var locale = LocalizationSettings.AvailableLocales.Locales.Find(locale => locale.Identifier.Code == savedLocale);
if (locale != null) {
     LocalizationSettings.SelectedLocale = locale;
}

また、Localizationの言語設定のPlayerPrefasのKeyはプロジェクト設定画面で設定できる。

ここではデフォルト設定のselected-localeをKeyに設定している。

対処後の動作

いいなと思ったら応援しよう!