为什么我无法动态翻译。使用带有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}}
但它仍会显示空结果:
超时翻译:
答案 0 :(得分:0)
它的玉语法。第一个代码没有用,因为它是在后端站点用jade渲染的。那时jade没有考虑JS部分,只是渲染它并将结果(连同未触及的JS代码)推送到前端。因此,在t() - 函数内部具有变量的部分不会被翻译,因为它没有考虑JS代码。