React i18n 自定义语言检测器不工作

React i18n custom language detector not working

下面是我的代码,

我不知道为什么 console.log('are you running?') 没有显示,

我的代码有什么问题?

我尝试添加自定义语言检测器..

import i18n, { LanguageDetectorModule } from 'i18next';

import { initReactI18next } from 'react-i18next';
import resources from './i18n_resources.json';
import { isLocalhost } from '@/common/detect_utils';
import { detectLanguage } from '.';

const languageDetector: LanguageDetectorModule = {
  type: 'languageDetector',
  detect: () => {
    console.log('are you running?');
    return 'en';
  },
  init: () => {},
  cacheUserLanguage: () => {},
};

i18n
  .use(initReactI18next)
  .use(languageDetector)
  .init({
    resources,
    lng: 'ko',
    fallbackLng: 'en',
    keySeparator: false,
    debug: isLocalhost,
    interpolation: {
      escapeValue: false,
    },
  });

export default i18n;

如果要使用语言检测,则不应设置 lng 选项。 这个例子有效:https://codesandbox.io/s/react-i18next-http-example-forked-655ik?file=/src/i18n.js

更多信息:https://www.i18next.com/overview/configuration-options#languages-namespaces-resources