国外MOSE官网
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.

51 lines
1.1 KiB

2 months ago
1 month ago
2 months ago
1 month ago
1 month ago
2 months ago
  1. import { createI18n } from 'vue-i18n'
  2. import en from './locales/en.json'
  3. import zh from './locales/zh.json'
  4. import ja from './locales/ja.json'
  5. import ar from './locales/ar.json'
  6. import fr from './locales/fr.json'
  7. import ko from './locales/ko.json'
  8. import ms from './locales/ms.json'
  9. import pt from './locales/pt.json'
  10. import ru from './locales/ru.json'
  11. import th from './locales/th.json'
  12. import vi from './locales/vi.json'
  13. import zh_TW from './locales/zh-TW.json'
  14. // 获取浏览器语言或从本地存储中获取
  15. const getBrowserLanguage = () => {
  16. const storedLanguage = localStorage.getItem('language')
  17. if (storedLanguage) {
  18. return storedLanguage
  19. }
  20. const browserLanguage = navigator.language.toLowerCase()
  21. if (browserLanguage.includes('zh')) {
  22. return 'zh'
  23. } else if (browserLanguage.includes('ja')) {
  24. return 'ja'
  25. } else {
  26. return 'en' // 默认英语
  27. }
  28. }
  29. const i18n = createI18n({
  30. legacy: false, // 使用组合式API
  31. locale: getBrowserLanguage(),
  32. fallbackLocale: 'en',
  33. messages: {
  34. en,
  35. zh,
  36. ja,
  37. ar,
  38. fr,
  39. ko,
  40. ms,
  41. pt,
  42. ru,
  43. th,
  44. vi,
  45. zh_TW
  46. }
  47. })
  48. export default i18n