我在我的机器上全新安装了 Debian 9 (stretch),并且我已将语言环境设置dpkg-reconfigure
为非英语。由于我使用的是 KDE,因此我还将其设置为系统设置中首选语言列表中的唯一语言,并kde-l10n
通过apt-get
.
现在与 KDE 相关的程序已使用正确的语言,但所有其他程序(例如 Firefox、Thunderbird、Kaffeine、Telgram)仍以英语显示相关界面文本。特别是在 Firefox 中,我还注意到显示的日期使用 UTC 时区而不是 CET(这对于我的语言环境来说是正确的),并且与我的语言环境无关的法语词典是为某些语言预安装的。原因。
env | grep LANG
显示LANG
和LANGUAGE
env 变量已正确设置为所需的语言,而env | grep LC
没有返回任何内容(从我读到的内容来看,LANG
这只是一个后备变量,以防找不到LC_*
s )
为什么程序不尊重我的区域设置以及如何解决此问题?
答案1
编写程序时必须尊重语言环境。例如,如果我写
#!/bin/sh
echo hello
我用法语语言环境运行它,我这样做不是期望它输出bonjour
时区与区域设置无关,世界各地都说英语,但并非世界各地都有与伦敦相同的时间。设置TZ
变量来指定时区,例如TZ=PST8PDT
或TZ=America/LosAngeles
,对于单个程序,或者使/etc/localtime
具有正确的信息来全局设置它。