4

Я пытаюсь понять локали, используемые в 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 напоминает мне HTTP-заголовок Accept-Language . При указанных выше настройках это означает, что используется британский английский, если для него существует перевод. В противном случае будет использован любой существующий перевод на английский язык (en_US, en_AU, ..., что угодно).

Я прав до сих пор?

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

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

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

1 ответ1

2

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .