Wie füge ich das Gebietsschema zum Ubuntu-Server hinzu?

178

Ich habe derzeit diese Gebietsschemas:

locale -a

C
en_AG
en_AG.utf8
en_AU.utf8
en_BW.utf8
en_CA.utf8
en_DK.utf8
en_GB.utf8
en_HK.utf8
en_IE.utf8
en_IN
en_IN.utf8
en_NG
en_NG.utf8
en_NZ.utf8
en_PH.utf8
en_SG.utf8
en_US.utf8
en_ZA.utf8
en_ZW.utf8
POSIX

Wie kann ich das ru_RUGebietsschema auf meinem Server installieren ?

Silber Licht
quelle

Antworten:

254
  1. Überprüfen Sie, welche Gebietsschemas unterstützt werden:

    locale -a
    
  2. Fügen Sie die gewünschten Gebietsschemas hinzu (zum Beispiel ru):

    sudo locale-gen ru_RU
    sudo locale-gen ru_RU.UTF-8
    
  3. Führen Sie diesen Aktualisierungsbefehl aus:

    sudo update-locale 
    
PocketSam
quelle
26
... dann laufensudo update-locale
Justin Force
3
Was machst du, wenn es nicht unterstützt wird?
Kimble
4
Könnten Sie bitte erweitern, warum beide ru_RUund ru_RU.UTF-8benötigt? Ich weiß nicht viel über Locales.
Sopalajo de Arrierez
15
Wenn du mit php5-fpm arbeitest, brauchst dusudo service php5-fpm restart
Stalinko
3
Das war genau das, was ich brauchte, aber ich musste Apache neu starten, damit es funktioniert ... danke!
Jabari,
53

Ich würde einen anderen Weg gehen, der meiner Meinung nach besser zum Ubuntu-Stil passt. Verwenden Sie die mitgelieferten Pakete . Es gibt Pakete für jedes Gebietsschema und sie erledigen die ganze Arbeit für Sie ... Sie müssen keine / var-Dateien bearbeiten, von denen ich immer dachte, dass sie nicht manuell bearbeitet werden sollten.

sudo apt-get install language-pack-XX

Dabei steht XX für den Sprachcode. Bei der Installation einer Sprache werden auch alle länderspezifischen Varianten installiert (z. B. bei der Installation von language-pack-it wird it_CH.utf8 und it_IT.utf8 installiert, bei der Installation für NL werden nl_AW, nl_AW.utf8, nl_BE.utf8 und nl_NL.utf8 installiert ).

Palantir
quelle
Ich denke, dass dies die beste und '
Ubuntu'
4
Das Generieren der Gebietsschemas bietet jedoch Dinge wie lokalisiertes Datumsformat, Dezimaltrennzeichen, Zeichensätze usw. Die Sprachpakete bieten auch Übersetzungen, was nicht unbedingt beabsichtigt ist.
Oskar Berggren
1
Stimme Oskar zu. Noch stärker, wenn man bedenkt, dass diese Installation für einen Server gedacht ist - die meisten Benutzeroberflächen werden sowieso in Englisch sein.
igorsantos07
2
Ich hatte Angst, dass dies auch das aktuelle Gebietsschema ändern würde , aber nein. Alles ist gut. Sieht nach dem besten Approach aus. Ich habe nicht besonders brauchen „Übersetzungen oder andere Sachen“, aber wenn ich speziell ein Gebietsschema aus irgendeinem Grunde verwenden, ich erwarte , dass es auf Vollständigkeit.
Balmipour
43
  1. Überprüfen Sie, welche Gebietsschemas unterstützt werden:

    less /usr/share/i18n/SUPPORTED
    
  2. Gebietsschema zur Liste der generierten hinzufügen

    echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local
    
  3. Liste neu generieren (es wird locale-gen ... aufgerufen)

     sudo dpkg-reconfigure locales
    
user123231
quelle
4
Ich musste die zweite Spalte hinzufügen: echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local(UTF-8 kommt zweimal vor) auf Ubuntu 15.04. Ansonsten funktioniert es.
JFS
16

Ich habe festgestellt, dass locale-gen dein Freund ist. wie in (Hinzufügen von hebräischem utf8 zum Beispiel):

root@world:~# locale-gen he_IL.UTF-8

Sie können es sogar so aufwärmen:

root@world:~# dpkg-reconfigure locales

und überprüfe, ob du etwas Gutes getan hast:

root@world:~# locale -a

Ich fand diese Lösung einfacher als das Hinzufügen von Dingen zu Textdateien, obwohl es das ist, was es tut.

boazr
quelle
6
echo ru_RU.UTF8 >> /var/lib/locales/supported.d/local

Bei Punkt 3 wird folgende Meldung angezeigt: "Fehler: Fehlerhafter Eintrag 'ru_RU.UTF8'"

Diese Arbeit für mich:

echo ru_RU.UTF-8 UTF-8 >> /var/lib/locales/supported.d/local
user123
quelle
Das hat bei mir funktioniert. In meinem Fall hatte ich diesen schlechten Eingabefehler für en_GB-Gebietsschemas. Ich habe meine /var/lib/locales/supported.d/mintlocaleDatei so aktualisiert , dass sie die Zeilen en_GB UTF-8und enthält en_GB.UTF-8 UTF-8(das zusätzliche UTF-8 fehlte).
Samir Aguiar
4

Verwenden Sie Ubuntu-Sprachpakete. Alle unterstützten Sprachen sind in den Standardrepositorys verfügbar:

apt-cache search language-pack

Ein vollständiges Beispiel für das Wechseln des Gebietsschemas in der Ubuntu (Server) -Version:

jani@example:~$ cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.1 LTS"

