【问题标题】:Translate a text with parameters翻译带有参数的文本
【发布时间】: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


    【解决方案1】:

    根据我的经验,拥有两个不同的网址要好得多。你可以用谷歌翻译。 NPM

    【讨论】:

      【解决方案2】:

      你可以使用 i18n-react 我以前用过的非常有用。 https://www.npmjs.com/package/i18n-react

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-10-22
        • 2011-02-02
        • 2014-11-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-20
        相关资源
        最近更新 更多