{{ $t('welcome') }}
+
+ Edit
+ components/HelloWorld.vue to test HMR
+
+ Check out + create-vue, the official Vue + Vite starter +
++ Learn more about IDE Support for Vue in the + Vue Docs Scaling up Guide. +
+Click on the Vite and Vue logos to learn more
+ + + diff --git a/pc-b/src/language/en-US.ts b/pc-b/src/language/en-US.ts new file mode 100644 index 0000000..0634488 --- /dev/null +++ b/pc-b/src/language/en-US.ts @@ -0,0 +1,6 @@ +export default { + welcome: 'Welcome', + login: 'Login', + register: 'Register', + // 可以根据实际需求添加更多翻译项 +}; \ No newline at end of file diff --git a/pc-b/src/language/index.ts b/pc-b/src/language/index.ts new file mode 100644 index 0000000..36a3889 --- /dev/null +++ b/pc-b/src/language/index.ts @@ -0,0 +1,20 @@ +import {createI18n} from 'vue-i18n' +// 从语言包文件中导入语言包对象 +import zh from '@language/zh-CN' +import en from '@language/en-US' + +const messages = { + 'zh-cn': zh, + 'en-us': en +} + +const language = (navigator.language || 'en').toLocaleLowerCase() // 这是获取浏览器的语言 +// 获取浏览器当前使用的语言,并进行处理 +const i18n = createI18n({ + legacy: false, + locale: localStorage.getItem('lang') || language.split('-')[0] || 'en', // 首先从缓存里拿,没有的话就用浏览器语言, + fallbackLocale: 'zh-cn', // 设置备用语言 + messages, +}) + +export default i18n \ No newline at end of file diff --git a/pc-b/src/language/zh-CN.ts b/pc-b/src/language/zh-CN.ts new file mode 100644 index 0000000..0f505bf --- /dev/null +++ b/pc-b/src/language/zh-CN.ts @@ -0,0 +1,6 @@ +export default { + welcome: '欢迎', + login: '登录', + register: '注册', + // 可以根据实际需求添加更多翻译项 +}; \ No newline at end of file diff --git a/pc-b/src/main.ts b/pc-b/src/main.ts new file mode 100644 index 0000000..03f1a9c --- /dev/null +++ b/pc-b/src/main.ts @@ -0,0 +1,27 @@ +import { createApp } from 'vue' +import pinia from '@/store' +import './style.css' +import '@css/index.scss' +import App from './App.vue' +import * as echarts from 'echarts' +import router from '@/router/index' +import piniaPluginPersistedstate from 'pinia-plugin-persistedstate' +import i18n from './language' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' + +// 初始化pinia插件 +pinia.use(piniaPluginPersistedstate) + +// 创建并配置Vue应用 +const app = createApp(App) + .use(router) + .use(pinia) + .use(i18n) + .use(ElementPlus) + +// 全局挂载echarts +app.config.globalProperties.$echarts = echarts + +// 挂载应用 +app.mount('#app') diff --git a/pc-b/src/router/index.ts b/pc-b/src/router/index.ts new file mode 100644 index 0000000..463a4e1 --- /dev/null +++ b/pc-b/src/router/index.ts @@ -0,0 +1,58 @@ +import { Router, createRouter, createWebHistory } from 'vue-router' + +/** 自动导入 src/router/modules 下的静态路由 + * import.meta.glob使用说明:https://cn.vitejs.dev/guide/features#glob-import + */ +const modules: Record{{ $t('welcome') }}
+