我习惯使用诸如LANG
和 之类的环境变量LC_*
,但最近我注意到LANGUAGE
我的 Ubuntu 桌面上有一个变量。它的值是pt_BR:pt:en
,我想知道 到底是什么意思。LANG
首先, 是pt_BR.UTF-8
,因此如果第一个字段应该是默认的语言环境/字符集,那么它与 设置的 不一致LANG
。
那么, 的具体含义和格式是什么LANGUAGE
?
答案1
LANGUAGE 确定使用 gettext 进行用户界面消息本地化的优先顺序。http://www.gnu.org/software/gettext/manual/gettext.html#The-LANGUAGE-variable
答案2
LANGUAGE
其用途与 类似LANG
,LC_MESSAGES
它控制用户界面以何种语言显示。
它们之间的主要区别在于,LANG
和LC_MESSAGES
只能采用单个区域设置说明符,而LANGUAGE
可以采用以冒号分隔的区域设置说明符列表。
例如,这将允许用户让程序以加泰罗尼亚语显示(如果可用),如果不可用则返回西班牙语,最后返回未翻译的英语,而这在其他变量中是无法实现的。在这种情况下将是LANGUAGE="ca:es:en"
(ISO 639-1代码)。
其他环境变量的设置是为了不使用的应用程序的利益获取文本用于仅支持旧环境变量的翻译。