我对 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
。