我希望系统中的所有应用程序都使用英语,但我希望所有格式(日期、货币、数字)都本地化为德国格式。我将 Gnome Shell 设置为正确的设置,但偶尔会发现程序仍然以德语显示。
在调查可能的原因时,我注意到 locale 命令告诉我 LANGUAGE 设置为 en,但另一个名为 LANG 的环境变量设置为 de_DE.UTF-8。我试图找出这两个变量的语义到底是什么,但手册页只讨论了许多 LC_ 变量。当我手动将 LANG 设置为 en_US.UTF-8 时,至少我测试的程序会更改为以英语显示所有内容。
LANG 和 LANGUAGE 有什么区别?Gnome 没有将两者都设置为英语,这是个错误吗?Gnome 是否负责设置它?解决我的问题的最佳方法是什么?有没有办法强制 Gnome 将两者都设置为英语?
答案1
有许多环境变量可用于微调区域设置:LANG、LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES、LC_MONETARY、LC_NUMERIC 和 LC_TIME(LANGUAGE 应该用于什么用途,我不知道)。如果没有设置 LC_ 变量,则使用 LANG 作为后备,并使用 LC_ALL 覆盖所有变量。由于 LC_MESSAGES 用于文本消息,因此您需要将其设置为 en_US.UTF-8,将 LANG 设置为 de_DE.UTF-8,其余的(尤其是 LC_ALL)保持不变。