@brizy/ui
Version:
React elements in Brizy style
69 lines (68 loc) • 2.27 kB
JavaScript
import i18n from "i18next";
import { initReactI18next } from "react-i18next";
import ar from "../../locales/ar.json";
import da from "../../locales/da.json";
import de from "../../locales/de.json";
import en from "../../locales/en.json";
import es from "../../locales/es.json";
import fr from "../../locales/fr.json";
import it from "../../locales/it.json";
import ja from "../../locales/ja.json";
import nl from "../../locales/nl.json";
import pt from "../../locales/pt.json";
import ro from "../../locales/ro.json";
import ru from "../../locales/ru.json";
import tr from "../../locales/tr.json";
import uk from "../../locales/uk.json";
import cn from "../../locales/cn.json";
import ko from "../../locales/ko.json";
import lt from "../../locales/lt.json";
import pl from "../../locales/pl.json";
import sv from "../../locales/sv.json";
import no from "../../locales/no.json";
import th from "../../locales/th.json";
const setDefaultNamespace = (translation) => ({ translation });
const resources = {
ar: setDefaultNamespace(ar),
da: setDefaultNamespace(da),
de: setDefaultNamespace(de),
en: setDefaultNamespace(en),
es: setDefaultNamespace(es),
fr: setDefaultNamespace(fr),
it: setDefaultNamespace(it),
ja: setDefaultNamespace(ja),
nl: setDefaultNamespace(nl),
pt: setDefaultNamespace(pt),
ro: setDefaultNamespace(ro),
ru: setDefaultNamespace(ru),
tr: setDefaultNamespace(tr),
uk: setDefaultNamespace(uk),
cn: setDefaultNamespace(cn),
ko: setDefaultNamespace(ko),
lt: setDefaultNamespace(lt),
pl: setDefaultNamespace(pl),
sv: setDefaultNamespace(sv),
no: setDefaultNamespace(no),
th: setDefaultNamespace(th),
};
export const getConfig = (locale) => {
i18n
.use(initReactI18next) // passes i18n down to react-i18next
.init({
// allow keys to be phrases having `:`, `.`
keySeparator: false,
nsSeparator: false,
initImmediate: true,
missingKeyNoValueFallbackToKey: true,
lng: locale,
fallbackLng: false,
interpolation: {
escapeValue: false, // react already safes from xss
},
react: {
useSuspense: false,
},
resources,
});
return i18n;
};