初步备注:这个问题是不是有关设置通过更改语言环境LC_ALL
,LC_TIME
,LANG
等等,这是相当要改变一个区域的定义,在例如/usr/share/i18n/locales/de_DE
,或者说,以获取有关比改变这些系统设置更合适的选择建议。
的目的是获得ISO时间表示 %Y-%m-%d
,并%H:%M:%S
没有不良副作用。
我在网上发现的建议都不合适(例如,将语言环境设置为“丹麦语”将不会保留该母语的工作日名称拼写)。
现在,我目前看到要获得所需行为的唯一选择是更改中的本地语言环境的定义/usr/share/i18n/locales/de_DE
。这不是一个完美的解决方案,因为随着系统更新,这些更改的文件可能会再次被覆盖。
我的问题是:
- 是否有比更改特定系统区域设置文件更好的与区域设置相关的选项来获得所需的功能?
- 更改特定的语言环境定义文件时,会遇到任何问题吗?(以及如何防止在系统更新的情况下覆盖此文件?)
- 定义现有语言环境文件的新的特定变体并在
LC_*
设置中使用它会更好吗?(以及如何使系统正确知道新文件/定义?) - 还有其他建议吗?
LC_TIME
(在/etc/environment
或/etc/default/locale
或/etc/locale.conf
根据发行)修改后的语言环境(我叫雷isodate.UTF-8
)和相应的格式将得到只有时间/日期:定制区域采摘。这就是我自定义我的其他en_US
设置以显示ISO日期/时间的方式。
/var/lib/locales/supported.d/local
(或其中的其他文件之一),并dpkg-reconfigure locales
以超级用户身份运行以编译语言环境定义。是的,设置LC_TIME
为指向自定义的语言环境似乎是到目前为止我所看到的最少干扰的方法。这就是为什么您的系统具有全局设置的地方,LC_TIME
可以将其设置为不同于“总体语言环境”。
copy
on部分方法,还是保留其他部分冗余(以便可以diff
处理原始文件)。
en_XX
-我不知道这里的限制,反复试验可能就足够了),对它进行任何更改,并将其用作语言环境。你必须重新生成列表或任何后来,等等