feat: 添加加载保存语言的功能,优化语言管理逻辑
This commit is contained in:
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user