Files
jinshen-website/app/composables/useLocalizations.ts
R2m1liA 359aaec8a9 style: 格式化项目代码
- 根据prettier配置格式化整个项目的代码
2025-09-17 15:50:29 +08:00

41 lines
1.1 KiB
TypeScript

import type { StrapiLocale } from '@nuxtjs/strapi';
import type { Language as ElementLanguage } from 'element-plus/es/locale';
import zhCn from 'element-plus/es/locale/lang/zh-cn';
import en from 'element-plus/es/locale/lang/en';
// Strapi本地化映射
export const strapiLocales: Record<string, StrapiLocale> = {
zh: 'zh-CN',
en: 'en',
};
// Element Plus本地化映射
export const elementPlusLocales: Record<string, ElementLanguage> = {
zh: zhCn,
en: en,
};
export const useLocalizations = () => {
const { locale } = useI18n();
// 获取Strapi本地化代码
const getStrapiLocale = (nuxtLocale?: string): StrapiLocale => {
const currentLocale = nuxtLocale || locale.value;
return strapiLocales[currentLocale] || 'zh-Hans';
};
// 获取Element Plus本地化
const getElementPlusLocale = (nuxtLocale?: string) => {
const currentLocale = nuxtLocale || locale.value;
const elementPlusLocale =
elementPlusLocales[currentLocale] || elementPlusLocales['zh'];
return elementPlusLocale;
};
return {
locale: readonly(locale),
getStrapiLocale,
getElementPlusLocale,
};
};