我正在尝试了解 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 消息目录否则,不被使用。