protonscr

Locale environment variables wrongly set for (some) games due to Steam's assumption that English is American English

steamopen localization
ValveSoftware/steam-for-linux#9581 · opened 2023-06-11 by dsalt · updated 2023-07-27 · 1 comments · github
Ddsalt 2023-06-11 github

Steam client version: 1686379854

I've been seeing problems with date formats in No Man's Sky; however, I think that the problem here isn't specific to that game – it's that there is this assumption within Steam that English is always American English. It absolutely is not.

Specifically, various dates shown during gameplay are in the correct format for my locale but the saved-game time stamps are shown in a different format.

The base environment (so far as locales and time zones are concerned), which is what Steam itself has, is this:

TZ=Europe/London
LANG=en_GB.UTF-8
LC_COLLATE=C.UTF-8

NMS gets the following, in addition (and probably other games get this too):

LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8

This is wrong. It should be en_GB.UTF-8 (or possibly en_CA.UTF-8 or whatever, based on $LANG).

To confirm my suspicions, I set the language (via Steam) to French, I get the correct date format throughout. This is less than useful since I know next to no French, and would be problematical but for the fact that I can set the language to English (UK) via the in-game options.

(I do wonder if this same problem is the cause of other games using that American muddle-endian date format. I will have to check.)

HHairyDude 2023-07-27 github

This issue has been around for years, see #5602. Steam does not seem to respect locale environment variables at all. Setting Cinnamon locale to German makes Firefox put everything in German and load websites in German. Steam doesn't care, it's still English. Steam's own language setting only includes "English".

Nothing extracted yet.