import i18next from 'i18next';
import Backend from 'i18next-http-backend';
import LanguageDetector from 'i18next-browser-languagedetector';
import ReactPostprocessor from 'i18next-react-postprocessor';
import { initReactI18next } from 'react-i18next';
import { Locale } from '../i18n';

i18next
  .use(Backend)
  .use(LanguageDetector)
  .use(
    new ReactPostprocessor({
      keepUnknownVariables: true,
      prefix: '{',
      suffix: '}',
    }),
  )
  .use(initReactI18next)
  .init({
    debug: false,
    postProcess: ['reactPostprocessor'],
    fallbackLng: false,
    supportedLngs: [Locale.RU],
    // TODO: необходимо вернуть после того как вернётся функционал переключения языка
    // supportedLngs: [Locale.EN, Locale.RU],
    ns: ['main_menu', 'header'],
    defaultNS: 'main_menu',
    interpolation: {
      escapeValue: false,
    },
    keySeparator: false,
    backend: {
      loadPath: `${process.env.PUBLIC_URL}/locales/{{ns}}.{{lng}}.json`,
    },
  });

export default i18next;
