【发布时间】:2012-07-11 14:35:06
【问题描述】:
我正在构建一个 Ember 应用程序,它开始使用 ember-skeleton(这意味着我使用 Rake Pipeline 作为我的构建工具链)。我正在使用ember-i18n,它不断地抛出关于没有 CLDR.pluralForm 函数的警告。
我已将 ember-i18n 使用的 CLDR plural functions 添加到 app/vendor/ 目录,并将该文件添加到我的 Assetfile。我已验证代码包含在我的app.js 中,位于 ember-i18n 代码之前。我还在 main.js 中添加了适当的 require 行:
require('plurals');
require('ember-i18n');
不过,ember-i18n 仍在发出警告。这是发生的代码:
if (typeof CLDR !== "undefined" && CLDR !== null) {
pluralForm = CLDR.pluralForm;
}
if (pluralForm == null) {
Ember.Logger.warn("CLDR.pluralForm not found. Em.I18n will not support count-based inflection.");
}
如何确保在我的应用中定义了 CLDR?
【问题讨论】:
-
你能拼出一个简单的fiddler来演示这个问题吗?
-
我不确定 jsfiddle 是否会真正澄清这一点,因为我认为问题在于我如何需要该库。然而,我试过了,它很有启发性。这有效:jsfiddle.net/pjmorse/SWcaX(检查控制台是否有警告;我没有得到任何警告)而这无效:jsfiddle.net/pjmorse/VdwtK(您会在控制台中看到警告。)不同之处在于 Ember 的版本:1.0预工作,我几周前的边缘版本没有。
-
另外,将我的应用升级到 Ember 1.0pre 并不会像在 jsfiddle 中那样使警告消失。
标签: javascript ember.js internationalization cldr