Files

43 lines
928 B
Vue
Raw Normal View History

2023-06-13 13:40:54 +08:00
<template>
2023-07-11 17:21:34 +08:00
<el-config-provider :locale="locale_el">
<router-view />
</el-config-provider>
2023-06-13 13:40:54 +08:00
</template>
<script setup>
2023-07-11 17:21:34 +08:00
import ru from "element-plus/dist/locale/ru";
import zhCn from "element-plus/dist/locale/zh-cn";
2023-06-13 13:40:54 +08:00
import useSettingsStore from "@/store/modules/settings";
import { handleThemeStyle } from "@/utils/theme";
2023-07-11 17:21:34 +08:00
import { computed, watch } from "vue";
import { useI18n } from "vue-i18n";
const settingsStore = useSettingsStore();
const { locale } = useI18n();
const locale_el = computed(() => {
let locale = zhCn;
if (settingsStore.locale === "zh") {
locale = zhCn;
} else if (settingsStore.locale === "ru") {
locale = ru;
}
return locale;
});
watch(
() => settingsStore.locale,
(newVal) => {
locale.value = newVal;
},
2024-03-13 16:45:15 +08:00
{ immediate: true },
2023-07-11 17:21:34 +08:00
);
2023-06-13 13:40:54 +08:00
onMounted(() => {
nextTick(() => {
// 初始化主题样式
handleThemeStyle(useSettingsStore().theme);
});
});
</script>