mirror of
https://github.com/1Panel-dev/MaxKB.git
synced 2025-12-26 01:33:05 +00:00
feat: system support i18n
This commit is contained in:
parent
2f017082d2
commit
c8dfe0fab0
|
|
@ -0,0 +1,65 @@
|
|||
export default {
|
||||
title: 'Knowledge Base',
|
||||
createDataset: 'Create Knowledge Base',
|
||||
general: 'General',
|
||||
web: 'Web Site',
|
||||
relatedApplications: 'Related Applications',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name'
|
||||
},
|
||||
setting: {
|
||||
vectorization: 'Vectorization',
|
||||
sync: 'Sync'
|
||||
},
|
||||
tip: {
|
||||
professionalMessage:
|
||||
'The community edition supports up to 50 knowledge bases. For more knowledge bases, please upgrade to the professional edition.',
|
||||
syncSuccess: 'Sync task sent successfully',
|
||||
updateModeMessage:
|
||||
'After modifying the knowledge base vector model, you need to vectorize the knowledge base. Do you want to continue saving?'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: 'Confirm Deletion of Knowledge Base:',
|
||||
confirmMessage1: 'This knowledge base is associated with',
|
||||
confirmMessage2: 'applications. Deleting it will be irreversible, please proceed with caution.'
|
||||
},
|
||||
datasetForm: {
|
||||
title: {
|
||||
info: 'Basic Information'
|
||||
},
|
||||
form: {
|
||||
datasetName: {
|
||||
label: 'Knowledge Base Name',
|
||||
placeholder: 'Please enter the knowledge base name',
|
||||
requiredMessage: 'Please enter the knowledge base name'
|
||||
},
|
||||
datasetDescription: {
|
||||
label: 'Knowledge Base Description',
|
||||
placeholder:
|
||||
'Describe the content of the knowledge base. A detailed description will help AI understand the content better, improving the accuracy of content retrieval and hit rate.',
|
||||
requiredMessage: 'Please enter the knowledge base description'
|
||||
},
|
||||
vectorModel: {
|
||||
label: 'Vector Model',
|
||||
placeholder: 'Please select a vector model',
|
||||
requiredMessage: 'Please enter the Embedding model'
|
||||
},
|
||||
datasetType: {
|
||||
label: 'Knowledge Base Type',
|
||||
generalInfo: 'Upload local files or manually enter',
|
||||
webInfo: 'Sync text data from a Web site'
|
||||
},
|
||||
source_url: {
|
||||
label: 'Web Root URL',
|
||||
placeholder: 'Please enter the Web root URL',
|
||||
requiredMessage: 'Please enter the Web root URL'
|
||||
},
|
||||
selector: {
|
||||
label: 'Selector',
|
||||
placeholder: 'Default is body, can input .classname/#idname/tagname'
|
||||
}
|
||||
},
|
||||
buttons: {},
|
||||
dialog: {}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,84 @@
|
|||
export default {
|
||||
title: 'Function Library',
|
||||
createFunction: 'Create Function',
|
||||
editFunction: 'Edit Function',
|
||||
copyFunction: 'Copy Function',
|
||||
searchBar: {
|
||||
placeholder: 'Search by function name'
|
||||
},
|
||||
setting: {
|
||||
disabled: 'Disabled'
|
||||
},
|
||||
tip: {
|
||||
saveMessage: 'Unsaved changes will be lost. Are you sure you want to exit?'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: 'Confirm Deletion of Function:',
|
||||
confirmMessage:
|
||||
'Deleting this function will cause errors in applications that reference it when they are queried. Please proceed with caution.'
|
||||
},
|
||||
disabled: {
|
||||
confirmTitle: 'Confirm Disable Function:',
|
||||
confirmMessage:
|
||||
'Disabling this function will cause errors in applications that reference it when they are queried. Please proceed with caution.'
|
||||
},
|
||||
functionForm: {
|
||||
title: {
|
||||
copy: 'Copy',
|
||||
editParam: 'Edit Parameters',
|
||||
addParam: 'Add Parameter',
|
||||
baseInfo: 'Basic Information'
|
||||
},
|
||||
form: {
|
||||
functionName: {
|
||||
label: 'Function Name',
|
||||
placeholder: 'Please enter the function name',
|
||||
requiredMessage: 'Please enter the function name'
|
||||
},
|
||||
functionDescription: {
|
||||
label: 'Description',
|
||||
placeholder: 'Please enter a description of the function'
|
||||
},
|
||||
permission_type: {
|
||||
label: 'Permissions',
|
||||
requiredMessage: 'Please select'
|
||||
},
|
||||
inputParam: {
|
||||
label: 'Input Parameters',
|
||||
placeholder: 'Please enter parameter values',
|
||||
requiredMessage: 'Please enter parameter values'
|
||||
},
|
||||
paramName: {
|
||||
label: 'Parameter Name',
|
||||
placeholder: 'Please enter the parameter name',
|
||||
requiredMessage: 'Please enter the parameter name'
|
||||
},
|
||||
dataType: {
|
||||
label: 'Data Type'
|
||||
},
|
||||
source: {
|
||||
label: 'Source',
|
||||
custom: 'Custom',
|
||||
reference: 'Reference Parameter'
|
||||
},
|
||||
required: {
|
||||
label: 'Required'
|
||||
},
|
||||
param: {
|
||||
outputParam: 'Output Parameters',
|
||||
paramInfo1: 'Displayed when using the function',
|
||||
paramInfo2: 'Not displayed when using the function',
|
||||
required: 'Required',
|
||||
code: 'Code',
|
||||
result: 'Result'
|
||||
},
|
||||
debug: {
|
||||
run: 'Run',
|
||||
output: 'Output',
|
||||
runResult: 'Run Result',
|
||||
runSuccess: 'Run Successful',
|
||||
runFailed: 'Run Failed'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,20 @@
|
|||
import notFound from './404';
|
||||
import application from './application';
|
||||
import applicationOverview from './application-overview';
|
||||
import system from './system';
|
||||
import notFound from './404'
|
||||
import application from './application'
|
||||
import applicationOverview from './application-overview'
|
||||
import system from './system'
|
||||
import functionLib from './function-lib'
|
||||
import user from './user'
|
||||
import team from './team'
|
||||
import template from './template'
|
||||
import dataset from './dataset'
|
||||
export default {
|
||||
notFound,
|
||||
application,
|
||||
applicationOverview,
|
||||
system
|
||||
};
|
||||
notFound,
|
||||
application,
|
||||
applicationOverview,
|
||||
system,
|
||||
functionLib,
|
||||
user,
|
||||
team,
|
||||
template,
|
||||
dataset
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,30 @@
|
|||
export default {
|
||||
title: 'Team Members',
|
||||
member: 'Member',
|
||||
manage: 'Owner',
|
||||
permissionSetting: 'Permission Settings',
|
||||
addMember: 'Add Member',
|
||||
addSubTitle: 'Members can access the data you authorize after logging in.',
|
||||
searchBar: {
|
||||
placeholder: 'Enter username to search'
|
||||
},
|
||||
delete: {
|
||||
button: 'Remove',
|
||||
confirmTitle: 'Confirm Removal of Member:',
|
||||
confirmMessage:
|
||||
'Removing the member will revoke their access to knowledge bases and applications.'
|
||||
},
|
||||
setting: {
|
||||
management: 'Manage',
|
||||
check: 'View'
|
||||
},
|
||||
teamForm: {
|
||||
form: {
|
||||
userName: {
|
||||
label: 'Username/Email',
|
||||
placeholder: "Enter the member's username or email",
|
||||
requiredMessage: 'Enter the username/email'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
export default {
|
||||
title: 'Model Settings',
|
||||
provider: 'Provider',
|
||||
providerPlaceholder: 'Select Provider',
|
||||
addModel: 'Add Model',
|
||||
searchBar: {
|
||||
placeholder: 'Search by name'
|
||||
},
|
||||
delete: {},
|
||||
setting: {},
|
||||
model: {
|
||||
allModel: 'All Models',
|
||||
publicModel: 'Public Models',
|
||||
privateModel: 'Private Models',
|
||||
LLM: 'Large Language Model',
|
||||
EMBEDDING: 'Embedding Model',
|
||||
RERANKER: 'Reranker Model',
|
||||
STT: 'Speech-to-Text',
|
||||
TTS: 'Text-to-Speech',
|
||||
IMAGE: 'Image Understanding',
|
||||
TTI: 'Image Generation'
|
||||
},
|
||||
templateForm: {
|
||||
form: {
|
||||
provider: {
|
||||
label: 'Provider',
|
||||
placeholder: 'Select Provider'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,70 @@
|
|||
export default {
|
||||
title: 'User Management',
|
||||
createUser: 'Create User',
|
||||
editUser: 'Edit User',
|
||||
setting: {
|
||||
updatePwd: 'Update User Password'
|
||||
},
|
||||
tip: {
|
||||
professionalMessage:
|
||||
'The community edition supports up to 2 users. For more users, please upgrade to the professional edition.',
|
||||
updatePwdSuccess: 'User password updated successfully'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: 'Confirm Deletion of User:',
|
||||
confirmMessage:
|
||||
'Deleting this user will also delete all resources (applications, knowledge bases, models) created by this user. Please proceed with caution.'
|
||||
},
|
||||
disabled: {
|
||||
confirmTitle: 'Confirm Disable Function:',
|
||||
confirmMessage:
|
||||
'Disabling this function will cause errors when applications that reference it are queried. Please proceed with caution.'
|
||||
},
|
||||
userForm: {
|
||||
form: {
|
||||
username: {
|
||||
label: 'Username',
|
||||
placeholder: 'Please enter username',
|
||||
requiredMessage: 'Please enter username',
|
||||
lengthMessage: 'Length must be between 6 and 20 characters'
|
||||
},
|
||||
nick_name: {
|
||||
label: 'Name',
|
||||
placeholder: 'Please enter name'
|
||||
},
|
||||
email: {
|
||||
label: 'Email',
|
||||
placeholder: 'Please enter email',
|
||||
requiredMessage: 'Please enter email'
|
||||
},
|
||||
phone: {
|
||||
label: 'Phone Number',
|
||||
placeholder: 'Please enter phone number'
|
||||
},
|
||||
password: {
|
||||
label: 'Login Password',
|
||||
placeholder: 'Please enter password',
|
||||
requiredMessage: 'Please enter password',
|
||||
lengthMessage: 'Length must be between 6 and 20 characters'
|
||||
},
|
||||
new_password: {
|
||||
label: 'New Password',
|
||||
placeholder: 'Please enter new password',
|
||||
requiredMessage: 'Please enter new password'
|
||||
},
|
||||
re_password: {
|
||||
label: 'Confirm Password',
|
||||
placeholder: 'Please enter confirm password',
|
||||
requiredMessage: 'Please enter confirm password',
|
||||
validatorMessage: 'Passwords do not match'
|
||||
}
|
||||
}
|
||||
},
|
||||
source: {
|
||||
label: 'User Type',
|
||||
local: 'System User',
|
||||
wecom: 'WeCom (Enterprise WeChat)',
|
||||
lark: 'Lark (Feishu)',
|
||||
dingtalk: 'DingTalk'
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,63 @@
|
|||
export default {
|
||||
title: '知識庫',
|
||||
createDataset: '建立知識庫',
|
||||
general: '通用型',
|
||||
web: 'Web 站點',
|
||||
relatedApplications: '關聯應用',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜尋'
|
||||
},
|
||||
setting: {
|
||||
vectorization: '向量化',
|
||||
sync: '同步'
|
||||
},
|
||||
tip: {
|
||||
professionalMessage: '社群版最多支援 50 個知識庫,如需擁有更多知識庫,請升級為專業版。',
|
||||
syncSuccess: '同步任務發送成功',
|
||||
updateModeMessage: '修改知識庫向量模型後,需要對知識庫向量化,是否繼續保存?'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '是否刪除知識庫:',
|
||||
confirmMessage1: '此知識庫關聯',
|
||||
confirmMessage2: '個應用,刪除後無法恢復,請謹慎操作。'
|
||||
},
|
||||
datasetForm: {
|
||||
title: {
|
||||
info: '基本資訊'
|
||||
},
|
||||
form: {
|
||||
datasetName: {
|
||||
label: '知識庫名稱',
|
||||
placeholder: '請輸入知識庫名稱',
|
||||
requiredMessage: '請輸入應用名稱'
|
||||
},
|
||||
datasetDescription: {
|
||||
label: '知識庫描述',
|
||||
placeholder:
|
||||
'描述知識庫的內容,詳盡的描述將幫助AI能深入理解該知識庫的內容,能更準確的檢索到內容,提高該知識庫的命中率。',
|
||||
requiredMessage: '請輸入知識庫描述'
|
||||
},
|
||||
vectorModel: {
|
||||
label: '向量模型',
|
||||
placeholder: '請選擇向量模型',
|
||||
requiredMessage: '請輸入Embedding模型'
|
||||
},
|
||||
datasetType: {
|
||||
label: '知識庫類型',
|
||||
generalInfo: '上傳本地檔案或手動輸入',
|
||||
webInfo: '同步Web網站文字資料'
|
||||
},
|
||||
source_url: {
|
||||
label: 'Web 根位址',
|
||||
placeholder: '請輸入 Web 根位址',
|
||||
requiredMessage: '請輸入 Web 根位址'
|
||||
},
|
||||
selector: {
|
||||
label: '選擇器',
|
||||
placeholder: '預設為 body,可輸入 .classname/#idname/tagname'
|
||||
}
|
||||
},
|
||||
buttons: {},
|
||||
dialog: {}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,82 @@
|
|||
export default {
|
||||
title: '函數庫',
|
||||
createFunction: '建立函數',
|
||||
editFunction: '編輯函數',
|
||||
copyFunction: '複製函數',
|
||||
searchBar: {
|
||||
placeholder: '按函數名稱搜尋'
|
||||
},
|
||||
setting: {
|
||||
disabled: '停用'
|
||||
},
|
||||
tip: {
|
||||
saveMessage: '當前的更改尚未保存,確認退出嗎?'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '是否刪除函數:',
|
||||
confirmMessage: '刪除後,引用該函數的應用在查詢時會報錯,請謹慎操作。'
|
||||
},
|
||||
disabled: {
|
||||
confirmTitle: '是否停用函數:',
|
||||
confirmMessage: '停用後,引用該函數的應用在查詢時會報錯,請謹慎操作。'
|
||||
},
|
||||
functionForm: {
|
||||
title: {
|
||||
copy: '副本',
|
||||
editParam: '編輯參數',
|
||||
addParam: '添加參數',
|
||||
baseInfo: '基礎信息'
|
||||
},
|
||||
form: {
|
||||
functionName: {
|
||||
label: '函數名稱',
|
||||
placeholder: '請輸入函數名稱',
|
||||
requiredMessage: '請輸入函數名稱'
|
||||
},
|
||||
functionDescription: {
|
||||
label: '描述',
|
||||
placeholder: '請輸入函數的描述'
|
||||
},
|
||||
permission_type: {
|
||||
label: '權限',
|
||||
requiredMessage: '請選擇'
|
||||
},
|
||||
inputParam: {
|
||||
label: '輸入參數',
|
||||
placeholder: '請輸入參數值',
|
||||
requiredMessage: '請輸入參數值'
|
||||
},
|
||||
paramName: {
|
||||
label: '參數名',
|
||||
placeholder: '請輸入參數名',
|
||||
requiredMessage: '請輸入參數名'
|
||||
},
|
||||
dataType: {
|
||||
label: '數據類型'
|
||||
},
|
||||
source: {
|
||||
label: '來源',
|
||||
custom: '自定義',
|
||||
reference: '引用參數'
|
||||
},
|
||||
required: {
|
||||
label: '是否必填'
|
||||
},
|
||||
param: {
|
||||
outputParam: '輸出參數',
|
||||
paramInfo1: '使用函數時顯示',
|
||||
paramInfo2: '使用函數時不顯示',
|
||||
required: '必填',
|
||||
code: '代碼',
|
||||
result: '結果'
|
||||
},
|
||||
debug: {
|
||||
run: '運行',
|
||||
output: '輸出',
|
||||
runResult: '運行結果',
|
||||
runSuccess: '運行成功',
|
||||
runFailed: '運行失敗'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1,10 +1,20 @@
|
|||
import notFound from './404';
|
||||
import application from './application';
|
||||
import applicationOverview from './application-overview';
|
||||
import system from './system';
|
||||
import notFound from './404'
|
||||
import application from './application'
|
||||
import applicationOverview from './application-overview'
|
||||
import system from './system'
|
||||
import functionLib from './function-lib'
|
||||
import user from './user'
|
||||
import team from './team'
|
||||
import template from './template'
|
||||
import dataset from './dataset'
|
||||
export default {
|
||||
notFound,
|
||||
application,
|
||||
applicationOverview,
|
||||
system
|
||||
};
|
||||
notFound,
|
||||
application,
|
||||
applicationOverview,
|
||||
system,
|
||||
functionLib,
|
||||
user,
|
||||
team,
|
||||
template,
|
||||
dataset
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,29 @@
|
|||
export default {
|
||||
title: '團隊成員',
|
||||
member: '成員',
|
||||
manage: '所有者',
|
||||
permissionSetting: '權限設定',
|
||||
addMember: '新增成員',
|
||||
addSubTitle: '成員登入後可以存取您授權的資料。',
|
||||
searchBar: {
|
||||
placeholder: '請輸入使用者名稱搜尋'
|
||||
},
|
||||
delete: {
|
||||
button: '移除',
|
||||
confirmTitle: '是否移除成員:',
|
||||
confirmMessage: '移除後將會取消成員擁有之知識庫和應用程式權限。'
|
||||
},
|
||||
setting: {
|
||||
management: '管理',
|
||||
check: '查看'
|
||||
},
|
||||
teamForm: {
|
||||
form: {
|
||||
userName: {
|
||||
label: '使用者名稱/電子郵件',
|
||||
placeholder: '請輸入成員的使用者名稱或電子郵件',
|
||||
requiredMessage: '請輸入使用者名稱/電子郵件'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,31 @@
|
|||
export default {
|
||||
title: '模型設定',
|
||||
provider: '供應商',
|
||||
providerPlaceholder: '選擇供應商',
|
||||
addModel: '新增模型',
|
||||
searchBar: {
|
||||
placeholder: '按名稱搜尋'
|
||||
},
|
||||
delete: {},
|
||||
setting: {},
|
||||
model: {
|
||||
allModel: '全部模型',
|
||||
publicModel: '公有模型',
|
||||
privateModel: '私有模型',
|
||||
LLM: '大語言模型',
|
||||
EMBEDDING: '向量模型',
|
||||
RERANKER: '重排模型',
|
||||
STT: '語音辨識',
|
||||
TTS: '語音合成',
|
||||
IMAGE: '圖片理解',
|
||||
TTI: '圖片生成'
|
||||
},
|
||||
templateForm: {
|
||||
form: {
|
||||
provider: {
|
||||
label: '供應商',
|
||||
placeholder: '選擇供應商'
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,68 @@
|
|||
export default {
|
||||
title: '使用者管理',
|
||||
createUser: '建立使用者',
|
||||
editUser: '編輯使用者',
|
||||
setting: {
|
||||
updatePwd: '修改使用者密碼'
|
||||
},
|
||||
tip: {
|
||||
professionalMessage: '社群版最多支援 2 個使用者,如需擁有更多使用者,請升級為專業版。',
|
||||
updatePwdSuccess: '使用者密碼修改成功'
|
||||
},
|
||||
delete: {
|
||||
confirmTitle: '是否刪除該使用者?',
|
||||
confirmMessage:
|
||||
'刪除該使用者後,該使用者建立的所有資源(應用、知識庫、模型)都會被刪除,請謹慎操作。'
|
||||
},
|
||||
disabled: {
|
||||
confirmTitle: '是否停用函數?',
|
||||
confirmMessage: '停用後,引用該函數的應用在查詢時會報錯,請謹慎操作。'
|
||||
},
|
||||
userForm: {
|
||||
form: {
|
||||
username: {
|
||||
label: '使用者名稱',
|
||||
placeholder: '請輸入使用者名稱',
|
||||
requiredMessage: '請輸入使用者名稱',
|
||||
lengthMessage: '長度須介於 6 到 20 個字元之間'
|
||||
},
|
||||
nick_name: {
|
||||
label: '姓名',
|
||||
placeholder: '請輸入姓名'
|
||||
},
|
||||
email: {
|
||||
label: '電子信箱',
|
||||
placeholder: '請輸入電子信箱',
|
||||
requiredMessage: '請輸入電子信箱'
|
||||
},
|
||||
phone: {
|
||||
label: '手機號碼',
|
||||
placeholder: '請輸入手機號碼'
|
||||
},
|
||||
password: {
|
||||
label: '登入密碼',
|
||||
placeholder: '請輸入密碼',
|
||||
requiredMessage: '請輸入密碼',
|
||||
lengthMessage: '長度須介於 6 到 20 個字元之間'
|
||||
},
|
||||
new_password: {
|
||||
label: '新密碼',
|
||||
placeholder: '請輸入新密碼',
|
||||
requiredMessage: '請輸入新密碼'
|
||||
},
|
||||
re_password: {
|
||||
label: '確認密碼',
|
||||
placeholder: '請輸入確認密碼',
|
||||
requiredMessage: '請輸入確認密碼',
|
||||
validatorMessage: '密碼不一致'
|
||||
}
|
||||
}
|
||||
},
|
||||
source: {
|
||||
label: '使用者類型',
|
||||
local: '系統使用者',
|
||||
wecom: '企業微信',
|
||||
lark: '飛書',
|
||||
dingtalk: '釘釘'
|
||||
}
|
||||
}
|
||||
|
|
@ -44,7 +44,7 @@
|
|||
}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column :label="$t('common.status.label')" width="60">
|
||||
<el-table-column :label="$t('common.status.label')" width="80">
|
||||
<template #default="{ row }">
|
||||
<div @click.stop>
|
||||
<el-switch
|
||||
|
|
@ -112,6 +112,7 @@ import { datetimeFormat } from '@/utils/time'
|
|||
import useStore from '@/stores'
|
||||
import { ValidType, ValidCount } from '@/enums/common'
|
||||
import { t } from '@/locales'
|
||||
|
||||
const { common, user } = useStore()
|
||||
|
||||
const UserDialogRef = ref()
|
||||
|
|
@ -148,6 +149,7 @@ function changeState(bool: Boolean, row: any) {
|
|||
function editPwdUser(row: any) {
|
||||
UserPwdDialogRef.value.open(row)
|
||||
}
|
||||
|
||||
function editUser(row: any) {
|
||||
title.value = t('views.user.editUser')
|
||||
UserDialogRef.value.open(row)
|
||||
|
|
|
|||
Loading…
Reference in New Issue