System Language

Tumbleweed 20190312 64bit kernel 4.20.13-1 Qt 5.12.0 Plasma 5.15.2

Unable to configure System language as English. Terminal language remains in German despite Primary Language English (UK) set in YAST, secondary German. KDE is displaying a mixture of English and German. Installed as English with German keyboard. Have looked at /etc/sysconfig/language. Modifying RC_LANG=“en_GB.UTF-8” has no effect. Output of echo $LANG confirms en_GB.UTF-8
British English set as (Default) in System Settings/Regional Settings/Configure Plasma translations with Deutsch as secondary

My settings are:

erlangen:~ # cat /etc/locale.conf 
LC_CTYPE=de_DE.UTF-8
erlangen:~ # locale
LANG=POSIX
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=
erlangen:~ # 

What is your output?

My output is

localhost:/etc # cat /etc/locale.conf
LANG=en_GB.UTF-8
localhost:/etc # locale
LANG=en_GB.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="en_GB.UTF-8"
LC_MESSAGES="en_GB.UTF-8"
LC_PAPER="en_GB.UTF-8"
LC_NAME="en_GB.UTF-8"
LC_ADDRESS="en_GB.UTF-8"
LC_TELEPHONE="en_GB.UTF-8"
LC_MEASUREMENT="en_GB.UTF-8"
LC_IDENTIFICATION="en_GB.UTF-8"
LC_ALL=

The above is sane, what about language?

karl@erlangen:~> grep -v # /etc/sysconfig/language |grep -v ""
RC_LANG=“de_DE.UTF-8”
ROOT_USES_LANG=“ctype”
AUTO_DETECT_UTF8=“no”
karl@erlangen:~>

My output is:

grep -v \# /etc/sysconfig/language |grep -v \"\"

RC_LANG="en_GB.UTF-8"

ROOT_USES_LANG="ctype"

AUTO_DETECT_UTF8="no"

INSTALLED_LANGUAGES="de_DE,en_GB"

[Moved bracket for nicer display] What about Plasma user settings?

Application Starter > System Settings > Regional Settings > Language > Configure Plasma translations: add British English and Deutsch.

See also:

Application Starter > System Settings > Regional Settings > Formats > Region

Yep, no suprises there:

System Settings/Regional Settings/Language/Configure Plasma Translations/ British English (Default), Deutsch
System Settings/Regional Settings/Formats/United Kingdom - British English (en_GB)

Tested British English and Deutsch. Both are working properly here. Note:

  1. global settings are here: INSTALLED_LANGUAGES=“”
  2. I never tinkered with YaST2 > Languages. You may want to undo your changes.

OK from YaST2/System/etc/sysconfig-Editor/System/Environment/Language/INSTALLED_LANGUAGES the value is set as: de_DE,en_GB

I am changing the order to en_GB,de_DE and rebooting. Will report back.

Changing the order made no difference so I used the Default button to reset. This removed the values from INSTALLED_LANGUAGES but this also had no effect. Schon gut. I can live this for a while. It is all part of using TW. It must be a bug in this part of this release stream. I have another TW installation (32bit) which is broken in entirely different ways but I always find workarounds for whatever is broken until the Gurus come up with a fix. Still a big fan of TW and openSuSE. Vielen Dank Karl.

In the Leap 15.0 thread “YAST MULTILINGUALISM” we’re addressing a similar issue, for a Norwegian case: <https://forums.opensuse.org/showthread.php/535268-YAST-MULTILINGUALISM>.

First, the difference between the Locale parameters “LANG” and “LANGUAGE” are documented for the openSUSE Leap 15.0 case here: <https://doc.opensuse.org/documentation/leap/reference/html/book.opensuse.reference/cha.suse.html#sec.suse.l10n.fallback>.
The GNU documentation is here <https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables.html#Locale-Environment-Variables> and here <https://www.gnu.org/software/gettext/manual/html_node/The-LANGUAGE-variable.html#The-LANGUAGE-variable>.

The trick is, possibly, to add lines to ‘/etc/locale.conf’ first setting up a (single) UTF-8 system-wide language with the “LANG” parameter and then, on the next line, setting up system-wide fallback languages with the “LANGUAGE” parameter.

The openSUSE documentation also mentions, in the previous section, setting up user specific preferences with the ‘~/.i18n’ file.

Me too. For a workaround see https://forums.opensuse.org/showthread.php/535268-YAST-MULTILINGUALISM?p=2897261#post2897261

Can confirm that addition of

export LANGUAGE=en_GB.UTF-8

to /home/user/.bashrc provides partial workaround for CLI, YaST still mixed languages.

Try something like: LANG=en_GB LANGUAGE=de yast2, see https://forums.opensuse.org/showthread.php/535268-YAST-MULTILINGUALISM?p=2897417#post2897417

LANG=en_GB yast2

in root shell switches YaST2 to English and launches it but change is only temporary. Subsequent launches from desktop give mixed languages. How do I make the change permanent?

For LANG and LANGUAGE refer to Environment variables - ArchWiki

KDE has its own locale definition files: I know of setlocale.sh (I removed that) and plasma-localerc

karl@erlangen:~> cat .config/plasma-localerc 
[Formats]
LANG=de_DE.UTF-8
karl@erlangen:~> 

More files are lurking such as .i18n.