Kubuntu regional settings are a mess

Kubuntu 22.04.02

This is a fresh install but (my bad) the /home folder, on a separate partition, is shared with a Mint 21.1 install on the same laptop. Aside of that, all normal.

Going by the kde settings app:

I have 2 languages installed:
American English and Russian. In this order.

I have 5 formats specified:
Region (en_US) Numbers (ru_kz) Time (ru_kz) Currency (ru_kz) Measurment (ru_kz).

Originally there was no /etc/locale.conf, only a /etc/defaults/locale.
Now (as I try to figure out the problem) there are both, and they’re the same file (one links to the other), and it looks like this:

LANG="en_US.UTF-8"
LC_NUMERIC="ru_KZ.UTF-8"
LC_TIME="ru_KZ.UTF-8"
LC_MONETARY="ru_KZ.UTF-8"
LC_PAPER="ru_KZ.UTF-8"
LC_NAME="ru_KZ.UTF-8"
LC_ADDRESS="ru_KZ.UTF-8"
LC_TELEPHONE="ru_KZ.UTF-8"
LC_MEASUREMENT="ru_KZ.UTF-8"
LC_IDENTIFICATION="ru_KZ.UTF-8"
LC_CTYPE="ru_KZ.UTF-8"
LC_MESSAGES="ru_KZ.UTF-8"
LC_COLLATE="ru_KZ.UTF-8"

Notice that LC_ALL is not defined. If I understand this correctly, LC_ALL would replace all entries and make them identical.

Now, the reality, is a mess:
Kde plasma and most apps seem to be in english.

Konsole is in English, but the outputs are in Russian!
Synaptics (which I installed) is in Russian.
Nemo, which i installed, is in Russian.

When i enter locale in kconsole, this is the output:

LANG=en_US.UTF-8
LANGUAGE=en_US:ru
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

Notice that, if I add a LC_ALL=“en_US.UTF-8” or “ru_KZ.UTF-8” entry in locale.conf, upon relogging in, the system will have turned all entries to “C.UTF-8”.

If I run update-locale --locale-file=/etc/locale.conf I get this error:

*** update-locale: Error: invalid locale settings: LC_ADDRESS="ru_KZ.UTF-8" LC_NAME="ru_KZ.UTF-8" LC_T
IME="ru_KZ.UTF-8" LC_CTYPE="ru_KZ.UTF-8" LANGUAGE="en_US.UTF-8" LC_TELEPHONE="ru_KZ.UTF-8" LC_IDENTIFIC
ATION="ru_KZ.UTF-8" LANG="en_US.UTF-8" LC_MEASUREMENT="ru_KZ.UTF-8" LC_NUMERIC="ru_KZ.UTF-8" LC_MONETAR
Y="ru_KZ.UTF-8" LC_PAPER="ru_KZ.UTF-8" LC_MESSAGES="ru_KZ.UTF-8" LC_COLLATE="ru_KZ.UTF-8"

How can I fix this?

Upgrade to Kubuntu 23.04, which includes a newer version of Plasma with the regional settings support and code re-done to work much better. :slight_smile:

1 Like