Sofware using diffrent languages

I’m an Italian user who knows English well, so I selected English (UK) as my primary language and Italian as my secondary language from Yast. Despite this, system applications use Italian (Yast, man, snapper, zypper,…) and other apps use a mix. Why is this happening?
Example screenshots:


This is what I have in the locale:

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

Programs attempt to load message catalogs in the order of your language priorities. So they first look for English messages, but almost no software project provides them as English is assumed to be default anyway (or these catalogs are extremely incomplete, covering such differences as disk vs. disc). So, programs do not find message in English catalog (or do not find English catalog at all) and try next language which happens to be Italian. Which does exist and provides translation for most messages (Italian translators are good, are not they :slight_smile: ).

This is the fundamental design problem. I do not know if anyone attempted to raise bug reports and discuss it with developers.

The environment variable that defines list of languages for the message catalogs is LANGUAGE.

Anything like https://forums.opensuse.org/t/no-italian-language-in-kde-after-update-to-plasma-6/173113/2 ?

No, I never used the Plasma language settings, always used Yast. Anyhow, I just checked and I also have that bug (which is not affecting me and is unrelated).

So you are telling me that using English as primary language and setting secondary languages is basically unsupported? Or using a English (US) would change something?

Check systemsettings ->localization and move italian to the first position…

Why would I do that? I would like the UI being in English, failing that displaying Italian. It appears the latter case happens really often, which is very counterintuitive.

Sorry my mistake, then do it the other way around!?
In other distributions i made the experince that the order of the languages in Plasma systemsettings has an influence on the completeness of the ltranslation…

It is already like that.

You see the error message at the top? Remove the language in systemsettings (bin symbol on the right side) and add it new…

Exactly. Has never really been.

No. It would make it even worse.

bor@bor-Latitude-E5450:~$ LANG=C ll /usr/share/locale/en_GB/LC_MESSAGES/
total 1260
drwxr-xr-x 2 root root   4096 Jan 23 11:18 ./
drwxr-xr-x 3 root root   4096 Jun 20  2014 ../
-rw-r--r-- 1 root root  60791 Jun 22  2021 GConf2.mo
-rw-r--r-- 1 root root   8202 Feb 28  2022 NetworkManager-l2tp.mo
-rw-r--r-- 1 root root  85892 Sep 20  2021 brasero.mo
-rw-r--r-- 1 root root  11443 Aug 20  2022 ccsm.mo
-rw-r--r-- 1 root root  31225 Jan 25  2022 cinnamon-control-center.mo
-rw-r--r-- 1 root root   3877 Jan 25  2022 cinnamon-desktop.mo
-rw-r--r-- 1 root root   2756 Jan 25  2022 cinnamon-screensaver.mo
-rw-r--r-- 1 root root   6090 Jan 25  2022 cinnamon-session.mo
-rw-r--r-- 1 root root  24770 Jan 25  2022 cinnamon-settings-daemon.mo
-rw-r--r-- 1 root root 121742 Jan 25  2022 cinnamon.mo
-rw-r--r-- 1 root root  80001 Aug 20  2022 compiz.mo
-rw-r--r-- 1 root root   8516 Oct  2 18:41 devhelp.mo
-rw-r--r-- 1 root root    566 Mar 27  2020 example-content.mo
-rw-r--r-- 1 root root  80454 Mar 14  2022 flatpak.mo
-rw-r--r-- 1 root root  16855 Mar 25  2022 folks.mo
-rw-r--r-- 1 root root   7722 Apr 10  2022 gnome-bluetooth-3.0.mo
-rw-r--r-- 1 root root   5342 Mar  1  2021 gnome-screensaver.mo
-rw-r--r-- 1 root root    598 Nov 28 19:40 gst-plugins-bad-1.0.mo
-rw-r--r-- 1 root root    462 Mar 14  2022 gst-plugins-ugly-1.0.mo
-rw-r--r-- 1 root root   6023 Mar 12  2022 gtksourceview-3.0.mo
-rw-r--r-- 1 root root  23911 Mar 31  2022 gucharmap.mo
-rw-r--r-- 1 root root  10550 Dec 28  2022 language-selector.mo
-rw-r--r-- 1 root root   4147 Jun 30  2022 libsoup-3.0.mo
-rw-r--r-- 1 root root   2623 Aug 31  2021 libvirt-glib.mo
-rw-r--r-- 1 root root  19739 Mar 10  2022 libwnck.mo
-rw-r--r-- 1 root root   2110 Nov  5  2021 lightdm.mo
-rw-r--r-- 1 root root  17380 Jan  2  2022 meld.mo
-rw-r--r-- 1 root root  15836 Jan 18  2023 metacity.mo
-rw-r--r-- 1 root root  25351 Jan 25  2022 nemo-extensions.mo
-rw-r--r-- 1 root root 102849 Jan 25  2022 nemo.mo
-rw-r--r-- 1 root root  41805 Mar 17  2022 onboard.mo
-rw-r--r-- 1 root root 270204 Jul 11  2023 pidgin.mo
-rw-r--r-- 1 root root  29656 Dec  4  2021 unity-tweak-tool.mo
-rw-r--r-- 1 root root  10443 Feb 28  2023 update-notifier.mo
-rw-r--r-- 1 root root    368 Mar 10  2022 virt-viewer.mo
-rw-r--r-- 1 root root  53656 Jun 19  2023 vlc.mo
-rw-r--r-- 1 root root   2235 Jan 27  2022 xapp.mo
-rw-r--r-- 1 root root   1544 Mar 25  2022 xdg-user-dirs.mo
bor@bor-Latitude-E5450:~$ 

So en_GB at least has some message catalogs. But still only about half of what Italian has.

bor@bor-Latitude-E5450:~$ ls -1 /usr/share/locale/en_GB/LC_MESSAGES/ | wc -l
38
bor@bor-Latitude-E5450:~$ ls -1 /usr/share/locale/it/LC_MESSAGES/| wc -l
73
bor@bor-Latitude-E5450:~$

and plain en (which is what will be used by setting to English (US) has even less:

bor@bor-Latitude-E5450:~$ ls -1 /usr/share/locale/en/LC_MESSAGES/ | wc -l
6
bor@bor-Latitude-E5450:~$ 

Some applications may use different location of message catalogs, but you got the idea.

1 Like

I remember back in the day being in your situation too having a system half french half english … @hui’s solution about changing the language in kde System Settings->Region & Language to english should fix your issue … only English in the list nothing else … that was what caused me issues …

My own yast configuration look like yours English first, French second and in System Settings->Spell Check I have both language available the french one being the default.

I do not see any use in configuring for the system a second language when the primary language is en_US. All system programs/tools will be able to use that primary language.

The end user in his desktop or CLI session may want to have his own language preferences, but that is something different.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.