| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- import zhCN from 'antd/locale/zh_CN';
- import enUS from 'antd/locale/en_US';
- // 未来可以添加更多语言支持
- // import jaJP from 'antd/locale/ja_JP';
- // import koKR from 'antd/locale/ko_KR';
- // import frFR from 'antd/locale/fr_FR';
- import dayjs from 'dayjs';
- import 'dayjs/locale/zh-cn';
- import 'dayjs/locale/en';
- // import 'dayjs/locale/ja';
- // import 'dayjs/locale/ko';
- // import 'dayjs/locale/fr';
- import type { Locale } from 'antd/es/locale';
- /**
- * Ant Design locale 映射配置
- * 键:应用的 locale 代码(如 'zh_CN', 'en_US')
- * 值:对应的 Ant Design locale 配置对象
- */
- const LOCALE_MAP: Record<string, Locale> = {
- zh_CN: zhCN,
- zh_TW: zhCN, // 繁体中文暂时使用简体 locale(可按需导入 zh_TW)
- en_US: enUS,
- en_GB: enUS, // 英式英语使用美式英语 locale
- // 未来可以轻松添加更多语言支持:
- // ja_JP: jaJP,
- // ko_KR: koKR,
- // fr_FR: frFR,
- };
- /**
- * dayjs locale 映射配置
- * 键:应用的 locale 代码(如 'zh_CN', 'en_US')
- * 值:对应的 dayjs locale 代码(如 'zh-cn', 'en')
- */
- const DAYJS_LOCALE_MAP: Record<string, string> = {
- zh_CN: 'zh-cn',
- zh_TW: 'zh-cn', // 繁体中文暂时使用简体 locale
- en_US: 'en',
- en_GB: 'en',
- // 未来可以添加更多语言:
- // ja_JP: 'ja',
- // ko_KR: 'ko',
- // fr_FR: 'fr',
- };
- /**
- * 根据应用的 locale 代码获取对应的 Ant Design locale 配置
- * @param localeCode - 应用的 locale 代码,如 'zh_CN', 'en_US'
- * @returns Ant Design locale 配置对象,如果找不到匹配项则返回英语 locale
- *
- * @example
- * ```ts
- * const locale = getAntdLocale('zh_CN'); // 返回中文 locale
- * const locale = getAntdLocale('en_US'); // 返回英文 locale
- * const locale = getAntdLocale('unknown'); // 返回默认英文 locale
- * ```
- */
- export function getAntdLocale(localeCode: string): Locale {
- return LOCALE_MAP[localeCode] || enUS;
- }
- /**
- * 设置 dayjs 的全局 locale
- * 此函数会根据应用的 locale 代码自动配置 dayjs 的语言环境
- *
- * @param localeCode - 应用的 locale 代码,如 'zh_CN', 'en_US'
- *
- * @example
- * ```ts
- * setDayjsLocale('zh_CN'); // 设置 dayjs 为中文
- * setDayjsLocale('en_US'); // 设置 dayjs 为英文
- * ```
- */
- export function setDayjsLocale(localeCode: string): void {
- const dayjsLocale = DAYJS_LOCALE_MAP[localeCode] || 'en';
- dayjs.locale(dayjsLocale);
- console.log(`dayjs locale 已设置为: ${dayjsLocale} (应用 locale: ${localeCode})`);
- }
|