Lokalisierung
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 | 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