如果当前区域设置缺少条目,则将defaultMessage设置为“ en-US”

时间:2018-12-28 22:48:53

标签: react-intl

与其为每个FormattedMessage指定一个defaultMessage,不如将defaultMessage始终设置为特定语言的默认消息。我们知道我们将始终为所有内容提供英文翻译。具体来说,我想将defaultMessage设置为在缺少当前语言环境时查看“ en-US”。

1 个答案:

答案 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)
    })
}