Thunderbird 日期格式暂无解决方案

Thunderbird 日期格式暂无解决方案

我运行的是 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||| )mediumlongfull
  • intl.date_time.pattern_override.date_short||| )mediumlongfull

使用这些新的偏好设置

  1. 打开 Thunderbird 偏好设置
    汉堡菜单、偏好设置的屏幕截图

  2. 一直向下滚动并单击“配置编辑器...”按钮。
    首选项页面底部的配置编辑器按钮的屏幕截图

  3. 您可以在此处将上述首选项名称之一(例如intl.date_time.pattern_override.date_full)输入到搜索栏中。然后,您可以修改首选项的值(如果该值已存在),或者通过使用“+”按钮选择“字符串”将所需值添加为首选项。
    配置编辑器的屏幕截图,添加了新的字符串首选项

  4. 输入所需的模式(例如yyyy-MM-dd HH:mm:ss Z (EEEE))并使用复选标记按钮确认。
    配置编辑器的屏幕截图,输入值并保存新的字符串首选项

对所有要更改的首选项重复步骤 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 错误跟踪器上的错误报告由正在尝试解决相同问题的人提出。

相关内容