Ich versuche, die in Linux verwendeten Gebietsschemas zu verstehen. Auf meinem Ubuntu 11.10-System locale
wird 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_dk
steht 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 LANG
den Fallback, wenn eine davon nicht festgelegt ist, und dass LC_ALL alle LC_*
Variablen auf ihren Wert festlegt.
Was ich noch nicht weiß, ist wasLANGUAGE
wird verwendet. Die Notation en_GB:en
erinnert mich an den Accept-Language
HTTP-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 LANGUAGE
Einstellung tatsächlich? Inwieweit unterscheidet sie sich von LC_MESSAGES
?
Leider man locale
werden 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, locale
ohne 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.