Locale Variablen

Aus Gentoo Linux Wiki

Wechseln zu: Navigation, Suche

Hallo,

wenn du dich auch schon oft gefragt hast, wie dein System es schafft mit dir die richtige Sprache zu sprechen oder wie eigentlich die Deutsche Lokalisierung funktioniert und du endlich eine Antwort willst, dann lies weiter.

In dem Artikel sollen die locale Variablen beschrieben werden. Es soll aufgezeigt werden, welche Variablen es gibt und was diese tun. Diese Variablen kannst du frei setzen (warum auch nicht) und kannst somit bestimmen welche Sprache die Programme sprechen oder in welchem Format bspw. Zeiten ausgegeben werden.

Inhaltsverzeichnis

[Bearbeiten] Die Umgebungsvariablen und deren Einfluss

LC_COLLATE
Ist fuer den Textvergleich verantworlich. Zum Beispiel ob kleine und grosse Buchstaben gleich sortiert werden koennen. Ein Beispiel: Ob "aaBC bbccc AABB" oder "AABB aaBC bbccc" korrekt sortiert ist.
LC_CTYPE
Legt Regeln zur Klassifizierung und Umwandlung von Zeichen fest. Zum Bsp. was genau der Uppercase von "ä" ist oder welche Zeichen alle als Zahlen gelten.
LC_MESSAGES
Definiert die Sprache fuer Menues oder Meldungen. Viele Anwendungen lesen von dieser Variable. Aendert man sie, hat man prinzipiell sein System auf eine andere Sprache umgestellt. Ein ls -l /root fuehrt mit de_DE zu der Meldung: "Keine Berechtigung" waehrend es mit en_US zu "Permission denied" kommt.
LC_MONETARY
Mit dieser Variable kann man das Format der Waehrung einstellen. So wird zB die Zahl 1234.56 mit en_US zu 1,234.56 und mit de_DE zu 1.234,56
LC_NUMERIC
Bestimmt die Dezimaltrennzeichen. Zum Beispiel ob ein Komma oder Punkt zum Einsatz kommt.
LC_TIME
Formatiert die Zeit. Ein Datum formatiert mit de_DE gaebe zB "Freitag, der 28 Dezember 1978" waehrend mit nl_NL "vrijdag 22 december 1978" zu erwarten ist.
LANG
Falls eine der genannten Variablen keinen Wert hat, wird der Wert dieser Variable genommen. Ist beispielsweise LANG="de_DE" und LC_CTYPE="en_US" und LC_TIME ungesetzt (zB durch unset LC_TIME, dann sehen Programme: LC_CTYPE="en_US" LC_TIME="de_DE".
Ist auch LANG nicht gesetzt wird der ungesetzten Variable der Wert POSIX zugewiesen.
LC_ALL
Ist diese Variable gesetzt, werden ALLE Variablen mit diesem Wert belegt.

Laut der gentoo man page werden folgende Variablen nicht verwendet. Bei debian sieht es anders aus.

LC_PAPER
Definiert die Abmessung von Papierformaten
LC_NAME
Legt Formate fuer Namen fest.
LC_ADDRESS
Adress und Ortsagaben
LC_TELEPHONE
Formate fuer Telefonnummern
LC_MEASUREMENT
Legt das Maßsystem fest. Zum Bsp. Metrisch oder andere.
LC_IDENTIFICATION
Metadaten fuer die locale

[Bearbeiten] Ändern der locales

Bei gentoo ergibt es sehr viel Sinn, diese Informationen in eine Datei in /etc/env.d zu speichern. Es wurde sich auf /etc/env.d/02locale geeinigt. Eine solche Datei koennte zum Beispiel wie folgt aussehen

Datei: /etc/env.d/02locale
LC_CTYPE="de_DE.utf8"
LC_NUMERIC="de_DE.utf8"
LC_TIME="de_DE.utf8"
LC_COLLATE="de_DE.utf8"
LC_MONETARY="de_DE.utf8"
LC_MESSAGES="en_US.utf8"

Man sieht, dass man die einzelnen Variablen durchaus unterschiedlich setzen kann. Das ergibt auch Sinn, denn so kann man ein "deutsches" System benutzen ohne die (Fehler-)Meldungen zu veraendern und sich in Newsgroups und im IRC unbeliebt zu machen ;-)

Du kannst natürlich nur locales einstellen, die du auch in deinem System hast. Falls du eine locale definiert hast, die es nicht gibt, wird ein Standardwert angenommen. Dieser ist POSIX oder C (?)

Nun kannst du deinem System mitteilen, dass es die Aenderungen uebernehmen soll

Code: System updaten
env-update && source /etc/profile


Moechtest du nur kurzzeitig deine locales veraendern eignet sich folgende Methode gut. Man kann natuerlich jede andere Variable als LC_MESSAGES verwenden

Code: kurzfristig locale aendern
export  LC_MESSAGES="de_DE.utf8"


[Bearbeiten] Herausfinden von locales

Code: aktuell eingestellten Umgebungsvariablen

locale


Um herauszufinden welche locales du ueberhaupt setzen kannst:

Code: moegliche Umgebungsvariablen

locale -a

Diese locales sind in /usr/share/i18n/locales/* definiert.

[Bearbeiten] Related Links

'Persönliche Werkzeuge