Я пытаюсь получить RN i18next и определить местонахождение, чтобы обеспечить переводы, основанные на текущей локали изact-native-i18n (уже есть локальные настройки переводов)
У меня были проблемы с библиотекой languageDetector, найденной здесь:
https://github.com/DylanVann/i18next-react-native-language-detector
Это выдаст ошибку о том, что не найден параметр «заменить» объекта.
Итак, я решил настроить свой собственный locize / languageDetector, используя следующий код.
Однако .. Кажется, он не обновляется при изменении локали ..
Что я делаю не так?
в i18next.js:
import i18next from "i18next";
import LocizeBackend from "i18next-locize-backend";
import I18n from "../i18n/i18n";
const languageDetector = {
init: Function.prototype,
type: "languageDetector",
async: true, // flags below detection to be async
detect: lng => I18n.locale,
cacheUserLanguage: () => {}
};
i18next
.use(languageDetector)
.use(LocizeBackend)
.init({
fallbackLng: I18n.locale,
lng: I18n.locale,
debug: true,
whitelist: ["en", "fr", "sv", "dev"],
keySeparator: false,
ns: ["common"],
defaultNS: "common",
saveMissing: false,
interpolation: {
escapeValue: false
},
backend: {
referenceLng: "en",
}
});