KDE Plasma - switching to English does not work
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown in English. The keyboard layout should stay German. Units, time&date etc. should also stay German, but this is not important. I tried to switch from German to English on two places: - Yast - see https://paste.opensuse.org/7974c2c3 - KDE system settings - see https://paste.opensuse.org/37e295e8 Of course I logged in again after changing these settings. I also tried rebooting. Unfortunately desktop and console are still German. So probably something is configured wrong. Programs do not show English messages: myuser@mybox:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden "locale" shows German settings too: myuser@mybox:~> locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.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="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" LC_ALL= Later I also added these environment variables to $HOME/.profile export LANG=en_US.utf8 export LC_CTYPE=en_US.UTF-8 export LC_MESSAGES="en_US.utf8" export LC_ALL= Also these settings do not help much: myuser@mybox:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden myuser@mybox:~> locale LANG=en_US.utf8 LC_CTYPE=en_US.UTF-8 LC_NUMERIC="en_US.utf8" LC_TIME="en_US.utf8" LC_COLLATE="en_US.utf8" LC_MONETARY="en_US.utf8" LC_MESSAGES=en_US.utf8 LC_PAPER="en_US.utf8" LC_NAME="en_US.utf8" LC_ADDRESS="en_US.utf8" LC_TELEPHONE="en_US.utf8" LC_MEASUREMENT="en_US.utf8" LC_IDENTIFICATION="en_US.utf8" LC_ALL= Here are some config files: /etc/locale.conf LANG=en_US.UTF-8 /etc/sysconfig/language # empty lines and comments deleted INPUT_METHOD="" RC_LANG="en_US.utf8" RC_LC_ALL="" RC_LC_MESSAGES="" RC_LC_CTYPE="" RC_LC_COLLATE="" RC_LC_TIME="" RC_LC_NUMERIC="" RC_LC_MONETARY="" RC_LC_PAPER="" ROOT_USES_LANG="ctype" AUTO_DETECT_UTF8="no" INSTALLED_LANGUAGES="de_DE,en_US" myuser@mybox:~> locale -a | grep ^en_US en_US en_US.iso885915 en_US.utf8 Any ideas? Please send my a working en_US setup (config files etc.). Greetings, Björn
Knurpht-openSUSE wrote:
Are the plasma*lang packages installed? I think so:
myuser@mybox:~> rpm -qa | grep "plasma.*-lang" | sort plasma5-addons-lang-5.20.5-1.2.noarch plasma5-desktop-lang-5.20.5-3.2.noarch plasma5-disks-lang-5.20.5-2.2.noarch plasma5-integration-plugin-lang-5.20.5-1.2.noarch plasma5-pa-lang-5.20.5-1.2.noarch plasma5-thunderbolt-lang-5.20.5-2.2.noarch plasma5-workspace-lang-5.20.5-3.2.noarch plasma-browser-integration-lang-5.20.5-1.2.noarch plasma-framework-lang-5.78.0-2.2.noarch plasma-nm5-lang-5.20.5-2.2.noarch plasma-vault-lang-5.20.5-1.2.noarch Greetings, Björn
Am 16.02.21 um 16:52 schrieb Bjoern Voigt:
Knurpht-openSUSE wrote:
Are the plasma*lang packages installed? I think so:
myuser@mybox:~> rpm -qa | grep "plasma.*-lang" | sort plasma5-addons-lang-5.20.5-1.2.noarch plasma5-desktop-lang-5.20.5-3.2.noarch plasma5-disks-lang-5.20.5-2.2.noarch plasma5-integration-plugin-lang-5.20.5-1.2.noarch plasma5-pa-lang-5.20.5-1.2.noarch plasma5-thunderbolt-lang-5.20.5-2.2.noarch plasma5-workspace-lang-5.20.5-3.2.noarch plasma-browser-integration-lang-5.20.5-1.2.noarch plasma-framework-lang-5.78.0-2.2.noarch plasma-nm5-lang-5.20.5-2.2.noarch plasma-vault-lang-5.20.5-1.2.noarch
Greetings, Björn
i thing english should work without additional packages. simoN -- www.becherer.de
Am 16.02.21 um 15:25 schrieb Bjoern Voigt:
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown > Greetings, Björn
For console output: my standart: locale LANG=de_DE.UTF-8 LC_CTYPE=de_DE.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="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" LC_ALL= rm doesnotexist rm: das Entfernen von 'doesnotexist' ist nicht möglich: Datei oder Verzeichnis nicht gefunden then i removed LANG: export LANG= locale LANG= LC_CTYPE=de_DE.UTF-8 LC_NUMERIC="POSIX" LC_TIME="POSIX" LC_COLLATE="POSIX" LC_MONETARY="POSIX" LC_MESSAGES="POSIX" LC_PAPER="POSIX" LC_NAME="POSIX" LC_ADDRESS="POSIX" LC_TELEPHONE="POSIX" LC_MEASUREMENT="POSIX" LC_IDENTIFICATION="POSIX" LC_ALL= simon@becherer2:~> rm doesnotexist rm: cannot remove 'doesnotexist': No such file or directory simon@becherer2:~> simoN -- www.becherer.de
Am 16.02.21 um 17:07 schrieb Simon Becherer:
Am 16.02.21 um 15:25 schrieb Bjoern Voigt:
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown > Greetings, Björn
so i think you should inside .profile comment out the line: export LANG=de_DE.UTF-8># uncomment this line for German output -> # export LANG=de_DE.UTF-8># uncomment this line for German output restart and try if all will be english. -- www.becherer.de
On Tue, 16 Feb 2021, 17:19:49 +0100, Simon Becherer wrote:
Am 16.02.21 um 17:07 schrieb Simon Becherer:
Am 16.02.21 um 15:25 schrieb Bjoern Voigt:
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown > Greetings, Björn
so i think you should inside .profile comment out the line:
export LANG=de_DE.UTF-8># uncomment this line for German output -> # export LANG=de_DE.UTF-8># uncomment this line for German output
restart and try if all will be english.
To be honest, shouldn't all of this be selectable by the display manager? If you override the LANG/LC_* variables in a terminal, you would otherwise have to ensure the new application gets started from that terminal, otherwise it'll fall back to the session's defaults. Cheers. l8er manfred
Manfred Hollstein wrote:
To be honest, shouldn't all of this be selectable by the display manager? If you override the LANG/LC_* variables in a terminal, you would otherwise have to ensure the new application gets started from that terminal, otherwise it'll fall back to the session's defaults. Yes, my settings in $HOME/.profile were more or less a work-around since settings in YaST and KDE system settings did not work for me. Usually settings in $HOME/.profile are only needed in multi-user setups where different people use different languages.
I think, that $HOME/.profile is read during KDE startup, but I am not sure, were. /etc/locale.conf is owned by systemd, so probably systemd evaluates /etc/locale.conf. My display manager is SDDM. SDDM shows up in English after the YaST changes. I do not find any locale specific settings in /etc/sddm.conf Greetings, Björn
Am 16.02.21 um 17:42 schrieb Bjoern Voigt:
Manfred Hollstein wrote:
To be honest, shouldn't all of this be selectable by the display manager? If you override the LANG/LC_* variables in a terminal, you would otherwise have to ensure the new application gets started from that terminal, otherwise it'll fall back to the session's defaults. Yes, my settings in $HOME/.profile were more or less a work-around since settings in YaST and KDE system settings did not work for me. Usually settings in $HOME/.profile are only needed in multi-user setups where different people use different languages.
I think, that $HOME/.profile is read during KDE startup, but I am not sure, were. /etc/locale.conf is owned by systemd, so probably systemd evaluates /etc/locale.conf.
My display manager is SDDM. SDDM shows up in English after the YaST changes. I do not find any locale specific settings in /etc/sddm.conf
Greetings, Björn
i remember when i installed this tumbleweed systems, without setting the .locale expicit to german some applications where still in english. so maybe some of the (kde) apps read this. i do not know if this is now 2 years later better. there are files: /etc/locale.conf /etc/profile or /etc/profile.local maybe in the home directrory check: .dmrc .i18n .profile try add new user simoN -- www.becherer.de
Simon Becherer wrote:
there are files: /etc/locale.conf /etc/profile or /etc/profile.local Here one more:
/etc/sysconfig/language Now I found a solution for the console and for Gnome. KDE is still not working in English for me.
In /etc/sysconfig/language I changed RC_LANG="de_DE.utf8" to RC_LANG="en_US.utf8". "localectl" (from systemd) and Yast do not touch this setting. The change makes the console (e.g. text console or ssh remote login) working in English. I removed all LANG/LC-settings from $HOME/.profile. /etc/sysconfig/language: INPUT_METHOD="" RC_LANG="en_US.utf8" RC_LC_ALL="" RC_LC_MESSAGES="" RC_LC_CTYPE="" RC_LC_COLLATE="" RC_LC_TIME="" RC_LC_NUMERIC="" RC_LC_MONETARY="" RC_LC_PAPER="" ROOT_USES_LANG="ctype" AUTO_DETECT_UTF8="no" INSTALLED_LANGUAGES="de_DE,en_US" /etc/locale.conf: LANG=en_US.UTF-8 /etc/profile, /etc/profile.locale: no LANG/LC-variables /etc/profile.d/lang.csh /etc/profile.d/lang.sh: the unmodified aaa_base files $HOME/.dmrc: [Desktop] Session=xsession $HOME/.i18n: does not exist $HOME/.profile: no LANG/LC-variables Also Gnome sessions are now in English. KDE Plasma desktop is still in German. Only SDDM itself is in English. I both checked a normal KDE Plasma session started with SDDM and a XRDP session from Windows. Also consoles in KDE desktop are still in German. Some KDE component sets two environment variable incorrectly. May be a bug? myuser@mybox:~> env | grep LANG LANGUAGE=de:en_US LANG=de_DE.UTF-8 myuser@mybox:~> locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.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="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" LC_ALL= So probably I will use Gnome for the online session. Greetings, Björn
Bjoern Voigt wrote:
KDE Plasma desktop is still in German. Only SDDM itself is in English. I both checked a normal KDE Plasma session started with SDDM and a XRDP session from Windows. Also consoles in KDE desktop are still in German. Some KDE component sets two environment variable incorrectly. May be a bug? I deleted the files .kde/share/config/kdeglobals .config/plasma-locale-settings.sh .config/plasma-localerc
Now the KDE Plasma desktop is partially English. E.g. the KDE menu is English. But e.g. system settings and console (in Konsole) is still German. The environment variables are still wrong: myuser@mybox:~> env | grep LANG LANGUAGE=de:en_US LANG=de_DE.UTF-8 I found these KDE bugs on bugs.kde.org. Bug 429474 - KDE regional settings language selection Bug 429474 - Plasma language is controlled by "Formats" screen instead of "Language" Bug 427014 - language settings are ignored Bug reports 429474 and 429474 contain work-arounds, but until now I have no luck with the work-arounds. Greetings, Björn
Am 17.02.21 um 00:26 schrieb Bjoern Voigt:
Bjoern Voigt wrote:
KDE Plasma desktop is still in German. Only SDDM itself is in English. I both checked a normal KDE Plasma session started with SDDM and a XRDP session from Windows. Also consoles in KDE desktop are still in German.
Check if you have the file: .config/KDE/Sonnet.conf take a look inside. at my system here are some apps who ignore settings defined. and maybe use a tool like bleachbit to delete a lot of cached files for kde/plasma. backup the .cache directory before, this could change some settings!!! simoN -- www.becherer.de
Simon Becherer wrote:
Check if you have the file:
.config/KDE/Sonnet.conf
take a look inside. at my system here are some apps who ignore settings defined.
and maybe use a tool like bleachbit to delete a lot of cached files for kde/plasma. backup the .cache directory before, this could change some settings!!!
.config/KDE/Sonnet.conf had some program entries in ignore_de= and ignore_de_DE=. I cleaned this file and now I have: [General] autodetectLanguage=false backgroundCheckerEnabled=true checkUppercase=true checkerEnabledByDefault=false defaultClient= defaultLanguage=en_US ignore_de= ignore_de_DE= preferredLanguages=en_US, de_DE skipRunTogether=true For testing I created a new user. This user has a correct en_US setup. Unfortunately copying the config files from this user does not help. .config/plasma-localerc: LANG=en_US.utf8 .i18n # # Override system wide input method here # # export INPUT_METHOD=scim # Most applications support several languages for their output. # To make use of this feature, simply uncomment one of the lines below or # add your own one (see /usr/share/locale/locale.alias for more codes) # This overwrites the system default set in /etc/sysconfig/language # in the variable RC_LANG. # #export LANG=de_DE.UTF-8 # uncomment this line for German output #export LANG=fr_FR.UTF-8 # uncomment this line for French output #export LANG=es_ES.UTF-8 # uncomment this line for Spanish output .config/KDE/Sonnet.conf: does not exists for the new user Cleaning caches with bleachbit was a good idea, but I cleaned the KDE caches with bleachbit and still have the problems. The main problem is still, that KDE seems to modify the languages variabled, especially $LANGUAGE, incorrectly. In Konsole $LANGUAGE is de:en_US:en_US:de. This means, that "de" messages have priority. I looked up the source code: plasma-workspace-5.21.0/startkde/startplasma.cpp [...] void runStartupConfig() { // export LC_* variables set by kcmshell5 formats into environment // so it can be picked up by QLocale and friends. KConfig config(QStringLiteral("plasma-localerc")); KConfigGroup formatsConfig = KConfigGroup(&config, "Formats"); const auto lcValues = {"LANG", "LC_NUMERIC", "LC_TIME", "LC_MONETARY", "LC_MEASUREMENT", "LC_COLLATE", "LC_CTYPE"}; for (auto lc : lcValues) { const QString value = formatsConfig.readEntry(lc, QString()); if (!value.isEmpty()) { qputenv(lc, value.toUtf8()); } } KConfigGroup languageConfig = KConfigGroup(&config, "Translations"); const QString value = languageConfig.readEntry("LANGUAGE", QString()); if (!value.isEmpty()) { qputenv("LANGUAGE", value.toUtf8()); } if (!formatsConfig.hasKey("LANG") && !qEnvironmentVariableIsEmpty("LANG")) { formatsConfig.writeEntry("LANG", qgetenv("LANG")); formatsConfig.sync(); } } [...] To variables LANGUAGE, LANG and the LC_* variables are read from .config/plasma-localerc and non-empty variables are set as environment variables. In reality .config/plasma-localerc configured in system settings with English as first language and German as second language (as suggested in the bug reports) [Translations] LANGUAGE=en_US:de from .config/plasma-localerc results in LANGUAGE=de:en_US:en_US:de (in Konsole) and LANGUAGE=en_US:de (in gnome-terminal). So probably Konsole does extra processing of $LANGUAGE. But even gnome-terminal (in KDE desktop) behaves incorrectly. Both terminals do only show German messages: myuser@myuser:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden "strace" shows, that "rm does-not-exists" searches messages in this sequence (first: en_US, second: de - but en_US has no translation files): /usr/lib/locale/en_US.UTF-8/LC_MESSAGES /usr/lib/locale/en_US.utf8/LC_MESSAGES/SYS_LC_MESSAGES /usr/share/locale-langpack/en_US/LC_MESSAGES/coreutils.mo /usr/share/locale/en_US/LC_MESSAGES/coreutils.mo /usr/share/locale-langpack/en/LC_MESSAGES/coreutils.mo /usr/share/locale/en/LC_MESSAGES/coreutils.mo /usr/share/locale-langpack/de/LC_MESSAGES/coreutils.mo /usr/share/locale/de/LC_MESSAGES/coreutils.mo The last file exists and that's why the message is German. In theory the solution would be to set LANGUAGE=en_US (without "de") or unsetting $LANGUAGE. Doing this in .i18 or .bashrc solves the problem for the terminal. UI programs started from KDE still have incorrect language. Greetings, Björn
18.02.2021 23:04, Bjoern Voigt пишет:
To variables LANGUAGE, LANG and the LC_* variables are read from .config/plasma-localerc and non-empty variables are set as environment variables. In reality .config/plasma-localerc configured in system settings with English as first language and German as second language (as suggested in the bug reports)
[Translations] LANGUAGE=en_US:de
Which explains German language.
from .config/plasma-localerc results in LANGUAGE=de:en_US:en_US:de (in Konsole) and LANGUAGE=en_US:de (in gnome-terminal). So probably Konsole does extra processing of $LANGUAGE. But even gnome-terminal (in KDE desktop) behaves incorrectly.
Both terminals do only show German messages: myuser@myuser:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
"strace" shows, that "rm does-not-exists" searches messages in this sequence (first: en_US, second: de - but en_US has no translation files):
Exactly. LANGUAGE is used by gettext i18n library. LANGUAGE lists message catalogs in order of preference, *each* message strings is looked up in *every* catalog, the first translation found is used with built-in (usually English) message strings being fall back if none of other translation for requested message is found. The problem is, English message "translations" almost never exist, because they are already part of program. In rare cases there may be some special catalogs for small part of messages (like spelling difference between American English and British English) but then you have situation when /some/ messages are displayed in English and most are displayed in next language set in LANGUAGE. gettext does not provide API to declare "my program has built in message strings in language en/de/es/...". May be it should. Also if catalog for language is incomplete (happens quite often) some message strings will be displayed in the first language, some - in the second one etc. That is more or less similar to language preference in web browsers - it defines the most preferred language, but also says - if page in this language does not exist, fetch it in the next one. Same logic here. The additional problem in case of KDE is also that KDE is using own locale management framework which simply cannot be mapped into glibc/POSIX one without losing functionality. glibc expects triples language_territory.charset while KDE allows setting each component (and more) completely independently. Which sometimes also leads to bizarre effects with non-KDE programs started in KDE environment.
Am 18.02.21 um 21:04 schrieb Bjoern Voigt:
For testing I created a new user. This user has a correct en_US setup. Unfortunately copying the config files from this user does not help.
mh, i get out of ideas, one last: if new user is correct, and copying the config files did not result in correct settings, the problem could only be that every time you start the old user, cache files will be generated. (i have a other kde problem and its only ok with some old cache files) so maybe you could try when logged out!! to rename the complete .cache directory AND copy the config files from correct settings to the .config directory. (make sure that they are all read+writable from correct user). maybe for test rename the config directory and copy the new user config dir to the old. if this works, you have to figure out what part of the config or cache files are involved. simoN -- www.becherer.de
Now I found a work-around, which works in text console, KDE Plasma desktop and Konsole. Compared with my last setup, the variable $LC_MESSAGES is important. LC_MESSAGES=C means that message translations should not be searched in translation files. As the result the original English messages are used. $HOME/.config/plasma-localerc: [Formats] LANG=en_US.utf8 LC_MESSAGES=C $HOME/.config/KDE/Sonnet.conf: [General] autodetectLanguage=false backgroundCheckerEnabled=true checkUppercase=true checkerEnabledByDefault=false defaultClient= defaultLanguage=en_US ignore_de= ignore_de_DE= preferredLanguages=en_US, de_DE skipRunTogether=true $HOME/.i18n export LC_MESSAGES=C /etc/sysconfig/language: INPUT_METHOD="" RC_LANG="en_US.utf8" RC_LC_ALL="" RC_LC_MESSAGES="" RC_LC_CTYPE="" RC_LC_COLLATE="" RC_LC_TIME="" RC_LC_NUMERIC="" RC_LC_MONETARY="" RC_LC_PAPER="" ROOT_USES_LANG="ctype" AUTO_DETECT_UTF8="no" INSTALLED_LANGUAGES="de_DE,en_US" Greetings, Björn
Good to hear its working. i will save your infos if i run into this sometimes...... simoN Am 23.02.21 um 18:16 schrieb Bjoern Voigt:
Now I found a work-around, which works in text console, KDE Plasma desktop and Konsole.
Compared with my last setup, the variable $LC_MESSAGES is important. LC_MESSAGES=C means that message translations should not be searched in translation files. As the result the original English messages are used.
$HOME/.config/plasma-localerc: [Formats] LANG=en_US.utf8 LC_MESSAGES=C
$HOME/.config/KDE/Sonnet.conf: [General] autodetectLanguage=false backgroundCheckerEnabled=true checkUppercase=true checkerEnabledByDefault=false defaultClient= defaultLanguage=en_US ignore_de= ignore_de_DE= preferredLanguages=en_US, de_DE skipRunTogether=true
$HOME/.i18n export LC_MESSAGES=C
/etc/sysconfig/language: INPUT_METHOD="" RC_LANG="en_US.utf8" RC_LC_ALL="" RC_LC_MESSAGES="" RC_LC_CTYPE="" RC_LC_COLLATE="" RC_LC_TIME="" RC_LC_NUMERIC="" RC_LC_MONETARY="" RC_LC_PAPER="" ROOT_USES_LANG="ctype" AUTO_DETECT_UTF8="no" INSTALLED_LANGUAGES="de_DE,en_US"
Greetings, Björn
-- B e c h e r e r GmbH Sondermaschinenbau Mauermatten Strasse 22 79183 Waldkirch Germany Tel.: (+49) (0)7681 3134 Fax: (+49) (0)7681 4378 Mail: info@becherer.de Web: www.becherer.de USt-ID-Nr.: DE 814912198 Registergericht: Freiburg HRB 701860 Geschäftsführer: Dipl.-Ing. (FH), EWE Simon H. Becherer Gerichtsstand / Sitz: Waldkirch Es gelten ausschließlich unsere allgemeinen Liefer- und Zahlungsbedingungen / Einkaufsbedingungen: www.becherer.de/AGB
Am Mittwoch, 17. Februar 2021, 00:26:51 CET schrieb Bjoern Voigt:
I found these KDE bugs on bugs.kde.org. Bug 429474 - KDE regional settings language selection Bug 429474 - Plasma language is controlled by "Formats" screen instead of "Language" Bug 427014 - language settings are ignored
Bug reports 429474 and 429474 contain work-arounds, but until now I have no luck with the work-arounds.
I ran into the same issue some time ago: https://bugs.kde.org/show_bug.cgi?id=422636 ..finally got it working, I think it was the 'formats' setting HTH Axel
Bjoern Voigt wrote:
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown in English. The keyboard layout should stay German. Units, time&date etc. should also stay German, but this is not important.
I tried to switch from German to English on two places: - Yast - see https://paste.opensuse.org/7974c2c3 - KDE system settings - see https://paste.opensuse.org/37e295e8 May be, it has nothing to do with the KDE Plasma desktop. Even on console things are weird.
I compared the locale setup on my TW system with the setup on my openSUSE 15.2 computer. On my TW system en_US.utf8 and en_GB.utf8 are somehow German, only the openSUSE Leap 15.2 system works as expected. openSUSE TW samples: myuser@tw:~> LC_ALL= LC_MESSAGES=en_US.utf8 rm does-not-exist rm: das Entfernen von 'does-not-exist' ist nicht möglich: Datei oder Verzeichnis nicht gefunden myuser@tw:~> LC_ALL= LC_MESSAGES=en_GB.utf8 rm does-not-exist rm: das Entfernen von 'does-not-exist' ist nicht möglich: Datei oder Verzeichnis nicht gefunden myuser@tw:~> LC_ALL= LC_MESSAGES=POSIX rm does-not-exist rm: cannot remove 'does-not-exist': No such file or directory openSUSE 15.2 samples: myuser@leap:~> LC_ALL= LC_MESSAGES=en_US.utf8 rm does-not-exist rm: cannot remove 'does-not-exist': No such file or directory myuser@leap:~> LC_ALL= LC_MESSAGES=en_GB.utf8 rm does-not-exist rm: cannot remove 'does-not-exist': No such file or director myuser@leap:~> LC_ALL= LC_MESSAGES=POSIX rm does-not-exist rm: cannot remove 'does-not-exist': No such file or directory I already tried this tip on my TW computer: myuser@tw:~> sudo localedef -i en_US -f UTF-8 en_US.UTF-8 What else could be wrong? Greetings, Björn
16.02.2021 17:25, Bjoern Voigt пишет:
Unfortunately desktop and console are still German. So probably something is configured wrong.
Programs do not show English messages: myuser@mybox:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
"locale" shows German settings too: myuser@mybox:~> locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.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="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" LC_ALL=
echo $LANGUAGE ??
On Tue, 16 Feb 2021, 19:02:29 +0100, Andrei Borzenkov wrote:
16.02.2021 17:25, Bjoern Voigt пишет:
Unfortunately desktop and console are still German. So probably something is configured wrong.
Programs do not show English messages: myuser@mybox:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
"locale" shows German settings too: myuser@mybox:~> locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.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="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" LC_ALL=
echo $LANGUAGE
??
Exactly, ??? I've seen LANGUAGE on Ubuntu systems on which I haven't been able to override the display manager's settings by running something like "env LANG=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8 df -T ." when logged in with de_DE.UTF-8 as the session's language. Even adding LC_ALL=en_US.UTF-8 didn't help. According to some POSIX rules, LANG and the various LC_... variable control the localisation. I failed to find out where this bloody LANGUAGE came into play. FWIW, adding LANGUAGE=en_US.UTF-8 to be former command finally resulted in English output. Cheers. l8er manfred
Op dinsdag 16 februari 2021 15:25:32 CET schreef Bjoern Voigt:
- KDE system settings - see https://paste.opensuse.org/37e295e8
I used exactly that, added US English to the already present Dutch, moved US English up, logged out, logged in, and all apps are in English. Apart from some chat apps that have the language set internally. Switching back was just as easy. -- Gertjan Lettink a.k.a. Knurpht openSUSE Board openSUSE Forums Team
On 16/02/2021 15.25, Bjoern Voigt wrote:
For an online session with English speaking participants I want to temporarily switch my KDE Plasma desktop on Tumbleweed from German to English. All texts should be shown in English. The keyboard layout should stay German. Units, time&date etc. should also stay German, but this is not important.
I tried to switch from German to English on two places: - Yast - see https://paste.opensuse.org/7974c2c3 - KDE system settings - see https://paste.opensuse.org/37e295e8
Of course I logged in again after changing these settings. I also tried rebooting.
Unfortunately desktop and console are still German. So probably something is configured wrong.
Programs do not show English messages: myuser@mybox:~> rm does-not-exists rm: das Entfernen von 'does-not-exists' ist nicht möglich: Datei oder Verzeichnis nicht gefunden
"locale" shows German settings too: myuser@mybox:~> locale LANG=de_DE.UTF-8 LC_CTYPE="de_DE.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="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" LC_ALL=
Officially, the file to customize a user's locale, is [HOME]/.i18n. If it doesn't exist, create it. That doesn't mean that KDE listens to this setting. Gnome and XFCE do. I reported several bugs on this over the years, and now it works. I did not test KDE. My file: cer@Telcontar:~> cat .i18n # used by /etc/profile.d/lang.sh #CER - if it doesn't work edit /etc/profile.d/lang.sh, # see Bugzilla 567324 LC_TIME=en_DK.UTF-8 LC_MONETARY=es_ES.utf8 LC_NUMERIC=es_ES.utf8 LC_PAPER=es_ES.utf8 LC_TELEPHONE=es_ES.utf8 LC_MEASUREMENT=es_ES.utf8 LC_NAME=es_ES.utf8 cer@Telcontar:~> KDE also used "KDE_LANG=", but my notes say it works badly. Another interesting variable is "LANGUAGE", used by KDE. Example: LANGUAGE=es_ES.UTF-8:es For example, to launch a program in Spanish, I use: LANG=es_ES.UTF-8 LC_ALL=es_ES.UTF-8 DICTIONARY=espanol \ KDE_LANG=es_ES LANGUAGE=es_ES.UTF-8:es exec "$@" But you want to change the desktop. -- Cheers / Saludos, Carlos E. R. (from 15.2 x86_64 at Telcontar)
participants (7)
-
Andrei Borzenkov
-
Axel Braun
-
Bjoern Voigt
-
Carlos E.R.
-
Knurpht-openSUSE
-
Manfred Hollstein
-
Simon Becherer