import { createI18n } from 'vue-i18n' // import en from '../locales/en' // import zh from '../locales/zh' // import ja from '../locales/ja' // import zhTW from '../locales/zh-TW' import en from '../locales/enc' import zh from '../locales/zhc' import ja from '../locales/jac' import zhTW from '../locales/zh-TWc' // 获取浏览器语言 function getBrowserLanguage() { const language = navigator.language || navigator.userLanguage const lang = language.toLowerCase() // 匹配语言 if (lang.includes('zh')) { if (lang.includes('tw') || lang.includes('hk')) { return 'zh-TW' } return 'zh' } if (lang.includes('ja')) { return 'ja' } return 'en' // 默认英语 } // 读取本地或浏览器语言,默认英文 const savedLanguage = (typeof localStorage !== 'undefined' && localStorage.getItem('language')) || getBrowserLanguage() const i18n = createI18n({ legacy: false, // 使用 Composition API locale: savedLanguage, fallbackLocale: 'en', // 备用语言也设为英文 messages: { en, zh, ja, 'zh-TW': zhTW, } }) export default i18n