国际化

This commit is contained in:
John
2024-03-09 02:34:09 +08:00
parent e702b1bc7f
commit 304421281f
7 changed files with 203 additions and 15 deletions

View File

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