Как мне передать переведенную строку другому компоненту в react-jhipster?

#reactjs #internationalization #translation #jhipster

#reactjs #интернационализация #перевод #jhipster

Вопрос:

Я могу использовать компонент перевода (из react-jhipster), когда я хочу добавить переведенную строку в компонент:

 <p><Translation contentKey="my.key">Some text</Translation></p>
  

Но если я хочу передать переведенную строку другому компоненту, как мне это сделать? Нравится:

 <MyComponent text={{translate("my.key")}} />
  

Комментарии:

1. расскажите нам больше о вашем компоненте перевода — он из какой-либо библиотеки?

2. Это из react-jhipster

Ответ №1:

Как вы сказали в комментарии, вы используете библиотеку react-jhipster.

Из того, что я получил, вы можете импортировать translate (contentKey: string, interpolate?: any, children?: string) функцию react-jhipster .

Попробуйте: import {translate} from 'react-jhipster'

Источник: https://github.com/jhipster/react-jhipster/blob/master/src/language/translate.tsx


И вам не нужно всегда передавать ее как реквизит, вы также можете использовать ее в теле компонента.

Комментарии:

1. Я знаю, что это устарело, но у меня есть, как я думал, тот же вопрос, за исключением того, что ваш ответ не является решением для меня. Я уже импортирую компонент перевода из react-jhipster. Я хотел бы знать, возможно ли использовать переведенную строку в качестве реквизита в другом компоненте. Спасибо за любой совет.

2. Хорошо, я нашел правильный способ сделать это! Импортируйте компонент перевода: import { Translate as Trans, translate } from 'react-jhipster'; Затем вы можете использовать Trans-компонент contentKey как обычный, но также вы можете использовать метод translate для какого-либо другого компонента: <OpeningComponentTag className="some-class" propToTranslate={translate('path.to.json.translation.string')}> надеюсь, это поможет кому-то еще почесать голову 🙂