Browse Source

feat(多语言): 添加多语言支持并导出语言配置

添加中文、英文和繁体中文的语言配置文件
在main.ts中根据URL自动设置当前语言
将currentVersion和lang作为全局变量导出
lsc 2 days ago
parent
commit
abdf0b8e64
5 changed files with 30 additions and 3 deletions
  1. 19 2
      src/main.ts
  2. 2 1
      src/views/Student/index.vue
  3. 3 0
      src/views/lang/cn.json
  4. 3 0
      src/views/lang/en.json
  5. 3 0
      src/views/lang/hk.json

+ 19 - 2
src/main.ts

@@ -1,6 +1,23 @@
 import { createApp } from 'vue'
 import { createApp } from 'vue'
 import { createPinia } from 'pinia'
 import { createPinia } from 'pinia'
 import App from './App.vue'
 import App from './App.vue'
+import en from './views/lang/en.json'
+import cn from './views/lang/cn.json'
+import hk from './views/lang/hk.json'
+
+export let lang = cn
+if (window.location.href.includes('cocorobo.cn')) {
+  lang = cn
+}
+else if (window.location.href.includes('cocorobo.hk')) {
+  lang = hk
+}
+else if (window.location.href.includes('cocorobo.com')) {
+  lang = en
+}
+else {
+  lang = cn
+}
 
 
 // TypeScript declarations for global properties
 // TypeScript declarations for global properties
 declare module '@vue/runtime-core' {
 declare module '@vue/runtime-core' {
@@ -29,9 +46,9 @@ export const getCurrentVersion = () => {
 }
 }
 
 
 // 当前版本
 // 当前版本
-const currentVersion = getCurrentVersion()
+export const currentVersion = getCurrentVersion()
 
 
-export default currentVersion
+export default {currentVersion, lang}
 
 
 const app = createApp(App)
 const app = createApp(App)
 // 注册全局变量
 // 注册全局变量

+ 2 - 1
src/views/Student/index.vue

@@ -372,7 +372,7 @@ import useImport from '@/hooks/useImport'
 import message from '@/utils/message'
 import message from '@/utils/message'
 import api, { API_URL } from '@/services/course'
 import api, { API_URL } from '@/services/course'
 import axios from '@/services/config'
 import axios from '@/services/config'
-import currentVersion from '@/main'
+import {currentVersion, lang} from '@/main'
 import ShotWorkModal from './components/ShotWorkModal.vue'
 import ShotWorkModal from './components/ShotWorkModal.vue'
 import QAWorkModal from './components/QAWorkModal.vue'
 import QAWorkModal from './components/QAWorkModal.vue'
 import ChoiceWorkModal from './components/ChoiceWorkModal.vue'
 import ChoiceWorkModal from './components/ChoiceWorkModal.vue'
@@ -3278,6 +3278,7 @@ const addOp3 = async (userTime: any, loadTime: any, object: any, status: any) =>
 }
 }
 
 
 onMounted(() => {
 onMounted(() => {
+  
   document.addEventListener('keydown', handleKeydown)
   document.addEventListener('keydown', handleKeydown)
 
 
   // 处理URL参数
   // 处理URL参数

+ 3 - 0
src/views/lang/cn.json

@@ -0,0 +1,3 @@
+ {
+  "lang": "cn"
+ }

+ 3 - 0
src/views/lang/en.json

@@ -0,0 +1,3 @@
+ {
+  "lang": "en"
+ }

+ 3 - 0
src/views/lang/hk.json

@@ -0,0 +1,3 @@
+ {
+  "lang": "hk"
+ }