diff --git a/src/components/setting/Basic.vue b/src/components/setting/Basic.vue index 778eb8a..c4fd319 100644 --- a/src/components/setting/Basic.vue +++ b/src/components/setting/Basic.vue @@ -13,9 +13,12 @@ import { useDialog, NCard, NIcon, + NFormItem, + NSelect, } from "naive-ui"; import { relaunch } from "@tauri-apps/plugin-process"; import { onMounted, ref } from "vue"; +import i18n from "../../i18n"; const localStore = new Store("store.bin"); const dialog = useDialog(); @@ -25,8 +28,16 @@ const showDataModal = ref(false); const dataModalInputVal = ref(""); let curDataIndex = -1; -onMounted(() => { +const languageOptions = [ + { label: "简体中文", value: "zh-CN" }, + { label: "English", value: "en-US" }, +]; + +const curLanguage = ref("en-US"); + +onMounted(async () => { refreshLocalData(); + curLanguage.value = (await localStore.get("language")) ?? "en-US"; }); async function refreshLocalData() { @@ -69,10 +80,25 @@ function delLocalStore(key?: string) { }); } } + +function changeLanguage(language: "zh-CN" | "en-US") { + if (language === curLanguage.value) return; + curLanguage.value = language; + localStore.set("language", language); + i18n.global.locale = language; +}