MuadDibb
@MuadDibb

React Native i18next как загрузить язык из AsyncStorage в i18next.init?

Пишу мультиязычное мобильное приложение(всего 6 языков).
Я храню язык пользователя в AsyncStorage.
Пытаюсь при инициализации i18next загрузить язык из AsyncStorage, но выдает ошибку.
Код
async function loadLanguage() {
  return await AsyncStorage.getItem('lang');
}

i18next
  .use(initReactI18next)
  .init({
    debug: CONFIG.i18NextDebug,
    lng: loadLanguage(),
    fallbackLng: 'en',
    compatibilityJSON: 'v3',
    supportedLngs: ['en', 'ru', 'de', 'cn', 'hi', 'ae'],
    resources: {
      en: enTranslate,
      ru: ruTranslate,
      de: deTranslate,
      cn: cnTranslate,
      hi: hiTranslate,
      ae: aeTranslate,
    },
  }
);

Ошибка
ERROR  Invariant Violation: "app" has not been registered. This can happen if:
* Metro (the local dev server) is run from the wrong folder. Check if Metro is running, stop it and restart it in the current project.
* A module failed to load due to an error and `AppRegistry.registerComponent` wasn't called., js engine: hermes


Подскажите, пожалуйста, как это починить или как это нормальные люди делают)
  • Вопрос задан
  • 86 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

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