我运行的是 Linux Mint 19.2 和 Thunderbird 60.8.0(2019 年 7 月)。我尝试更改 UI 以显示日期合理的日期格式称为 ISO 8601,为此我尝试LC_TIME=en_DK.UTF-8
按照几个地方的建议进行设置。事实上,这个答案指向设置面板,显然表明我做得正确:
然而,用户界面仍然以不合理日期格式:
其他一些地方提到了“超级日期格式” 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
我究竟做错了什么?
答案1
编辑:现在官方文档(已归档) 对此表示感谢。感谢@zx485 指出这一点
为了补充解释 Thunderbird 如何使用 CLDR 的答案,最近发生了一些变化。Thunderbird¹ 现在原生提供了一组首选项,可以使用它们覆盖日期格式模式:
intl.date_time.pattern_override.time_
(short
||| )medium
long
full
intl.date_time.pattern_override.date_
(short
||| )medium
long
full
使用这些新的偏好设置
您可以在此处将上述首选项名称之一(例如
intl.date_time.pattern_override.date_full
)输入到搜索栏中。然后,您可以修改首选项的值(如果该值已存在),或者通过使用“+”按钮选择“字符串”将所需值添加为首选项。
对所有要更改的首选项重复步骤 3 和 4。之后您可能需要重新启动 Thunderbird。
看https://bugzilla.mozilla.org/show_bug.cgi?id=1426907#c182(或者已归档) 了解更多详细信息和日期模式示例。
答案2
您可以使用 以外的其他语言环境en_DK.UTF-8
。只需安装 的语言环境sv_SE.UTF-8
。在 Debian 上,我使用sudo dpkg-reconfigure locales
并选择瑞典语言环境。然后照常启动 thunderbird:
~$ LC_TIME=sv_SE.UTF-8 thunderbird
这适用于一些较旧的 thunderbird 版本,但绝对适用于我正在使用的 78.3.1 版本。
答案3
答案为什么这不管用仍是一个谜。
不过,我在另一个扩展中找到了成功的解决方法:增强的日期格式化程序
❤️
我问过这个在 Linux Mint 论坛上却没有注意到5 天前有人问过同样的问题,我就在这里找到了答案。
答案4
要回答“为什么 Thunderbird 的输出与我的语言环境不匹配?”这个问题,答案是 Thunderbird 显然使用了一个单独的库(慢性肾衰竭) 来格式化日期和时间,而不是使用 Linux 发行版提供的内置区域设置数据。
有一个Thunderbird 错误跟踪器上的错误报告由正在尝试解决相同问题的人提出。