パッケージ化したExeで、CurrentLocaleはIniファイルで変更できない?

Unreal Editor5.5.3環境です。

Unreal Editorから「レベルをプレイ」した場合は、「エディタの環境設定」の「エディタの言語=日本語」「エディタのロケール=日本語(日本)」に設定しているので、「CurrentLanguage=ja」「CurrentLocale=ja_JP」で動作(「Get CurrentLanguage」「Get CurrentLocale」ノードの結果をPrintして確認)しています。

しかし、パッケージ化したExeから実行した場合は、「CurrentLanguage」「CurrentLocale」が「en」になっています。

ブループリント上で、「Set CurrentLanguage」「Set CurrentLocale」ノードで設定できることはわかったのですが、「DefaultGame.ini」または「UserGame.ini」ファイルを作成して以下の設定をしても「CurrentLanguage」「CurrentLocale」が「en」で変わりませんでした。(コンソールコマンド[GetIni Game:Internationalization Locale]で設定した値が表示されるので、INIファイル自体は読み込まれていると思われます。)

[Internationalization]
language=ja
locale=ja_JP

ドキュメント「実行時にアクティブ カルチャを管理する」のページ(実行時にアクティブ カルチャを管理する | Unreal Engine 5.5 ドキュメンテーション | Epic Developer Community
)の「デフォルト カルチャをオーバーライドする」では、「Iniファイル」や「コマンドライン フラグ」を使用したオーバーライド方法が記載されていますが、パッケージ化したExeからの実行時は、「Iniファイル」や「コマンドライン フラグ」からのLanguage, Localeの設定はできないのでしょうか?

1 Like

自己解決しました。

ログファイルに以下のログが出力されていました。

LogTextLocalizationManager: No localization for ‘ja’ exists, so ‘en’ will be used for the locale.


有効なlocalizationが無いので、'en’にフォールバックされていたようです。


「ローカライゼーションダッシュボード」で「このカルチャーの翻訳をコンパイル」して、「プロジェクト設定>パッケージ化>パッケージ化する言語」を含めて、「プロジェクトをパッケージ化」することで、CurrentLocaleをja-JPにできました。
(OSのロケールが日本語の場合は、Iniファイルで設定しなくても、ja-JPになりました。)


参考までに、調べた時のメモを添付しておきます。


1 Like