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