reactjs – 是否可以覆盖一个特定的intl.formatMessage的语言环境?

我在en和fr中使用react-intl,并且我的React应用程序被包装

<IntlProvider locale={lang}>

所以,例如当lang为en时,所有intl.formatMessage调用都会生成英文文本.

我想要实现的是我想要< IntlProvider locale =“en”>,但在应用程序内部,我需要将一个特定的intl.formatMessage转换为fr.

最佳答案 可以在同一容器中添加多个IntlProvider.您必须为每个区域设置和消息定义.

这里只是一个带有FormattedMessage的示例,但它可以是更大的元素:

<div>
  <IntlProvider locale='en' messages={messagesEn} >
    <FormattedMessage value={message.hello} />
  </IntlProvider>

  <IntlProvider locale='fr' messages={messagesFr} >
    <FormattedMessage value={message.hello} />
  </IntlProvider>
</div>
点赞