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.

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.

  1. ein Land (ISO-Kürzel in Großbuchstaben) durch Unterstrich getrennt
  2. ein Punkt und ein Zeichensatz
  3. 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.

locale (zuletzt geändert am 2007-12-23 22:47:50 durch localhost)