我正在努力找出构建消息的最佳方法,其中一个动态值也需要翻译。
例如,如果我有“输入西班牙语...”消息,我希望在我的应用支持的所有语言的每个不同组合中使用此消息。
假设只支持en / es,那么我需要一个可以输出以下组合的函数:
Type in Spanish...
Type in English...
Escribir en español...
Escribir en ingles...
有3种支持的语言,有9种可能的组合等...
我能想到的唯一方法就是按如下方式撰写消息:
const messages = defineMessages({
language: {
id: 'language',
description: 'The name of the language',
defaultMessage: 'English'
},
typeInLanguage: {
id: 'typeInLanguage',
description: 'instructs the user to type their message in a specific language',
defaultMessage: 'Type in { language }'
}
})
FormattedMessage
{...messages.typeInLanguage}
values={{
language: <FormattedMessage {...messages.language} />
}} />
我感觉这不是最佳方式。也许在某些语言中,“英语”一词的独立形式在“英语输入...”一词中使用时并不相同
我想这是一个假设的问题,我对语言知之甚少,不知道这是不是问题。
上述撰写邮件的方法是否有效?