feat: 完成网站前端的基本建设
- 网站内容展示:首页, 产品页, 解决方案, 联系信息等 - 网站跳转逻辑:通过Vue-Router实现路由跳转 - 后端通信: 通过Nuxt Strapi与后端Strapi服务进行通信
This commit is contained in:
39
app/composables/useLocalizations.ts
Normal file
39
app/composables/useLocalizations.ts
Normal file
@ -0,0 +1,39 @@
|
||||
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,
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user