首页 > 解决方案 > 如何使用函数调用提取 react-i18next 翻译?

问题描述

给定以下代码:

<Trans i18nKey="error" ns="login">
  <p className="error">
    {React.string("Incorrect username/password combination.")}
    <br />
    {React.string("Is Caps Lock turned on?")}
  </p>
</Trans>

注意React.string函数调用。

有没有办法使用 i18next 进行这项工作?这个键的值在 JSON 文件中会是什么样子?

更新

在我的翻译 JSON 文件中,上面的代码应该是什么样子?

"error": "<1>???</1>"

标签: i18nextreact-i18next

解决方案


我不确定这种React.string方法是什么,但其全部目的Trans是将样式标签集成到文本中。

文本应该在翻译 (json) 文件中。

您的用法应如下所示:

<p className="error">
  <Trans i18nKey="error" ns="login" />
</p>
{
  "error": "Incorrect username/password combination.<br />Is Caps Lock turned on?"
}

顺便说一句,对于换行,您可以避免Trans使用组件,您可以使用空格和 css,有关更多信息,请阅读此答案:React i18n break lines in JSON String


推荐阅读