我运行 Linux Mint 19.2 和 Thunderbird 60.8.0(2019 年 7 月)。我正在尝试更改 UI 以以称为 ISO 8601 的合理日期格式显示日期,为此我尝试LC_TIME=en_DK.UTF-8
在几个地方按照建议进行设置。事实上,这个 SO 答案指向一个设置面板,显然表明我这样做是正确的:
但是,UI 仍然以不合理的日期格式显示日期:
其他一些地方提到了“超级日期格式”Thunderbird 插件,但它不适用于最新版本的 Thunderbird。
通过查看 的输出locale -k LC_TIME
,Thunderbird 似乎完全忽略了它:
juanlu@voyager:~$ date +%x
2019-09-10
juanlu@voyager:~$ locale -k LC_TIME
abday="Sun;Mon;Tue;Wed;Thu;Fri;Sat"
day="Sunday;Monday;Tuesday;Wednesday;Thursday;Friday;Saturday"
abmon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
mon="January;February;March;April;May;June;July;August;September;October;November;December"
am_pm=";"
d_t_fmt="%Y-%m-%dT%T %Z"
d_fmt="%Y-%m-%d"
t_fmt="%T"
t_fmt_ampm=""
era=
era_year=""
era_d_fmt=""
alt_digits=
era_d_t_fmt=""
era_t_fmt=""
time-era-num-entries=0
time-era-entries="S"
week-ndays=7
week-1stday=19971130
week-1stweek=4
first_weekday=2
first_workday=2
cal_direction=1
timezone=""
date_fmt="%a %b %e %H:%M:%S %Z %Y"
time-codeset="UTF-8"
alt_mon="January;February;March;April;May;June;July;August;September;October;November;December"
ab_alt_mon="Jan;Feb;Mar;Apr;May;Jun;Jul;Aug;Sep;Oct;Nov;Dec"
juanlu@voyager:~$ thunderbird # Nothing strange here
[calBackendLoader] Using Thunderbird's builtin libical backend
(thunderbird:3166): Gtk-WARNING **: 11:39:42.416: Theme parsing error: <data>:1:34: Expected ')' in color definition
(thunderbird:3166): Gtk-WARNING **: 11:39:42.416: Theme parsing error: <data>:1:78: Expected ')' in color definition
1568108384098 addons.xpi WARN Can't get modified time of /usr/lib/thunderbird/features/[email protected]
*** UTM:SVC TimerManager:registerTimer called after profile-before-change notification. Ignoring timer registration for id: telemetry_modules_ping
我究竟做错了什么?
为了补充解释 Thunderbird 如何使用 CLDR 的答案,最近发生了一些变化。Thunderbird¹ 现在本机提供了一组首选项,可以使用这些首选项覆盖日期格式模式:
intl.date_time.pattern_override.time_
(short
|medium
|long
|full
)intl.date_time.pattern_override.date_
(short
|medium
|long
|full
)使用这些新的首选项
打开 Thunderbird 首选项
一直向下滚动并单击“配置编辑器...”按钮。
intl.date_time.pattern_override.date_full
在这里,您可以在搜索栏中输入上述偏好名称之一(例如)。然后,您可以修改首选项的值(如果它已经存在),或者通过使用“+”按钮选择“字符串”将所需的值添加为首选项。输入所需的图案(例如
yyyy-MM-dd HH:mm:ss Z (EEEE)
)并使用复选标记按钮确认。对您希望更改的所有首选项重复步骤 3 和 4。之后您可能需要重新启动 Thunderbird。
有关日期模式的更多详细信息和示例,请参阅https://bugzilla.mozilla.org/show_bug.cgi?id=1426907#c182(或已归档)。
要回答“为什么 Thunderbird 的输出与我的语言环境不匹配?”的问题,答案是 Thunderbird 显然使用单独的库 ( CLDR ) 来格式化日期和时间,而不是 Linux 发行版提供的内置语言环境数据。
有一个试图解决相同问题的人在 Thunderbird 的错误跟踪器上报告了错误。
您可以简单地使用其他语言环境而不是
en_DK.UTF-8
. 只需安装sv_SE.UTF-8
. 在 Debian 上,我使用sudo dpkg-reconfigure locales
并选择瑞典语语言环境。然后像往常一样启动雷鸟:这适用于一些较旧的雷鸟版本,但绝对适用于我刚刚使用的 78.3.1 版本。
为什么这不起作用的答案仍然是一个谜。
但是,我在另一个扩展中找到了一个成功的解决方法:Enhanced Date Formatter
❤️
我在 Linux Mint 论坛上问过这个问题,却没有注意到5 天前有人问过同样的问题,这就是我找到答案的地方。