10614df567
- Synchronize 2641 i18n keys across all 4 locales (en-US, zh-CN, ko-KR, ru-RU) - Add TDesign ConfigProvider with dynamic locale to ensure all UI components (select, input, empty states, dialogs) display in the user's chosen language - Fix provider dropdown in model editor: use i18n keys with API fallback - Fix connection test messages: always use i18n for user-facing feedback - Add explicit placeholders to t-select components in settings pages - Add missing i18n keys: theme.selectTheme, organization role selectors, lkeap provider translations
48 lines
1.3 KiB
Vue
48 lines
1.3 KiB
Vue
<script setup lang="ts">
|
|
import { computed } from 'vue'
|
|
import { useI18n } from 'vue-i18n'
|
|
import ManualKnowledgeEditor from '@/components/manual-knowledge-editor.vue'
|
|
|
|
// TDesign locale configs
|
|
import enUSConfig from 'tdesign-vue-next/esm/locale/en_US'
|
|
import zhCNConfig from 'tdesign-vue-next/esm/locale/zh_CN'
|
|
import koKRConfig from 'tdesign-vue-next/esm/locale/ko_KR'
|
|
import ruRUConfig from 'tdesign-vue-next/esm/locale/ru_RU'
|
|
|
|
const { locale } = useI18n()
|
|
|
|
const tdLocaleMap: Record<string, object> = {
|
|
'en-US': enUSConfig,
|
|
'zh-CN': zhCNConfig,
|
|
'ko-KR': koKRConfig,
|
|
'ru-RU': ruRUConfig,
|
|
}
|
|
|
|
const tdGlobalConfig = computed(() => tdLocaleMap[locale.value] || enUSConfig)
|
|
</script>
|
|
<template>
|
|
<t-config-provider :globalConfig="tdGlobalConfig">
|
|
<div id="app">
|
|
<RouterView />
|
|
<ManualKnowledgeEditor />
|
|
</div>
|
|
</t-config-provider>
|
|
</template>
|
|
<style>
|
|
body,
|
|
html,
|
|
#app {
|
|
width: 100%;
|
|
height: 100%;
|
|
margin: 0;
|
|
padding: 0;
|
|
font-size: 14px;
|
|
font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB,
|
|
Microsoft YaHei, SimSun, sans-serif;
|
|
-webkit-font-smoothing: antialiased;
|
|
-moz-osx-font-smoothing: grayscale;
|
|
background: var(--td-bg-color-page);
|
|
color: var(--td-text-color-primary);
|
|
}
|
|
</style>
|