国际化

This commit is contained in:
John
2024-03-09 00:45:48 +08:00
parent c595061dc8
commit 80dbf50d4b
28 changed files with 745 additions and 291 deletions

40
src/lang/index.ts Normal file
View File

@@ -0,0 +1,40 @@
import { createI18n } from 'vue-i18n';
import {Locale} from 'vant'
import zhCN from 'vant/lib/locale/lang/zh-CN'
import idId from 'vant/lib/locale/lang/id-ID'
import zhLocale from './zh_cn'
import idLocale from './id_ID'
import type { App } from 'vue';
const messages = {
zh: {
...zhCN,
...zhLocale
},
id: {
...idId,
...idLocale
}
}
const language = (navigator.language || 'zh').toLocaleLowerCase(); // 这是获取浏览器的语言
console.log('当前的环境语言是:', language)
console.log('当前的后台语言是:', localStorage.getItem('lang'))
const i18n = createI18n({
allowComposition: true,
locale: localStorage.getItem('lang') || language.split('-')[0] || 'zh', // 设置默认语言
fallbackLocale: 'zh', // 设置备用语言
messages: messages // 设置资源文件对象
})
// 更新vant组件库本身的语言变化支持国际化
export function vantLocales (app: App<Element>) {
app.use(i18n)
if (language === 'zh') {
Locale.use(language, zhCN)
} else if (language === 'id') {
Locale.use(language, idId)
}
}