Lokalisierung

Aus mxlinuxusers.de

Mit der Lokalisierung (Spracheinstellung) werden Einstellungen und Anzeigen an die lokalen Gegebenheiten angepasst (z.B. Datums- und Zeitanzeige, Zeichensatz, Sortierreihenfolge usw.). Dabei handelt es sich um verschiedene Umgebungsvariable, deren Zustand mit diesem Kommando angezeigt werden kann:

locale

Damit erhält man die Ausgabe folgender Umgebungsvariablen:

LANG=de_DE.UTF8
LANGUAGE=
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="de_DE.UTF8"
LC_PAPER="de_DE.UTF8"
LC_NAME="de_DE.UTF8"
LC_ADDRESS="de_DE.UTF8"
LC_TELEPHONE="de_DE.UTF8"
LC_MEASUREMENT="de_DE.UTF8"
LC_IDENTIFICATION="de_DE.UTF8"
LC_ALL=

Umgebungsvariablen für locale[Bearbeiten | Quelltext bearbeiten]

Umgebungsvariable für Locale
Umgebungsvariable Bedeutung
LANG setzen aller locale-Einstellungen auf einmal (Default-Wert für alle nicht gesetzten Variablen), die übrigen LC_* Umgebungsvariablen können aber noch mit anderen Werten überschrieben werden
LANGUAGE "Ausweichwert" (Fallback). Besteht aus einer Liste mit Doppelpunkt getrennten Werten, z.B. en_AU:en_GB:en. Diese werden der Reihe nach angewandt, wenn im Programm ein angegebener Wert nicht beücksichtigt werden kann, z.B. LC_MESSAGES=en_AU, aber "australisches englisch" ist nicht vorhanden. In diesem Fall wird dann versucht, en_GB zu benutzen.
LC_Type Zeichensatz
LC_NUMERIC Zahlendarstellung (z.B. welches Tausendertrennzeichen, Dezimaltrennen entweder Punkt oder Komma)
LC_TIME Datums- und Zeitanzeigeformat
LC_COLLATE Sortierreihenfolge
LC_MONETARY Anzeigeformat der Währung
LC_MESSAGES Sprache, in der Programme nach Möglichkeit ihre Meldungen anzeigen sollen. Setzt vorraus, daß das Programm intern gettext benutzt
LC_PAPER Standardpapierformat
LC_NAME Darstellung von Personen-Namen
LC_ADDRESS Darstellung von Adressen
LC_TELEPHONE Darstellung von Telefonnummern
LC_MEASUREMENT Darstellung von Maßeinheiten (metrisches oder engl. System)
LC_IDENTIFICATION enthält Metadaten über eine Lokalisierung, z.B. können für ein veröffentlichtes Dokument, der Titel, Verfasser/Organisation, Adresse und ähnliche Kontaktdaten festgelegt werden
LC_ALL überschreibt wie LANG alle locale Daten, diese können aber auch nicht mehr verändert werden, solange LC_ALL auf einen Wert gesetzt ist. Deshalb sollte LC_ALL auch nur temporär, z.B. zu Testzwecken in Skripten, gesetzt werden

Allerdings sind die Umgebungsvariablen LC_PAPER, LC_NAME, LC_ADDRESS, LC_TELEPHONE, LC_MEASUREMENT und LC_IDENTIFICATION Zusätze, die nicht im POSIX-Standard enthalten sind. Man kann also nicht erwarten, daß sie in jedem Programm ausgewertet werden. In sehr abgeschwächter Form gilt dies aber auch für die restlichen Umgebungsvariablen. Wenn z.B. in einem Programm noch keine Lokalisierung "eingebaut" ist, kann man verständlicherweise nicht erwarten, daß das Setzen von LC_MESSAGES="de_DE.UTF8", also auf deutsch, auch deutsche Fehlermeldungen erzeugt.

Werte für locale[Bearbeiten | Quelltext bearbeiten]

Die Werte, die für diese Umgebungsvariale gesetzt werden können, folgen diesem Schema

ss_LL.ZZ
  • ss=Abkürzung der Sprache (zwei kleine Buchstaben) nach ISO-639. Ein Sonderfall ist die Angabe von nur C (LANG=C), mit dem alle Posix-konfirmen Programme englisch benutzen sollten und die Zeichenkodierung (US-ASCII, ISO-8859-1 oder UTF-8) vom Programm bzw. System abhängt.
  • LL=Ländercode nach ISO-3166 ALPHA-2 (zwei grosse Buchstaben)
  • ZZ=Zeichenkodierung (character encoding), meist UTF-8, aber auch ältere Werte wie z.B. ISO-8859-15 wären möglich. Die Zeichenkodierung kann auch ganz fehlen, oder durch das Zeichen @ gefolgt von einer Zeichenkombination erweitert werden. Meist handelt es sich dabei um das zu verwendende Währungssymbol.

Beispiel:

de_DE.iso885915@euro

benutzt die Zeichenkodierung iso885915 und als Währungssymbol den Euro, währenddessen

de_DE.iso885915

ebenfalls die Zeichenkodierung iso885915 benutzt, aber kein Euro-Zeichen anzeigen kann.

In der Datei /usr/share/i18n/SUPPORTED kann man bei Bedarf alle im System möglichen Varianten nachsehen.

Systemlokalisierung[Bearbeiten | Quelltext bearbeiten]

Eine einfache Möglichkeit der Lokalisierung mit einer graphischen Oberfläche ist die Benutzung von "Systemlokalisierung" aus den MX-Werkzeugen.

Beim Aufruf öffnet sich ein Fenster mit der Liste aller vorhandenen Lokalisierungen. Daraus wählt man sich die für seine Lokalisierung passenden aus (z.B. de_DE@UTF8 für deutsche User, Österreicher bevorzugen de_AT@UTF8 usw.) und wählt die nicht benötigten ab. Eine UTF8-Variante sollte auf jeden Fall mit dabei sein, wer ältere Sachen übernehmen muss oder möchte, kann ja auch noch etwas mit ISO8859 übernehmen, z.B. de_DE@euro ISO-8859-15. Wenn solch eine ISO-8859 Variante benötigt wird, empfiehlt es sich auf jeden Fall eine mit Euro-Darstellung zu nehmen.

Ist diese Auswahl erledigt, gelangt man mit dem Klick auf "weiter" zur Festlegung der Standard-Standorteinstellung für die Systemumgebung. Wenn keine gewichtigen Gründe dagegen sprechen ist hier "heimische" Lokalisierung (z.B. de_DE@UTF8) eine gute Wahl. Der abschliessende Klick auf "weiter" veranlasst den PC dann mehr oder weniger schnell die ausgewählten locales zu generieren. Eine Sicherheitsabfrage erfolgt nicht, sondern man hat gleich das fertige Resultat vor Augen, das z.B. so aussehen könnte:

Generating locales (this might take a while)...
de_DE.ISO-8859-15@euro... done - 
de_DE.UTF-8... done - German locale for Germany
en_US.ISO-8859-1... done - English locale for the USA
en_US.UTF-8... done - English locale for the USA
pl_PL.UTF-8... done - Polish locale for Poland
Generation complete.
--
Systemlokalisierung:
de_DE.UTF-8 - German locale for Germany