UNPKG

@lifi/wallet-management

Version:

LI.FI Wallet Management solution.

38 lines 1.37 kB
import { jsx as _jsx } from "react/jsx-runtime"; import { createInstance } from 'i18next'; import { useEffect, useMemo } from 'react'; import { I18nextProvider } from 'react-i18next'; import * as supportedLanguages from '../../i18n/index.js'; export const I18nProvider = ({ children, locale, }) => { const i18n = useMemo(() => { const resources = Object.keys(supportedLanguages).reduce((resources, lng) => { resources[lng] = { translation: supportedLanguages[lng], }; return resources; }, {}); const i18n = createInstance({ lng: locale || 'en', fallbackLng: resources.en ? 'en' : Object.keys(resources)?.[0], lowerCaseLng: true, interpolation: { escapeValue: false, }, resources, detection: { caches: [], }, returnEmptyString: false, }); i18n.init(); return i18n; }, [locale]); // biome-ignore lint/correctness/useExhaustiveDependencies: run only when locale changes useEffect(() => { if (locale && locale !== i18n.language) { i18n.changeLanguage(locale); } }, [locale]); return _jsx(I18nextProvider, { i18n: i18n, children: children }); }; //# sourceMappingURL=I18nProvider.js.map