如何在meteor.js中本地化(i18n)moment.js?

use*_*583 9 javascript internationalization meteor momentjs

如何在meteor.js应用程序中使用moment.js使用另一种语言而不是英语?moment.js(安装为mrt包)可以使用默认的英语语言.

使用来自http://momentjs.com/docs/#/i18n/changing-language/上的moment.js文档的演示调用始终生成'en'.我注意到meteor_project/packages/moment/lib/moment/lang/de.js中有一个德语语言文件,但似乎没有使用它?

要指定:在模板助手中我尝试过:moment.lang('de'); return moment.lang()//将导致'en'

以及此处提到的其他选项:在Meteor中的Handlebars模板内格式化日期

mut*_*til 8

你可以使用rzymek的包裹.

这些包使用官方的瞬间:瞬间流星包.

区域设置:

添加特定区域设置用户

meteor add rzymek:moment-locale-pl

完整的语言环境列表可以通过以下方式获得

meteor search rzymek:moment-locale-.*

要添加所有语言环境,请使用:

meteor add rzymek:moment-locales


Dim*_*oda 5

至于今天(2015年7月)我做了这个:

从Moment.js github存储库下载locales.min.js并将其放在应用程序的客户端文件夹中.

我选择client/lib/moment/locales.min.js
然后你可以设置你喜欢的任何语言环境(那个时刻有js)并根据用户帐户设置进行更改.

moment.locale('en')
// or
moment.locale('ru')
Run Code Online (Sandbox Code Playgroud)

我不喜欢的是所有语言都合并在一个文件中.即使它不是太大,仍然有一些工作要做(ajax调用或类似的东西只能获取你需要的语言环境文件)


顺便说说.如果您不需要所有支持的语言,则可以获取 区域设置文件.
我相信meteor.js会在你去制作时自动缩小这些文件

  • 仅供参考,您应该将这样的库文件放在`client/compatibility`中,以确保正确的加载顺序并加快Meteor构建时间(因为它不会尝试评估该特殊文件夹中的文件). (2认同)

str*_*ser 0

如果您安装moment

mrt add moment

那么您已经获得了语言,但您必须手动包含它们。可以在 找到它们packages\moment\lib\lang。要包含它们,请转到该package.js文件并在所有其他文件之后添加您选择的语言。

api.add_files('lib/moment/lang/de.js', 'client')

修改package.js

就这样吧!

证明