Answers:
我发现en_SE完全符合ISO:YYYY-MM-DD HH:MM(24h)
而对于我来说,en_DK使用的DD / MM / YYYY HH.MM(24h)在日期顺序(它只是西欧顺序)和时间分隔符中都不符合ISO。
en_CA同样使用YYYY-MM-DD hh:MM(12h),但是使用AM / PM而不是24h。
在Arch Linux上运行的KDE Plasma 5.11.3上进行了测试。
/usr/share/i18n/locales/en_SE
,替换"en_SE:2000"
为"i18n:2012"
,然后运行sudo locale-gen
en_SE.UTF-8 UTF-8
到/etc/locale.gen
en_DK是使用ISO 8601时间戳记的一种语言环境。
我猜想KDE 5返回到POSIX 语言环境机制是为了保持一致性。KDE 4很奇怪–几乎所有其他程序都使用POSIX格式的语言环境设置以及预定义的格式。(这意味着非KDE程序也可以理解这些设置。)
如果KDE未列出en_DK,则grep输出,locale -a
以检查该项en_DK.utf8
是否可用。如果不是,在Debian / Ubuntu上,您应该可以通过添加它dpkg-reconfigure locales
。在其他发行版上,如果存在/etc/locale.gen
,请向其添加(或取消注释)以下行:
en_DK.UTF-8 UTF-8
en_DK ISO-8859-1
运行locale-gen
进行重建。
如果KDE 尽管显示了它仍然没有列出en_DK locale -a
,那么您仍然应该能够全局设置它。上面的格式直接对应于POSIX语言环境环境变量:
LANG
LC_NUMERIC
LC_TIME
LC_MONETARY
LC_MEASUREMENT
LC_COLLATE
这些在系统范围内的位置有所不同。通常,您可以通过localectl
以下方式设置它们:
localectl set-locale LANG="en_US.UTF-8" LC_TIME="en_DK.UTF-8"
有时候,你必须编辑/etc/locale.conf
,/etc/default/locale
或类似的。
每用户,同样可以进行设置~/.pam_environment
,~/.profile
,~/.bash_profile
,或类似的。
ksh_DE
中不存在的元素(例如)来进行验证/usr/share/i18n/locales
。A find / -iname '*ksh_de*'
甚至不返回任何结果。错误的KDE。坏。坐!
vi /usr/share/plasma/plasmoids/org.kde.plasma.digitalclock/contents/ui/DigitalClock.qml
- dateLabel.text = Qt.formatDate(main.currentTime, main.dateFormat);
+ dateLabel.text = Qt.formatDate(main.currentTime, "dd-MMM-yyyy");
取自https://www.ulduzsoft.com/2017/08/custom-date-configuration-in-kde-plasma-digital-clocks/
我发现选择Canada - Canadian English (en_CA)
使短格式为ISO: