Пишу мультиязычное мобильное приложение(всего 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
Подскажите, пожалуйста, как это починить или как это нормальные люди делают)