feat(i18n): add internationalization support across multiple components
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
import React, { useState, useEffect } from 'react';
|
||||
import { useParams, useNavigate } from 'react-router-dom';
|
||||
import { useForm, FormProvider, useWatch, Form } from 'react-hook-form';
|
||||
import { useTranslation } from 'react-i18next';
|
||||
import {
|
||||
Box,
|
||||
Typography,
|
||||
@@ -33,6 +34,7 @@ interface BaseFormData {
|
||||
function KnowledgeBaseSetting() {
|
||||
const { id } = useParams<{ id: string }>();
|
||||
const navigate = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const [tabValue, setTabValue] = useState<'generalForm' | 'chunkMethodForm'>('generalForm');
|
||||
|
||||
// 获取知识库详情
|
||||
@@ -103,7 +105,7 @@ function KnowledgeBaseSetting() {
|
||||
|
||||
const handleSubmit = async ({data}: {data: any}) => {
|
||||
if (!knowledge) return;
|
||||
console.log('提交数据:', data);
|
||||
console.log(t('knowledgeSettings.submitData'), data);
|
||||
|
||||
try {
|
||||
// 分别处理基础信息和配置信息
|
||||
@@ -118,7 +120,7 @@ function KnowledgeBaseSetting() {
|
||||
} as any;
|
||||
|
||||
await updateKnowledgeBasicInfo(basicData);
|
||||
showMessage.success('基础信息更新成功');
|
||||
showMessage.success(t('knowledgeSettings.basicInfoUpdateSuccess'));
|
||||
} else {
|
||||
const configData = {
|
||||
kb_id: knowledge.id,
|
||||
@@ -132,13 +134,15 @@ function KnowledgeBaseSetting() {
|
||||
};
|
||||
|
||||
await updateKnowledgeModelConfig(configData);
|
||||
showMessage.success('解析配置更新成功');
|
||||
showMessage.success(t('knowledgeSettings.parseConfigUpdateSuccess'));
|
||||
}
|
||||
|
||||
// 刷新知识库详情
|
||||
refresh();
|
||||
} catch (error) {
|
||||
showMessage.error(`${tabValue === 'generalForm' ? '基础信息' : '解析配置'}更新失败`);
|
||||
showMessage.error(t('knowledgeSettings.updateFailed', {
|
||||
type: tabValue === 'generalForm' ? t('knowledgeSettings.basicInfo') : t('knowledgeSettings.parseConfig')
|
||||
}));
|
||||
}
|
||||
};
|
||||
|
||||
@@ -149,7 +153,7 @@ function KnowledgeBaseSetting() {
|
||||
if (detailLoading) {
|
||||
return (
|
||||
<MainContainer>
|
||||
<Typography>加载中...</Typography>
|
||||
<Typography>{t('common.loading')}</Typography>
|
||||
</MainContainer>
|
||||
);
|
||||
}
|
||||
@@ -160,22 +164,22 @@ function KnowledgeBaseSetting() {
|
||||
<KnowledgeBreadcrumbs
|
||||
kbItems={[
|
||||
{
|
||||
label: '知识库',
|
||||
label: t('knowledgeSettings.knowledgeBase'),
|
||||
path: '/knowledge'
|
||||
},
|
||||
{
|
||||
label: knowledge?.name || '知识库详情',
|
||||
label: knowledge?.name || t('knowledgeSettings.knowledgeBaseDetail'),
|
||||
path: `/knowledge/${id}`
|
||||
},
|
||||
{
|
||||
label: '设置'
|
||||
label: t('knowledgeSettings.settings')
|
||||
}
|
||||
]}
|
||||
/>
|
||||
|
||||
<Box sx={{ mb: 3 }}>
|
||||
<Typography variant="h4" gutterBottom>
|
||||
知识库设置
|
||||
{t('knowledgeSettings.knowledgeBaseSettings')}
|
||||
</Typography>
|
||||
<Typography variant="subtitle1" color="text.secondary">
|
||||
{knowledge?.name}
|
||||
@@ -185,9 +189,9 @@ function KnowledgeBaseSetting() {
|
||||
<FormProvider {...form}>
|
||||
<Form onSubmit={handleSubmit}>
|
||||
<Box sx={{ borderBottom: 1, borderColor: 'divider' }}>
|
||||
<Tabs value={tabValue} onChange={handleTabChange} aria-label="设置选项卡">
|
||||
<Tab label="基础信息" value="generalForm" />
|
||||
<Tab label="解析配置" value="chunkMethodForm" />
|
||||
<Tabs value={tabValue} onChange={handleTabChange} aria-label={t('knowledgeSettings.settingsTabs')}>
|
||||
<Tab label={t('knowledgeSettings.basicInfo')} value="generalForm" />
|
||||
<Tab label={t('knowledgeSettings.parseConfig')} value="chunkMethodForm" />
|
||||
</Tabs>
|
||||
</Box>
|
||||
|
||||
@@ -202,7 +206,7 @@ function KnowledgeBaseSetting() {
|
||||
|
||||
<Box sx={{ mt: 3, display: 'flex', justifyContent: 'flex-end' }}>
|
||||
<Button type="submit" variant="contained">
|
||||
保存
|
||||
{t('common.save')}
|
||||
</Button>
|
||||
</Box>
|
||||
</Form>
|
||||
@@ -211,7 +215,7 @@ function KnowledgeBaseSetting() {
|
||||
{/* 返回按钮 */}
|
||||
<Fab
|
||||
color="primary"
|
||||
aria-label="返回知识库详情"
|
||||
aria-label={t('knowledgeSettings.backToKnowledgeDetail')}
|
||||
onClick={handleNavigateBack}
|
||||
sx={{
|
||||
position: 'fixed',
|
||||
|
||||
Reference in New Issue
Block a user