import { createContext } from 'react'; import { isFunction } from 'lodash'; import { DEFAULT_LANG, DEFAULT_LOCASES_TEXTS } from './defaults'; import type { LocaleText, LocalizationContextType } from './types'; const defaultLang = DEFAULT_LANG; const defaultLocales = DEFAULT_LOCASES_TEXTS[DEFAULT_LANG]; function translate(key: keyof LocaleText, params: any) { const text = defaultLocales[key]; if (!text) { return key; } if (isFunction(text)) { return text(params); } return text; } const LocalizationContext = createContext({ lang: defaultLang, translate: translate as any }); export default LocalizationContext;