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.

117 lines
2.7 KiB

  1. // #ifndef VUE3
  2. import Vue from 'vue'
  3. import App from './App'
  4. import ElementPlus from 'element-plus'
  5. import 'element-plus/dist/index.css'
  6. import * as ElementPlusIconsVue from '@element-plus/icons-vue'
  7. Vue.config.productionTip = false
  8. App.mpType = 'app'
  9. const app = new Vue({
  10. ...App
  11. })
  12. app.use(ElementPlus)
  13. for (const [key, component] of Object.entries(ElementPlusIconsVue{
  14. app.component(key, component)
  15. }
  16. app.$mount()
  17. // #endif
  18. // #ifdef VUE3
  19. import { createSSRApp } from 'vue'
  20. import App from './App.vue'
  21. import { createI18n } from 'vue-i18n'
  22. // 导入语言文件
  23. import en from './static/language/en.js'
  24. import ms from './static/language/ms.js'
  25. import th from './static/language/th.js'
  26. import vi from './static/language/vi.js'
  27. import zh_CN from './static/language/zh_CN.js'
  28. import zh_HK from './static/language/zh_HK.js'
  29. function getCurrentLocale() {
  30. if (uni.getStorageSync('languageData') && uni.getStorageSync('languageData').code && uni
  31. .getStorageSync('languageData').code != 'undefined') {
  32. return uni.getStorageSync('languageData').code;
  33. } else {
  34. let language = uni.getSystemInfoSync().osLanguage;
  35. language = 'zh_CN'
  36. if (language.indexOf('th') != -1) {
  37. language = 'th'
  38. uni.setStorageSync('languageData', {
  39. code: language
  40. })
  41. console.log(language);
  42. return language
  43. } else if (language.indexOf('vi') != -1) {
  44. language = 'vi'
  45. uni.setStorageSync('languageData', {
  46. code: language
  47. })
  48. console.log(language);
  49. return language
  50. }else if (language.indexOf('zh') != -1) {
  51. if (language.indexOf('CN') != -1) {
  52. language = 'zh_CN'
  53. uni.setStorageSync('languageData', {
  54. code: language
  55. })
  56. console.log(language);
  57. return language
  58. } else {
  59. language = 'zh_HK'
  60. uni.setStorageSync('languageData', {
  61. code: language
  62. })
  63. console.log(language);
  64. return language
  65. }
  66. } else if (language.indexOf('en') != -1) {
  67. language = 'en'
  68. uni.setStorageSync('languageData', {
  69. code: language
  70. })
  71. console.log(language);
  72. return language
  73. } else if (language.indexOf('ms') != -1) {
  74. language = 'ms'
  75. uni.setStorageSync('languageData', {
  76. code: language
  77. })
  78. console.log(language);
  79. return language
  80. } else {
  81. language = 'en'
  82. uni.setStorageSync('languageData', {
  83. code: language
  84. })
  85. console.log(language);
  86. return language
  87. }
  88. }
  89. }
  90. // 创建 i18n 实例
  91. const i18n = createI18n({
  92. locale: getCurrentLocale(),
  93. legacy: false, // 使用 Composition API 模式
  94. globalInjection: true, // 全局注入 $t 函数
  95. messages: {
  96. 'en': en,
  97. 'ms': ms,
  98. 'th': th,
  99. 'vi': vi,
  100. 'zh_CN': zh_CN,
  101. 'zh_HK': zh_HK
  102. }
  103. })
  104. export function createApp() {
  105. const app = createSSRApp(App)
  106. app.use(i18n)
  107. return {
  108. app
  109. }
  110. }
  111. // #endif