Скажем, у меня есть такие компоненты, как это:Могу ли я использовать встроенные имена React-Intl для временных периодов в моем приложении?
<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]}}
/>
Является ли это единственный способ?
Я вижу, что в пакете узла Js для react-intl
, в файле lib\locale-data\[lang].js
, там уже значение, определенный для day
, week
, month
и т.д. Есть ли способ получить доступ/использовать эти строки в моем приложении напрямую?
Я использую ветвь v2
react-intl
.