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





Вот самые популярные библиотеки интернационализации для 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), он вообще не работает