Reconfigure locale
Changing the language of a Linux installation can be done by the following commands.
The settings itself are stored in the file /etc/default/locale
:
- LANG=de_DE.UTF-8
It can contain more settings if different languages should be used for different aspects of the systems.
The current active locale can be displayed by the following command:
- root@machine:~# locale
- LANG=de_DE.UTF-8
- LANGUAGE=
- 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=
All available locales can be displayed by the following command:
- root@machine:~# locale -a
- C
- C.UTF-8
- de_DE.utf8
- en_US.utf8
- POSIX
You can also get some extra information adding the -v
(verbose) parameter:
- root@machine:~# locale -a -v
- locale: de_DE.utf8 archive: /usr/lib/locale/locale-archive
- -------------------------------------------------------------------------------
- title | German locale for Germany
- source | Free Software Foundation, Inc.
- address | http://www.gnu.org/software/libc/
- email | bug-glibc-locales@gnu.org
- language | German
- territory | Germany
- revision | 1.0
- date | 2000-06-24
- codeset | UTF-8
- locale: en_US.utf8 archive: /usr/lib/locale/locale-archive
- -------------------------------------------------------------------------------
- title | English locale for the USA
- source | Free Software Foundation, Inc.
- address | http://www.gnu.org/software/libc/
- email | bug-glibc-locales@gnu.org
- language | American English
- territory | United States
- revision | 1.0
- date | 2000-06-24
- codeset | UTF-8
- locale: C.UTF-8 directory: /usr/lib/locale/C.UTF-8
- -------------------------------------------------------------------------------
- title | C locale
- email | aurel32@debian.org
- language | C
- revision | 1.6
- date | 2016-08-08
- codeset | UTF-8
The locale can be changed by the following command (changes the locale to German):
- root@machine:~# update-locale LANG=de_DE.UTF-8
If you get an error message, maybe the locale you defined doesn't exist yet. So you have to create it by the following command:
- root@machine:~# locale-gen --purge de_DE.UTF-8
The --purge
parameter will remove existing locales before processing.
Another way to create locales is the following command - which will show a dialog for doing so:
- root@machine:~# dpkg-reconfigure locales
Locales are cached in the file /usr/lib/locale/locale-archive
. This cache can be modified by the following commands.
All locales in the archive can be listed by:
- root@machine:~# localedef --list
- de_DE.utf8
- en_US.utf8
A locale can be deleted from the archive by (deletes the German locale, but must be one of the locales printed by the --list
parameter):
- root@machine:~# localedef --delete-from-archive de_DE.utf8