From c8dfe0fab0282562cbe49a18b3ae6702d7c14e29 Mon Sep 17 00:00:00 2001 From: wxg0103 <727495428@qq.com> Date: Mon, 13 Jan 2025 14:25:02 +0800 Subject: [PATCH] feat: system support i18n --- ui/src/locales/lang/en_US/views/dataset.ts | 65 ++++++++++++++ .../locales/lang/en_US/views/function-lib.ts | 84 +++++++++++++++++++ ui/src/locales/lang/en_US/views/index.ts | 28 +++++-- ui/src/locales/lang/en_US/views/team.ts | 30 +++++++ ui/src/locales/lang/en_US/views/template.ts | 31 +++++++ ui/src/locales/lang/en_US/views/user.ts | 70 ++++++++++++++++ ui/src/locales/lang/zh_TW/views/dataset.ts | 63 ++++++++++++++ .../locales/lang/zh_TW/views/function-lib.ts | 82 ++++++++++++++++++ ui/src/locales/lang/zh_TW/views/index.ts | 28 +++++-- ui/src/locales/lang/zh_TW/views/team.ts | 29 +++++++ ui/src/locales/lang/zh_TW/views/template.ts | 31 +++++++ ui/src/locales/lang/zh_TW/views/user.ts | 68 +++++++++++++++ ui/src/views/user-manage/index.vue | 4 +- 13 files changed, 594 insertions(+), 19 deletions(-) create mode 100644 ui/src/locales/lang/en_US/views/dataset.ts create mode 100644 ui/src/locales/lang/en_US/views/function-lib.ts create mode 100644 ui/src/locales/lang/en_US/views/team.ts create mode 100644 ui/src/locales/lang/en_US/views/template.ts create mode 100644 ui/src/locales/lang/en_US/views/user.ts create mode 100644 ui/src/locales/lang/zh_TW/views/dataset.ts create mode 100644 ui/src/locales/lang/zh_TW/views/function-lib.ts create mode 100644 ui/src/locales/lang/zh_TW/views/team.ts create mode 100644 ui/src/locales/lang/zh_TW/views/template.ts create mode 100644 ui/src/locales/lang/zh_TW/views/user.ts diff --git a/ui/src/locales/lang/en_US/views/dataset.ts b/ui/src/locales/lang/en_US/views/dataset.ts new file mode 100644 index 000000000..1caba1427 --- /dev/null +++ b/ui/src/locales/lang/en_US/views/dataset.ts @@ -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: {} + } +} diff --git a/ui/src/locales/lang/en_US/views/function-lib.ts b/ui/src/locales/lang/en_US/views/function-lib.ts new file mode 100644 index 000000000..ce8d16a58 --- /dev/null +++ b/ui/src/locales/lang/en_US/views/function-lib.ts @@ -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' + } + } + } +} diff --git a/ui/src/locales/lang/en_US/views/index.ts b/ui/src/locales/lang/en_US/views/index.ts index 9e046090a..0c9d7fccd 100644 --- a/ui/src/locales/lang/en_US/views/index.ts +++ b/ui/src/locales/lang/en_US/views/index.ts @@ -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 +} diff --git a/ui/src/locales/lang/en_US/views/team.ts b/ui/src/locales/lang/en_US/views/team.ts new file mode 100644 index 000000000..814229d43 --- /dev/null +++ b/ui/src/locales/lang/en_US/views/team.ts @@ -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' + } + } + } +} diff --git a/ui/src/locales/lang/en_US/views/template.ts b/ui/src/locales/lang/en_US/views/template.ts new file mode 100644 index 000000000..856c2f873 --- /dev/null +++ b/ui/src/locales/lang/en_US/views/template.ts @@ -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' + } + } + } +} diff --git a/ui/src/locales/lang/en_US/views/user.ts b/ui/src/locales/lang/en_US/views/user.ts new file mode 100644 index 000000000..413574fc8 --- /dev/null +++ b/ui/src/locales/lang/en_US/views/user.ts @@ -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' + } +} diff --git a/ui/src/locales/lang/zh_TW/views/dataset.ts b/ui/src/locales/lang/zh_TW/views/dataset.ts new file mode 100644 index 000000000..16e67563f --- /dev/null +++ b/ui/src/locales/lang/zh_TW/views/dataset.ts @@ -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: {} + } +} diff --git a/ui/src/locales/lang/zh_TW/views/function-lib.ts b/ui/src/locales/lang/zh_TW/views/function-lib.ts new file mode 100644 index 000000000..a7a8fe4c3 --- /dev/null +++ b/ui/src/locales/lang/zh_TW/views/function-lib.ts @@ -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: '運行失敗' + } + } + } +} diff --git a/ui/src/locales/lang/zh_TW/views/index.ts b/ui/src/locales/lang/zh_TW/views/index.ts index 9e046090a..0c9d7fccd 100644 --- a/ui/src/locales/lang/zh_TW/views/index.ts +++ b/ui/src/locales/lang/zh_TW/views/index.ts @@ -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 +} diff --git a/ui/src/locales/lang/zh_TW/views/team.ts b/ui/src/locales/lang/zh_TW/views/team.ts new file mode 100644 index 000000000..1b1fb4192 --- /dev/null +++ b/ui/src/locales/lang/zh_TW/views/team.ts @@ -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: '請輸入使用者名稱/電子郵件' + } + } + } +} diff --git a/ui/src/locales/lang/zh_TW/views/template.ts b/ui/src/locales/lang/zh_TW/views/template.ts new file mode 100644 index 000000000..b11da7e9c --- /dev/null +++ b/ui/src/locales/lang/zh_TW/views/template.ts @@ -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: '選擇供應商' + } + } + } +} diff --git a/ui/src/locales/lang/zh_TW/views/user.ts b/ui/src/locales/lang/zh_TW/views/user.ts new file mode 100644 index 000000000..18ea3326a --- /dev/null +++ b/ui/src/locales/lang/zh_TW/views/user.ts @@ -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: '釘釘' + } +} diff --git a/ui/src/views/user-manage/index.vue b/ui/src/views/user-manage/index.vue index e703c9988..363f4d7ef 100644 --- a/ui/src/views/user-manage/index.vue +++ b/ui/src/views/user-manage/index.vue @@ -44,7 +44,7 @@ }} - +