You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.2 KiB
33 lines
1.2 KiB
/**
|
|
* 功能:对多语言包集中管理,切换语言时,进行本地存储。
|
|
* 作者:刘海春
|
|
* 时间:2024年10月5日
|
|
*/
|
|
import { ref, computed } from 'vue'
|
|
import cn from './zhcn' //简体中文包
|
|
import en from './en' //英文包
|
|
import th from './th' //泰语包
|
|
import hk from './zhhk' //中文繁体包
|
|
import kr from './kr' //韩语包
|
|
// import { LanguagePack } from './type'
|
|
export const languagePacks = {
|
|
cn,
|
|
hk,
|
|
en,
|
|
th,
|
|
kr
|
|
}
|
|
//默认简体中文,用户没有选择过yuyan
|
|
const currentLang = ref(localStorage.getItem('userLanguage') || 'cn')
|
|
export const t = computed(() => languagePacks[currentLang.value] || languagePacks['cn'])
|
|
// 用户第一次访问网站时,默认设置为 'cn'。
|
|
// 用户切换语言时,通过 changeLanguage 函数设置新的值:
|
|
export function changeLanguage(lang: string) {
|
|
if (languagePacks[lang]) {
|
|
currentLang.value = lang
|
|
localStorage.setItem('userLanguage', lang) // 这里设置新的 userLanguage
|
|
} else {
|
|
console.error(`Language pack not found: ${lang}`)
|
|
}
|
|
}
|
|
export const availableLanguages = Object.keys(languagePacks) //导出是何种语言['简体中文','英文','繁体中文','泰语']
|