liveh5-nuxt/app/plugins/i18n.ts

31 lines
760 B
TypeScript
Raw Normal View History

2025-01-08 05:26:12 +00:00
import type { Locale as TypeLocale } from '#i18n'
import { Locale } from 'vant'
import enUS from 'vant/es/locale/lang/en-US'
import zhCN from 'vant/es/locale/lang/zh-CN'
import jaJP from 'vant/es/locale/lang/ja-JP'
import zhTW from 'vant/es/locale/lang/zh-TW'
2025-01-08 05:26:12 +00:00
export default defineNuxtPlugin(() => {
// 载入 vant 语言包
Locale.use('zh-CN', zhCN)
Locale.use('en-US', enUS)
Locale.use('ja-JP', jaJP)
Locale.use('zh-TW', zhTW)
2025-01-08 05:26:12 +00:00
if (import.meta.client) {
const i18n = useNuxtApp().$i18n
const { setLocale } = i18n
const lang = localStorage.getItem('lang')
if (lang) {
setLocale(lang as TypeLocale)
Locale.use(lang)
}
else {
setLocale(i18n.locale.value)
Locale.use(i18n.locale.value)
}
}
})