ai-manus/chat-client/library/components/VabLanguage/index.vue

31 lines
944 B
Vue

<script lang="ts" setup>
import { useSettingsStore } from '@/store/modules/settings'
import getPageTitle from '@/utils/pageTitle'
const { locale } = useI18n()
const route = useRoute()
const settingsStore = useSettingsStore()
const { theme } = storeToRefs(settingsStore)
const { changeLanguage } = settingsStore
const handleCommand = (language: string) => {
changeLanguage(language)
locale.value = language
document.title = getPageTitle(route.meta.title)
}
</script>
<template>
<el-dropdown v-if="theme.showLanguage" @command="handleCommand">
<vab-icon icon="translate" />
<template #dropdown>
<el-dropdown-menu>
<el-dropdown-item command="zh">简体中文</el-dropdown-item>
<el-dropdown-item command="zh-TW">繁体中文</el-dropdown-item>
<el-dropdown-item command="en">English</el-dropdown-item>
</el-dropdown-menu>
</template>
</el-dropdown>
</template>