如何在NodeJS中转义i18next中的特殊字符?

时间:2017-02-14 15:31:51

标签: node.js i18next

所以我有这个变量emoji,其中包括'< 123456789>'

然后我有了这个:

 var vocab = mm('responses.positive', {
        lngs:LANG,
        target: Author.username,
        amount: r * multiplier,
        emoji: emoji
    })

这将使vocab返回Message <123456789>

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

一个不太优雅的解决方案就是编辑字符串来调查每个角色,但是我需要确切地知道我收到了哪一个,这使得这个解决方案变得不可行。

我已经看到一些解决方案插入HTML,但由于我这里没有使用任何HTML界面,解决方案必须在JS本身上

2 个答案:

答案 0 :(得分:0)

escapeValue设为false:

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

答案 1 :(得分:0)

切换转义的另一种方法是将-放在键之前:

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

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