在 i18next 中转义特殊字符

Escape special characters in i18next

所以我有这个变量,它将包含在类似“<123456789>”的内容中

然后我有这个:

 var vocab = mm('responses.positive', {
        lngs:LANG,
        target: User.tag,
        amount: r * multiplier,
        icon: iconFile
    })

这将使 vocab return Message &lt;123456789&gt;

我能做些什么来避免它以这种方式解析符号吗? 我试过在字符串中转义 return,但它不起作用。即使它确实有效,我也有一个问题,我有一个 > 发生在 内部 变量。

一个不太优雅的解决方案是编辑字符串以转义每个字符,但我需要确切地知道我收到了哪些字符,这使得该解决方案不可行。

我已经在 HTML 中看到了一些解决方案,但由于我在这里没有使用任何 HTML 接口,因此解决方案必须在 JS 本身上

escapeValue设为假:

i18n.t("key", { 'interpolation': {'escapeValue': false} })

另一种关闭转义的方法是将 - 放在键前:

"keyUnescaped": "dangerous {{- myVar}}"

更多信息:https://www.i18next.com/translation-function/interpolation.