Не следует ли i18next ждать результата определения языка перед загрузкой резервного языка - PullRequest
0 голосов
/ 15 декабря 2018

Я использую response-i18следующий пример в качестве базы.Я заменил 'i18next-browser-languagededector' на детектор пользовательского языка:

class MyLanguageDetector {
  constructor(services, options = {}) {
    this.async = true;
    this.init(services, options);
  }

  init(services, options = {}, i18nOptions = {}) {  }

  detect(callback) {
    setTimeout(() => {
      callback('de')
    }, 5000);
  }

  cacheUserLanguage(lng, caches) {  }
}

MyLanguageDetector.type = 'languageDetector';

Конфиг:

i18n
  .use(MyLanguageDetector)
  .use(Backend)
  .use(reactI18nextModule)

  .init({
    fallbackLng: 'en',
    debug: true,

    interpolation: { escapeValue: false },

    react: { wait: true }
  });

Что я вижу:

i18next::backendConnector: loaded namespace translation for language en

и после~ 5 секунд:

i18next::backendConnector: loaded namespace translation for language de

Я ожидал, что 'en' не будет загружен, поскольку обнаруженный язык - 'de'

1 Ответ

0 голосов
/ 16 января 2019

fallbackLng всегда загружается, чтобы его можно было использовать, если в текущем файле языкового перевода отсутствует конкретный ключ / ресурс

См. связанную проблему

...