我在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>