Jquery i18next翻译问题

时间:2015-09-29 21:23:29

标签: jquery node.js i18next

我正在开发一个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");
});

所以现在我似乎没有得到上面提到的错误,但是我没有得到文本。

如果不使用翻译,我会得到以下内容:want this

getting this

1 个答案:

答案 0 :(得分:0)

我能够找到问题的答案。

问题是,我是从函数内部返回已翻译的字符串,因此在要显示的范围之外。

所以我单独初始化它(比如在document.ready中)

$.i18n.init({
        useCookie: false,
        debug: true,
        resGetPath: 'locales/__lng__/translation.json'
    });

然后单独使用它,

return $.i18n.t("app.lblname");