@PHPjedi

Как связать Redux и i18n?

Всем привет!

Как реализовать связку Redux и i18n?

i18n - это библиотека для реализации локализации (мультиязычности) приложения.

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

Как это сделать?

Вот основной файл конфигурации i18n:

import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import React from "react";

// the translations
// (tip move them in a JSON file and import them)
const resources = {
    en: {
        translation: {
            "Главная": "Homepage",
        }
    }
};

i18n
    .use(initReactI18next) // passes i18n down to react-i18next
    .init({
        resources,
        lng: "en",

        keySeparator: false, // we do not use keys in form messages.welcome

        interpolation: {
            escapeValue: false // react already safes from xss
        }
    });

export default i18n;


Это файл мы подключаем в App.js (index.js).
  • Вопрос задан
  • 695 просмотров
Решения вопроса 1
profesor08
@profesor08
import LanguageDetector from "i18next-browser-languagedetector";

i18n
  .use(LanguageDetector)
  ...

// смена языка
i18n.changeLanguage(store.lang);

// В компоненте используй хук
const { t, i18n } = useTranslation();
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы