带有i18next变量的动态翻译/翻译

时间:2016-10-17 09:32:04

标签: javascript internationalization i18next

为什么我无法动态翻译。使用带有i18next的变量?

例如在我的JS文件中,我得到了这个:
在这里,我使用一个变量并将其分配给i18n函数,它不起作用:

//inserted string is the same string as in dynamic translation but this does work:           
console.log("translation static ", !{JSON.stringify(t("myText.toBetranslated"))});

这里我将上面的字符串直接硬编码到i18n函数中,它确实有效:

setTimeout(function() {console.log("time out translation: " + !{JSON.stringify(t(dynamicTranslation))})}, 2000);

结果我得到了:

  

翻译动态
  翻译静态正确翻译

为了解决这个问题,我尝试通过使用setTimeout来解决它:

{{1}}

但它仍会显示空结果:

  

超时翻译:

1 个答案:

答案 0 :(得分:0)

它的玉语法。第一个代码没有用,因为它是在后端站点用jade渲染的。那时jade没有考虑JS部分,只是渲染它并将结果(连同未触及的JS代码)推送到前端。因此,在t() - 函数内部具有变量的部分不会被翻译,因为它没有考虑JS代码。