2
我对require.js很陌生,并且在加载i18next.js时遇到问题。使用require.js加载i18next.js时出现的问题
main.js
require(["lib/jquery", "lib/i18next", "config.i18next", "constants"],
function(util) {
console.log("loaded javascript files");
});
和config.i18next.js
var option = {resGetPath: '../translations/__lng__.json' };
i18n.init(option, function(t) {
console.log("Language initialization successfull");
});
我总是得到错误
Uncaught ReferenceError: i18n is not defined config.i18next.js:2
我知道使用i18next谁,一切工作正常传统上加载JavaScript文件时。
编辑:
同时我得到了它与垫片的工作是这样的:
requirejs.config({
shim: {
'lib/i18next' : ['lib/jquery'],
}
});
require(["lib/i18next"], function(i18n) {
var options = {
resGetPath: 'translations/__lng__.json',
preload: ['de', 'en']
};
i18n.init(options, function(t) {
});
});
,我可以在其他文件中与$.t("key");
翻译,但是当我现在不能更改语言编程方式与i18n.setLng()
,因为变量不能找到ReferenceError: Can't find variable: i18n
。
i18next现在与[amd i18next](http://i18next.com)的额外构建。这应该可以解决你的问题。采用jquery的版本!那里你可以$ .i18n.setLng(...) – jamuhl 2012-09-12 12:43:42
应该可能是一个答案,而不是评论?你能否加上它,以便我可以接受它? – 2012-09-18 11:58:12
完成。答案可以接受 – jamuhl 2012-10-18 14:12:52