Moment.js - 时区语言(本地化)

Los*_*cho 6 timezone localization momentjs

我使用"Moment.js",并在支持多种语言(英语,德语,法语等)的Web应用程序中添加"moment-timezone".

因此,为了改善用户体验,我想知道是否已存在可以将时区名称从英语更改为所需语言的本地化文件(如Moment.js的文件)​​,还是我需要自己编写?

例如:字符串"Europe/Vienna"将在这种情况下更改为"Europe/Wien"

Mat*_*int 10

一些东西:

  • 您正在寻找的内容在时刻或片刻时区不存在.
  • 你实际上不应该改为"Europe/Wien".时区字符串是IANA时区标识符,始终为英语.
  • 通常,IANA时区标识符不是为人类可读性而设计的.翻译成人类可读的名称,如英语中的"中欧时间",或德语中的"MitteleuropäischeZeit",是CLDR项目的责任.
  • 您可以使用Globalize库来访问JavaScript中的CLDR数据,但是AFAIK目前不支持时区名称. 我在这里要求这个.

  • 即使将IANA时区ID充分转换为本地化时区名称,也可能难以使用此数据来构建时区选取器控件.我用我的TimeZoneNames库(这里是 demo )在.NET中完成了这个,但不是纯JS.我还没有在JavaScript中看到一个简单的解决方案.如果我找到一个(或创建一个),我会回到这里并更新这个答案.

  • 您可能考虑的其他替代方法是使用基于地图的时区选择器,例如区域或此区域,以及其他选项.