System/User Locale (Language) and KDE Plasma Language and Format Settings

I'm having difficulties setting the language and formats the way I want, especially since the last big update something seems to have changed.

What I basically want is English as system (and user) language and only the number, currency, date (etc.) formats to be German. This worked to 99% fine, until the last big update. I've made screenshots of all the settings I know. The problem is, that some, especially GTK applications are now (still) in German.

The Manjaro settings on the top of the settings panel basically reflect what I want and configured. Everything seems to be fine there (like the output of the locale command).

But there are also KDE/Plasma settings for the language and region. In the past I realized, that the settings are weird and do things I don't understand or do nothing at all. But somehow everything still worked as expected.

If I change the Regional Settings -> Formats -> Region locale, the language of the whole desktop environment changes to this locale. Normally I'd expect only the formats to change (the menu path and menu structure kind of implies that). Ok, so I need to set the region to USA or something else, just to keep the English language. There is also a weird option called "en_DE.utf8" to choose from. At first glance, this sounds exactly what I want, but some applications simply stop working with this locale set (maybe because it does not exists! :grinning:).

The actual language setting in the menu entry above: Regional Settings -> Language looks good, sounds good, but seems to have no real effect, since the Formats setting below override it anyway.

I would now maybe blame the applications, that they don't set the language right, but then again, until a week ago, everything was fine. I'm not sure what changed exactly, but all I want is English all over the system and only the selected number formats to be formatted with the de_DE.utf-8 locale.

Some applications allow to set the language manually, some accept a environment variable when starting them, but honestly, I don't want to do that. There must be another way.

Any ideas how this actually works and/or how it is supposed to be set up right?

I made some screenshots of the current settings:

locale

Same problem Here. Besides Update Icon problem. You check regional options in personalization category? i change configs there but were no good.

In your 1st screenshot.. the "plasma language settings" i always had problem if there was more than one language set.
If you want English for UI just set English.. and remove other language.. just change the language you want for the different formats..
And there is some locale in kde that is not officially supported by xorg or other things.. I'm not sure en_de is one.. you can check in /etc/locale. gen

I know kde propose en_ch but it does not exist on /etc/locale.gen then it cause problem in some programs

Having similar trouble with language set to en_GB.UTF8, with fi_FI.UTF8 formats.
Having en_FI as an option would be great.

It's already reported, not known who's bug it is, duplicate in Manjaro at least.

Maybe KDE locale settings bug for non-existing codepage.

Use MSM locale for system setting, fine-tune formats as you wish.

Use KDE Regional Settings locale for user settings, fine-tune formats as you wish.

If none of the above work as desired

I achieved desired settings by selecting "Default" in region, with custom settings in detail:
Screenshot_20200727_210752

Thank you for your replies!

I will try to set the Region to "C".

I also found that my Terminal sessions now seem to use the/a German locale, although the language is set to English everywhere I can think of, never had that before.

$ localectl
System Locale: LANG=en_US.UTF-8
LANGUAGE=en_US:en_GB:en:de_DE:de
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=C
LC_MONETARY=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
VC Keymap: de-latin1-nodeadkeys
X11 Layout: de
X11 Model: pc105
X11 Variant: nodeadkeys
$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=

I have now removed all other languages.

I've also selected "C" now.

I'm not sure which one did the trick, but it seems both seemed to be necessary, to get rid of every non-English language bits in the GUI, applications and console. Setting "en_US.UTF-8" as Region, as before, did not work anymore, but "C" seems to work. No idea if there are any disadvantages to this, but I will find out, I guess.

Somehow these settings were broken before, but now even more so. :sob:

Configuration now looks like this:

$ locale
LANG=C
LC_CTYPE="C"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="C"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
$ localectl
System Locale: LANG=en_US.UTF-8
LANGUAGE=en_US:en_GB:en:de_DE:de
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
VC Keymap: de-latin1-nodeadkeys
X11 Layout: de
X11 Model: pc105
X11 Variant: nodeadkeys

Interestingly, these commands now show different values for LANG, although I only changed the two settings mentioned above.

Check configuration files, not only commands/utilities

cat /etc/locale.conf
ls -l /etc/default
ls -la $HOME/.config | grep locale

The Plasma settings for language and format in "Regional Settings", seem to change the file ~/.config/plasma-localerc.

There is a "Formats" and a "Translations" block. The "Translations" block only appears if more than one language was selected in the GUI under "Language". The languages are then set as a list of values in the LANGUAGE env var.

Setting the "Region" actually changes the LANG env var, which is in my opinion wrong, because that means it changes the language, not just the format, like the position in the menu structure implies.

If the box for detailed settings is checked, the values for the presented formats are created in the file.

So for now I selected two English Languages (American and British English) in the list, instead of just one. Because only then the LANGUAGE env var is created. And for some reasons some applications seem to need this, to select the language.

Under "Format", I've selected en_US.UTF-8 for "Region" and the rest de_DE.UTF-8

This seems to work for me. All applications, including the Terminal are now in English and at the same time the formats (date etc.) are also correct (German in my case).

This is how my ~/.config/plasma-localerc looks now:

[Formats]
LANG=en_US.UTF-8
LC_COLLATE=C
LC_MEASUREMENT=de_DE.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
useDetailed=true

[Translations]
LANGUAGE=en_US:en_GB

Another fix that work for me is generate the locale manually: https://wiki.manjaro.org/index.php?title=Locale

with caution in select/input/uncomment the correct UTF8 options in /etc/locale.gen

Unfortunately that did not help in my case. The available locales used, were un-commented and generated.

But this is how it is designed to work, unless you mean the word doesn't fit or is confusing. Maybe you can find man(uals) interesting.

For example, if (at system level) you only set LANG, then all sub-settings are assumed and set the same.
LANGUAGE is an old var, today is used for translation priority, when a program does not include the 1st preferred/installed generated language (locale.gen).

When local/user LANG setting differ from system you should (in my experience) use the unset method, in login dotfile (bashrc for me), because LANG cannot change (locally) unless it is unset.

Forum kindly sponsored by