Как перевести свойства с помощью i18next

Как я обычно использую i18next для перевода

<Translation>{(t) => <span>{t('key')}</span>}</Translation>

Но я не совсем уверен, как перевести такие свойства, как значение заголовка «Панель инструментов» в следующей строке.

 <NavExpandable title="Dashboard" isExpanded>

Я еще не смог найти решение, и я не могу поверить, что я единственный, у кого есть эта проблема.


person Dave Berthiaume    schedule 30.07.2019    source источник
comment
Вероятно, с i18next есть более чистый подход, но просто знайте, что вы можете использовать встроенный JSX в значении реквизита.   -  person Emile Bergeron    schedule 30.07.2019
comment
Вы имеете в виду что-то вроде: ‹NavExpandable title={‹Translation›{(t) =› ‹span›{t('key')}‹/span›}‹/Translation›} isExpanded›? Если это так, это не работает, поскольку возвращает объект.   -  person Dave Berthiaume    schedule 30.07.2019
comment
@EmileBergeron Я также пытался сделать что-то вроде этого: {i18next.t('key')}, но он просто отображает ключ.   -  person Dave Berthiaume    schedule 30.07.2019
comment
Вы используете реакцию-i18next? Его документация показывает несколько способов выполнить то, что вы хотите.   -  person Emile Bergeron    schedule 30.07.2019
comment
Причина, по которой он терпит неудачу, когда реквизит является объектом, заключается в том, что он должен принимать тип реквизита node вместо string.   -  person Emile Bergeron    schedule 30.07.2019


Ответы (1)


Моя проблема заключалась в том, что я использовал import { Translation } from 'i18next'; вместо import { Translation } from 'react-i18next';

person Dave Berthiaume    schedule 31.07.2019