答案1
至少有三个选择:
- 从 C.UTF-8 创建一个新的语言环境,然后更改 first_weekday 值。我们称之为 X.UTF-8。在 Debian 中,如果您对这些目录有权限,则应该这样做:
cp -R /usr/lib/locale/C.UTF-8 /usr/lib/locale/X.UTF-8
cat /usr/share/i18n/locales/C | sed -E 's/first_weekday[[:blank:]]+1/first_weekday 2/g' | localedef --add-to-archive /usr/lib/locale/X.UTF-8 -i -
LC_TIME=X.UTF-8 locale first_weekday
因此,您复制现有的定义,只是重新创建文件夹结构的一种懒惰方法,然后从原始的 C.UTF-8 (名称只是“C”)更改引用第一个工作日的行(它可能更短) ,带有位置参数,但我发现这样更具可读性)。
- 在现有的 C.UTF-8 语言环境中修改该值:
cat /usr/share/i18n/locales/C | sed -E 's/first_weekday[[:blank:]]+1/first_weekday 2/g' | localedef --add-to-archive /usr/lib/locale/C.UTF-8 -i -
LC_TIME=C.UTF-8 locale first_weekday
- 好吧,如果您对 en_GB 和 C.UTF-8 之间的其他差异感到满意,那么这些步骤应该可以进行更改:
根据您的系统,并非所有区域设置都立即可用。因此,首先,确保您有 en_GB.UTF-8 可用(否则您将收到错误“无法将 LC_ALL 设置为默认区域设置”):
locale -a
如果没有,请添加它。由于您的系统上没有信息,我无法告诉您如何操作。在 Debian/Ubuntu 中,您可以执行以下操作dpkg-reconfigure locales
(或编辑/etc/locale.gen
以添加区域设置,或者最有可能的是,取消注释,然后运行locale-gen
)。
一旦 en_GB.UTF-8 出现在可用区域设置列表中,您就可以设置:
LC_TIME=en_GB.UTF-8
LC_TIME=en_GB.UTF-8 locale first_weekday
应该返回 2
这Debian 文档有关如何使更改在不同环境下永久生效的更多信息。