[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はプロジェクト設定画面で設定できる。
対処後の動作