Files
jzsj-vue/src/i18n/use-locale.ts
赵忠林 92a6a32868 chore(config): 添加项目配置文件和隐私协议
- 新增 .editorconfig 文件统一代码风格配置
- 新增 .env 环境变量配置文件
- 添加开发和生产环境的环境变量配置
- 配置 ESLint 忽略规则文件
- 设置代码检查配置文件 .eslintrc.js
- 添加 Git 忽略文件规则
- 创建 Prettier 格式化忽略规则
- 添加隐私政策和服务协议HTML文件
- 实现访问密钥编辑组件基础结构
2026-02-07 16:33:13 +08:00

39 lines
1.2 KiB
TypeScript

/**
* AntDesignVue、EleAdminPro、Dayjs 国际化配置
*/
import { ref, watch } from 'vue';
import { useI18n } from 'vue-i18n';
import type { Locale } from 'ant-design-vue/es/locale-provider';
import type { EleLocale } from 'ele-admin-pro/es';
// AntDesignVue
import zh_CN from 'ant-design-vue/es/locale/zh_CN';
import zh_TW from 'ant-design-vue/es/locale/zh_TW';
import en from 'ant-design-vue/es/locale/en_US';
// EleAdminPro
import eleZh_CN from 'ele-admin-pro/es/lang/zh_CN';
import eleZh_TW from 'ele-admin-pro/es/lang/zh_TW';
import eleEn from 'ele-admin-pro/es/lang/en_US';
// Dayjs
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
import 'dayjs/locale/zh-tw';
const antLocales = { zh_CN, zh_TW, en };
const eleLocales = { zh_CN: eleZh_CN, zh_TW: eleZh_TW, en: eleEn };
export function useLocale() {
const { locale } = useI18n();
const antLocale = ref<Locale>();
const eleLocale = ref<EleLocale>();
watch(
locale,
() => {
antLocale.value = antLocales[locale.value];
eleLocale.value = eleLocales[locale.value];
dayjs.locale(locale.value.toLowerCase().replace(/_/g, '-'));
},
{ immediate: true }
);
return { antLocale, eleLocale };
}