Mit "locale" bezeichnet man die Definition des Teils der Benutzerumgebung, der abhängig von Sprache und kulturellen Gepflogenheiten ist.
Ein Programm wird internationalisiert (internationalization kurz i18n) um während der Ausführung lokalisiert (localization kurz l10n) werden zu können.
Für die Lokalisierung, d.h. die Anpassung an die tatsächliche Umgebung des Benutzers, gibt es eine Reihe von UmgebungsVariablen.
Auf einem GNU/Linux-System kann man sich deren Inhalt mit dem Kommando locale anzeigen lassen.
Die wichtigste Variable ist LANG, sie setzt die Sprache des Systems fest (z.B. de_DE@euro).
Daneben gibt es eine Reihe von Kategorien, für die separate Einstellungen festgelegt werden können.
Variable |
Bedeutung |
LC_CTYPE |
Zeichensatz (wie komme ich zu welchem Buchstaben) |
LC_COLLATE |
Sortierfolge |
LC_TIME |
Datums- und Zeitformate |
LC_NUMERIC |
Zahlenformate, außer für Währungen |
LC_MONETARY |
Währungsformate, einschließlich Währungszeichen |
LC_MESSAGES |
Sprache von Programmmeldungen |
LC_PAPER |
Papiergröße |
LC_NAME |
Namensformate |
LC_ADDRESS |
Format für Adressen und Ortsangaben |
LC_TELEPHONE |
Format von Telefonnummern |
LC_MEASUREMENT |
Maßeinheiten (metrisch / englisch) |
LC_IDENTIFICATION |
Metadaten über die Locale-Information |
Alles ab LC_PAPER ist allerdings nicht dokumentiert (und auch nicht im POSIX-Standard).
Die Variable LC_ALL hat Vorrang vor allen anderen LC_*-Variablen (und LANG).
Wenn diese Variablen nicht gesetzt sind, wird der Wert von LANG benutzt.
Über die LANGUAGE-Variable kann man eine Liste mit Sprachen (durch Doppelpunkt getrennt) angeben, diese Variable hat Vorrang vor allen anderen.
Funktioniert bei mir scheinbar nicht -- RonnyBuchmann 2004-02-03 13:07:04
Weitere Informationen stehen im glibc-Manual (info libc) und in der OpenI18N globalization specification.
Die Standard-Locale der C-Bibliothek (englisch) hat das Kürzel C (Großbuchstabe) und ist auch Standardwert, falls keine Variable gesetzt ist.
Für die Sprache steht das entsprechende ISO-Kürzel in Kleinbuchstaben. Alle weiteren Angaben sind optional, die Reihenfolge ist aber vorgegeben.
- ein Land (ISO-Kürzel in Großbuchstaben) durch Unterstrich getrennt
- ein Punkt und ein Zeichensatz
ein @ und eine "Unterart".
Beispiele:
de de_DE de_DE.UTF-8 de_DE@euro de_DE.UTF-8@euro de_AT.ISO-8859-1
Programme die nicht gettext benutzen, reagieren u.U. anders auf diese Variablen. LANG zur Selektion der Sprache wird aber meist unterstützt (man ist so ein Beispiel).
Siehe auch EuroSupport, UmgebungsVariable
Anleitung für Debian siehe Debian/locales.