diff --git a/ui/src/components/generate-related-dialog/index.vue b/ui/src/components/generate-related-dialog/index.vue
index 937c48d4e..3dab90241 100644
--- a/ui/src/components/generate-related-dialog/index.vue
+++ b/ui/src/components/generate-related-dialog/index.vue
@@ -1,6 +1,6 @@
-
+
@@ -22,17 +22,23 @@
@@ -151,7 +157,7 @@ function submit() {
}
function back() {
if (documentsFiles.value?.length > 0) {
- MsgConfirm(t('common.tip'), `当前的更改尚未保存,确认退出吗?`, {
+ MsgConfirm(t('common.tip'), t('views.document.tip.saveMessage'), {
confirmButtonText: t('common.confirm'),
type: 'warning'
})
diff --git a/ui/src/views/dataset/component/EditParagraphDialog.vue b/ui/src/views/dataset/component/EditParagraphDialog.vue
index 9fa7cd93b..dd8912caf 100644
--- a/ui/src/views/dataset/component/EditParagraphDialog.vue
+++ b/ui/src/views/dataset/component/EditParagraphDialog.vue
@@ -1,6 +1,6 @@
- 关联问题
+ {{ $t('views.document.paragraph.relatedProblem.title') }}
@@ -27,7 +27,7 @@
diff --git a/ui/src/views/dataset/component/ParagraphList.vue b/ui/src/views/dataset/component/ParagraphList.vue
index 6f9cffa21..a99b386bf 100644
--- a/ui/src/views/dataset/component/ParagraphList.vue
+++ b/ui/src/views/dataset/component/ParagraphList.vue
@@ -31,7 +31,9 @@
{{ child.content }}
- {{ child.content.length }} 个字符
+
+ {{ child.content.length }} {{ $t('views.document.paragraph.character_count') }}
+
@@ -48,6 +50,7 @@ import { cloneDeep } from 'lodash'
import { ref, computed } from 'vue'
import EditParagraphDialog from './EditParagraphDialog.vue'
import { MsgConfirm } from '@/utils/message'
+import { t } from '@/locales'
const page_size = ref(30)
const current_page = ref(1)
const currentCIndex = ref(0)
@@ -78,10 +81,14 @@ const updateContent = (data: any) => {
}
const deleteHandle = (item: any, cIndex: number) => {
- MsgConfirm(`是否删除分段:${item.title || '-'} ?`, `删除后将不会存入知识库,对本地文档无影响。`, {
- confirmButtonText: t('common.delete'),
- confirmButtonClass: 'danger'
- })
+ MsgConfirm(
+ `${t('views.document.paragraph.delete.confirmTitle')}${item.title || '-'} ?`,
+ t('views.document.paragraph.delete.confirmMessage'),
+ {
+ confirmButtonText: t('common.delete'),
+ confirmButtonClass: 'danger'
+ }
+ )
.then(() => {
const new_value = [...props.modelValue]
new_value.splice(cIndex, 1)
diff --git a/ui/src/views/dataset/component/ParagraphPreview.vue b/ui/src/views/dataset/component/ParagraphPreview.vue
index 3ad15ced6..4563898a0 100644
--- a/ui/src/views/dataset/component/ParagraphPreview.vue
+++ b/ui/src/views/dataset/component/ParagraphPreview.vue
@@ -9,7 +9,9 @@
- {{ item.content.length }} 段落
+ {{ item.content.length }} {{ $t('views.document.paragraph.title') }}
diff --git a/ui/src/views/dataset/component/ResultSuccess.vue b/ui/src/views/dataset/component/ResultSuccess.vue
index d8ed40c6f..535ec54a4 100644
--- a/ui/src/views/dataset/component/ResultSuccess.vue
+++ b/ui/src/views/dataset/component/ResultSuccess.vue
@@ -1,27 +1,31 @@
-
+
{{ data?.document_list.length || 0 }}
- 文档
+ {{ $t('common.document') }}
{{ paragraph_count || 0 }}
- 分段
+ {{
+ $t('views.dataset.ResultSuccess.paragraph')
+ }}
{{ numberFormat(char_length) || 0 }}
- 字符
+ {{ $t('common.character') }}
- 返回知识库列表
- 前往文档
+ {{
+ $t('views.dataset.ResultSuccess.buttons.toDataset')
+ }}
+ {{
+ $t('views.dataset.ResultSuccess.buttons.toDocument')
+ }}
-
文档列表
+
{{ $t('views.dataset.ResultSuccess.documentList') }}
- {{ item && item?.paragraph_count }} 个分段
+ {{ item && item?.paragraph_count }}
+ {{ $t('views.dataset.ResultSuccess.paragraph_count') }}
@@ -45,7 +52,7 @@
- 导入中...
+ {{ $t('views.dataset.ResultSuccess.loading') }}...
diff --git a/ui/src/views/dataset/component/SetRules.vue b/ui/src/views/dataset/component/SetRules.vue
index b523aa75e..b64cd7b04 100644
--- a/ui/src/views/dataset/component/SetRules.vue
+++ b/ui/src/views/dataset/component/SetRules.vue
@@ -2,22 +2,24 @@
- 设置分段规则
+ {{ $t('views.document.setRules.title.setting') }}
- 智能分段(推荐)
- 不了解如何设置分段规则推荐使用智能分段
+ {{ $t('views.document.setRules.intelligent.label') }}
+ {{
+ $t('views.document.setRules.intelligent.text')
+ }}
- 高级分段
- 用户可根据文档规范自行设置分段标识符、分段长度以及清洗规则
+ {{ $t('views.document.setRules.advanced.label') }}
+
+ {{ $t('views.document.setRules.advanced.text') }}
@@ -30,10 +32,12 @@
-
- 导入时添加分段标题为关联问题(适用于标题为问题的问答对)
+
+ {{ $t('views.document.setRules.checkedConnect.label') }}
- 生成预览
+ {{ $t('views.document.setRules.buttons.preview') }}
-
分段预览
+
{{ $t('views.document.setRules.title.preview') }}
diff --git a/ui/src/views/dataset/component/SyncWebDialog.vue b/ui/src/views/dataset/component/SyncWebDialog.vue
index dd8f532ce..8c152b11f 100644
--- a/ui/src/views/dataset/component/SyncWebDialog.vue
+++ b/ui/src/views/dataset/component/SyncWebDialog.vue
@@ -1,32 +1,32 @@
- 同步方式
+ {{ $t('views.dataset.syncWeb.syncMethod') }}
- 替换同步
- 重新获取 Web 站点文档,覆盖替换本地知识库中的文档
+ {{ $t('views.dataset.syncWeb.replace') }}
+ {{ $t('views.dataset.syncWeb.replaceText') }}
- 整体同步
- 先删除本地知识库所有文档,重新获取 Web 站点文档
+ {{ $t('views.dataset.syncWeb.complete') }}
+ {{ $t('views.dataset.syncWeb.completeText') }}
- 注意:所有同步都会删除已有数据重新获取新数据,请谨慎操作。
+ {{ $t('views.dataset.syncWeb.tip') }}
- 1、点击下载对应模版并完善信息:
+ {{ $t('views.document.fileType.QA.tip1') }}
- 下载 Excel 模版
+ {{ $t('views.document.upload.download') }} Excel
+ {{ $t('views.document.upload.template') }}
- 下载 CSV 模版
+ {{ $t('views.document.upload.download') }} CSV
+ {{ $t('views.document.upload.template') }}
-
2、上传的表格文件中每个 sheet 会作为一个文档,sheet名称为文档名称
-
3、每次最多上传 50 个文件,每个文件不超过 100MB
+
{{ $t('views.document.fileType.QA.tip2') }}
+
{{ $t('views.document.fileType.QA.tip3') }}
- 拖拽文件至此上传或
- 选择文件
- 选择文件夹
+ {{ $t('views.document.upload.uploadMessage') }}
+
+ {{ $t('views.document.upload.selectFile') }}
+
+
+ {{ $t('views.document.upload.selectFiles') }}
+
-
支持格式:XLS、XLSX、CSV、ZIP
+
{{ $t('views.document.upload.formats') }}XLS、XLSX、CSV、ZIP
@@ -69,17 +77,19 @@
- 1、点击下载对应模版并完善信息:
+ {{ $t('views.document.fileType.table.tip1') }}
- 下载 Excel 模版
+ {{ $t('views.document.upload.download') }} Excel
+ {{ $t('views.document.upload.template') }}
- 下载 CSV 模版
+ {{ $t('views.document.upload.download') }} CSV
+ {{ $t('views.document.upload.template') }}
-
2、第一行必须是列标题,且列标题必须是有意义的术语,表中每条记录将作为一个分段
-
3、上传的表格文件中每个 sheet 会作为一个文档,sheet名称为文档名称
-
4、每次最多上传 50 个文件,每个文件不超过 100MB
+
{{ $t('views.document.fileType.table.tip2') }}
+
{{ $t('views.document.fileType.table.tip3') }}
+
{{ $t('views.document.fileType.table.tip4') }}
- 拖拽文件至此上传或
- 选择文件
- 选择文件夹
+ {{ $t('views.document.upload.uploadMessage') }}
+
+ {{ $t('views.document.upload.selectFile') }}
+
+
+ {{ $t('views.document.upload.selectFiles') }}
+
-
支持格式:XLS、XLSX、CSV、ZIP
+
{{ $t('views.document.upload.formats') }}XLS、XLSX、CSV、ZIP
@@ -116,8 +130,8 @@
-
1、文件上传前,建议规范文件的分段标识
-
2、每次最多上传 50 个文件,每个文件不超过 100MB
+
{{ $t('views.document.fileType.table.tip1') }}
+
{{ $t('views.document.fileType.table.tip2') }}
- 拖拽文件至此上传或
- 选择文件
- 选择文件夹
+ {{ $t('views.document.upload.uploadMessage') }}
+
+ {{ $t('views.document.upload.selectFile') }}
+
+
+ {{ $t('views.document.upload.selectFiles') }}
+
-
支持格式:TXT、Markdown、PDF、DOCX、HTML、XLS、XLSX、CSV、ZIP
+
{{ $t('views.document.upload.formats') }}TXT、Markdown、PDF、DOCX、HTML、XLS、XLSX、CSV、ZIP
@@ -179,6 +197,7 @@ import { filesize, getImgUrl, isRightType } from '@/utils/utils'
import { MsgError } from '@/utils/message'
import documentApi from '@/api/document'
import useStore from '@/stores'
+import { t } from '@/locales'
const { dataset } = useStore()
const documentsFiles = computed(() => dataset.documentsFiles)
const documentsType = computed(() => dataset.documentsType)
@@ -188,7 +207,7 @@ const form = ref({
})
const rules = reactive({
- fileList: [{ required: true, message: '请上传文件', trigger: 'change' }]
+ fileList: [{ required: true, message: t('views.document.upload.requiredMessage'), trigger: 'change' }]
})
const FormRef = ref()
@@ -198,11 +217,11 @@ watch(form.value, (value) => {
})
function downloadTemplate(type: string) {
- documentApi.exportQATemplate(`${type}模版.${type == 'csv' ? type : 'xlsx'}`, type)
+ documentApi.exportQATemplate(`${type}${t('views.document.upload.template')}.${type == 'csv' ? type : 'xlsx'}`, type)
}
function downloadTableTemplate(type: string) {
- documentApi.exportTableTemplate(`${type}模版.${type == 'csv' ? type : 'xlsx'}`, type)
+ documentApi.exportTableTemplate(`${type}${t('views.document.upload.template')}.${type == 'csv' ? type : 'xlsx'}`, type)
}
function radioChange() {
@@ -218,24 +237,24 @@ const fileHandleChange = (file: any, fileList: UploadFiles) => {
//1、判断文件大小是否合法,文件限制不能大于100M
const isLimit = file?.size / 1024 / 1024 < 100
if (!isLimit) {
- MsgError('文件大小超过 100MB')
+ MsgError(t('views.document.upload.errorMessage1'))
fileList.splice(-1, 1) //移除当前超出大小的文件
return false
}
if (!isRightType(file?.name, form.value.fileType)) {
- MsgError('文件格式不支持')
+ MsgError(t('views.document.upload.errorMessage2'))
fileList.splice(-1, 1)
return false
}
if (file?.size === 0) {
- MsgError('文件不能为空')
+ MsgError(t('views.document.upload.errorMessage3'))
fileList.splice(-1, 1)
return false
}
}
const onExceed = () => {
- MsgError('每次最多上传50个文件')
+ MsgError(t('views.document.upload.errorMessage4'))
}
const handlePreview = (bool: boolean) => {
diff --git a/ui/src/views/document/component/EmbeddingContentDialog.vue b/ui/src/views/document/component/EmbeddingContentDialog.vue
index 64cb6f8a8..f677feac7 100644
--- a/ui/src/views/document/component/EmbeddingContentDialog.vue
+++ b/ui/src/views/document/component/EmbeddingContentDialog.vue
@@ -1,13 +1,22 @@
-
+
- 向量化未成功的分段
- 全部分段
+ {{
+ $t('views.document.form.selectVectorization.error')
+ }}
+ {{
+ $t('views.document.form.selectVectorization.all')
+ }}
diff --git a/ui/src/views/document/component/ImportDocumentDialog.vue b/ui/src/views/document/component/ImportDocumentDialog.vue
index 778dd3d5e..a1419db3f 100644
--- a/ui/src/views/document/component/ImportDocumentDialog.vue
+++ b/ui/src/views/document/component/ImportDocumentDialog.vue
@@ -13,34 +13,43 @@
:model="form"
require-asterisk-position="right"
>
-
+
-
+
-
+
-
命中处理方式
+
{{
+ $t('views.document.form.hit_handling_method.requiredMessage')
+ }}
@@ -58,7 +67,7 @@
v-if="!isImport && form.hit_handling_method === 'directly_return'"
>
- 相似度高于
+ {{ $t('views.document.form.similarity.label') }}
直接返回分段内容
+ />{{ $t('views.document.form.similarity.placeholder') }}
@@ -90,7 +99,7 @@ import type { FormInstance } from 'element-plus'
import documentApi from '@/api/document'
import { MsgSuccess } from '@/utils/message'
import { hitHandlingMethod } from '@/enums/document'
-
+import { t } from '@/locales'
const route = useRoute()
const {
params: { id }
@@ -119,8 +128,20 @@ const documentType = ref('') //文档类型:1: web文档;0:
const documentList = ref>([])
const rules = reactive({
- source_url: [{ required: true, message: '请输入文档地址', trigger: 'blur' }],
- directly_return_similarity: [{ required: true, message: '请输入相似度', trigger: 'blur' }]
+ source_url: [
+ {
+ required: true,
+ message: t('views.document.form.source_url.requiredMessage'),
+ trigger: 'blur'
+ }
+ ],
+ directly_return_similarity: [
+ {
+ required: true,
+ message: t('views.document.form.similarity.requiredMessage'),
+ trigger: 'blur'
+ }
+ ]
})
const dialogVisible = ref(false)
@@ -171,7 +192,7 @@ const submit = async (formEl: FormInstance | undefined) => {
selector: form.value.selector
}
documentApi.postWebDocument(id, obj, loading).then(() => {
- MsgSuccess('导入成功')
+ MsgSuccess(t('views.document.tip.importMessage'))
emit('refresh')
dialogVisible.value = false
})
@@ -186,7 +207,7 @@ const submit = async (formEl: FormInstance | undefined) => {
}
}
documentApi.putDocument(id, documentId.value, obj, loading).then(() => {
- MsgSuccess('设置成功')
+ MsgSuccess(t('common.settingSuccess'))
emit('refresh')
dialogVisible.value = false
})
@@ -198,7 +219,7 @@ const submit = async (formEl: FormInstance | undefined) => {
id_list: documentList.value
}
documentApi.batchEditHitHandling(id, obj, loading).then(() => {
- MsgSuccess('设置成功')
+ MsgSuccess(t('common.settingSuccess'))
emit('refresh')
dialogVisible.value = false
})
diff --git a/ui/src/views/document/component/SelectDatasetDialog.vue b/ui/src/views/document/component/SelectDatasetDialog.vue
index 41da19d70..23fac49ee 100644
--- a/ui/src/views/document/component/SelectDatasetDialog.vue
+++ b/ui/src/views/document/component/SelectDatasetDialog.vue
@@ -1,6 +1,6 @@
diff --git a/ui/src/views/document/component/Status.vue b/ui/src/views/document/component/Status.vue
index bd9dd6710..2875543a5 100644
--- a/ui/src/views/document/component/Status.vue
+++ b/ui/src/views/document/component/Status.vue
@@ -42,6 +42,7 @@
import { computed, ref } from 'vue'
import { TaskType, State } from '@/utils/status'
import StatusTable from '@/views/document/component/StatusTable.vue'
+import { t } from '@/locales'
const props = defineProps<{ status: string; statusMeta: any }>()
const visible = ref(false)
const checkList: Array = [
@@ -65,22 +66,22 @@ const aggStatus = computed(() => {
return obj
})
const startedMap = {
- [TaskType.EMBEDDING]: '索引中',
- [TaskType.GENERATE_PROBLEM]: '生成中',
- [TaskType.SYNC]: '同步中'
+ [TaskType.EMBEDDING]: t('views.document.fileStatus.EMBEDDING'),
+ [TaskType.GENERATE_PROBLEM]: t('views.document.fileStatus.GENERATE'),
+ [TaskType.SYNC]: t('views.document.fileStatus.SYNC')
}
const taskTypeMap = {
- [TaskType.EMBEDDING]: '向量化',
- [TaskType.GENERATE_PROBLEM]: '生成问题',
- [TaskType.SYNC]: '同步'
+ [TaskType.EMBEDDING]: t('views.dataset.setting.vectorization'),
+ [TaskType.GENERATE_PROBLEM]: t('views.document.setting.generateQuestion'),
+ [TaskType.SYNC]: t('views.dataset.setting.sync')
}
const stateMap: any = {
- [State.PENDING]: (type: number) => '排队中',
+ [State.PENDING]: (type: number) => t('views.document.fileStatus.PENDING'),
[State.STARTED]: (type: number) => startedMap[type],
- [State.REVOKE]: (type: number) => '取消中',
- [State.REVOKED]: (type: number) => '成功',
- [State.FAILURE]: (type: number) => '失败',
- [State.SUCCESS]: (type: number) => '成功'
+ [State.REVOKE]: (type: number) => t('views.document.fileStatus.REVOKE'),
+ [State.REVOKED]: (type: number) => t('views.document.fileStatus.SUCCESS'),
+ [State.FAILURE]: (type: number) => t('views.document.fileStatus.FAILURE'),
+ [State.SUCCESS]: (type: number) => t('views.document.fileStatus.SUCCESS'),
}
diff --git a/ui/src/views/document/index.vue b/ui/src/views/document/index.vue
index 849007c35..225f71756 100644
--- a/ui/src/views/document/index.vue
+++ b/ui/src/views/document/index.vue
@@ -1,5 +1,5 @@
-
+
@@ -8,28 +8,28 @@
v-if="datasetDetail.type === '0'"
type="primary"
@click="router.push({ path: '/dataset/upload', query: { id: id } })"
- >上传文档
-
导入文档{{ $t('views.document.uploadDocument') }}
+
{{
+ $t('views.document.importDocument')
+ }}
同步文档{{ $t('views.document.syncDocument') }}
- 迁移
+ {{ $t('views.document.setting.migration') }}
- 向量化
+ {{ $t('views.dataset.setting.vectorization') }}
- 生成问题
+ {{ $t('views.document.setting.generateQuestion') }}
- 设置
+ {{ $t('common.setting') }}
{{ $t('common.delete') }}
@@ -38,7 +38,7 @@
-
+
-
+
{{ numberFormat(row.char_length) }}
-
-
+
+
-
文件状态
+
{{ $t('views.document.fileStatus.label') }}
全部{{ $t('views.document.table.all') }}
成功{{ $t('views.document.fileStatus.SUCCESS') }}
失败{{ $t('views.document.fileStatus.FAILURE') }}
索引中{{ $t('views.document.fileStatus.EMBEDDING') }}
排队中{{ $t('views.document.fileStatus.PENDING') }}
生成中{{ $t('views.document.fileStatus.GENERATE') }}
@@ -150,7 +162,7 @@
-
启用状态
+
{{ $t('views.document.enableStatus.label') }}
全部{{ $t('views.document.table.all') }}
开启{{ $t('views.document.enableStatus.enable') }}
关闭{{ $t('views.document.enableStatus.close') }}
@@ -198,7 +210,7 @@
-
命中处理方式
+
{{ $t('views.document.form.hit_handling_method.label') }}
全部{{ $t('views.document.table.all') }}
-
+
{{ datetimeFormat(row.update_time) }}
@@ -253,7 +269,7 @@
getTaskState(row.status, TaskType.EMBEDDING)
)
"
- content="取消向量化"
+ :content="$t('views.document.setting.cancelVectorization')"
placement="top"
>
-
+
-
+
@@ -293,23 +314,23 @@
@click="cancelTask(row, TaskType.GENERATE_PROBLEM)"
>
- 取消生成问题
+ {{ $t('views.document.setting.cancelGenerateQuestion') }}
- 生成问题
+ {{ $t('views.document.setting.generateQuestion') }}
- 迁移
+ {{ $t('views.document.setting.migration') }}
- 导出Excel
+ {{ $t('common.export') }}Excel
- 导出Zip
+ {{ $t('common.export') }}Zip
{{
$t('common.delete')
@@ -321,7 +342,11 @@
-
+
@@ -335,7 +360,7 @@
getTaskState(row.status, TaskType.EMBEDDING)
)
"
- content="取消向量化"
+ :content="$t('views.document.setting.cancelVectorization')"
placement="top"
>
-
+
@@ -361,9 +391,9 @@
- 设置
+ {{
+ $t('common.setting')
+ }}
- 取消生成问题
+ {{ $t('views.document.setting.cancelGenerateQuestion') }}
- 生成问题
+ {{ $t('views.document.setting.generateQuestion') }}
- 迁移
- 导出Excel
+ {{ $t('common.export') }}Excel
- 导出Zip
+ {{ $t('common.export') }}Zip
{{
$t('common.delete')
@@ -412,15 +442,18 @@
- 取消向量化
+ {{ $t('views.document.setting.cancelVectorization') }}
- 取消生成
+ {{ $t('views.document.setting.cancelGenerate') }}
- 已选 {{ multipleSelection.length }} 项
+ {{ $t('views.document.selected') }} {{ multipleSelection.length }}
+ {{ $t('views.document.items') }}
- 清空
+
+ {{ $t('common.clear') }}
+
@@ -442,6 +475,7 @@ import StatusVlue from '@/views/document/component/Status.vue'
import GenerateRelatedDialog from '@/components/generate-related-dialog/index.vue'
import EmbeddingContentDialog from '@/views/document/component/EmbeddingContentDialog.vue'
import { TaskType, State } from '@/utils/status'
+import { t } from '@/locales'
const router = useRouter()
const route = useRoute()
const {
@@ -496,14 +530,14 @@ const SelectDatasetDialogRef = ref()
const exportDocument = (document: any) => {
documentApi.exportDocument(document.name, document.dataset_id, document.id, loading).then(() => {
- MsgSuccess('导出成功')
+ MsgSuccess(t('common.exportSuccess'))
})
}
const exportDocumentZip = (document: any) => {
documentApi
.exportDocumentZip(document.name, document.dataset_id, document.id, loading)
.then(() => {
- MsgSuccess('导出成功')
+ MsgSuccess(t('common.exportSuccess'))
})
}
@@ -519,7 +553,7 @@ function cancelTaskHandle(val: any) {
type: val
}
documentApi.batchCancelTask(id, obj, loading).then(() => {
- MsgSuccess('批量取消成功')
+ MsgSuccess(t('views.document.tip.cancelSuccessMessage'))
multipleTableRef.value?.clearSelection()
})
}
@@ -561,16 +595,16 @@ function beforeCommand(attr: string, val: any, task_type?: number) {
}
const cancelTask = (row: any, task_type: number) => {
documentApi.cancelTask(row.dataset_id, row.id, { type: task_type }).then(() => {
- MsgSuccess('发送成功')
+ MsgSuccess(t('views.document.tip.sendMessage'))
})
}
function importDoc() {
- title.value = '导入文档'
+ title.value = t('views.document.importDocument')
ImportDocumentDialogRef.value.open()
}
function settingDoc(row: any) {
- title.value = '设置'
+ title.value = t('common.setting')
ImportDocumentDialogRef.value.open(row)
}
@@ -579,7 +613,7 @@ const handleSelectionChange = (val: any[]) => {
}
function openBatchEditDocument() {
- title.value = '设置'
+ title.value = t('common.setting')
const arr: string[] = multipleSelection.value.map((v) => v.id)
ImportDocumentDialogRef.value.open(null, arr)
}
@@ -604,8 +638,8 @@ const closeInterval = () => {
function syncDocument(row: any) {
if (row.meta?.source_url) {
- MsgConfirm(`确认同步文档?`, `同步将删除已有数据重新获取新数据,请谨慎操作。`, {
- confirmButtonText: '同步',
+ MsgConfirm(t('views.document.sync.confirmTitle'), t('views.document.sync.confirmMessage1'), {
+ confirmButtonText: t('views.document.sync.label'),
confirmButtonClass: 'danger'
})
.then(() => {
@@ -615,7 +649,7 @@ function syncDocument(row: any) {
})
.catch(() => {})
} else {
- MsgConfirm(t('common.tip'), `无法同步,请先去设置文档 URL地址`, {
+ MsgConfirm(t('common.tip'), t('views.document.sync.confirmMessage2'), {
confirmButtonText: t('common.confirm'),
type: 'warning'
})
@@ -666,15 +700,15 @@ function syncMulDocument() {
}
})
documentApi.delMulSyncDocument(id, arr, loading).then(() => {
- MsgSuccess('同步文档成功')
+ MsgSuccess(t('views.document.sync.successMessage'))
getList()
})
}
function deleteMulDocument() {
MsgConfirm(
- `是否批量删除 ${multipleSelection.value.length} 个文档?`,
- `所选文档中的分段会跟随删除,请谨慎操作。`,
+ `${t('views.document.delete.confirmTitle1')} ${multipleSelection.value.length} ${t('views.document.delete.confirmTitle2')}`,
+ t('views.document.delete.confirmMessage'),
{
confirmButtonText: t('common.delete'),
confirmButtonClass: 'danger'
@@ -688,7 +722,7 @@ function deleteMulDocument() {
}
})
documentApi.delMulDocument(id, arr, loading).then(() => {
- MsgSuccess('批量删除成功')
+ MsgSuccess(t('views.document.delete.successMessage'))
multipleTableRef.value?.clearSelection()
getList()
})
@@ -700,7 +734,7 @@ function batchRefresh() {
const arr: string[] = multipleSelection.value.map((v) => v.id)
const embeddingBatchDocument = (stateList: Array) => {
documentApi.batchRefresh(id, arr, stateList, loading).then(() => {
- MsgSuccess('批量向量化成功')
+ MsgSuccess(t('views.document.tip.vectorizationSuccessMessage'))
multipleTableRef.value?.clearSelection()
})
}
@@ -709,8 +743,8 @@ function batchRefresh() {
function deleteDocument(row: any) {
MsgConfirm(
- `是否删除文档:${row.name} ?`,
- `此文档下的 ${row.paragraph_count} 个分段都会被删除,请谨慎操作。`,
+ `${t('views.document.delete.confirmTitle3')} ${row.name} ?`,
+ `${t('views.document.delete.confirmMessage1')} ${row.paragraph_count} ${t('views.document.delete.confirmMessage2')}`,
{
confirmButtonText: t('common.delete'),
confirmButtonClass: 'danger'
@@ -746,7 +780,7 @@ function changeState(row: any) {
const obj = {
is_active: !row.is_active
}
- const str = !row.is_active ? '启用成功' : '禁用成功'
+ const str = !row.is_active ? t('common.status.enableSuccess') : t('common.status.disableSuccess')
currentMouseId.value && updateData(row.id, obj, str)
}
@@ -755,9 +789,9 @@ function editName(val: string, id: string) {
const obj = {
name: val
}
- updateData(id, obj, '修改成功')
+ updateData(id, obj, t('common.modifySuccess'))
} else {
- MsgError('文件名称不能为空!')
+ MsgError(t('views.document.tip.nameMessage'))
}
}
diff --git a/ui/src/views/paragraph/component/ParagraphForm.vue b/ui/src/views/paragraph/component/ParagraphForm.vue
index 43739d243..19f3c51b0 100644
--- a/ui/src/views/paragraph/component/ParagraphForm.vue
+++ b/ui/src/views/paragraph/component/ParagraphForm.vue
@@ -7,22 +7,22 @@
:rules="rules"
@submit.prevent
>
-
+
{{ form.title || '-' }}
-
+
({
const rules = reactive({
content: [
- { required: true, message: '请输入分段内容', trigger: 'blur' },
- { max: 100000, message: '内容最多不超过 100000 个字', trigger: 'blur' }
+ { required: true, message: t('views.document.paragraph.form.content.requiredMessage1'), trigger: 'blur' },
+ { max: 100000, message: t('views.document.paragraph.form.content.requiredMessage2'), trigger: 'blur' }
]
})
diff --git a/ui/src/views/paragraph/component/ProblemComponent.vue b/ui/src/views/paragraph/component/ProblemComponent.vue
index c7cbf91f8..b097b6c03 100644
--- a/ui/src/views/paragraph/component/ProblemComponent.vue
+++ b/ui/src/views/paragraph/component/ProblemComponent.vue
@@ -1,7 +1,7 @@
- 关联问题
+ {{ $t('views.document.paragraph.relatedProblem.title') }}
@@ -18,7 +18,7 @@
allow-create
default-first-option
:reserve-keyword="false"
- placeholder="请选择问题"
+ :placeholder="$t('views.document.paragraph.relatedProblem.placeholder')"
remote
:remote-method="remoteMethod"
:loading="optionLoading"
diff --git a/ui/src/views/paragraph/component/SelectDocumentDialog.vue b/ui/src/views/paragraph/component/SelectDocumentDialog.vue
index ad8935f85..6d88d9088 100644
--- a/ui/src/views/paragraph/component/SelectDocumentDialog.vue
+++ b/ui/src/views/paragraph/component/SelectDocumentDialog.vue
@@ -65,8 +65,10 @@
diff --git a/ui/src/views/paragraph/index.vue b/ui/src/views/paragraph/index.vue
index 4f798e97d..38e75622a 100644
--- a/ui/src/views/paragraph/index.vue
+++ b/ui/src/views/paragraph/index.vue
@@ -124,11 +124,11 @@
- 生成问题
- 迁移
{{
$t('common.delete')
@@ -148,10 +148,10 @@
- 生成问题
+ {{ $t('views.document.setting.generateQuestion') }}
- 迁移
+ {{$t('views.document.setting.migration')}}