如何将 LC_TIME 变量设置为 en_DK,同时保持 en_US 作为其他变量的系统默认值?

如何将 LC_TIME 变量设置为 en_DK,同时保持 en_US 作为其他变量的系统默认值?

我已将系统默认设置为en_US.UTF-8。但是(除其他荒谬的事情外)这会使星期日(周末)成为日历中的一周的第一天。

我想使用LC_TIMEfrom 变量,en_DK.UTF-8同时保留en_US.UTF-8其他所有变量。

我已经生成了和en_US.UTF-8en_DK.UTF-8并且我曾经能够/etc/default/locale通过添加行来简单地进行编辑LC_TIME="en_DK.UTF-8"

但它不再起作用了,我不知道为什么。那么我该如何让它再次起作用呢?

在有人告诉我破解文本en_US.UTF-8文件(位于/usr/share/i18n/locales)之前,这也行不通,因为更新会定期重置它。我想知道配置它的“正确”方法是什么。

答案1

以下是我要做的事情:

  1. 检查哪些区域已启用:

    grep -v '^#' /etc/locale.gen
    

    你至少应该得到(或类似的东西):

    en_US.UTF-8 UTF-8
    
  2. 如果没有,请启用它,并通过注释掉这些行来禁用不必要的语言环境。

  3. 生成区域设置:

    sudo locale-gen
    
  4. 设置默认语言环境:

    sudo localectl set-locale LANG=en_US.utf8 LC_TIME=en_DK.UTF-8
    
  5. 检查所有重要文件,如:.profile.bashrc其他启动文件,以确保没有任何东西覆盖我们的配置。

它应该可以工作。

答案2

打开~/.profile进行编辑并添加以下行:

export LC_TIME=en_DK.UTF-8

在 Ubuntu GNOME 上您可能还需要运行此命令:

gsettings reset org.gnome.system.locale region

相关内容