我在一个支持多种语言(英语、德语、法语等)的Web应用程序中使用“Moment.js”及其附加组件“moment-timezone”。为了提高用户体验,我想知道是否已经存在本地化文件(例如Moment.js的文件),可以将时区名称从英语更改为所需语言,还是需要自己编写?
例如:字符串“Europe/Vienna”在这种情况下会更改为“Europe/Wien”。
我在一个支持多种语言(英语、德语、法语等)的Web应用程序中使用“Moment.js”及其附加组件“moment-timezone”。为了提高用户体验,我想知道是否已经存在本地化文件(例如Moment.js的文件),可以将时区名称从英语更改为所需语言,还是需要自己编写?
例如:字符串“Europe/Vienna”在这种情况下会更改为“Europe/Wien”。
几个需要注意的事项:
你可以使用Globalize库来在JavaScript中访问CLDR数据,但据我所知,它们目前不支持时区名称。我在这里请求了支持。
即使有合适的IANA时区ID到本地化时区名称的翻译,也很难使用这些数据构建时区选择器控件。我在.NET中使用我的TimeZoneNames库(演示在此),但在纯JS中还没有看到简单的解决方案。如果我找到了一个(或创建了一个),我会回来更新这个答案。
import moment from 'moment';
import 'moment/locale/fr';
moment.locale('fr')