Files
AdGuardHome/client_v2/src/i18n.ts
Ildar Kamalov 66f5e215b4 ADG-10291
2025-07-21 17:21:10 +03:00

45 lines
1.1 KiB
TypeScript

import i18n from 'i18next';
import { initReactI18next } from 'react-i18next';
import langDetect from 'i18next-browser-languagedetector';
import { LANGUAGES, BASE_LOCALE } from './helpers/twosky';
import en from './__locales/en.json';
import { setHtmlLangAttr } from './helpers/helpers';
const resources = {
en: { translation: en },
'en-us': { translation: en },
};
const availableLanguages = Object.keys(LANGUAGES);
i18n.use(langDetect)
.use(initReactI18next)
.init(
{
resources,
lowerCaseLng: true,
fallbackLng: BASE_LOCALE,
keySeparator: false,
nsSeparator: false,
returnEmptyString: false,
interpolation: {
escapeValue: false,
},
react: {
wait: true,
},
whitelist: availableLanguages,
},
() => {
if (!availableLanguages.includes(i18n.language)) {
i18n.changeLanguage(BASE_LOCALE);
}
setHtmlLangAttr(i18n.language);
},
);
export default i18n;