2026-04-13 15:15:14 +08:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
import { useI18n } from 'vue-i18n'
|
|
|
|
|
import { NSelect } from 'naive-ui'
|
|
|
|
|
|
2026-04-17 09:09:50 +08:00
|
|
|
const { locale } = useI18n()
|
2026-04-13 15:15:14 +08:00
|
|
|
|
2026-04-17 09:09:50 +08:00
|
|
|
const options = [
|
|
|
|
|
{ label: '中文', value: 'zh' },
|
|
|
|
|
{ label: 'English', value: 'en' },
|
|
|
|
|
{ label: '日本語', value: 'ja' },
|
|
|
|
|
{ label: '한국어', value: 'ko' },
|
|
|
|
|
{ label: 'Français', value: 'fr' },
|
|
|
|
|
{ label: 'Español', value: 'es' },
|
|
|
|
|
{ label: 'Deutsch', value: 'de' },
|
|
|
|
|
{ label: 'Português', value: 'pt' },
|
|
|
|
|
]
|
2026-04-13 15:15:14 +08:00
|
|
|
|
|
|
|
|
function handleChange(val: string) {
|
|
|
|
|
locale.value = val
|
|
|
|
|
localStorage.setItem('hermes_locale', val)
|
|
|
|
|
}
|
|
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<template>
|
|
|
|
|
<NSelect
|
|
|
|
|
:value="locale"
|
|
|
|
|
:options="options"
|
|
|
|
|
size="tiny"
|
|
|
|
|
:consistent-menu-width="false"
|
2026-04-15 09:12:54 +08:00
|
|
|
class="input-sm"
|
2026-04-13 15:15:14 +08:00
|
|
|
@update:value="handleChange"
|
|
|
|
|
/>
|
|
|
|
|
</template>
|