From fd10dd061b41d0ba3d0ef43acb47069267f273e8 Mon Sep 17 00:00:00 2001
From: wenjinbo <599483010@qq.com>
Date: Mon, 21 Jul 2025 17:39:30 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=89=8D=E7=AB=AF=E5=90=AF?=
=?UTF-8?q?=E5=8A=A8=E6=8A=A5=E9=94=99?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
chat-client/.env.development | 8 +-
chat-client/.env.production | 10 +-
chat-client/src/locales/en.ts | 273 ++++++--
chat-client/src/locales/zh-TW.ts | 273 ++++++--
chat-client/src/locales/zh.ts | 280 ++++++--
.../views/chatweb/historicalRecords/index.vue | 647 +++++++++---------
.../datasets/components/DocumentList.vue | 6 +-
.../datasetManage/components/datasetBind.vue | 45 +-
.../views/permission/datasetManage/index.vue | 92 +--
.../src/views/permission/dicManage/index.vue | 88 +--
.../src/views/permission/keysManage/index.vue | 124 ++--
11 files changed, 1180 insertions(+), 666 deletions(-)
diff --git a/chat-client/.env.development b/chat-client/.env.development
index 5234d76..0d5dbf3 100644
--- a/chat-client/.env.development
+++ b/chat-client/.env.development
@@ -5,11 +5,11 @@ NODE_ENV=development
# VUE_APP_BASE_URL='http://localhost:10001'
# VUE_APP_API_BASE_URL='http://localhost:8080'
#北京服务器配置
-# VUE_APP_BASE_URL='http://192.168.1.211:80/brichat'
-# VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat'
+VUE_APP_BASE_URL='http://192.168.1.211:80/brichat'
+VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat'
#武汉公司服务器
-VUE_APP_BASE_URL='http://192.168.8.253:80/brichat'
-VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat'
+# VUE_APP_BASE_URL='http://192.168.8.253:80/brichat'
+# VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat'
#总部服务器配置
# VUE_APP_BASE_URL='http://192.168.0.33:80/brichat'
# VUE_APP_API_BASE_URL='http://192.168.0.33:80/brichat'
diff --git a/chat-client/.env.production b/chat-client/.env.production
index 95cab60..ae24305 100644
--- a/chat-client/.env.production
+++ b/chat-client/.env.production
@@ -5,11 +5,11 @@ NODE_ENV=production
# VUE_APP_BASE_URL='http://localhost:10001'
# VUE_APP_API_BASE_URL='http://localhost:10001'
#北京服务器
-# VUE_APP_BASE_URL='http://192.168.1.211:80/brichat'
-# VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat'
+VUE_APP_BASE_URL='http://192.168.1.211:80/brichat'
+VUE_APP_API_BASE_URL='http://192.168.1.211:80/brichat'
#武汉公司服务器
-VUE_APP_BASE_URL='http://192.168.8.253:80/brichat'
-VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat'
-#总部服务器
+# VUE_APP_BASE_URL='http://192.168.8.253:80/brichat'
+# VUE_APP_API_BASE_URL='http://192.168.8.253:80/brichat'
+# 总部服务器
# VUE_APP_BASE_URL='http://192.168.0.33:80/brichat'
# VUE_APP_API_BASE_URL='http://192.168.0.33:80/brichat'
\ No newline at end of file
diff --git a/chat-client/src/locales/en.ts b/chat-client/src/locales/en.ts
index 303ee95..abb54b4 100644
--- a/chat-client/src/locales/en.ts
+++ b/chat-client/src/locales/en.ts
@@ -1,5 +1,8 @@
+import { add } from 'lodash'
+import { editDept } from '../api/departmentManagement'
+
export default {
- vabI18n:{
+ vabI18n: {
role: {
index: 'Index',
name: 'Username',
@@ -27,9 +30,9 @@ export default {
edit: 'Edit',
delete: 'Delete',
stopGenerating: 'Stop Generating',
- placeEnter:'Please enter your question...',
- placeEnterChart:'Please enter your question...',
- placeEnterDiag:'Please enter your question...',
+ placeEnter: 'Please enter your question...',
+ placeEnterChart: 'Please enter your question...',
+ placeEnterDiag: 'Please enter your question...',
placeholder: 'Enter your message...',
you: 'You',
assistant: 'AI Assistant',
@@ -42,8 +45,8 @@ export default {
think: 'Thought Process',
like: 'Like',
dislike: 'Dislike',
- cancel:'Cancel',
- send:'Send',
+ cancel: 'Cancel',
+ send: 'Send',
},
personal: {
title: 'Personal Center',
@@ -99,11 +102,11 @@ export default {
confirmNewPasswordPlaceholder: 'Please re-enter new password',
changePasswordDialogTitle: 'Change Password',
pleaseConfirmNewPassword: 'Please confirm the new password',
- passwordNoEqual:'Entered passwords differ!',
+ passwordNoEqual: 'Entered passwords differ!',
},
HistoryRecords: {
queryTime: 'Question Time:',
- range:'to',
+ range: 'to',
chatType: 'Chat Type',
chatTypePlaceholder: 'Please select chat type',
keyword: 'Keyword',
@@ -152,7 +155,7 @@ export default {
},
HistoryDetails: {
title: 'Conversation Details',
- count:'',
+ count: '',
messageCount: ' messages',
exportMarkdown: 'Export as Markdown',
user: 'User',
@@ -172,11 +175,11 @@ export default {
scopeOptions: {
noFrozen: 'Only active users',
onlyFrozen: 'Only frozen users',
- all: 'All users'
+ all: 'All users',
},
searchButton: 'Search',
addButton: 'Add',
- deleteButton: 'Delete'
+ deleteButton: 'Delete',
},
table: {
serialNumber: 'No.',
@@ -194,12 +197,12 @@ export default {
operations: 'Operations',
edit: 'Edit',
delete: 'Delete',
- noData: 'No data'
+ noData: 'No data',
},
confirm: {
deleteSingle: 'Are you sure to delete this item?',
deleteMultiple: 'Are you sure to delete selected items?',
- noSelection: 'No rows selected'
+ noSelection: 'No rows selected',
},
message: {
deleteSuccess: 'Delete successfully',
@@ -207,26 +210,26 @@ export default {
getRolesSuccess: 'Get role list successfully',
getRolesFailed: 'Failed to get role list',
getDeptFailed: 'Failed to get department',
- getAuxFailed: 'Failed to get additional columns'
- }
+ getAuxFailed: 'Failed to get additional columns',
+ },
},
knowledge: {
title: 'My Knowledge Base has ',
- titleEnd:' items',
+ titleEnd: ' items',
newBtn: 'New Knowledge Base',
empty: 'No knowledge base data',
loading: 'Loading...',
error: 'Failed to get knowledge base information, please check your network connection and try again',
-
+
card: {
noDescription: 'No description',
docCount: 'Documents',
wordCount: 'Words',
createTime: 'Created: ',
updateTime: 'Updated: ',
- unknownTime: '--'
+ unknownTime: '--',
},
-
+
dialog: {
createTitle: 'Create Knowledge Base',
editTitle: 'Edit Knowledge Base',
@@ -239,26 +242,26 @@ export default {
createSuccess: 'Created successfully',
createFail: 'Created failed',
updateSuccess: 'Updated successfully',
- updateFail:'Updated failed',
+ updateFail: 'Updated failed',
deleteSuccess: 'Deleted successfully',
deleteFail: 'Delete failed',
-
+
rules: {
nameRequired: 'Please enter name',
- nameMaxLength: 'Name cannot exceed 50 characters'
- }
+ nameMaxLength: 'Name cannot exceed 50 characters',
+ },
},
-
+
dropdown: {
edit: 'Edit',
- delete: 'Delete'
+ delete: 'Delete',
},
-
+
deleteConfirm: {
title: 'Confirm Deletion',
message: 'Are you sure to delete this knowledge base? All related documents will be cleared',
confirm: 'Confirm',
- cancel: 'Cancel'
+ cancel: 'Cancel',
},
document: {
title: 'Document Management',
@@ -266,7 +269,7 @@ export default {
title: '{name}',
description: 'Dataset Document Management - ',
descriptionEnd: ' file in total',
- descriptionEnds: ' files in total'
+ descriptionEnds: ' files in total',
},
table: {
index: 'No.',
@@ -279,45 +282,46 @@ export default {
available: 'Available',
indexing: 'Indexing',
error: 'Error',
- unknown: 'Unknown'
- }
+ unknown: 'Unknown',
+ },
},
buttons: {
search: 'Search',
refresh: 'Refresh',
upload: 'Upload',
batchDelete: 'Batch Delete ',
- batchDeleteConfrim:'Batch Delete Confirm',
+ batchDeleteConfrim: 'Batch Delete Confirm',
preview: 'Preview',
download: 'Download',
rename: 'Rename',
- delete: 'Delete'
+ delete: 'Delete',
},
search: {
- placeholder: 'Enter keywords to search'
+ placeholder: 'Enter keywords to search',
},
uploadDialog: {
title: 'Upload Files',
indexingTechnique: 'Indexing Technique',
indexingOptions: {
highQuality: 'High Quality',
- economy: 'Economy'
+ economy: 'Economy',
},
preProcessingRules: 'Pre-processing Rules',
ruleOptions: {
removeSpaces: 'Remove extra spaces',
- removeUrls: 'Remove URLs/Emails'
+ removeUrls: 'Remove URLs/Emails',
},
segmentation: 'Segmentation Rules',
separatorPlaceholder: 'Separator (default: ###)',
maxTokens: 'Max Tokens',
- selectFile:'Select the file',
- fileTip: 'Multiple selection supported, max 100MB per file. Accepted formats: TXT, MD, MARKDOWN, MDX, PDF, HTML, HTM, XLSX, XLS, DOCX, CSV, VTT, PROPERTIES',
+ selectFile: 'Select the file',
+ fileTip:
+ 'Multiple selection supported, max 100MB per file. Accepted formats: TXT, MD, MARKDOWN, MDX, PDF, HTML, HTM, XLSX, XLS, DOCX, CSV, VTT, PROPERTIES',
cancel: 'Cancel',
- upload: 'Start Upload'
+ upload: 'Start Upload',
},
preview: {
- title: 'File Preview'
+ title: 'File Preview',
},
renameDialog: {
title: 'Rename File',
@@ -325,27 +329,27 @@ export default {
placeholder: 'Enter new file name',
cancel: 'Cancel',
confirm: 'Confirm',
- deleteconfirm:'Delete Confirm',
+ deleteconfirm: 'Delete Confirm',
},
messages: {
- FilenamecantEmpty:'Filename cannot be empty',
- uploadSuccess:'Upload successfully',
+ FilenamecantEmpty: 'Filename cannot be empty',
+ uploadSuccess: 'Upload successfully',
deleteConfirm: 'Are you sure to delete this file? This action cannot be undone!',
batchDeleteConfirm: 'Are you sure to delete selected ',
- batchDeleteConfirmEnd:' files? This action cannot be undone!',
+ batchDeleteConfirmEnd: ' files? This action cannot be undone!',
deleteSuccess: 'File ',
deleteSuccessEnd: ' has been deleted',
- deleteing:'Deleting...',
- deleteSuccessOk:'Delete success',
+ deleteing: 'Deleting...',
+ deleteSuccessOk: 'Delete success',
batchDeleteSuccess: 'Successfully deleted {count} files',
uploadSuccessEnd: ' files processed successfully',
renameSuccess: 'File renamed successfully',
noFileSelected: 'Please select files to delete',
noUploadFile: 'Please select at least one file',
loading: 'Loading...',
- NoKnowError:'Unknown error',
- getFileContentFailed:'Failed to get file content',
- uploadLoading:'Uploading...'
+ NoKnowError: 'Unknown error',
+ getFileContentFailed: 'Failed to get file content',
+ uploadLoading: 'Uploading...',
},
errors: {
deleteFailed: 'Delete failed: ',
@@ -354,9 +358,170 @@ export default {
renameFailed: 'Rename failed: ',
fetchFailed: 'Failed to get document list: ',
previewFailed: 'Preview failed: ',
- downloadFailed: 'Download failed: '
- }
- }
- }
- }
-}
\ No newline at end of file
+ downloadFailed: 'Download failed: ',
+ },
+ },
+ },
+ KnowledgeManagement: {
+ query: {
+ nameFilter: 'Registration Name/Name',
+ deptFilter: 'Select Department',
+ roleFilter: 'Select Role',
+ search: 'Search',
+ add: 'Add',
+ },
+ table: {
+ noData: 'No Data',
+ operation: 'Operation',
+ bindDataset: 'Bind Knowledge Base',
+ columns: {
+ index: 'Index',
+ name: 'Registration Name',
+ displayName: 'Name',
+ department: 'Department',
+ roles: 'Roles',
+ datasets: 'Knowledge Base',
+ },
+ },
+ pagination: {
+ pageSize: 'Page Size',
+ total: 'Total',
+ },
+ filter: {
+ tableFields: 'Table Field Filter & Sort',
+ },
+ fullscreen: 'Fullscreen',
+ collapseQuery: 'Collapse Query Area',
+ expandQuery: 'Expand Query Area',
+ addUser: 'Add User',
+ deleteUser: 'Delete User',
+ confirmDelete: 'Are you sure you want to delete?',
+ errorFetchingData: 'Error fetching data',
+ message: {
+ getRolesSuccess: 'Get role list success',
+ getRolesFailed: 'Get role list failed',
+ getDeptsFailed: 'Get department list failed',
+ },
+ bindDataset: {
+ title: 'Bind Knowledge Base',
+ user: 'User',
+ boundDatasets: 'Bound Knowledge',
+ addDatasets: 'Add Knowledge',
+ selectDatasets: 'Please select the knowledge bases to bind',
+ removeDataset: 'Remove Knowledge Base',
+ cancel: 'Cancel',
+ confirm: 'Confirm',
+ pleaseSelect: 'Please select the knowledge bases to bind',
+ bindSuccess: 'Bind successful',
+ unbindSuccess: 'Unbind successful',
+ bindFail: 'Binding failed',
+ unbindFail: 'Unbinding failed',
+ fetchFail: 'Failed to fetch dataset list',
+ },
+ },
+ DictionaryManagement: {
+ add: 'Add',
+ index: 'Index',
+ addDic: 'Add Dictionary Category',
+ addDicDetail: 'Add Dictionary Detail',
+ editDic: 'Edit Dictionary',
+ dictionaryKey: 'Dictionary Key',
+ dictionaryValue: 'Dictionary Value',
+ parentDictionary: 'Parent Dictionary',
+ remark: 'Remark',
+ allow: 'Allow',
+ notAllow: 'Not Allow',
+ operation: 'Operation',
+ confirm: 'Confirm',
+ cancel: 'Cancel',
+ pleaseEnterRemark: 'Please Enter Remark',
+ editable: 'Editable',
+ edit: 'Edit',
+ delete: 'Delete',
+ searchPlaceholder: 'Please enter dictionary name',
+ noData: 'No data',
+ dialogTitleAdd: 'Add Dictionary',
+ dialogTitleEdit: 'Edit Dictionary',
+ confirmDelete: 'Are you sure you want to delete this dictionary item?',
+ deleteSuccess: 'Delete successful',
+ deleteFail: 'Delete failed',
+ saveSuccess: 'Save successful',
+ saveFail: 'Save failed',
+ batchDeleteSuccess: 'Batch delete successful',
+ batchDeleteFail: 'Batch delete failed',
+ refreshCache: 'Refresh Cache',
+ refreshCacheSuccess: 'Cache refreshed successfully',
+ refreshCacheFail: 'Cache refresh failed',
+ dictionaryCategory: 'Dictionary Category',
+ dictionaryKeyError: 'Please enter a dictionary key',
+ dictionaryValueError: 'Please enter a dictionary value',
+ selecteditable: 'Please select whether it is editable',
+ parentDictionaryError: 'Please select a parent dictionary(leave blank for root node)',
+ numberdescription: 'The numerical value in parentheses is the ID value',
+ diclengtherror: 'Dictionary key length cannot exceed 50 characters',
+ dicvalueerror: 'Dictionary value length cannot exceed 50 characters',
+ alldic: 'All dictionaries',
+ getdicfail: 'Failed to get dictionary data',
+ getdicTreefail: 'Failed to get dictionary tree data',
+ rootNode: 'Root node',
+ selectDicCate: 'Please select a dictionary category first',
+ updateFail: 'Update failed',
+ addFail: 'Add failed',
+ },
+ ApiKeyManagement: {
+ searchPlaceholder: 'Please enter the API key name',
+ enterApiValue: 'Please enter the API key value',
+ createBy: 'Created By',
+ placeCreateby: 'Please enter the creator',
+ search: 'Search',
+ index: 'Index',
+ createTime: 'Creation Time',
+ updateBy: 'Updated By',
+ updateTime: 'Update Time',
+ edit: 'Edit',
+ delete: 'Delete',
+ add: 'Add',
+ batchDelete: 'Batch Delete',
+ refreshCache: 'Refresh Cache',
+ copy: 'Copy',
+ noData: 'No Data',
+ dialogTitleAdd: 'Add API Key',
+ dialogTitleEdit: 'Edit API Key',
+ confirmDelete: 'Are you sure you want to delete this API key?',
+ deleteSuccess: 'Delete Successful',
+ deleteFail: 'Delete Failed',
+ saveSuccess: 'Save Successful',
+ saveFail: 'Save Failed',
+ batchDeleteSuccess: 'Batch Delete Successful',
+ batchDeleteFail: 'Batch Delete Failed',
+ dictionaryKey: 'API Key Name',
+ dictionaryValue: 'API Key Value',
+ show: 'Show',
+ hide: 'Hide',
+ operation: 'Operation',
+ remark: 'Remark',
+ enterRemark: 'Please enter the remark',
+ maskValue: '******',
+ confirm: 'Confirm',
+ cancel: 'Cancel',
+ refreshCacheSuccess: 'Cache refreshed successfully',
+ refreshCacheFail: 'Cache refresh failed',
+ copySuccess: 'Copied Successfully',
+ copyFail: 'Copy Failed',
+ dictionaryKeyLength: 'API Key Name length must be between 1 and 255 characters',
+ dictionaryValueLength: 'API Key Value length must be between 1 and 255 characters',
+ getApiKeysFail: 'Get API Key List Failed',
+ confirmDeleteApiKey: 'This operation will permanently delete the API key, are you sure?',
+ Tip: 'Tip',
+ selectDeleteData: 'Please select the data to be deleted',
+ confirmDeleteApiKeys: 'This operation will permanently delete selected ',
+ confirmDeleteApiKeysEnd:' API key, are you sure?',
+ confirmDeleteApiKeysEndPlural:' API keys, are you sure?',
+ confirmRefreshCache: 'This operation will refresh Redis cache, reloading all API keys, are you sure?',
+ updateSuccess: 'Update Successfully',
+ updateFail: 'Update Failed',
+ addSuccess: 'Add Successfully',
+ addFail:'Add Failed'
+ },
+ },
+}
diff --git a/chat-client/src/locales/zh-TW.ts b/chat-client/src/locales/zh-TW.ts
index 8928805..10ac3a3 100644
--- a/chat-client/src/locales/zh-TW.ts
+++ b/chat-client/src/locales/zh-TW.ts
@@ -27,9 +27,9 @@ export default {
edit: '編輯',
delete: '刪除',
stopGenerating: '停止生成',
- placeEnter:'輸入您的問題...',
- placeEnterChart:'請輸入您的圖表報告問題...',
- placeEnterDiag:'請輸入您的診斷代碼查詢問題...',
+ placeEnter: '輸入您的問題...',
+ placeEnterChart: '請輸入您的圖表報告問題...',
+ placeEnterDiag: '請輸入您的診斷代碼查詢問題...',
placeholder: '請輸入消息內容...',
you: '你',
assistant: 'AI助手',
@@ -42,8 +42,8 @@ export default {
think: '思考過程',
like: '讚',
dislike: '踩',
- cancel:'取消',
- send:'發送',
+ cancel: '取消',
+ send: '發送',
},
personal: {
title: '個人中心',
@@ -100,11 +100,11 @@ export default {
confirmNewPasswordPlaceholder: '請再次輸入新密碼',
changePasswordDialogTitle: '修改密碼',
pleaseConfirmNewPassword: '請確認新密碼',
- passwordNoEqual:'兩次輸入的密碼不一致',
+ passwordNoEqual: '兩次輸入的密碼不一致',
},
HistoryRecords: {
queryTime: '提問時間:',
- range:'至',
+ range: '至',
chatType: '聊天類型',
chatTypePlaceholder: '請選擇聊天類型',
keyword: '問題關鍵字',
@@ -153,7 +153,7 @@ export default {
},
HistoryDetails: {
title: '會話詳情',
- count:'共',
+ count: '共',
messageCount: ' 條對話',
exportMarkdown: '匯出為 Markdown',
user: '使用者',
@@ -161,7 +161,7 @@ export default {
thinking: '思考過程',
expand: '展開',
collapse: '收起',
- }
+ },
},
userManagement: {
title: '用戶管理',
@@ -173,11 +173,11 @@ export default {
scopeOptions: {
noFrozen: '只查詢未凍結人員',
onlyFrozen: '只查詢已凍結人員',
- all: '查詢全部人員'
+ all: '查詢全部人員',
},
searchButton: '查詢',
addButton: '添加',
- deleteButton: '刪除'
+ deleteButton: '刪除',
},
table: {
serialNumber: '序號',
@@ -195,12 +195,12 @@ export default {
operations: '操作',
edit: '修改',
delete: '刪除',
- noData: '暫無數據'
+ noData: '暫無數據',
},
confirm: {
deleteSingle: '你確定要刪除當前項嗎',
deleteMultiple: '你確定要刪除選中項嗎',
- noSelection: '未選中任何行'
+ noSelection: '未選中任何行',
},
message: {
deleteSuccess: '刪除成功',
@@ -208,26 +208,26 @@ export default {
getRolesSuccess: '獲取角色列表成功',
getRolesFailed: '獲取角色列表失敗',
getDeptFailed: '獲取組織失敗',
- getAuxFailed: '附加信息列獲取失敗'
- }
+ getAuxFailed: '附加信息列獲取失敗',
+ },
},
knowledge: {
title: '我的知識庫(共 ',
- titleEnd:' 個)',
+ titleEnd: ' 個)',
newBtn: '新建知識庫',
empty: '暫無知識庫數據',
loading: '載入中...',
error: '獲取知識庫信息失敗,請檢查網絡連接後重試',
-
+
card: {
noDescription: '暫無描述',
docCount: '文檔數',
wordCount: '字數',
createTime: '創建時間:',
updateTime: '更新時間:',
- unknownTime: '--'
+ unknownTime: '--',
},
-
+
dialog: {
createTitle: '新建知識庫',
editTitle: '編輯知識庫',
@@ -240,26 +240,26 @@ export default {
createSuccess: '創建成功',
createFail: '創建失敗',
updateSuccess: '更新成功',
- updateFail:'更新失敗',
+ updateFail: '更新失敗',
deleteSuccess: '刪除成功',
deleteFail: '刪除失敗',
-
+
rules: {
nameRequired: '請輸入知識庫名稱',
- nameMaxLength: '名稱長度不能超過50個字符'
- }
+ nameMaxLength: '名稱長度不能超過50個字符',
+ },
},
-
+
dropdown: {
edit: '編輯',
- delete: '刪除'
+ delete: '刪除',
},
-
+
deleteConfirm: {
title: '刪除確認',
message: '確定要刪除該知識庫嗎?所有關聯文檔將被清除',
confirm: '確定',
- cancel: '取消'
+ cancel: '取消',
},
document: {
title: '數據集文檔管理',
@@ -267,7 +267,7 @@ export default {
title: '{name}',
description: '數據集文檔管理 - 共 ',
descriptionEnd: ' 個文件',
- descriptionEnds:' 個文件'
+ descriptionEnds: ' 個文件',
},
table: {
index: '序號',
@@ -280,45 +280,45 @@ export default {
available: '可用',
indexing: '解析中',
error: '解析失敗',
- unknown: '未知狀態'
- }
+ unknown: '未知狀態',
+ },
},
buttons: {
search: '查詢',
refresh: '刷新',
upload: '上傳文件',
batchDelete: '批量刪除 ',
- batchDeleteConfrim:'批量刪除確認',
+ batchDeleteConfrim: '批量刪除確認',
preview: '預覽',
download: '下載',
rename: '重命名',
- delete: '刪除'
+ delete: '刪除',
},
search: {
- placeholder: '請輸入關鍵詞查詢'
+ placeholder: '請輸入關鍵詞查詢',
},
uploadDialog: {
title: '上傳文件',
indexingTechnique: '索引方式',
indexingOptions: {
highQuality: '高質量',
- economy: '經濟'
+ economy: '經濟',
},
preProcessingRules: '預處理規則',
ruleOptions: {
removeSpaces: '移除多餘空格',
- removeUrls: '移除URL/郵箱'
+ removeUrls: '移除URL/郵箱',
},
segmentation: '分段規則',
separatorPlaceholder: '分隔符(默認###)',
maxTokens: '最大Token數',
- selectFile:'選擇文件',
+ selectFile: '選擇文件',
fileTip: '支持多選,單個文件不超過100MB,可接受格式:TXT、MD、MARKDOWN、MDX、PDF、HTML、HTM、XLSX、XLS、DOCX、CSV、VTT、PROPERTIES',
cancel: '取消',
- upload: '開始上傳'
+ upload: '開始上傳',
},
preview: {
- title: '文件預覽'
+ title: '文件預覽',
},
renameDialog: {
title: '重命名文件',
@@ -326,28 +326,28 @@ export default {
placeholder: '請輸入新的文件名',
cancel: '取消',
confirm: '確定',
- deleteconfirm:'刪除確認'
+ deleteconfirm: '刪除確認',
},
messages: {
- FilenamecantEmpty:'文件名不能为空',
- uploadSuccess:'上傳成功',
+ FilenamecantEmpty: '文件名不能为空',
+ uploadSuccess: '上傳成功',
deleteConfirm: '確定要刪除該文件嗎?此操作不可恢復!',
batchDeleteConfirm: '確定要刪除選中的 ',
- batchDeleteConfirmEnd:' 個文件嗎?此操作不可恢復!',
+ batchDeleteConfirmEnd: ' 個文件嗎?此操作不可恢復!',
deleteSuccess: '文件 ',
- deleteSuccessEnd:' 已刪除',
- deleteing:'刪除中...',
- deleteSuccessOk:'刪除成功',
+ deleteSuccessEnd: ' 已刪除',
+ deleteing: '刪除中...',
+ deleteSuccessOk: '刪除成功',
batchDeleteSuccess: '已成功刪除 ',
- batchDeleteSuccessEnd:' 個文件',
+ batchDeleteSuccessEnd: ' 個文件',
uploadSuccessEnd: ' 個文件已處理完成',
renameSuccess: '文件已重命名',
noFileSelected: '請選擇要刪除的文件',
noUploadFile: '請選擇至少一個文件',
loading: '載入中...',
- NoKnowError:'未知錯誤',
- getFileContentFailed:'獲取文件內容失敗',
- uploadLoading:'文件上傳中...'
+ NoKnowError: '未知錯誤',
+ getFileContentFailed: '獲取文件內容失敗',
+ uploadLoading: '文件上傳中...',
},
errors: {
deleteFailed: '刪除失敗: ',
@@ -356,9 +356,172 @@ export default {
renameFailed: '重命名失敗: ',
fetchFailed: '獲取文檔列表失敗: ',
previewFailed: '預覽失敗: ',
- downloadFailed: '下載失敗: '
- }
- }
- }
- }
-}
\ No newline at end of file
+ downloadFailed: '下載失敗: ',
+ },
+ },
+ },
+ KnowledgeManagement: {
+ query: {
+ nameFilter: '註冊名/姓名',
+ deptFilter: '請選擇組織',
+ roleFilter: '請選擇角色',
+ search: '查詢',
+ add: '添加',
+ },
+ table: {
+ noData: '暫無資料',
+ operation: '操作',
+ bindDataset: '綁定知識庫',
+ columns: {
+ index: '序號',
+ name: '註冊名',
+ displayName: '姓名',
+ department: '組織',
+ roles: '角色',
+ datasets: '知識庫',
+ },
+ },
+ pagination: {
+ pageSize: '每頁條數',
+ total: '總數',
+ },
+ filter: {
+ tableFields: '表格欄位過濾與排序',
+ },
+ fullscreen: '全螢幕',
+ collapseQuery: '摺疊查詢區域',
+ expandQuery: '展開查詢區域',
+ addUser: '新增使用者',
+ deleteUser: '刪除使用者',
+ confirmDelete: '您確定要刪除嗎?',
+ errorFetchingData: '獲取資料失敗',
+ message: {
+ getRolesSuccess: '獲取角色列表成功',
+ getRolesFailed: '獲取角色列表失敗',
+ getDeptsFailed: '獲取組織列表失敗',
+ },
+ bindDataset: {
+ title: '綁定知識庫',
+ user: '用戶',
+ boundDatasets: '已綁定知識庫',
+ addDatasets: '添加知識庫',
+ selectDatasets: '請選擇要綁定的知識庫',
+ removeDataset: '移除知識庫',
+ cancel: '取 消',
+ confirm: '確 定',
+ pleaseSelect: '請選擇要綁定的知識庫',
+ bindSuccess: '綁定成功',
+ unbindSuccess: '解绑成功',
+ bindFail: '綁定失敗',
+ unbindFail: '解绑失敗',
+ fetchFail: '獲取知識庫列表失敗',
+ },
+ },
+
+ DictionaryManagement: {
+ add: '添加',
+ index: '序號',
+ addDic: '添加字典分類',
+ addDicDetail: '添加字典詳細',
+ editDic: '編輯字典',
+ dictionaryKey: '字典鍵',
+ dictionaryValue: '字典值',
+ parentDictionary: '父級字典',
+ remark: '備註',
+ pleaseEnterRemark: '請輸入備註',
+ editable: '是否可編輯',
+ allow: '允許',
+ notAllow: '不允許',
+ operation: '操作',
+ confirm: '確定',
+ cancel: '取消',
+ edit: '修改',
+ delete: '刪除',
+ searchPlaceholder: '請輸入字典名稱',
+ noData: '暫無資料',
+ dialogTitleAdd: '新增字典',
+ dialogTitleEdit: '編輯字典',
+ confirmDelete: '確定要刪除此字典項嗎?',
+ deleteSuccess: '刪除成功',
+ deleteFail: '刪除失敗',
+ saveSuccess: '保存成功',
+ saveFail: '保存失敗',
+ batchDeleteSuccess: '批量刪除成功',
+ batchDeleteFail: '批量刪除失敗',
+ refreshCache: '刷新快取',
+ refreshCacheSuccess: '快取刷新成功',
+ refreshCacheFail: '快取刷新失敗',
+ dictionaryCategory: '字典分類',
+ dictionaryKeyError: '請輸入字典鍵',
+ dictionaryValueError: '請輸入字典值',
+ selecteditable: '請選擇是否可編輯',
+ parentDictionaryError: '請選擇父級字典(留空表示根節點)',
+ numberdescription: '括號內數值爲ID值',
+ diclengtherror: '字典鍵長度不能超過50個字符',
+ dicvalueerror: '字典值長度不能超過50個字符',
+ alldic: '全部字典',
+ getdicfail: '獲取字典數據失敗',
+ getdicTreefail: '獲取字典樹數據失敗',
+ rootNode: '根節點',
+ selectDicCate: '請先選擇字典分類',
+ updateFail: '更新失敗',
+ addFail: '添加失敗',
+ },
+ ApiKeyManagement: {
+ searchPlaceholder: '請輸入密鑰名稱',
+ enterApiValue: '請輸入密鑰值',
+ createBy: '創建人',
+ placeCreateby: '請輸入創建人',
+ search:'查詢',
+ index: '序號',
+ createTime: '創建時間',
+ updateBy: '更新人',
+ updateTime: '更新時間',
+ edit: '編輯',
+ delete: '刪除',
+
+ add: '新增',
+ batchDelete: '批量刪除',
+ refreshCache: '刷新快取',
+ noData: '暫無資料',
+ dialogTitleAdd: '新增API密鑰',
+ dialogTitleEdit: '編輯API密鑰',
+ confirmDelete: '確定要刪除此API密鑰嗎?',
+ deleteSuccess: '刪除成功',
+ deleteFail: '刪除失敗',
+ saveSuccess: '保存成功',
+ saveFail: '保存失敗',
+ batchDeleteSuccess: '批量刪除成功',
+ batchDeleteFail: '批量刪除失敗',
+ dictionaryKey: '密鑰名稱',
+ dictionaryValue: '密鑰值',
+ show:'顯示',
+ hide:'隱藏',
+ operation: '操作',
+ remark: '備註',
+ enterRemark: '請輸入備註信息',
+ maskValue: '******',
+ confirm: '確定',
+ cancel: '取消',
+ refreshCacheSuccess: '快取刷新成功',
+ refreshCacheFail: '快取刷新失敗',
+ copySuccess: '複製成功',
+ copyFail: '複製失敗',
+ copy:'複製',
+ dictionaryKeyLength: '密鑰名稱長度在 1 到 255 個字符',
+ dictionaryValueLength: '密鑰值長度在 1 到 255 個字符',
+ getApiKeysFail: '获取API密鑰列表失败',
+ confirmDeleteApiKey: '此操作将永久删除该API密鑰,是否继续?',
+ Tip: '提示',
+ selectDeleteData: '請選擇要刪除的數據',
+ confirmDeleteApiKeys: '此操作將永久删除选中的 ',
+ confirmDeleteApiKeysEnd:' 條API密鑰,是否繼續?',
+ confirmDeleteApiKeysEndPlural:' 條API密鑰,是否繼續?',
+ confirmRefreshCache: '此操作將刷新Redis缓存,重新加载所有API密鑰,是否繼續?',
+ updateSuccess: '更新成功',
+ updateFail:'更新失敗',
+ addSuccess:'新增成功',
+ addFail:'新增失敗',
+ },
+ },
+}
diff --git a/chat-client/src/locales/zh.ts b/chat-client/src/locales/zh.ts
index 8691e3c..7af731b 100644
--- a/chat-client/src/locales/zh.ts
+++ b/chat-client/src/locales/zh.ts
@@ -1,5 +1,5 @@
export default {
- vabI18n:{
+ vabI18n: {
role: {
index: '序号',
name: '注册名',
@@ -27,9 +27,9 @@ export default {
edit: '编辑',
delete: '删除',
stopGenerating: '停止生成',
- placeEnter:'输入您的问题...',
- placeEnterChart:'请输入您的图表报告问题...',
- placeEnterDiag:'请输入您的诊断代码查询问题...',
+ placeEnter: '输入您的问题...',
+ placeEnterChart: '请输入您的图表报告问题...',
+ placeEnterDiag: '请输入您的诊断代码查询问题...',
placeholder: '请输入消息内容...',
you: '你',
assistant: 'AI助手',
@@ -42,8 +42,8 @@ export default {
think: '思考过程',
like: '赞',
dislike: '踩',
- cancel:'取消',
- send:'发送',
+ cancel: '取消',
+ send: '发送',
},
personal: {
title: '个人中心',
@@ -94,26 +94,26 @@ export default {
oldPassword: '原始密码',
newPassword: '新密码',
confirmNewPassword: '确认新密码',
-
+
oldPasswordPlaceholder: '请输入原始密码',
newPasswordPlaceholder: '请输入新密码',
newPasswordPermission: '密码长度不能少于6位',
confirmNewPasswordPlaceholder: '请再次输入新密码',
changePasswordDialogTitle: '修改密码',
pleaseConfirmNewPassword: '请确认新密码',
- passwordNoEqual:'两次输入的密码不一致',
- departmentGetFail:'获取组织失败',
- roleListGetOk:'获取角色列表成功',
- roleListGetFail:'获取角色失败',
+ passwordNoEqual: '两次输入的密码不一致',
+ departmentGetFail: '获取组织失败',
+ roleListGetOk: '获取角色列表成功',
+ roleListGetFail: '获取角色失败',
resetPasswordDialogTitle: '重置密码',
resetPasswordSuccess: '重置密码成功',
resetPasswordFail: '重置密码失败',
resetPasswordConfirm: '确认将该用户密码重置吗?',
- resetPasswordFailCheck: '重设密码失败,请检查原密码!'
+ resetPasswordFailCheck: '重设密码失败,请检查原密码!',
},
HistoryRecords: {
queryTime: '提问时间:',
- range:'至',
+ range: '至',
chatType: '聊天类型',
chatTypePlaceholder: '请选择聊天类型',
keyword: '问题关键字',
@@ -148,7 +148,7 @@ export default {
buttons: {
view: '查看',
delete: '删除',
- confirm: '确认',
+ confirm: '确定',
cancel: '取消',
close: '关闭',
fullscreen: '全屏',
@@ -163,7 +163,7 @@ export default {
},
HistoryDetails: {
title: '会话详情',
- count:'共',
+ count: '共',
messageCount: ' 条对话',
exportMarkdown: '导出为 Markdown',
user: '用户',
@@ -183,11 +183,11 @@ export default {
scopeOptions: {
noFrozen: '只查询未冻结人员',
onlyFrozen: '只查询已冻结人员',
- all: '查询全部人员'
+ all: '查询全部人员',
},
searchButton: '查询',
addButton: '添加',
- deleteButton: '删除'
+ deleteButton: '删除',
},
table: {
serialNumber: '序号',
@@ -205,12 +205,12 @@ export default {
operations: '操作',
edit: '修改',
delete: '删除',
- noData: '暂无数据'
+ noData: '暂无数据',
},
confirm: {
deleteSingle: '你确定要删除当前项吗',
deleteMultiple: '你确定要删除选中项吗',
- noSelection: '未选中任何行'
+ noSelection: '未选中任何行',
},
message: {
deleteSuccess: '删除成功',
@@ -218,26 +218,26 @@ export default {
getRolesSuccess: '获取角色列表成功',
getRolesFailed: '获取角色列表失败',
getDeptFailed: '获取组织失败',
- getAuxFailed: '附加信息列获取失败'
- }
+ getAuxFailed: '附加信息列获取失败',
+ },
},
knowledge: {
title: '我的知识库(共 ',
- titleEnd:'个)',
+ titleEnd: '个)',
newBtn: '新建知识库',
empty: '暂无知识库数据',
loading: '加载中...',
error: '获取知识库信息失败,请检查网络连接后重试',
-
+
card: {
noDescription: '暂无描述',
docCount: '文档数',
wordCount: '字数',
createTime: '创建时间:',
updateTime: '更新时间:',
- unknownTime: '--'
+ unknownTime: '--',
},
-
+
dialog: {
createTitle: '新建知识库',
editTitle: '编辑知识库',
@@ -250,26 +250,26 @@ export default {
createSuccess: '创建成功',
createFail: '创建失败',
updateSuccess: '更新成功',
- updateFail:'更新失败',
+ updateFail: '更新失败',
deleteSuccess: '删除成功',
deleteFail: '删除失败',
-
+
rules: {
nameRequired: '请输入知识库名称',
- nameMaxLength: '名称长度不能超过50个字符'
- }
+ nameMaxLength: '名称长度不能超过50个字符',
+ },
},
-
+
dropdown: {
edit: '编辑',
- delete: '删除'
+ delete: '删除',
},
-
+
deleteConfirm: {
title: '删除确认',
message: '确定要删除该知识库吗?所有关联文档将被清除',
confirm: '确定',
- cancel: '取消'
+ cancel: '取消',
},
document: {
title: '数据集文档管理',
@@ -277,8 +277,7 @@ export default {
title: '{name}',
description: '数据集文档管理 - 共 ',
descriptionEnd: ' 个文件',
- descriptionEnds:' 个文件'
-
+ descriptionEnds: ' 个文件',
},
table: {
index: '序号',
@@ -291,8 +290,8 @@ export default {
available: '可用',
indexing: '解析中',
error: '解析失败',
- unknown: '未知状态'
- }
+ unknown: '未知状态',
+ },
},
buttons: {
search: '查询',
@@ -303,33 +302,33 @@ export default {
preview: '预览',
download: '下载',
rename: '重命名',
- delete: '删除'
+ delete: '删除',
},
search: {
- placeholder: '请输入关键词查询'
+ placeholder: '请输入关键词查询',
},
uploadDialog: {
title: '上传文件',
indexingTechnique: '索引方式',
indexingOptions: {
highQuality: '高质量',
- economy: '经济'
+ economy: '经济',
},
preProcessingRules: '预处理规则',
ruleOptions: {
removeSpaces: '移除多余空格',
- removeUrls: '移除URL/邮箱'
+ removeUrls: '移除URL/邮箱',
},
segmentation: '分段规则',
separatorPlaceholder: '分隔符(默认###)',
maxTokens: '最大Token数',
- selectFile:'选择文件',
+ selectFile: '选择文件',
fileTip: '支持多选,单个文件不超过100MB,可接受格式:TXT、MD、MARKDOWN、MDX、PDF、HTML、HTM、XLSX、XLS、DOCX、CSV、VTT、PROPERTIES',
cancel: '取消',
- upload: '开始上传'
+ upload: '开始上传',
},
preview: {
- title: '文件预览'
+ title: '文件预览',
},
renameDialog: {
title: '重命名文件',
@@ -337,28 +336,28 @@ export default {
placeholder: '请输入新的文件名',
cancel: '取消',
confirm: '确定',
- deleteconfirm:'删除确认'
+ deleteconfirm: '删除确认',
},
messages: {
- FilenamecantEmpty:'文件名不能为空',
- uploadSuccess:'上传成功',
+ FilenamecantEmpty: '文件名不能为空',
+ uploadSuccess: '上传成功',
deleteConfirm: '确定要删除该文件吗?此操作不可恢复!',
batchDeleteConfirm: '确定要删除选中的 ',
- batchDeleteConfirmEnd:' 个文件吗?此操作不可恢复!',
+ batchDeleteConfirmEnd: ' 个文件吗?此操作不可恢复!',
deleteSuccess: '文件 ',
- deleteSuccessEnd:' 已删除',
- deleteing:'删除中...',
- deleteSuccessOk:'删除成功',
+ deleteSuccessEnd: ' 已删除',
+ deleteing: '删除中...',
+ deleteSuccessOk: '删除成功',
batchDeleteSuccess: '已成功删除 ',
- batchDeleteSuccessEnd:' 个文件',
+ batchDeleteSuccessEnd: ' 个文件',
uploadSuccessEnd: ' 个文件已处理完成',
renameSuccess: '文件已重命名',
noFileSelected: '请选择要删除的文件',
noUploadFile: '请选择至少一个文件',
loading: '加载中...',
- NoKnowError:'未知错误',
- getFileContentFailed:'获取文件内容失败',
- uploadLoading:'文件上传中...'
+ NoKnowError: '未知错误',
+ getFileContentFailed: '获取文件内容失败',
+ uploadLoading: '文件上传中...',
},
errors: {
deleteFailed: '删除失败:',
@@ -367,9 +366,170 @@ export default {
renameFailed: '重命名失败: ',
fetchFailed: '获取文档列表失败: ',
previewFailed: '预览失败: ',
- downloadFailed: '下载失败: '
- }
- }
- }
- }
+ downloadFailed: '下载失败: ',
+ },
+ },
+ },
+ KnowledgeManagement: {
+ query: {
+ nameFilter: '注册名/姓名',
+ deptFilter: '请选择组织',
+ roleFilter: '请选择角色',
+ search: '查询',
+ add: '添加',
+ },
+ table: {
+ noData: '暂无数据',
+ operation: '操作',
+ bindDataset: '绑定知识库',
+ columns: {
+ index: '序号',
+ name: '注册名',
+ displayName: '姓名',
+ department: '组织',
+ roles: '角色',
+ datasets: '知识库',
+ },
+ },
+ pagination: {
+ pageSize: '每页条数',
+ total: '总数',
+ },
+ filter: {
+ tableFields: '表格字段过滤与排序',
+ },
+ fullscreen: '全屏',
+ collapseQuery: '折叠查询区域',
+ expandQuery: '展开查询区域',
+ addUser: '添加用户',
+ deleteUser: '删除用户',
+ confirmDelete: '您确定要删除吗?',
+ errorFetchingData: '获取数据失败',
+ message: {
+ getRolesSuccess: '获取角色列表成功',
+ getRolesFailed: '获取角色列表失败',
+ getDeptsFailed: '获取组织列表失败',
+ },
+ bindDataset: {
+ title: '绑定知识库',
+ user: '用户',
+ boundDatasets: '已绑定知识库',
+ addDatasets: '添加知识库',
+ selectDatasets: '请选择要绑定的知识库',
+ removeDataset: '移除知识库',
+ cancel: '取 消',
+ confirm: '确 定',
+ pleaseSelect: '请选择要绑定的知识库',
+ bindSuccess: '绑定成功',
+ unbindSuccess: '解绑成功',
+ bindFail: '绑定失败',
+ unbindFail: '解绑失败',
+ fetchFail: '获取知识库列表失败',
+ },
+ },
+ DictionaryManagement: {
+ add: '添加',
+ index: '序号',
+ addDic: '添加字典分类',
+ addDicDetail: '添加字典详情',
+ editDic: '编辑字典',
+ dictionaryKey: '字典键',
+ dictionaryValue: '字典值',
+ remark: '备注',
+ pleaseEnterRemark: '请输入备注',
+ editable: '是否可编辑',
+ allow: '允许',
+ notAllow: '不允许',
+ operation: '操作',
+ edit: '修改',
+ delete: '删除',
+ confirm: '确定',
+ cancel: '取消',
+ parentDictionary: '父级字典',
+ searchPlaceholder: '请输入字典名称',
+ noData: '暂无数据',
+ dialogTitleAdd: '新增字典',
+ dialogTitleEdit: '编辑字典',
+ confirmDelete: '确定要删除此字典项吗?',
+ deleteSuccess: '删除成功',
+ deleteFail: '删除失败',
+ saveSuccess: '保存成功',
+ saveFail: '保存失败',
+ batchDeleteSuccess: '批量删除成功',
+ batchDeleteFail: '批量删除失败',
+ refreshCache: '刷新缓存',
+ refreshCacheSuccess: '缓存刷新成功',
+ refreshCacheFail: '缓存刷新失败',
+ dictionaryCategory: '字典分类',
+ dictionaryKeyError: '请输入字典键',
+ selecteditable: '请选择是否可编辑',
+ dictionaryValueError: '请输入字典值',
+ parentDictionaryError: '请选择父级字典(留空表示根节点)',
+ numberdescription: '括号内数值为ID值',
+ diclengtherror: '字典键长度不能超过50个字符',
+ dicvalueerror: '字典值长度不能超过50个字符',
+ alldic: '全部字典',
+ getdicfail: '获取字典数据失败',
+ getdicTreefail: '获取字典树数据失败',
+ rootNode: '根节点',
+ selectDicCate: '请先选择字典分类',
+ updateFail: '更新失败',
+ addFail: '添加失败',
+ },
+ ApiKeyManagement: {
+ searchPlaceholder: '请输入密钥名称',
+ enterApiValue: '请输入密钥值',
+ createBy: '创建人',
+ placeCreateby: '请输入创建人',
+ search:'查询',
+ index: '序号',
+ createTime: '创建时间',
+ updateBy: '更新人',
+ updateTime: '更新时间',
+ edit: '编辑',
+ delete: '删除',
+ add: '新增',
+ batchDelete: '批量删除',
+ refreshCache: '刷新缓存',
+ noData: '暂无数据',
+ dialogTitleAdd: '新增API密钥',
+ dialogTitleEdit: '编辑API密钥',
+ confirmDelete: '确定要删除此API密钥吗?',
+ deleteSuccess: '删除成功',
+ deleteFail: '删除失败',
+ saveSuccess: '保存成功',
+ saveFail: '保存失败',
+ batchDeleteSuccess: '批量删除成功',
+ batchDeleteFail: '批量删除失败',
+ dictionaryKey: '密钥名称',
+ dictionaryValue: '密钥值',
+ show:'显示',
+ hide:'隐藏',
+ operation: '操作',
+ remark: '备注',
+ enterRemark: '请输入备注信息',
+ maskValue: '******',
+ confirm: '确定',
+ cancel: '取消',
+ refreshCacheSuccess: '缓存刷新成功',
+ refreshCacheFail: '缓存刷新失败',
+ copy:'复制',
+ copySuccess: '复制成功',
+ copyFail: '复制失败',
+ dictionaryKeyLength: '密钥名称长度在 1 到 255 个字符',
+ dictionaryValueLength: '密钥值长度在 1 到 255 个字符',
+ getApiKeysFail: '获取API密钥列表失败',
+ confirmDeleteApiKey: '此操作将永久删除该API密钥,是否继续?',
+ Tip: '提示',
+ selectDeleteData: '请选择要删除的数据',
+ confirmDeleteApiKeys: '此操作将永久删除选中的 ',
+ confirmDeleteApiKeysEnd:' 条API密钥,是否继续?',
+ confirmDeleteApiKeysEndPlural:' 条API密钥,是否继续?',
+ confirmRefreshCache: '此操作将刷新Redis缓存,重新加载所有API密钥,是否继续?',
+ updateSuccess: '更新成功',
+ updateFail: '更新失败',
+ addSuccess: '新增成功',
+ addFail: '新增失败',
+ },
+ },
}
diff --git a/chat-client/src/views/chatweb/historicalRecords/index.vue b/chat-client/src/views/chatweb/historicalRecords/index.vue
index c18c3bb..327de3b 100644
--- a/chat-client/src/views/chatweb/historicalRecords/index.vue
+++ b/chat-client/src/views/chatweb/historicalRecords/index.vue
@@ -27,7 +27,9 @@
{{ t('vabI18n.HistoryRecords.search') }}
- {{ t('vabI18n.HistoryRecords.delete') }}
+
+ {{ t('vabI18n.HistoryRecords.delete') }}
+
@@ -54,7 +56,7 @@
-
+
@@ -79,8 +81,12 @@
- {{ t('vabI18n.HistoryRecords.viewDetails') }}
- {{ t('vabI18n.HistoryRecords.delete') }}
+
+ {{ t('vabI18n.HistoryRecords.viewDetails') }}
+
+
+ {{ t('vabI18n.HistoryRecords.delete') }}
+
@@ -100,86 +106,100 @@
-
+
\ No newline at end of file
+ .rounded-devlog {
+ border-radius: 8px; /* 调整圆角大小 */
+ overflow: hidden; /* 确保内部内容也被圆角裁剪 */
+ width: 46%;
+ }
+
diff --git a/chat-client/src/views/datasets/components/DocumentList.vue b/chat-client/src/views/datasets/components/DocumentList.vue
index f007f93..0f3f4f2 100644
--- a/chat-client/src/views/datasets/components/DocumentList.vue
+++ b/chat-client/src/views/datasets/components/DocumentList.vue
@@ -156,21 +156,21 @@
-
+
{{t('vabI18n.knowledge.document.uploadDialog.indexingOptions.highQuality')}}
{{t('vabI18n.knowledge.document.uploadDialog.indexingOptions.economy')}}
-
+
{{t('vabI18n.knowledge.document.uploadDialog.ruleOptions.removeSpaces')}}
{{t('vabI18n.knowledge.document.uploadDialog.ruleOptions.removeUrls')}}
-
+
-
+
{{ currentUser?.dispName }} ({{ currentUser?.name }})
-
+
-
+
{
availableDatasets.value = data.filter(dataset => !boundDatasetIds.includes(dataset.id))
console.log("可绑定的知识库", availableDatasets.value)
} catch (error) {
- ElMessage.error('获取知识库列表失败')
+ ElMessage.error(t('vabI18n.KnowledgeManagement.bindDataset.fetchFail'))
}
}
@@ -122,16 +124,16 @@ const handleRemoveDataset = async (dataset) => {
}
const res = await unbindDataset(params)
if (res.code === 200) {
- ElMessage.success('解绑成功')
+ ElMessage.success(t('vabI18n.KnowledgeManagement.bindDataset.unbindSuccess'))
emit('success')
// 重新获取可用知识库列表
getAvailableDatasets()
} else {
- ElMessage.error(res.msg || '解绑失败')
+ ElMessage.error(res.msg || t('vabI18n.KnowledgeManagement.bindDataset.unbindFail'))
}
} catch (error) {
console.error('解绑失败:', error)
- ElMessage.error('解绑失败')
+ ElMessage.error(t('vabI18n.KnowledgeManagement.bindDataset.unbindFail'))
} finally {
loading.value = false
}
@@ -140,7 +142,7 @@ const handleRemoveDataset = async (dataset) => {
// 确认绑定
const handleConfirm = async () => {
if (!form.selectedDatasets.length) {
- ElMessage.warning('请选择要绑定的知识库')
+ ElMessage.warning(t('vabI18n.KnowledgeManagement.bindDataset.pleaseSelect'))
return
}
@@ -153,15 +155,15 @@ const handleConfirm = async () => {
console.log('绑定参数:', params)
const res = await bindDatasets(params)
if (res.code === 200) {
- ElMessage.success('绑定成功')
+ ElMessage.success(t('vabI18n.KnowledgeManagement.bindDataset.bindSuccess'))
emit('success')
handleClose()
} else {
- ElMessage.error(res.msg || '绑定失败')
+ ElMessage.error(res.msg || t('vabI18n.KnowledgeManagement.bindDataset.bindFail'))
}
} catch (error) {
console.error('绑定失败:', error)
- ElMessage.error('绑定失败')
+ ElMessage.error(t('vabI18n.KnowledgeManagement.bindDataset.bindFail'))
} finally {
loading.value = false
}
@@ -197,6 +199,10 @@ watch(() => props.currentUser, () => {
gap: 8px;
}
+.el-form-item {
+ margin-bottom: 20px; /* 增加表单项之间的间距 */
+}
+
.dataset-tag {
margin: 2px;
border-radius: 4px;
@@ -213,4 +219,19 @@ watch(() => props.currentUser, () => {
.dialog-footer {
text-align: right;
}
+
+.el-dialog__body {
+ display: flex;
+ flex-direction: column; /* 确保内容垂直排列 */
+}
+
+.el-form {
+ display: flex;
+ flex-direction: column; /* 确保表单元素垂直排列 */
+}
+
+.el-select {
+ margin-top: 10px; /* 增加选择框顶部的间距,避免与上面的元素重叠 */
+}
+
\ No newline at end of file
diff --git a/chat-client/src/views/permission/datasetManage/index.vue b/chat-client/src/views/permission/datasetManage/index.vue
index 655fbc1..dd5d884 100644
--- a/chat-client/src/views/permission/datasetManage/index.vue
+++ b/chat-client/src/views/permission/datasetManage/index.vue
@@ -11,15 +11,15 @@ date : 2025-4-2 13:08:41
-
+
-
+
-
+
{{ role.dispName }}
{{ role.name }}
@@ -27,8 +27,8 @@ date : 2025-4-2 13:08:41
- 查询
-
@@ -41,7 +41,7 @@ date : 2025-4-2 13:08:41
-
+
@@ -60,7 +60,7 @@ date : 2025-4-2 13:08:41
-
+
{{ (queryForm.pageNo - 1) * queryForm.pageSize + $index + 1 }}
@@ -89,11 +89,7 @@ date : 2025-4-2 13:08:41
-
+