4

I have a machine with Gnome on Bullseye. I set both Language and the Formats to German and Germany respectively in the Region and Language section of Settings GUI. After I restart the session, everything is still in English. The value of Language and Format fields are shown as German but the environment is still in English. This is on a non-admin account, but I have access to root.

When I run locale at the terminal I get:

LANG=de_DE.UTF-8
LANGUAGE=en_US:en

Everyhting else is set to de_DE.UTF-8

LC_ALL is not set (set to nothing).

Also I notice that on the Login screen, the day is shown in German and months names in Calendar are in German, but most everything else (menus, options, messages, etc.) is in English.

UPDATE: Somebody suggested that I should edit /etc/default/locale. I did that and it seemed to work, with the caveat that now my admin account also changed language to German. Then as per suggestion on Debian wiki, I ran dpkg-reconfigure locales and set the default to None. It simply comments out the LANG line in /etc/default/locale. I also set the relevant fields in the Region and Language section of the Settings GUI. After logout and login the admin account remained German, while the account that I wished to turn to German is back in English.

Manually setting

LANG=en_US.UTF-8
LANGUAGE="en_US:en"

in /etc/default/locale didn't work either. If you think the first line is missing quotation marks, I tried all permutations and it didn't change anything. For some reason, when I run the dpkg-reconfigure locales, it sets the first value without quotation marks and the second with them (or probably sets only one of them). Following the other suggestions on Debian wiki, I tried the ~/.dmrc solution which did not work.

I added the line

: "${LANG:=en_US.UTF-8}"; export LANG

to /etc/profile, but this broke the system so that I could no longer login. I had to remove it. (also tried it without the colon at the beginning, same result) Right now, the account I had tried to change to German is in English, whereas the admin account is in German. The settings GUI shows the right values, but the desktop environment ignores them. I can only characterize this as a bug.

1
  • This is an annoying problem indeed and I would like a fix for this as well. Lots of non-English speakers will want their date, time and other settings in their local settings but use English as the main language because it's the international "tech" language and translations for software and other operating system parts are often lacking, resulting in a mix of languages on the same system. This works perfectly on Ubuntu and other distros but Bullseye keeps giving issues with locale.
    – Jakke
    Commented Jul 27, 2022 at 10:28

1 Answer 1

3

SOLUTION

  1. Run sudo dpkg-reconfigure locales
  2. select the languages you wish to install.

NOTE 1: At the end, the wizard recommends setting the default language to None if other people are likely to ssh into this system. This will set the default to C.UTF-8. This can cause some apps to not operate properly. For example, after this, my Gnome terminal wouldn't start anymore. So if you set the default to none, then you must set a specific language for each individual account separately, as per instructions below.

  1. add the following to the ~/.profile for the user you wish to change the environment language for:
    LANG=de_DE.UTF-8
    LANGUAGE=de_DE:de
    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=

NOTE: Replace "de_DE.UTF-8" with the appropriate language code!

  1. Reboot.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .