【发布时间】:2017-12-05 20:16:13
【问题描述】:
我正在制作一个多语言反应应用程序。我正在使用 redux 来存储一个包含我所有翻译的对象。
en.json
{
"loginMessage": "Welcome to my app",
"loginButton": "Log in",
"summary": "Viewing {p1} items totalling {p2}"
}
es.json
{
"loginMessage": "Bienvenido",
"loginButton": "Iniciar sesion",
"summary": "Viendo {p1} elementos totalizando {p2}"
}
我的应用程序中的某些文本是动态的,这意味着它包含数字或 html 标记。例如
查看 15 件商品,总计 $300.00。
所以我需要在字符串之间包含一些 html 标签。我想出了一个部分解决方案,它使用一个函数来替换我提供的变量的参数。使用这种方法,我必须提供 html 标记作为变量的一部分,就像这样。
replaceAll(translation.summary, {
"{p1}": `<strong> ${expenses.count} </strong>`,
"{p2}": `<strong> ${expenses.total} </strong>`
})
我还需要将此函数放在名为 dangerouslySetInnerHTML 的反应参数中,否则 html 标记将被视为字符串。
这正在完成工作,但我想知道是否有更好的方法。使用我不知道的功能。
【问题讨论】:
标签: javascript reactjs react-redux translation