次のようなコンポーネントがあるとします。
<FormattedMessage
id='ui.widget.cycleOffsetSelector.timeCycle.label'
defaultMessage="This {cycle}"
values={{cycle: props.cycle}}
/>
この例の は実際には、、などprops.cycle
の期間であるため、FormattedMessage で渡す前にそのテキストも翻訳する必要があります。翻訳内でこの種の翻訳を行う正しい方法は何ですか?day
week
month
私がこれを思い付くことができる最高:
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
ます。