Поддержка React Application i18n

У нас есть приложение React, в котором все метки виджетов читаются из файла свойств,

Файл свойств:

export const properties = {
  dashboardcrumb_label: 'DASHBOARD',
  channelcrumb_label: 'CHANNELS',
    jobcard_header: 'JOBS',
    cancel_label: 'CANCEL'
  }

Использование файла js (пример):

import { properties } from '../../../../resources/label_property'
<FlatButton label={properties.cancel_label}

Теперь у нас есть требование сделать его совместимым с i18n. пожалуйста, предложите более простой способ достижения i18n, где я могу повторно использовать этот файл свойств без особых изменений в js

1 ответ

Вы можете обернуть свой компонент с withNamespace Hoc следующим образом:

import { withNamespaces } from 'react-i18next';
// it would add 't' and 'lng' in the props
const { t } =this.props;
<FlatButton label={t('cancel_label')}

Лично я бы предложил вам использовать reaact-intl

Другие вопросы по тегам