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'; const messages = { zh: { ...zhCN, ...zhLocale }, 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, legacy: false, locale: defLanguage || language.split('-')[0] || 'zh', // 设置默认语言 fallbackLocale: 'zh', // 设置备用语言 messages: messages // 设置资源文件对象 }) // 更新vant组件库本身的语言变化,支持国际化 function vantLocales (app: App) { app.use(i18n) 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(lan, zhCN) } } export {i18n, vantLocales}