国外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.

33 lines
760 B

2 weeks 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. // 获取浏览器语言或从本地存储中获取
  6. const getBrowserLanguage = () => {
  7. const storedLanguage = localStorage.getItem('language')
  8. if (storedLanguage) {
  9. return storedLanguage
  10. }
  11. const browserLanguage = navigator.language.toLowerCase()
  12. if (browserLanguage.includes('zh')) {
  13. return 'zh'
  14. } else if (browserLanguage.includes('ja')) {
  15. return 'ja'
  16. } else {
  17. return 'en' // 默认英语
  18. }
  19. }
  20. const i18n = createI18n({
  21. legacy: false, // 使用组合式API
  22. locale: getBrowserLanguage(),
  23. fallbackLocale: 'en',
  24. messages: {
  25. en,
  26. zh,
  27. ja
  28. }
  29. })
  30. export default i18n