Я разрабатываю многоязычное приложение с использованием React, i18next и i18next-browser-languagedetector.
Я инициализирую i18 следующим образом:
i18n
  .use(LanguageDetector)
  .init({
    lng: localStorage.getItem(I18N_LANGUAGE) || "pt",
    fallbackLng: "pt",
    resources: {
      en: stringsEn,
      pt: stringsPt
    },
    detection: {
      order: ["localStorage", "navigator"],
      lookupQuerystring: "lng",
      lookupLocalStorage: I18N_LANGUAGE,
      caches: ["localStorage"]
    }
  });
export default i18n;
И я применил селектор языка, который просто изменяет значение в localStorage на то, что выбрал пользователь.
Это правильный способ сделать это?
Я прошу, потому что, хотя это работает, я чувствую, что я "обманываю", установив localStorage.getItem(I18N_LANGUAGE) || "pt" и что я не использую определение языка так, как должен.