UNPKG

@ant-design/x

Version:

Craft AI-driven interfaces effortlessly

25 lines 987 B
import defaultAntdEnUS from 'antd/locale/en_US'; import * as React from 'react'; import LocaleContext from "./context"; import defaultLocaleData from "./en_US"; const useLocale = (componentName, defaultLocale) => { const fullLocale = React.useContext(LocaleContext); const getLocale = React.useMemo(() => { const locale = defaultLocale || defaultLocaleData?.[componentName] || defaultAntdEnUS?.[componentName]; const localeFromContext = fullLocale?.[componentName] ?? {}; return { ...(typeof locale === 'function' ? locale() : locale), ...(localeFromContext || {}) }; }, [componentName, defaultLocale, fullLocale]); const getLocaleCode = React.useMemo(() => { const localeCode = fullLocale?.locale; // Had use LocaleProvide but didn't set locale if (fullLocale?.exist && !localeCode) { return defaultLocaleData.locale; } return localeCode; }, [fullLocale]); return [getLocale, getLocaleCode]; }; export default useLocale;