locale: Для чего используется переменная LANGUAGE? (и когда?)

locale: Для чего используется переменная LANGUAGE? (и когда?)

Я пытаюсь понять локали, используемые в Linux. На моей системе Ubuntu 11.10 localeвыдает следующее:

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для использования международного формата дня, континентального европейского формата чисел (1.234,56) и т. д.)

Думаю, я понимаю, что LC_*делает семейство: это LANGрезервный вариант, если один из них не установлен, и LC_ALL устанавливает все LC_*переменные в свое значение.

Чего я пока не знаю, так это то, чтоLANGUAGEиспользуется для. Обозначение en_GB:enнапоминает мне Accept-Languageзаголовок HTTP. С настройками выше это будет означать, что используется британский английский, если для него существует перевод. В противном случае будет использоваться любой существующий английский перевод (en_US, en_AU, ..., любой другой).

Прав ли я?

А также какие программы на самом деле подчиняются LANGUAGEнастройке? Насколько она отличается от LC_MESSAGES?

К сожалению, man localeдокументирует только LC_*семейство. А поиск в Интернете по запросу «linux locale LANGUAGE» или аналогичному запросу — это немой пункт. (Конечно, слово «язык» часто используется, когда речь идет о локалях, и оно также может быть показано только в выводе localeбез обсуждения).

Кто-нибудь из вас может мне помочь?

решение1

Он переопределяет локаль, указанную в$LC_ALL в отношении каталогов сообщений gettext. В противном случае он не используется.

Связанный контент