假设我有一个这样的组件:
<FormattedMessage
id='ui.widget.cycleOffsetSelector.timeCycle.label'
defaultMessage="This {cycle}"
values={{cycle: props.cycle}}
/>
因为props.cycle
在我的示例中实际上是一个时间段,如day
, week
,month
等,所以在将其传递到 FormattedMessage 之前,我也需要翻译该文本。在翻译中进行这种翻译的正确方法是什么?
最好我能想出这个:
const intlPeriod = {
day: intl.formatMessage({id: 'timePeriod.week', defaultMessage: 'day'}),
week: intl.formatMessage({id: 'timePeriod.week', defaultMessage: 'week'}),
month: intl.formatMessage({id: 'timePeriod.month', defaultMessage: 'month'}),
};
<FormattedMessage
id='ui.widget.cycleOffsetSelector.timeCycle.label'
defaultMessage="This {cycle}"
values={{cycle: intlPeriod[cycle]}}
/>
这是唯一的方法吗?
我看到在 node-js 包中react-intl
,在lib\locale-data\[lang].js
文件中,已经为day
、week
、month
等定义了值。有没有办法直接在我的应用程序中访问/使用这些字符串?
我正在v2
使用react-intl
.