簡體   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