【问题标题】:Shouldn't i18next wait for language detection result before loading fallback languagei18next 不应该在加载回退语言之前等待语言检测结果吗
【发布时间】:2019-01-17 04:12:07
【问题描述】:

我使用react-i18next example 作为基础。 我用自定义语言检测器替换了“i18next-browser-languagedetector”:

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”

【问题讨论】:

    标签: i18next react-i18next


    【解决方案1】:

    fallbackLng 始终被加载,以便在当前语言翻译文件缺少特定键/资源时可以使用它

    related issue

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-10-07
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2011-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多