与其为每个FormattedMessage指定一个defaultMessage,不如将defaultMessage始终设置为特定语言的默认消息。我们知道我们将始终为所有内容提供英文翻译。具体来说,我想将defaultMessage设置为在缺少当前语言环境时查看“ en-US”。
答案 0 :(得分:0)
为此创建了一个实用程序:
export function getDefaultText(id: IntlMessages.FM): string {
return IntlMessages.default["en-US"].hasOwnProperty(id) ? IntlMessages.default["en-US"][id] : ""
}
export function formatMessageId(intl: ReactIntl.InjectedIntl, id: IntlMessages.FM) {
return intl.formatMessage({
id: id,
defaultMessage: getDefaultText(id)
})
}