繁体   English   中英

i18next转换包中的ejs变量

[英]ejs variable inside of an i18next translation package

我遇到的问题是,翻译包中的内容如下:

"toBeTranslated":{
        "text": "Lorem ipsum dolor sit amet, <%=ejsVariable%> consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."
}

在ejs变量中包含“ Hello World !!”。 在ejs模板中,我得到了如下信息:

<th><%=t("toBeTranslated.text")%></th>

当我转到网页时,得到的文本是完全相同的文本:

“ Lorem ipsum dolor坐着,<%= ejsVariable%> consectetur adipiscing elit,sed ...”

我真正需要的是这样的东西:

“ Lorem ipsum dolor坐下来, 你好,世界 !!!!!

有什么方法可以使ejs或i18next使用“ <%= ejsVariable%>”的值,而不是将其写为纯文本而不将其从翻译包中取出吗?

为了使ejs识别变量,您必须执行以下代码:

将变量<%= ejsVariable%>替换为ejsVariable (现在是i18next变量)

"toBeTranslated":{
    "text": "Lorem ipsum dolor sit amet, __ejsVariable__ consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum."}

并在调用t函数时按如下所示进行调用:

t("toBeTranslated.text", {ejsVariable: ejsVariable})

这应该替换ejs变量,然后用其值替换i18next变量

暂无
暂无

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

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