Hello!
I migrated my project from UE 4.27 to UE 5.3 and recently noticed that the packaged game does not set the current culture / language according to the platform’s language on start (which should be the default behavior). It keeps the native language even if the OS is set to a different one.
Native language is Spanish (es), while platform language is English (en).
Cultures are fully translated and added to the packaging settings, and they do change when the user selects a different language in the game settings. To change the language, I’m using the node Set Current Culture with Save to Config = true. Note that the only time this node is used is when the player explicitly changes the language. Internationalization is set to EFIGSCJK.
I noticed 3 different situations:
-
If I launch the game for the first time (no save data) with my OS in English, the game is in Spanish. However, the log shows “Using OS detected language (en-GB)”. After that, once the GameUserSettings.ini file is created, I can see it includes the field “[Internationalization] Culture=es” (for Spanish). I’ve tried deleting these lines, but they are added again when I launch the game.
-
If I then launch the game again (without changing the language or any settings), the log says “Overriding language with game user settings language configuration option (es)” at the start of the game, and the game is in Spanish.
-
If I change the language to English in the game settings, the texts are displayed correctly in that language and the change persists when I close and reopen the game.
In short, the game never launches in English despite it being my OS language, unless I explicitly change it in the game’s settings. I guess the GameUserSettings “Internationalization” field is forcing the game to change to the culture referenced instead of letting it retrieve the OS culture. However, I cannot find where to disable this option in the project settings or elsewhere. Besides, I cannot figure out why the game launches in Spanish the first time, even if the log says otherwise.
How can I get rid of that “Internationalization” field that’s being added to the GameUserSettings.ini? Or, is there any other reason why the platform’s culture is being overriden?
Thanks a lot!