Read more

How to use Ubuntu in English, but still show German formats

Henning Koch
July 02, 2011Software engineer at makandra GmbH

If you want to have an English Ubuntu UI, but still see dates, money amounts, paper formats, etc. in German formats, you can fine-tune your /etc/default/locale like this:

LANG="en_US.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_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"
Illustration web development

Do you need DevOps-experts?

Your development team has a full backlog? No time for infrastructure architecture? Our DevOps team is ready to support you!

  • We build reliable cloud solutions with Infrastructure as code
  • We are experts in security, Linux and databases
  • We support your dev team to perform
Read more Show archive.org snapshot

Make sure you have both en_US and de_DE locales installed:

sudo locale-gen en_US
sudo locale-gen en_US.UTF-8
sudo locale-gen de_DE
sudo locale-gen de_DE.UTF-8

If you needed to install a locale, make sure to do:

sudo update-locale

Now restart your system for the changes to take effect.

Known issues

You might encounter locale issues when you ssh to machines that don't have those locales set (de_DE) and some errors like this with postgresql might occur:

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
        LANGUAGE = (unset),
        LC_ALL = (unset),
        LC_PAPER = "de_DE.UTF-8",
        LC_ADDRESS = "de_DE.UTF-8",
        LC_MONETARY = "de_DE.UTF-8",
        LC_NUMERIC = "de_DE.UTF-8",
        LC_TELEPHONE = "de_DE.UTF-8",
        LC_MESSAGES = "en_US.UTF-8",
        LC_IDENTIFICATION = "de_DE.UTF-8",
        LC_COLLATE = "en_US.UTF-8",
        LC_MEASUREMENT = "de_DE.UTF-8",
        LC_CTYPE = "en_US.UTF-8",
        LC_TIME = "de_DE.UTF-8",
        LC_NAME = "de_DE.UTF-8",
        LANG = "en_US.UTF-8"
    are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").

Then you might remove/comment this line from your /etc/ssh/ssh_config:

SendEnv LANG LC_*
Posted by Henning Koch to makandra dev (2011-07-02 10:38)