【发布时间】:2018-12-28 22:48:52
【问题描述】:
与其为每个 FormattedMessage 指定一个 defaultMessage,不如将 defaultMessage 设置为始终是特定语言的那个更好。我们知道我们总是会为所有内容提供英文翻译。具体来说,如果缺少当前语言环境,我想将 defaultMessage 设置为查看“en-US”。
【问题讨论】:
标签: react-intl
与其为每个 FormattedMessage 指定一个 defaultMessage,不如将 defaultMessage 设置为始终是特定语言的那个更好。我们知道我们总是会为所有内容提供英文翻译。具体来说,如果缺少当前语言环境,我想将 defaultMessage 设置为查看“en-US”。
【问题讨论】:
标签: react-intl
为此创建了一个实用程序:
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)
})
}
【讨论】: