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

Pet*_*ter 5 reactjs react-intl

我用react-intlenfr,和我的应用程序做出反应被包裹在

<IntlProvider locale={lang}>
Run Code Online (Sandbox Code Playgroud)

这样,例如 when langis en,所有intl.formatMessage调用都会产生英文文本。

我想要实现的是我想要的<IntlProvider locale="en">,但是在应用程序内部,我需要将特定的一个intl.formatMessage翻译成fr.

Dam*_*ien 1

可以IntlProvider在同一个容器中添加多个。您必须为每个区域设置和消息定义。这是一个仅包含 FormattedMessage 的示例,但它可以是更大的元素:

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

  <IntlProvider locale='fr' messages={messagesFr} >
    <FormattedMessage value={message.hello} />
  </IntlProvider>
</div>
Run Code Online (Sandbox Code Playgroud)