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