Wie ändere ich das Standardgebietsschema in Ubuntu Server?

29

Ich habe einen Remote-Server installiert und habe versucht, das Gebietsschema für ein paar Stunden erfolglos auf Französisch zu ändern. Nachfolgend finden Sie den Inhalt meiner Ländereinstellungsdateien:

/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

In meiner Web-App werden immer noch die englischen Daten und die $ -Währung als Standard verwendet. Gibt es noch etwas, das ich übersehen habe? Ich sollte auch erwähnen, dass ich dpkg neu konfiguriert und den Server neu gestartet habe, nachdem Änderungen vorgenommen wurden.

Dunkler Stern1
quelle

Antworten:

57

Führen Sie den Befehl aus locale- er sollte Ihr aktuelles Gebietsschema anzeigen.

Generieren Sie die Ländereinstellungen für Französisch:

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

Versuchen Sie auch, die Liste der unterstützten Gebietsschemas neu zu generieren, indem Sie Folgendes ausführen:

sudo dpkg-reconfigure locales

Und aktualisieren / ändern Sie das aktuelle Standardgebietsschema:

sudo update-locale LANG=fr_FR.UTF-8

Aktualisieren

Zusätzliche Schritte zum Ausprobieren:

  1. Versuchen:

    sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"
    sudo dpkg-reconfigure locales
    
  2. Das Hinzufügen von LANG und LANGUAGE in /etc/environmentkönnte möglicherweise eine Änderung erzwingen. Versuchen Sie, sich abzumelden / anzumelden oder neu zu starten.

  3. localezeigt Ihr aktuelles Gebietsschema für den aktuellen Benutzer an. Vielleicht lohnt es sich, diese Dateien auszuprobieren, um sicherzugehen, dass keine lokalen Sprachvariablen festgelegt sind:~/.profile ~/.bashrc ~/.bash_profile

Mehr Info:

Savvas Radevic
quelle
1
Eine kurze Frage. Muss das System neu gestartet werden, damit die Änderungen wirksam werden?
Dark Star1
1
Ich denke , eine Abmelde / login sollte es tun
Savvas Radevic
1
versuchen sudo update-locale LANG="fr_FR.UTF-8" LANGUAGE="fr_FR"und sudo dpkg-reconfigure locales. Schließlich könnte das Hinzufügen von LANG und LANGUAGE /etc/environmenteine Änderung erzwingen. Versuchen Sie einen Neustart. Möglicherweise ist dies für Serverdienste erforderlich. :)
Savvas Radevic
1
sudo update-locale var=localeund neustart funktionierten bei mir im ubuntu server 16.04.
Daniel
1
@ DarkStar1 Über den Neustart des Systems musste ich neu starten.
Alfonso Nishikawa
2

Ich habe alles von sudo locale-genund sudo update-localebis ausprobiert sudo update-localeund manuell Eingaben in /etc/default/localeund /etc/environmentmit und ohne Neustart gemacht.

Nichts schien zu funktionieren und mein Python-Code verursachte immer noch einen Unicode-Fehler unter Ubuntu 18.04l. Zuletzt wurde die Umgebungsvariable ~/.bashrcbearbeitet.

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

Natürlich nicht vergessen source ~/.bashrc

Ich weiß, dass es nicht der empfohlene Weg ist, aber nichts anderes hat für mich funktioniert.

Abhimanu Kumar
quelle
Natürlich muss dies dann in der .bashrc-Datei jedes Benutzers erfolgen und auch für neue Benutzer in das Skelton eingefügt werden .....
mckenzm
1

Sie müssen auch bearbeiten /etc/profile:

export LANG="en_US.utf8"
export LANGUAGE="en_US.utf8"
export LC_ALL="en_US.utf8"
Witek
quelle
Dies scheint ein Kommentar zu Abhimanus Antwort zu sein. Um einen Autor zu kritisieren oder um Klarstellung zu bitten, hinterlassen Sie einen Kommentar unter seinem Beitrag. - Aus der Bewertung
guntbert
Es ist kein Kommentar. Es ist die Lösung, die für mich funktioniert hat.
Witek