我正在开发一个nodejs应用程序。
以下是我在app.js中初始化i18next的方法:
var i18n = require('i18next');
i18n.init({
saveMissing: true,
debug: true
});
这是我的js代码:
...
// display strength based on score
switch (strength.score) {
case 0:
$('#strength-meter').removeClass()
$('#strength-meter').addClass('progress-bar progress-bar-danger')
$('.progress .progress-bar').css('width', '25%')
return 'very weak'
break;
...
我尝试过使用“返回i18n.t('app.phlastname');”。我得到 “未捕获的ReferenceError:未定义i18n。” 错误
我做错了什么?提前谢谢。
更新
我更改了我的代码,以便它可以在客户端上运行。我在我的页面中包含了i18n lib。并将我的javascript / jquery代码更新为:
$.i18n.init({
debug: true
}, function(t) {
return t("app.lblname");
});
所以现在我似乎没有得到上面提到的错误,但是我没有得到文本。
答案 0 :(得分:0)
我能够找到问题的答案。
问题是,我是从函数内部返回已翻译的字符串,因此在要显示的范围之外。
所以我单独初始化它(比如在document.ready中)
$.i18n.init({
useCookie: false,
debug: true,
resGetPath: 'locales/__lng__/translation.json'
});
然后单独使用它,
return $.i18n.t("app.lblname");