I have a remote server which I installed and have been trying to unsuccessfully change the locale to french for a few hours. Below are the contents of my locale files:
/etc/default/locale:
LANG="fr_FR.UTF-8"
LANGUAGE="fr_FR.UTF-8"
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL="fr_FR.UTF-8/var/lib/locales/supported.d/local:
fr_FR.UTF-8 UTF-8
en_US.UTF-8 UTF-8
en_GB ISO-8859-1
en_GB.UTF-8 UTF-8
en_GB.ISO-8859-15 ISO-8859-15
fr_BE.UTF-8 UTF-8
fr_CA.UTF-8 UTF-8
fr_CH.UTF-8 UTF-8
fr_LU.UTF-8 UTF-8
fr_FR ISO-8859-1Everything is still defaulting to english dates and the $ currency in my web app. Is there something else I'm overlooking? I should also mention that I have dpkg re-configured and restarted the server after changes were made.
3 Answers
Run the command locale - it should show your current locale.
Generate the locales for french:
sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8Also, try regenerating the supported locale list by running:
sudo dpkg-reconfigure localesAnd update/change the current default locale:
sudo update-locale LANG=fr_FR.UTF-8Update
Extra steps to try:
Try:
sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR" sudo dpkg-reconfigure localesPerhaps adding LANG and LANGUAGE in
/etc/environmentcould force a change. Try logout/login or rebooting.localewill show your current locale for the current user. Perhaps it's worth checking out these files just to be sure no local language variables are set:~/.profile~/.bashrc~/.bash_profile
More info:
9I tried everything from sudo locale-gen and sudo update-locale to sudo update-locale, and manually making entries in /etc/default/locale and /etc/environment with and without restarting.
Nothing seemed to work and my Python code was still throwing a Unicode error on Ubuntu 18.04l. Finally modifying the environment variable in ~/.bashrc worked.
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8Of course don't forget to source ~/.bashrc
I know it's not the recommended way, but nothing else worked for me.
2You also have to edit /etc/profile:
export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8" 0