全局语言切换

This commit is contained in:
2025-10-30 20:53:20 +08:00
parent 5a2e52b465
commit d897ce85d4
+22 -4
View File
@@ -7,9 +7,10 @@ import { onMounted,ref} from 'vue';
// 使用 vue-i18n 的 Composition API // 使用 vue-i18n 的 Composition API
const { t } = useI18n() const { t ,locale} = useI18n()
const theTeme=ref('light'); const theTeme=ref('light');
const lang_sele = ref(null);
function set_them(temp:string) function set_them(temp:string)
{ {
@@ -17,10 +18,27 @@ function set_them(temp:string)
myfuncs.setTheme(temp,true); myfuncs.setTheme(temp,true);
} }
function changeLanguage(lang: Event) {
// 切换语言
const selectElement = lang.target as HTMLSelectElement;
const selectedLang = selectElement.value;
locale.value = selectedLang;
myfuncs.save('userLanguage', selectedLang);
//console.log("selectedLang:",selectedLang);
}
onMounted(() => { onMounted(() => {
const savedTheme = myfuncs.getThemefromStorge(); const savedTheme = myfuncs.getThemefromStorge();
theTeme.value=savedTheme; theTeme.value=savedTheme;
myfuncs.setTheme(savedTheme, false); myfuncs.setTheme(savedTheme, false);
const userLang = myfuncs.load('userLanguage');
if (userLang) {
locale.value = userLang;
if (lang_sele.value) {
(lang_sele.value as HTMLSelectElement).value = userLang;
}
}
}); });
</script> </script>
@@ -153,9 +171,9 @@ onMounted(() => {
</ul> </ul>
<div class="ms-auto"> <div class="ms-auto">
<select class="form-select"> <select class="form-select" @change="changeLanguage" ref="lang_sele">
<option value="STATUS_CODE" selected="">English</option> <option value="en">English</option>
<option value="JSON_BODY">中文</option> <option value="zh-CN">中文</option>
</select> </select>
</div> </div>