Javascript React Intl:添加到IntlMessageFormat的区域设置数据缺少`pluralRuleFunction`
我最近在我的多页React应用程序中使用React Intl进行国际化 我编写了一个组件“IntlProviderWithLocal”来添加自定义区域设置Javascript React Intl:添加到IntlMessageFormat的区域设置数据缺少`pluralRuleFunction`,javascript,reactjs,react-intl,Javascript,Reactjs,React Intl,我最近在我的多页React应用程序中使用React Intl进行国际化 我编写了一个组件“IntlProviderWithLocal”来添加自定义区域设置 import React from 'react' import {IntlProvider, addLocaleData} from 'react-intl'; import zh_CN from '../../../components/i18n/zh_CN/angular_locale' export default (props)
import React from 'react'
import {IntlProvider, addLocaleData} from 'react-intl';
import zh_CN from '../../../components/i18n/zh_CN/angular_locale'
export default (props) => {
const {children, ...last} = props
addLocaleData(zh_CN);
return (
<IntlProvider {...last} messages={zh_CN} >
{children}
</IntlProvider>
)
}
最后,我得到一个错误添加到IntlMessageFormat的区域设置数据缺少pluralRuleFunction:zh_CN
atformat=new(src$es5$$.bind.apply(FormatConstructor[null].concat(args))()代码>
此时,args
是[”预览", "zh_CN,Object]
,cacheId
是“[”预览“,”zh_CN“,[]]”
和格式
是未定义的
是否有正确添加自定义区域设置数据的方法您似乎没有将翻译传递给提供商
messages={zh_CN}
应该是包含您的翻译的键值存储,例如:
messages = {
"publish.card.preview": "Preview"
}
return <IntlProvider {...last} messages={messages} >
...
</IntlProvider>
消息={
“发布.卡片.预览”:“预览”
}
返回
...
我确信zh_CN是一个json。我在最后一页得到了翻译的单词。但是也要得到错误。所以,我很困惑到底发生了什么只是它不是您应该传递给addLocaleData
和IntlProvider
的同一个对象<当addLocaleData
需要不同语言环境设置的词典时,code>IntlProvider
需要所有翻译的列表。我不知道这是不是你犯错误的原因。
messages = {
"publish.card.preview": "Preview"
}
return <IntlProvider {...last} messages={messages} >
...
</IntlProvider>