Alle verfügbaren (dh bereits installierten) Gebietsschemas können aufgelistet werden mit:

locale -a

Mein aktuelles Gebietsschema ist en_IE:

jani@example:~$ locale
LANG=en_IE.UTF-8
LANGUAGE=
LC_CTYPE="en_IE.UTF-8"
LC_NUMERIC="en_IE.UTF-8"
LC_TIME="en_IE.UTF-8"
LC_COLLATE="en_IE.UTF-8"
LC_MONETARY="en_IE.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="en_IE.UTF-8"
LC_NAME="en_IE.UTF-8"
LC_ADDRESS="en_IE.UTF-8"
LC_TELEPHONE="en_IE.UTF-8"
LC_MEASUREMENT="en_IE.UTF-8"
LC_IDENTIFICATION="en_IE.UTF-8"
LC_ALL=
jani@example:~$ date
Sat Nov  1 15:36:51 UTC 2014
jani@example:~$

Da ich kein ru-Gebietsschema hatte, muss ich das ru-Sprachpaket installieren:

jani@example:~$ sudo apt-get -y install language-pack-ru
[..]
Generating locales...
  ru_RU.UTF-8... done
  ru_UA.UTF-8... done
Generation complete.
jani@example:~$ 

Jetzt sind die Ru-Locales verfügbar. Das Standardgebietsschema des Systems wird durch Bearbeiten festgelegt /etc/default/locale:

jani@example:~$ sudo vi /etc/default/locale
# Created by cloud-init v. 0.7.5 on Mon, 27 Oct 2014 18:46:13 +0000
LANG="ru_RU.UTF-8"
LC_MESSAGES=POSIX
jani@example:~$

Melden Sie sich erneut an und überprüfen Sie Ihr brandneues Gebietsschema:

jani@example:~$ locale
LANG=ru_RU.UTF-8
LANGUAGE=
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES=POSIX
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
jani@example:~$ date
Сб. нояб.  1 15:43:45 UTC 2014
jani@example:~$ 
user272735
quelle
2

Ändern /etc/locale.gen, kommentieren oder fügen Sie die Gebietsschemas hinzu, die Sie generieren möchten. Dann lauf sudo locale-gen.

Sie können überprüfen, ob die Gebietsschemas hinzugefügt wurden. Daraufhin werden locale -aalle Gebietsschemas angezeigt.

hunse
quelle
Oh, mein Gebietsschema-Gen hat eine Menge von Gebietsschemas erstellt, wobei die Datei locale.gen ignoriert wurde. Verwenden Sie diesen Rat mit Vorsicht.
Dzenly
0
  1. Überprüfen Sie, welche Gebietsschemas in Ihrer Distribution bereits unterstützt werden. Öffnen Sie oder catdie Datei /usr/share/i18n/SUPPORTEDund kopieren Sie das gewünschte Gebietsschema, das hinzugefügt werden soll.
  2. am terminal eingeben sudo locale-gen locale_name.

    Zum Beispiel sudo locale-gen de_DE.iso885915@euro

  3. eingeben sudo update-locale

  4. Überprüfen Sie, ob das Gebietsschema mit installiert ist locale -a

BugShotGG
quelle
0

Konnte nicht kommentieren, daher muss ich dies als Antwort hinzufügen.

Ich musste in Ubuntu einen speziellen Typ für das Gebietsschema sr_RS.utf8@latin hinzufügen.

Befehl:

sudo locale-gen sr_RS.utf8@latin

fügt das @latin nicht zu den verfügbaren Gebietsschemas hinzu. Damit dies gelingt, sollte der Befehl folgendermaßen aussehen:

sudo locale-gen [email protected]

Der Befehl:

sudo locale -a

jetzt zeigt:

sr_RS
sr_RS@latin
sr_RS.utf8
sr_RS.utf8@latin

Beachten Sie den Syntaxunterschied zwischen dem Ergebnis locale -aund der Art und Weise, wie locale-genBefehle hinzugefügt werden.

Milan Oparnica
quelle
-2

Ich habe Dinge auf ähnliche Weise getan, um das Gebietsschemasystem breit anzuwenden, ohne neu zu starten oder mich abmelden zu müssen.

Laden Sie zunächst das Sprachpaket herunter:

sudo apt-get install language-pack-ru-base

Überprüfen Sie als nächstes, welche Versionen unterstützt werden:

less /usr/share/i18n/SUPPORTED | grep ru_RU

Wenden Sie nun das Ergebnis an (verwenden Sie fast immer die UTF-8-Version für nahezu jede Sprache!):

echo 'ru_RU.UTF-8 UTF-8' | sudo tee /var/lib/locales/supported.d/local
sudo dpkg-reconfigure locales

Aktualisieren Sie schließlich Ihre Standarddatei, geben Sie sie als Quelle ein, und fertig ist es:

echo 'LANG=ru_RU.UTF-8' | sudo tee /etc/default/locale

Wenden Sie die Änderungen auf das System an:

. /etc/default/locale
LANGUAGE=ru_RU.UTF-8

und überprüfe deine Ergebnisse:

locale
mchid
quelle
Hinweis: Wenn Sie einen normalen Ubuntu- Server verwenden und keinen Ubuntu-Server, werden die Änderungen erst nach der nächsten Anmeldung über die Konsole übertragen (wenn Sie sich entscheiden, einen neuen Tab zu öffnen oder das Terminal zu schließen). Wenn Sie jedoch einen Ubuntu-Server verwenden, müssen Sie sich normalerweise anmelden, um eine neue Konsole zu öffnen, damit dies keine Rolle spielt.
mchid
Diese Frage ist tagget mit Server . Und wer und warum hat das hier abgelehnt, bitte erklären Sie.
Nikos Alexandris