ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

javascript-如何在我的Ember应用程序中包括CLDR.js库?

2019-12-01 03:34:29  阅读:333  来源: 互联网

标签:ember-js javascript internationalization cldr


我正在构建一个开始使用ember-skeleton的Ember应用程序(这意味着我正在使用Rake Pipeline作为构建工具链).我正在使用ember-i18n,并且不断发出有关没有CLDR.pluralForm函数的警告.

我已将ember-i18n使用的CLDR plural functions添加到app / vendor /目录中,并将该文件添加到我的Assetfile中.我已验证该代码包含在ember-i18n代码之前的app.js中.我还在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?

解决方法:

因为没有其他人可以提供,所以如果我自己调试问题,我将建议您看几件事.

如果您在站点中看到的消息与提琴手中的消息相同,则是由于文件加载不正确而导致的.在“ i18n”插件之前,几乎必须加载“复数”.如果翻转linked files的顺序,它将起作用(我分叉了错误提示示例).

我会尝试抛出一些调试器来验证我是错的;语句到每个文件中,以查看哪些文件实际上首先在浏览器中加载.

由于您的require(‘plurals’),我将假设您使用的是requirejs(github is down for maintenance,因此我目前无法实际检查余烬骨架,因此将来可能会进行编辑).如果此声明为真,则需要声明“复数”是对“ i18n”的依赖.

“If you do not express the dependencies, you will likely get loading errors since RequireJS loads scripts asynchronously and out of order for speed.” – 07002

这意味着您可能最终会将两个调用包装为一个,添加一个定义或创建一个“填充”.这些(以及更多)示例可以在RequireJS网站上找到.

抱歉,如果这对您没有帮助,但没有看到它实际损坏;我很难调试这个问题.

编辑:看着余烬的骨架,我没有看到requireJS.我从来没有使用过rake(我们最终在nodeJS中编写了管道),所以我不确定您是否真的在rake中使用require“ blaw”来连接文件,或者您是否真的试图同时使用两者.现在,我认为这个答案可能没有多大帮助.

标签:ember-js,javascript,internationalization,cldr
来源: https://codeday.me/bug/20191201/2078093.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有