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.
111 lines
2.5 KiB
111 lines
2.5 KiB
|
|
// #ifndef VUE3
|
|
import Vue from 'vue'
|
|
import App from './App'
|
|
|
|
Vue.config.productionTip = false
|
|
|
|
App.mpType = 'app'
|
|
|
|
const app = new Vue({
|
|
...App
|
|
})
|
|
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(i18n)
|
|
return {
|
|
app
|
|
}
|
|
}
|
|
// #endif
|