Jak zmienić domyślne ustawienia regionalne w Ubuntu Server?

29

Mam zdalny serwer, który zainstalowałem i od kilku godzin próbuję bezskutecznie zmienić ustawienia regionalne na francuskie. Poniżej znajduje się zawartość moich plików ustawień regionalnych:

/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-1

W mojej aplikacji internetowej nadal domyślnie są angielskie daty i waluta $. Czy jest coś jeszcze, co przeoczam? Powinienem również wspomnieć, że po dokonaniu zmian mam dpkg ponownie skonfigurowane i zrestartowałem serwer.

Dark Star1
źródło

Odpowiedzi:

57

Uruchom polecenie locale- powinno pokazać bieżące ustawienia regionalne.

Wygeneruj ustawienia regionalne dla języka francuskiego:

sudo locale-gen fr_FR
sudo locale-gen fr_FR.UTF-8

Spróbuj także zregenerować obsługiwaną listę ustawień regionalnych, uruchamiając:

sudo dpkg-reconfigure locales

I zaktualizuj / zmień bieżące domyślne ustawienia regionalne:

sudo update-locale LANG=fr_FR.UTF-8

Aktualizacja

Dodatkowe kroki, aby spróbować:

  1. Próbować:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
  2. Być może dodanie LANG i LANGUAGE w /etc/environmentmoże wymusić zmianę. Spróbuj się wylogować / zalogować lub zrestartować.

  3. localepokaże twoje aktualne ustawienia regionalne dla bieżącego użytkownika. Być może warto sprawdzić te pliki, aby upewnić się, że nie są ustawione zmienne języka lokalnego:~/.profile ~/.bashrc ~/.bash_profile

Więcej informacji:

Savvas Radevic
źródło
1
Szybkie pytanie. Czy system musi zostać zrestartowany, aby zmiany odniosły skutek?
Dark Star 1
1
Myślę, że wylogowanie / logowanie powinno to zrobić
Savvas Radevic
1
spróbuj sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"i sudo dpkg-reconfigure locales. Wreszcie, być może dodanie LANG i LANGUAGE w /etc/environmentmoże wymusić zmianę. Spróbuj ponownie uruchomić komputer, być może jest to wymagane w przypadku usług serwerowych. :)
Savvas Radevic
1
sudo update-locale var=localei restart działał dla mnie na serwerze Ubuntu 16.04.
Daniel
1
@ DarkStar1 O ponownym uruchomieniu systemu musiałem zrestartować.
Alfonso Nishikawa,
2

Próbowałem wszystkiego od sudo locale-gena sudo update-localedo sudo update-localei ręcznie dokonywania wpisów /etc/default/localei /etc/environmentz i bez ponownego uruchamiania.

Wydawało się, że nic nie działa, a mój kod Python nadal zgłaszał błąd Unicode na Ubuntu 18.04l. Wreszcie modyfikacja zmiennej środowiskowej w ~/.bashrcdziałaniu.

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

Oczywiście nie zapomnij source ~/.bashrc

Wiem, że to nie jest zalecany sposób, ale nic innego nie działało dla mnie.

Abhimanu Kumar
źródło
Oczywiście należy to zrobić dla każdego użytkownika .bashrc, a także dodać do skelton dla nowych użytkowników .....
mckenzm
1

Musisz także edytować /etc/profile:

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Witek
źródło
To wygląda na komentarz do odpowiedzi Abhimanu. Aby skrytykować lub poprosić autora o wyjaśnienia, zostaw komentarz pod postem. - Z recenzji
guntbert
To nie jest komentarz. To rozwiązanie, które zadziałało dla mnie.
Witek