动态 translation/translation 带有 i18next 的变量

dynamic translation/translation with variable with i18next

我怎么不能动态翻译resp。将变量与 i18next 一起使用?

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

//this does not work:
var dynamicTranslation = "myText.toBetranslated";
console.log("translation dynamic ", !{JSON.stringify(t(dynamicTranslation))});    

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

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

结果我得到:

translation dynamic
translation static correct Translation

为了解决这个问题,我尝试通过设置超时来解决它:

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

但它仍然会显示一个空结果:

time out translation:

玉句法。第一个代码不起作用,因为它是在后端站点用 jade 呈现的。在这一点上,jade 不考虑 JS 部分,只渲染它并将结果(连同未触及的 JS 代码)推送到前端。因此 t() 函数中带有变量的部分没有被翻译,因为它没有考虑 JS 代码。