Правильный способ сделать приложение React многоязычным

Я пытаюсь найти способ сделать свое приложение многоязычным, например, когда пользователь нажимает «en», все приложение становится на английском языке, а когда пользователь нажимает «de», все приложение становится на немецком языке. Я использую реакцию без библиотеки управления состоянием. есть ли способ правильно это реализовать?

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
0
0
920
1

Ответы 1

Вот самые популярные библиотеки интернационализации для React

Кроме того, если ваш проект небольшой или вы просто хотите сделать это самостоятельно, самый простой способ - сохранить данные lang в маршрутизаторе, например вы визуализируете один и тот же компонент по разным URL-адресам

<Route path = "/shop" component = {Shop} />  // en is default
<Route path = "de/shop" component = {Shop} />

затем внутри компонента вы получаете от роутера переменную lang и условно визуализируете тот или иной перевод.

Что будет делать ваш переключатель языка - просто для того, чтобы направить вас к тому же компоненту по другому маршруту, например: /shop -> /de/shop

Вы можете хранить данные переводов как простые объекты JS в своих локальных файлах или получать их из серверной части.

Спасибо, я проверил response-i18next, и я думаю, что это то, что я искал, но есть одна вещь, когда я применяю его к чему-то в объекте состояния, это не работает. например, когда я сохраняю какое-то ключевое значение в состоянии {example: "example"}, а затем применяю его как (this.state.example), он вообще не работает

develop05 31.10.2018 02:55

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