feat: 添加加载保存语言的功能,优化语言管理逻辑

This commit is contained in:
2025-12-20 04:23:36 +07:00
parent 3774ac8a2a
commit 37ddeb1a07
2 changed files with 7 additions and 6 deletions

View File

@@ -11,6 +11,7 @@ export interface Language {
*/
export function useLanguage() {
const { locale, availableLocales } = useI18n();
const language = useStorage<Locale>("app-language", locale.value);
// 可用的语言列表
const languages: Language[] = [
@@ -36,17 +37,15 @@ export function useLanguage() {
*/
function setLanguage(langCode: Locale) {
locale.value = langCode;
// 持久化到 localStorage
localStorage.setItem("app-language", langCode);
language.value = langCode;
}
/**
* 从 localStorage 加载保存的语言
*/
function loadSavedLanguage() {
const saved = localStorage.getItem("app-language") as Locale;
if (saved && availableLocales.includes(saved)) {
locale.value = saved;
if (language.value && availableLocales.includes(language.value)) {
locale.value = language.value;
}
}