在 18.04 中更改日期语言?

在 18.04 中更改日期语言?

刚刚更新到 18.04,有一件事让我很烦,Gnome 给出的日期是用我的母语写的,而我更喜欢用英语给出日期。因此,与其用荷兰语显示“za 19:24”,我宁愿用英语显示“sat 19:24”。我找到了更改格式的设置,但我想保留荷兰语格式的其他选项(即数字的显示方式)。是否可以更改荷兰语格式,基本上以英语显示日期/星期,或者制作我自己的自定义格式?

提前致谢!

答案1

数字的语言环境称为:

LC_NUMERIC
How you format your numbers. For example, 
in many countries a period (.) is used as a 
decimal separator, while others use a comma (,).

日期/时间是:

LC_TIME
How your time and date are formatted. 
Use for example "en_DK.UTF-8" to get a 24-hour-clock 
in some programs.

将 LC_TIME 更改为 US,您将看到美式日期,但由于 LC_NUMERIC 未改变,数字保持原样。


例子:

rinzwind@schijfwereld:~$ date
za  4 aug 2018 21:20:11 CEST
rinzwind@schijfwereld:~$ 

rinzwind@schijfwereld:~$ LC_TIME=en_US.UTF-8
rinzwind@schijfwereld:~$ 
rinzwind@schijfwereld:~$ locale 
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
rinzwind@schijfwereld:~$ date
Sat Aug  4 21:16:53 CEST 2018

如果你喜欢,请更改:

/etc/default/locale

使其永久存在。

答案2

您应该知道有两个区域设置。一个在用户登录前使用,另一个在用户登录后使用。此外,简单地编辑 /etc/default/locale 可能不起作用因为它将被 GUI 上设置的“区域格式”覆盖。

使用locale它将告知您当前正在使用的区域设置首选项。使用localectl status将让您知道用户登录前使用的首选项,例如在登录屏幕上。

如果您想要编辑用户的语言环境,您首先要知道哪些语言环境可用。为此,请输入locale -a。在检查您选择的语言环境是否已安装后(您可能想要检查是否en_US.utf8可用)。

现在,您要编辑的文件是~/.pam_environment。该文件将确定登录后使用的区域设置。您可以使用您选择的编辑器打开它(无需 sudo)。对于您来说,您只想编辑时间设置,因此请转到该行并将其替换为LC_TIME=en_US.UTF-8,其他保留您的国家/地区设置。

如果您还希望该更改在登录屏幕时生效,则应使用sudo update-locale LC_TIME=en_US.UTF-8

请注意,只有在全新登录或系统重启后才会发生更改。

相关的:https://help.ubuntu.com/community/Locale

答案3

看来 Gnome 不支持此功能 - 至少不支持通过其标准设置对话框。但是,“经典”方法(更改区域设置以便libc返回正确的国际化字符串)应该可行。

有一种温和的方法,但我不确定 Gnome 是否会接受这种方法,就是将环境变量设置LC_TIMEen_GB.UTF-8或。en_US.UTF-8~/.profile

如果这不起作用,并且您不介意将此设置设为系统默认设置(例如,日志文件中的日期也将以英文格式显示),请在 中设置此值/etc/default/locale。它应该已经有一个LC_TIME条目。确保没有LC_ALL设置覆盖它。

如果这也不起作用,那么实现目标的一个根本方法是修改您的语言环境定义(我假设您就是这种nl_NL情况)。为此,请编辑文件/usr/share/i18n/nl_NL并修改部分中的字符串LC_TIME。完成后,运行sudo locale-gen。注意:每次更新软件包后,您都需要重做此操作locales

在所有情况下,都需要重新启动才能使更改生效。

一个更简洁但相当复杂的替代方法是创建你自己的用户定义语言环境,比如说nl_NL@withenglishdates/etc/locale.gen如果man localedef你想这样做,请参阅。

答案4

我使用 livecd 启动,一切正常。在那里进行测试。如果您保持原样,我建议您进行全新安装。如果您从 16.04 升级到 18.04,可能存在一些 Unity 残留,并且会妨碍您。

相关内容