繁体   English   中英

使用i18next动态翻译/带变量翻译

[英]dynamic translation/translation with variable with i18next

为什么我不能动态翻译。 在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"))});

结果,我得到:

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

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

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

但是它仍然显示空结果:

超时翻译:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM