change language #245 (#246)

### What problem does this PR solve?

change language

Issue link: #245



- [x] New Feature (non-breaking change which adds functionality)
This commit is contained in:
balibabu
2024-04-07 17:41:29 +08:00
committed by GitHub
parent 591202721d
commit 373946ef3f
47 changed files with 1301 additions and 458 deletions

View File

@@ -1,25 +1,27 @@
import SvgIcon from '@/components/svg-icon';
import { useTranslate } from '@/hooks/commonHooks';
import { useSelectParserList } from '@/hooks/userSettingHook';
import { Col, Divider, Empty, Row, Typography } from 'antd';
import { useMemo } from 'react';
import styles from './index.less';
import { ImageMap, TextMap } from './utils';
import { ImageMap } from './utils';
const { Title, Text } = Typography;
const CategoryPanel = ({ chunkMethod }: { chunkMethod: string }) => {
const parserList = useSelectParserList();
const { t } = useTranslate('knowledgeConfiguration');
const item = useMemo(() => {
const item = parserList.find((x) => x.value === chunkMethod);
if (item) {
return {
title: item.label,
description: TextMap[item.value as keyof typeof TextMap]?.description,
description: t(item.value),
};
}
return { title: '', description: '' };
}, [parserList, chunkMethod]);
}, [parserList, chunkMethod, t]);
const imageList = useMemo(() => {
if (chunkMethod in ImageMap) {
@@ -33,18 +35,17 @@ const CategoryPanel = ({ chunkMethod }: { chunkMethod: string }) => {
{imageList.length > 0 ? (
<>
<Title level={5} className={styles.topTitle}>
"{item.title}" Chunking Method Description
"{item.title}" {t('methodTitle')}
</Title>
<p
dangerouslySetInnerHTML={{
__html: item.description,
}}
></p>
<Title level={5}>"{item.title}" Examples</Title>
<Text>
This visual guides is in order to make understanding easier
for you.
</Text>
<Title level={5}>
"{item.title}" {t('methodExamples')}
</Title>
<Text>{t('methodExamplesDescription')}</Text>
<Row gutter={[10, 10]} className={styles.imageRow}>
{imageList.map((x) => (
<Col span={12} key={x}>
@@ -56,15 +57,14 @@ const CategoryPanel = ({ chunkMethod }: { chunkMethod: string }) => {
</Col>
))}
</Row>
<Title level={5}>{item.title} Dialogue Examples</Title>
<Title level={5}>
{item.title} {t('dialogueExamplesTitle')}
</Title>
<Divider></Divider>
</>
) : (
<Empty description={''} image={null}>
<p>
This will display a visual explanation of the knowledge base
categories
</p>
<p>{t('methodEmpty')}</p>
<SvgIcon name={'chunk-method/chunk-empty'} width={'100%'}></SvgIcon>
</Empty>
)}

View File

@@ -59,7 +59,7 @@ const ConfigurationForm = ({ form }: { form: FormInstance }) => {
</Form.Item>
<Form.Item
name="permission"
label="Permissions"
label={t('permissions')}
tooltip={t('permissionsTip')}
rules={[{ required: true }]}
>
@@ -70,7 +70,7 @@ const ConfigurationForm = ({ form }: { form: FormInstance }) => {
</Form.Item>
<Form.Item
name="embd_id"
label="Embedding model"
label={t('embeddingModel')}
rules={[{ required: true }]}
tooltip={t('embeddingModelTip')}
>
@@ -82,7 +82,7 @@ const ConfigurationForm = ({ form }: { form: FormInstance }) => {
</Form.Item>
<Form.Item
name="parser_id"
label="Chunk method"
label={t('chunkMethod')}
tooltip={t('chunkMethodTip')}
rules={[{ required: true }]}
>

View File

@@ -1,4 +1,5 @@
import { IKnowledge } from '@/interfaces/database/knowledge';
import i18n from '@/locales/config';
import kbService from '@/services/kbService';
import { message } from 'antd';
import { DvaModel } from 'umi';
@@ -32,7 +33,7 @@ const model: DvaModel<KSModelState> = {
const { data } = yield call(kbService.createKb, payload);
const { retcode } = data;
if (retcode === 0) {
message.success('Created!');
message.success(i18n.t('message.created'));
}
return data;
},
@@ -41,7 +42,7 @@ const model: DvaModel<KSModelState> = {
const { retcode } = data;
if (retcode === 0) {
yield put({ type: 'getKbDetail', payload: { kb_id: payload.kb_id } });
message.success('Updated!');
message.success(i18n.t('message.updated'));
}
},
*getKbDetail({ payload = {} }, { call, put }) {