Gnome shell overrides locale, ignores language settings
Affected version
Arch Linux, Gnome Shell 3.38.3, XOrg and Wayland
Bug summary
I have set up a system to have one user account overriding the system locale and use German instead of English in Gnome. This used to work in the past, but now it doesn't. Since this account is not used often, I don't know exactly when it stopped working, but it must have been in the past six months or so.
Steps to reproduce
/etc/locale.conf:
LANG=en_US.UTF-8
LC_PAPER=en_DK.UTF-8
LC_TIME=en_DK.UTF-8
LC_MEASUREMENT=en_DK.UTF-8
LC_MONETARY=en_DK.UTF-8
LC_NUMERIC=en_US.UTF-8
The user's ~/.config/locale.conf:
LANG=de_DE.UTF-8
With the user logged in, in the settings, under "Region & Language", set "Language" to "Deutsch" and "Formats" to "Deutschland". Log out and log back in.
What happened
All text in Gnome Shell is still in English instead of German when logging in with this user (when I log this user in on a virtual console, everything is in German as expected). When I start a terminal window in Gnome, locale gives this result:
LANG=de_DE.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=en_US.UTF-8
So LANG does get picked up, but then gets overridden by all the other variables for some reason. As mentioned before, this happens only when I use Gnome, not in a virtual console.
What did you expect to happen
I expected all text in Gnome Shell to be in German for this user.