import { createI18n } from 'vue-i18n'
|
|
import en from './locales/en.json'
|
|
import zh from './locales/zh.json'
|
|
import ja from './locales/ja.json'
|
|
|
|
// 获取浏览器语言或从本地存储中获取
|
|
const getBrowserLanguage = () => {
|
|
const storedLanguage = localStorage.getItem('language')
|
|
if (storedLanguage) {
|
|
return storedLanguage
|
|
}
|
|
|
|
const browserLanguage = navigator.language.toLowerCase()
|
|
if (browserLanguage.includes('zh')) {
|
|
return 'zh'
|
|
} else if (browserLanguage.includes('ja')) {
|
|
return 'ja'
|
|
} else {
|
|
return 'en' // 默认英语
|
|
}
|
|
}
|
|
|
|
const i18n = createI18n({
|
|
legacy: false, // 使用组合式API
|
|
locale: getBrowserLanguage(),
|
|
fallbackLocale: 'en',
|
|
messages: {
|
|
en,
|
|
zh,
|
|
ja
|
|
}
|
|
})
|
|
|
|
export default i18n
|