You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

122 lines
2.8 KiB

import pinia from './stores/index.js'
// #ifndef VUE3
import Vue from 'vue'
import App from './App'
import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
import * as ElementPlusIconsVue from '@element-plus/icons-vue'
Vue.config.productionTip = false
App.mpType = 'app'
const app = new Vue({
...App,
pinia
})
app.use(ElementPlus)
for (const [key, component] of Object.entries(ElementPlusIconsVue)){
app.component(key, component)
}
app.$mount()
// #endif
// #ifdef VUE3
import { createSSRApp } from 'vue'
import App from './App.vue'
import { createI18n } from 'vue-i18n'
// 导入语言文件
import en from './static/language/en.js'
import ms from './static/language/ms.js'
import th from './static/language/th.js'
import vi from './static/language/vi.js'
import zh_CN from './static/language/zh_CN.js'
import zh_HK from './static/language/zh_HK.js'
function getCurrentLocale() {
if (uni.getStorageSync('languageData') && uni.getStorageSync('languageData').code && uni
.getStorageSync('languageData').code != 'undefined') {
return uni.getStorageSync('languageData').code;
} else {
let language = uni.getSystemInfoSync().osLanguage;
language = 'zh_CN'
if (language.indexOf('th') != -1) {
language = 'th'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else if (language.indexOf('vi') != -1) {
language = 'vi'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
}else if (language.indexOf('zh') != -1) {
if (language.indexOf('CN') != -1) {
language = 'zh_CN'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else {
language = 'zh_HK'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
}
} else if (language.indexOf('en') != -1) {
language = 'en'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else if (language.indexOf('ms') != -1) {
language = 'ms'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
} else {
language = 'en'
uni.setStorageSync('languageData', {
code: language
})
console.log(language);
return language
}
}
}
// 创建 i18n 实例
const i18n = createI18n({
locale: getCurrentLocale(),
legacy: false, // 使用 Composition API 模式
globalInjection: true, // 全局注入 $t 函数
messages: {
'en': en,
'ms': ms,
'th': th,
'vi': vi,
'zh_CN': zh_CN,
'zh_HK': zh_HK
}
})
export function createApp() {
const app = createSSRApp(App)
app.use(pinia)
app.use(i18n)
return {
app
}
}
// #endif