#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')}>
надеюсь, это поможет кому-то еще почесать голову 🙂