Jquery i18next 翻译问题

Jquery i18next translation issue

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

我试过使用"return i18n.t('app.phlastname');"。我得到 "Uncaught ReferenceError: i18n is not defined." 错误

我做错了什么?提前致谢。

更新

我更改了我的代码,以便它可以在客户端运行。我在我的页面中包含了 i18n 库。并将我的 javascript/jquery 代码更新为:

$.i18n.init({
  debug: true
  }, function(t) {
     return t("app.lblname");
});

所以现在我似乎没有收到上述错误,但是我没有收到文本。

当不使用翻译时,我得到这样的结果:

我找到了问题的答案。

问题是,我从函数内部返回翻译后的字符串,因此超出了预期显示的范围。

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

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

然后单独使用,

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