Gebietsschema: Wofür wird die LANGUAGE-Variable verwendet? (Und wann?)

Gebietsschema: Wofür wird die LANGUAGE-Variable verwendet? (Und wann?)

Ich versuche, die in Linux verwendeten Gebietsschemas zu verstehen. Auf meinem Ubuntu 11.10-System localewird Folgendes ausgegeben:

LANG=en_DK.UTF-8
LANGUAGE=en_GB:en
LC_CTYPE=en_GB.UTF-8
LC_NUMERIC="en_DK.UTF-8"
LC_TIME="en_DK.UTF-8"
LC_COLLATE=en_GB.UTF-8
LC_MONETARY="en_DK.UTF-8"
LC_MESSAGES=en_GB.UTF-8
LC_PAPER="en_DK.UTF-8"
LC_NAME="en_DK.UTF-8"
LC_ADDRESS="en_DK.UTF-8"
LC_TELEPHONE="en_DK.UTF-8"
LC_MEASUREMENT="en_DK.UTF-8"
LC_IDENTIFICATION="en_DK.UTF-8"
LC_ALL=

( en_dksteht für die Verwendung des internationalen Tagesformats, der kontinentaleuropäischen Zahlenformatierung (1.234,56) usw.)

Ich glaube, ich verstehe, was die LC_*Familie macht, nämlich LANGden Fallback, wenn eine davon nicht festgelegt ist, und dass LC_ALL alle LC_*Variablen auf ihren Wert festlegt.

Was ich noch nicht weiß, ist wasLANGUAGEwird verwendet. Die Notation en_GB:enerinnert mich an den Accept-LanguageHTTP-Header. Mit den obigen Einstellungen würde es bedeuten, dass britisches Englisch verwendet wird, wenn eine Übersetzung dafür existiert. Andernfalls würde jede vorhandene englische Übersetzung (en_US, en_AU, ..., was auch immer) verwendet.

Habe ich soweit recht?

Und welche Programme befolgen diese LANGUAGEEinstellung tatsächlich? Inwieweit unterscheidet sie sich von LC_MESSAGES?

Leider man localewerden nur die LC_*Familiendokumente dokumentiert. Und die Suche im Internet nach „Linux-Gebietsschema SPRACHE“ oder Ähnlichem ist ein irrelevanter Punkt. (Natürlich ist Sprache ein Wort, das häufig verwendet wird, wenn über Gebietsschemas gesprochen wird, und es kann auch nur in der Ausgabe angezeigt werden, localeohne dass es besprochen wird).

Kann mir da jemand von euch weiterhelfen?

Antwort1

Es überschreibt das in$LC_ALL in Bezug auf GetText-Nachrichtenkataloge. Andernfalls wird es nicht verwendet.

verwandte Informationen