我将react-intl
与en
和fr
一起使用,我的React应用程序包含在
<IntlProvider locale={lang}>
以便例如当lang
为en
时,所有intl.formatMessage
次调用都会生成英文文本。
我想要实现的是我想要<IntlProvider locale="en">
,但在应用内部,我需要将一个特定的intl.formatMessage
翻译成fr
。
答案 0 :(得分: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>