diff --git a/frontend/src/components/canvas/components/Toolbar.vue b/frontend/src/components/canvas/components/Toolbar.vue index 07797dd975..cfd237818d 100644 --- a/frontend/src/components/canvas/components/Toolbar.vue +++ b/frontend/src/components/canvas/components/Toolbar.vue @@ -3,42 +3,42 @@
- 画布大小 + {{ $t(panel.canvas_size)}} *
- 画布比例 + {{ $t(panel.canvas_scale)}} %
- + - + - + - + - + - + - + - 关闭 + {{ $t(commons.close) }}
diff --git a/frontend/src/components/canvas/custom-component/UserView.vue b/frontend/src/components/canvas/custom-component/UserView.vue index 37cba8f8ba..4a810e9638 100644 --- a/frontend/src/components/canvas/custom-component/UserView.vue +++ b/frontend/src/components/canvas/custom-component/UserView.vue @@ -2,7 +2,7 @@
- 获取数据出错 请联系管理员
+ {{ $t(panel.error_data) }}
{{ message }}
diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 367158527a..bd9076a37b 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -85,6 +85,7 @@ export default { tokenError: 'Token error, please login again' }, commons: { + all: 'All', enable: 'Enable', disable: 'Disable', yes: 'Yes', @@ -812,7 +813,34 @@ export default { export_to_panel: 'Export to template', preview: 'Preview', select_panel_from_left: 'Please select panel from left', - template_nale: 'Template name' + template_nale: 'Template name', + template: 'Template', + category: 'Category', + all_org: 'All Organization', + custom: 'Custom', + import_template: 'Import Template', + copy_template: 'Copy Template', + upload_template: 'Upload Template', + belong_to_category: 'Category', + pls_select_belong_to_category: 'Please select category', + template_name_cannot_be_empty: 'Template name cannot be empty', + select_by_table: 'Select by table', + data_list: 'Data list', + component_list: 'Component list', + custom_scope: 'Custom control range', + multiple_choice: 'Multiple choice', + single_choice: 'Single choice', + field: 'Field', + unshared_people: 'Unshared people', + shared_people: 'Shared people', + error_data: 'Error getting data, please contact administrator', + canvas_size: 'Canvas Size', + canvas_scale: 'Canvas Scale', + style: 'Style', + clean_canvas: 'Clean Canvas', + insert_picture: 'Insert Picture', + redo: 'Redo', + undo: 'UToolbar.vuendo' }, plugin: { local_install: 'Local installation', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 8e78d2f927..f71a45c863 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1,50 +1,50 @@ export default { route: { - dashboard: '首页', - documentation: '文档', - guide: '引导页', - permission: '权限测试页', - rolePermission: '角色权限', - pagePermission: '页面权限', - directivePermission: '指令权限', - icons: '图标', - components: '组件', - tinymce: '富文本编辑器', + dashboard: '首頁', + documentation: '文檔', + guide: '引導頁', + permission: '全縣測試頁', + rolePermission: '角色權限', + pagePermission: '頁面權限', + directivePermission: '指令權限', + icons: '圖標', + components: '組件', + tinymce: '富文本編輯器', markdown: 'Markdown', - jsonEditor: 'JSON 编辑器', + jsonEditor: 'JSON 編輯器', dndList: '列表拖拽', splitPane: 'Splitpane', - avatarUpload: '头像上传', + avatarUpload: '頭像上傳', dropzone: 'Dropzone', sticky: 'Sticky', countTo: 'Count To', - componentMixin: '小组件', - backToTop: '返回顶部', + componentMixin: '小組件', + backToTop: '返回頂部', dragDialog: '拖拽 Dialog', dragSelect: '拖拽 Select', dragKanban: '可拖拽看板', - charts: '图表', - keyboardChart: '键盘图表', - lineChart: '折线图', - mixChart: '混合图表', - example: '综合实例', + charts: '圖表', + keyboardChart: '鍵盤圖表', + lineChart: '折線圖', + mixChart: '混合圖表', + example: '綜合實例', nested: '路由嵌套', - menu1: '菜单1', - 'menu1-1': '菜单 1-1', - 'menu1-2': '菜单 1-2', - 'menu1-2-1': '菜单 1-2-1', - 'menu1-2-2': '菜单 1-2-2', - 'menu1-3': '菜单 1-3', - menu2: '菜单 2', + menu1: '菜單1', + 'menu1-1': '菜單 1-1', + 'menu1-2': '菜單 1-2', + 'menu1-2-1': '菜單 1-2-1', + 'menu1-2-2': '菜單 1-2-2', + 'menu1-3': '菜單 1-3', + menu2: '菜單 2', Table: 'Table', dynamicTable: '动态 Table', dragTable: '拖拽 Table', - inlineEditTable: 'Table 内编辑', + inlineEditTable: 'Table 内編輯', complexTable: '综合 Table', tab: 'Tab', form: '表单', createArticle: '创建文章', - editArticle: '编辑文章', + editArticle: '編輯文章', articleList: '文章列表', errorPages: '错误页面', page401: '401', @@ -52,131 +52,816 @@ export default { errorLog: '错误日志', excel: 'Excel', exportExcel: '导出 Excel', - selectExcel: '导出 已选择项', + selectExcel: '导出 已選擇项', mergeHeader: '导出 多级表头', uploadExcel: '上传 Excel', zip: 'Zip', pdf: 'PDF', exportZip: 'Export Zip', - theme: '换肤', + theme: '换膚', clipboardDemo: 'Clipboard', - i18n: '国际化', + i18n: '國際化', externalLink: '外链', - profile: '个人中心' + profile: '個人中心' }, navbar: { - dashboard: '首页', - github: '项目地址', - logOut: '退出登录', - profile: '个人中心', - theme: '换肤', - size: '布局大小' + dashboard: '首頁', + github: '項目地址', + logOut: '退出登陸', + profile: '個人中心', + theme: '换膚', + size: '佈局大小' }, login: { - title: '系统登录', + title: '系統登陸', welcome: '歡迎使用', - logIn: '登錄', - username: '账号', - password: '密码', - any: '随便填', - thirdparty: '第三方登录', - thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!' + logIn: '登陸', + username: '帳號', + password: '密碼', + any: '任意字符', + thirdparty: '第三方登陸', + thirdpartyTips: '本地不能模拟,请结合自己业务进行模拟!!!', + expires: '登陸信息过期,请重新登陸', + tokenError: '信息错误,请重新登陸' }, commons: { - button: { - login: '登錄' - } + all: '全部', + enable: '啟用', + disable: '停用', + yes: '是', + no: '否', + reset: '重置', + catalogue: '目錄', + button: '按鈕', + gender: '性別', + man: '男', + woman: '女', + nick_name: '暱稱', + upload: '上傳', + cover: '覆蓋', + not_cover: '不覆蓋', + import_mode: '導入模式', + import_module: '導入模塊', + please_fill_in_the_template: '請填寫模板內容', + cut_back_old_version: '切匯舊版', + cut_back_new_version: '切匯新版', + comment: '評論', + examples: '示例', + help_documentation: '幫助文檔', + api_help_documentation: 'API文檔', + delete_cancelled: '已取消删除', + workspace: '工作空開你', + organization: '組織', + menu: '菜單', + setting: '設置', + project: '項目', + about_us: '關於', + current_project: '當前項目', + name: '名稱', + description: '描述', + annotation: '註釋', + clear: '清空', + save: '保存', + update: '更新', + save_success: '保存成功', + delete_success: '删除成功', + copy_success: '複製成功', + modify_success: '修改成功', + delete_cancel: '已取消删除', + confirm: '確定', + cancel: '取消', + prompt: '提示', + operating: '操作', + input_limit: '長度在 {0} 到 {1} 個字符', + login: '登陸', + welcome: '一站式開源數據分析平台', + username: '姓名', + password: '密碼', + input_username: '請輸入用戶姓名', + input_password: '請輸入密碼', + test: '測試', + create_time: '创建時間', + update_time: '更新時間', + add: '添加', + member: '成員', + email: '郵箱', + phone: '電話', + role: '角色', + personal_info: '個人信息', + api_keys: 'API Keys', + quota: '配額管理', + status: '狀態', + show_all: '顯示全部', + show: '顯示', + report: '報告', + user: '用戶', + system: '系統', + personal_setting: '個人設置', + test_resource_pool: '測試資源池', + system_setting: '系统設置', + input_content: '請輸入內容', + create: '新建', + edit: '編輯', + copy: '複製', + refresh: '刷新', + remark: '備註', + delete: '删除', + reduction: '恢復', + not_filled: '未填寫', + please_select: '请選擇', + search_by_name: '根据名稱搜索', + personal_information: '個人信息', + exit_system: '退出系統', + verification: '驗證', + title: '標題', + custom: '自動義', + select_date: '選擇日期', + months_1: '一月', + months_2: '二月', + months_3: '三月', + months_4: '四月', + months_5: '五月', + months_6: '六月', + months_7: '七月', + months_8: '八月', + months_9: '九月', + months_10: '十月', + months_11: '十一月', + months_12: '十二月', + weeks_0: '周日', + weeks_1: '周一', + weeks_2: '周二', + weeks_3: '周三', + weeks_4: '周四', + weeks_5: '周五', + weeks_6: '周六', + system_parameter_setting: '系統參數設置', + connection_successful: '連接成功', + connection_failed: '連接失敗', + save_failed: '保存失敗', + host_cannot_be_empty: '主机不能為空', + port_cannot_be_empty: '端口号不能為空', + account_cannot_be_empty: '帐户不能為空', + remove: '移除', + remove_cancel: '移除取消', + remove_success: '移除成功', + tips: '認證信息已過期,請重新登陸', + not_performed_yet: '尚未執行', + incorrect_input: '輸入內容不正確', + delete_confirm: '請輸入以下內容,確認删除:', + login_username: 'ID 或 郵箱', + input_login_username: '請輸入用戶 ID 或 郵箱', + input_name: '請輸入名稱', + please_upload: '请上傳文件', + please_fill_path: '请填寫url 路徑', + formatErr: '格式錯誤', + please_save: '请先保存', + reference_documentation: '参考文檔', + id: 'ID', + millisecond: '毫秒', + cannot_be_null: '不能為空', + required: '{0}是必填的', + already_exists: '名稱不能重複', + modifier: '修改人', + validate: '校驗', + batch_add: '批量添加', + tag_tip: '输入回车添加标签', + table: { + select_tip: '已选中 {0} 条數据' + }, + date: { + select_date: '選擇日期', + start_date: '开始日期', + end_date: '结束日期', + select_date_time: '選擇日期時間', + start_date_time: '开始日期時間', + end_date_time: '结束日期時間', + range_separator: '至', + data_time_error: '开始日期不能大與结束日期' + }, + adv_search: { + title: '高级搜索', + combine: '组合查询', + test: '所属测试', + project: '所属项目', + search: '查询', + reset: '重置', + and: '所有', + or: '任意一个', + operators: { + is_empty: '空', + is_not_empty: '非空', + like: '包含', + not_like: '不包含', + in: '属與', + not_in: '不属與', + gt: '大與', + ge: '大與等與', + lt: '小與', + le: '小與等與', + equals: '等與', + not_equals: '不等與', + between: '之间', + current_user: '是当前用戶' + } + }, + monitor: '监控', + image: '镜像', + tag: '标签', + module: { + select_module: '選擇模块', + default_module: '默认模块' + }, + datasource: '數據源' }, documentation: { - documentation: '文档', + documentation: '文檔', github: 'Github 地址' }, permission: { addRole: '新增角色', - editPermission: '编辑权限', - roles: '你的权限', - switchRoles: '切换权限', + editPermission: '編輯權限', + roles: '你的權限', + switchRoles: '切換權限', tips: '在某些情况下,不适合使用 v-permission。例如:Element-UI 的 el-tab 或 el-table-column 以及其它动态渲染 dom 的场景。你只能通过手动设置 v-if 来实现。', delete: '删除', - confirm: '确定', + confirm: '確定', cancel: '取消' }, guide: { - description: '引导页对于一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基于', + description: '引导页对與一些第一次进入项目的人很有用,你可以简单介绍下项目的功能。本 Demo 是基與', button: '打开引导' }, components: { - documentation: '文档', - tinymceTips: '富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在选择富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下选择了Tinymce。更详细的富文本比较和介绍见', - dropzoneTips: '由于我司业务有特殊需求,而且要传七牛 所以没用第三方,选择了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/Dropzone', + documentation: '文檔', + tinymceTips: '富文本是管理后台一个核心的功能,但同时又是一个有很多坑的地方。在選擇富文本的过程中我也走了不少的弯路,市面上常见的富文本都基本用过了,最终权衡了一下選擇了Tinymce。更详细的富文本比较和介绍见', + dropzoneTips: '由與我司业务有特殊需求,而且要传七牛 所以没用第三方,選擇了自己封装。代码非常的简单,具体代码你可以在这里看到 @/components/Dropzone', stickyTips: '当页面滚动到预设的位置会吸附在顶部', backToTopTips1: '页面滚动到指定位置会在右下角出现返回顶部按钮', backToTopTips2: '可自定义按钮的样式、show/hide、出现的高度、返回的位置 如需文字提示,可在外部使用Element的el-tooltip元素', - imageUploadTips: '由于我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。' + imageUploadTips: '由與我在使用时它只有vue@1版本,而且和mockjs不兼容,所以自己改造了一下,如果大家要使用的话,优先还是使用官方版本。' }, table: { - dynamicTips1: '固定表头, 按照表头顺序排序', - dynamicTips2: '不固定表头, 按照点击顺序排序', - dragTips1: '默认顺序', - dragTips2: '拖拽后顺序', - title: '标题', + dynamicTips1: '固定標頭,按照表頭順序排序', + dynamicTips2: '不固定標頭, 按照點擊順序排序', + dragTips1: '默認排序', + dragTips2: '拖拽後排序', + title: '標題', importance: '重要性', - type: '类型', - remark: '点评', + type: '類型', + remark: '點評', search: '搜索', add: '添加', - export: '导出', - reviewer: '审核人', - id: '序号', - date: '时间', + export: '導出', + reviewer: '審核人', + id: '序號', + date: '時間', author: '作者', - readings: '阅读数', - status: '状态', + readings: '閱讀數', + status: '狀態', actions: '操作', - edit: '编辑', - publish: '发布', + edit: '編輯', + publish: '發布', draft: '草稿', - delete: '删除', - cancel: '取 消', - confirm: '确 定' + delete: '刪除', + cancel: '取消', + confirm: '確定' }, example: { - warning: '创建和编辑页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基于 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见' + warning: '创建和編輯页面是不能被 keep-alive 缓存的,因为keep-alive 的 include 目前不支持根据路由来缓存,所以目前都是基與 component name 来进行缓存的。如果你想类似的实现缓存效果,可以使用 localStorage 等浏览器缓存方案。或者不要使用 keep-alive 的 include,直接缓存所有页面。详情见' }, errorLog: { tips: '请点击右上角bug小图标', - description: '现在的管理后台基本都是spa的形式了,它增强了用户体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。', - documentation: '文档介绍' + description: '现在的管理后台基本都是spa的形式了,它增强了用戶体验,但同时也会增加页面出问题的可能性,可能一个小小的疏忽就导致整个页面的死锁。好在 Vue 官网提供了一个方法来捕获处理异常,你可以在其中进行错误处理或者异常上报。', + documentation: '文檔介绍' }, excel: { - export: '导出', - selectedExport: '导出已选择项', - placeholder: '请输入文件名(默认excel-list)' + export: '導出', + selectedExport: '導出已選擇项', + placeholder: '請輸入文件名(默认excel-list)' }, zip: { - export: '导出', - placeholder: '请输入文件名(默认file)' + export: '導出', + placeholder: '請輸入文件名(默认file)' }, pdf: { - tips: '这里使用 window.print() 来实现下载pdf的功能' + tips: '這裏使用 window.print() 來實現下載pdf的功能' }, theme: { - change: '换肤', - documentation: '换肤文档', - tips: 'Tips: 它区别于 navbar 上的 theme-pick, 是两种不同的换肤方法,各自有不同的应用场景,具体请参考文档。' + change: '換膚', + documentation: '换膚文檔', + tips: 'Tips: 它區別於 navbar 上的 theme-pick, 是兩種不同的換膚方法,各自有不同的應用場景,具體請參考文檔。' }, tagsView: { refresh: '刷新', - close: '关闭', - closeOthers: '关闭其它', - closeAll: '关闭所有' + close: '關閉', + closeOthers: '關閉其他', + closeAll: '關閉所有' }, settings: { - title: '系统布局配置', - theme: '主题色', - tagsView: '开启 Tags-View', + title: '系統佈局配置', + theme: '主題色', + tagsView: '開啟 Tags-View', fixedHeader: '固定 Header', - sidebarLogo: '侧边栏 Logo' + sidebarLogo: '側邊欄 Logo' + }, + license: { + title: '授權管理', + corporation: '客户名稱', + time: '授權時間', + product: '產品名稱', + edition: '產品版本', + licenseVersion: '授權版本', + count: '授權數量', + valid_license: '授權驗證', + show_license: '查看授權', + valid_license_error: '授權驗證失敗', + status: '授權狀態', + valid: '有效', + invalid: '無效', + expired: '已過期' + }, + member: { + create: '添加成員', + modify: '修改成員', + delete_confirm: '这个用戶確定要删除吗?', + please_choose_member: '请選擇成員', + search_by_name: '根据名稱搜索', + modify_personal_info: '修改個人信息', + edit_password: '修改密碼', + edit_information: '編輯信息', + input_name: '請輸入名稱', + input_email: '請輸入郵箱', + special_characters_are_not_supported: '不支持特殊字符', + mobile_number_format_is_incorrect: '手機號碼格式不正確', + email_format_is_incorrect: '郵箱格式不正確', + password_format_is_incorrect: '有效密碼:8-30位,英文大小寫字母+數字+特殊字符(可选)', + old_password: '旧密碼', + new_password: '新密碼', + repeat_password: '確認密碼', + inconsistent_passwords: '两次输入的密碼不一致', + remove_member: '確定要移除该成員吗', + org_remove_member: '確定要移除该成員吗?', + input_id_or_email: '請輸入用戶 ID, 或者 用戶郵箱', + no_such_user: '无此用戶信息, 請輸入正确的用戶 ID 或者 用戶郵箱!' + }, + user: { + create: '創建用戶', + modify: '修改用戶', + input_name: '請輸入用戶姓名', + input_id: '請輸入ID', + input_email: '請輸入郵箱', + input_password: '請輸入密碼', + input_phone: '請輸入電話號碼', + input_roles: '请選擇角色', + special_characters_are_not_supported: '不支持特殊字符', + mobile_number_format_is_incorrect: '手機號碼格式不正確', + email_format_is_incorrect: '郵箱格式不正確', + delete_confirm: '这个用戶確定要删除吗?', + apikey_delete_confirm: '这个 API Key 確定要删除吗?', + input_id_placeholder: '請輸入ID (不支持中文)', + source: '用戶來源', + choose_org: '選擇組織' + }, + role: { + menu_authorization: '菜單授權', + data_authorization: '數据授權', + please_choose_role: '请選擇角色', + admin: '系統管理員', + org_admin: '組織管理员', + org_member: '組織成員', + add: '添加角色', + delete: '删除角色', + modify: '修改角色' + }, + menu: { + parent_category: '上級目錄', + module_name: '組件名稱', + module_path: '組件路径', + route_addr: '路由地址', + menu_sort: '菜單排序', + authority_identification: '權限標識', + button_name: '按鈕名稱', + select_icon: '選擇圖標', + create_time: '創建日期', + tile: '菜單標題', + create: '創建菜單', + modify: '修改菜單', + delete: '删除菜單', + delete_confirm: '確定删除菜單吗?' + }, + organization: { + parent_org: '上級組織', + select_parent_org: '選擇上級組織', + top_org: '頂級組織', + name: '組織名稱', + sort: '組織排序', + sub_organizations: '下屬組織數', + create_time: '創建日期', + create: '創建組織', + modify: '修改組織', + delete: '删除組織', + delete_confirm: '删除該組織會關聯刪除該組織的所有資源,確定要删除吗?', + input_name: '請輸入組織名稱', + select_organization: '请選擇組織', + search_by_name: '根据名稱搜索', + special_characters_are_not_supported: '格式錯誤(不支持特殊字符,且不能以\'-\'開頭結尾)', + select: '選擇組織', + delete_warning: '確定要删除組織吗?' + }, + system_parameter_setting: { + mailbox_service_settings: '郵件設置', + test_connection: '測試鏈接', + SMTP_host: 'SMTP主機', + SMTP_port: 'SMTP端口', + SMTP_account: 'SMTP帳號', + SMTP_password: 'SMTP密碼', + SSL: '開啟SSL(如果SMTP端口是465,通常需要啟用SSL)', + TLS: '開啟TLS(如果SMTP端口是587,通常需要啟用TLS)', + SMTP: '是否免密 SMTP', + host: '主機不能為空', + port: '端口號不能為空', + account: '帳戶不能為空', + test_recipients: '測試收件人', + tip: ' 提示: 僅用來作為測試郵件收件人' + }, + chart: { + datalist: '視圖', + add_group: '添加分組', + add_scene: '添加場景', + group: '分組', + scene: '場景', + delete: '刪除', + move_to: '移動到', + rename: '重命名', + tips: '提示', + confirm_delete: '確認刪除', + delete_success: '刪除成功', + confirm: '確認', + cancel: '取消', + search: '搜索', + back: '返回', + add_table: '添加表', + process: '進度', + add_chart: '添加視圖', + db_data: '數據庫表', + sql_data: 'SQL數據集', + excel_data: 'Excel數據集', + custom_data: '自助數據集', + pls_slc_tbl_left: '請從左側選擇視圖', + add_db_table: '添加數據庫表', + pls_slc_data_source: '請選擇數據源', + table: '表', + edit: '編輯', + create_view: '創建視圖', + data_preview: '數據預覽', + dimension: '緯度', + quota: '指標', + title: '標題', + show: '顯示', + chart_type: '圖表類型', + shape_attr: '圖形屬性', + module_style: '組件樣式', + result_filter: '結果過濾器', + x_axis: '橫軸', + y_axis: '縱軸', + chart: '視圖', + close: '關閉', + summary: '匯總方式', + fast_calc: '快速計算', + sum: '求和', + count: '記數', + avg: '平均', + max: '最大值', + min: '最小值', + stddev_pop: '標準差', + var_pop: '方差', + quick_calc: '快速計算', + show_name_set: '顯示名設置', + color: '顏色', + color_case: '配色方案', + pls_slc_color_case: '請選餓配色方案', + color_default: '默認', + color_retro: '復古', + color_future: '未來', + color_gradual: '漸變', + color_business: '商務', + color_gentle: '柔和', + color_elegant: '淡雅', + color_technology: '科技', + color_simple: '簡潔', + not_alpha: '不透明度', + size: '大小', + bar_width: '柱寬', + bar_gap: '柱間隔', + adapt: '自適應', + line_width: '線寬', + line_type: '線型', + line_symbol: '折點', + line_symbol_size: '折點大小', + line_type_solid: '實現', + line_type_dashed: '虛線', + line_symbol_circle: '圓形', + line_symbol_emptyCircle: '空心圓', + line_symbol_rect: '矩形', + line_symbol_roundRect: '圓角矩形', + line_symbol_triangle: '三角形', + line_symbol_diamond: '菱形', + line_symbol_pin: '釘子', + line_symbol_arrow: '箭頭', + line_symbol_none: '無', + line_area: '面積', + pie_inner_radius: '內經', + pie_outer_radius: '外經', + funnel_width: '寬度', + line_smooth: '平滑折線', + title_style: '標題格式', + text_fontsize: '字體大小', + text_color: '字體顏色', + text_h_position: '水平位置', + text_v_position: '垂直位置', + text_pos_left: '左', + text_pos_center: '中', + text_pos_right: '右', + text_pos_top: '上', + text_pos_bottom: '下', + text_italic: '字體傾斜', + italic: '傾斜', + orient: '方向', + horizontal: '水平', + vertical: '垂直', + legend: '圖例', + shape: '形狀', + polygon: '多邊形', + circle: '圖形', + label: '標籤', + label_position: '標籤位置', + content_formatter: '內容格式', + inside: '內', + tooltip: '提示', + tooltip_item: '數據項', + tooltip_axis: '座標軸', + formatter_plc: '內痛格式為空時,顯示默認格式', + xAxis: '橫洲', + yAxis: '縱軸', + position: '位置', + rotate: '角度', + name: '名稱', + icon: '國際', + trigger_position: '觸發位置', + asc: '昇序', + desc: '降序', + sort: '排序', + filter: '過濾', + none: '無', + background: '背景', + alpha: '透明度', + add_filter: '添加過濾', + no_limit: '無顯示', + filter_eq: '等於', + filter_not_eq: '不等於', + filter_lt: '小於', + filter_le: '小於等於', + filter_gt: '大於', + filter_ge: '大於等於', + filter_null: '為空', + filter_not_null: '不為空', + filter_include: '包含', + filter_not_include: '不包含', + rose_type: '玫瑰圖模式', + radius_mode: '半徑', + area_mode: '面積', + rose_radius: '園角', + view_name: '視圖名稱', + name_can_not_empty: '名稱不能為空', + custom_count: '記錄數', + table_title_fontsize: '表頭字體大小', + table_item_fontsize: '表格字體大小', + table_header_bg: '表頭背景', + table_item_bg: '表格背景', + table_item_font_color: '字體顏色', + stripe: '斑馬紋' + }, + dataset: { + datalist: '數據集', + add_group: '添加分組', + add_scene: '添加場景', + group: '分組', + scene: '場景', + delete: '刪除', + move_to: '移動到', + rename: '重命名', + tips: '提示', + confirm_delete: '確認刪除', + delete_success: '刪除成功', + confirm: '確認', + cancel: '取消', + search: '搜索', + back: '返回', + add_table: '添加表', + process: '進度', + update: '更新', + db_data: '數據庫表', + sql_data: 'SQL數據集', + excel_data: 'Excel數據集', + custom_data: '自助數據集', + pls_slc_tbl_left: '請從左側選擇表', + add_db_table: '添加數據庫表', + pls_slc_data_source: '選擇數據源鏈接', + table: '表', + edit: '編輯', + create_view: '創建視圖', + data_preview: '數據預覽', + field_type: '字段類型', + field_name: '字段名', + field_origin_name: '原始名', + field_check: '選中', + update_info: '更新信息', + join_view: '關聯視圖', + text: '文本', + time: '時間', + value: '數值', + mode: '模式', + direct_connect: '直鏈', + sync_data: '定時同步', + update_setting: '更新設置', + sync_now: '立即更新', + add_task: '添加任務', + task_name: '任務名稱', + start_time: '開始時間', + end_time: '結束時間', + status: '狀態', + error: '錯誤', + completed: '完成', + underway: '執行中', + task_update: '定時更新', + update_type: '更新方式', + all_scope: '全量更新', + add_scope: '增量更新', + select_data_time: '選擇日期時間', + execute_rate: '執行頻率', + execute_once: '只執行一次', + cron_config: '表達時設定', + no_limit: '無限制', + set_end_time: '設定結束時間', + operate: '操作', + save_success: '保存成功', + close: '關閉', + required: '必填', + input_content: '請輸入內容', + add_sql_table: '添加 SQL', + preview: '預覽', + pls_input_name: '請輸入名稱', + connect_mode: '鏈接模式', + incremental_update_type: '增量更新方式', + incremental_add: '增量添加', + incremental_delete: '增量刪除', + last_update_time: '上次更新時間', + current_update_time: '當前更新時間', + param: '參數', + edit_sql: '編輯 SQL', + showRow: '顯示行', + add_excel_table: ' 添加 Excel 數據集', + add_custom_table: '添加自助數據集', + upload_file: '上傳文件', + detail: '詳情', + type: '類型', + create_by: '創建者', + create_time: '創建時間', + preview_show: '顯示', + preview_item: '條數據', + preview_total: '共', + pls_input_less_9: '請輸入9位以內的正整數', + field_edit: '編輯字段', + table_already_add_to: '該表已添加至', + uploading: '上傳中...', + add_union: '添加關聯', + union_setting: '關聯設置', + pls_slc_union_field: '請選擇關聯字段', + pls_slc_union_table: '請選擇關聯表', + source_table: '關聯表', + source_field: '關聯字段', + target_table: '被關聯表', + target_field: '被關聯字段', + union_relation: '關聯關係', + pls_setting_union_success: '請正確設置關聯關係', + invalid_dataset: ' Kettle 未運行,無效數據集', + check_all: '銓選', + can_not_union_self: '被關聯表不能與關聯表相同', + float: '小數', + edit_custom_table: '編輯自助數據集', + edit_field: '編輯自斷' + }, + datasource: { + datasource: '數據源', + create: '新建數據源', + type: '類型', + please_choose_type: '請選擇數據源類型', + data_base: '數據庫名稱', + user_name: '用戶名', + password: '密碼', + host: '主機', + port: '端口', + please_input_data_base: '請輸入數據庫名稱', + please_input_user_name: '請輸入用戶名', + please_input_password: '請輸入密碼', + please_input_host: '請輸入主機', + please_input_port: '請輸入', + modify: '編輯數據源', + validate_success: '校驗成功', + validate: '校驗', + search_by_name: '根據名稱搜索', + delete_warning: '刪除該數據源將同步刪除該數據源下所有的相關資源,確認刪除?' + }, + panel: { + share: '分享', + datalist: '視圖列表', + group: '目錄', + panel: '儀表盤', + panel_list: '儀表盤列表', + groupAdd: '新建目錄', + panelAdd: '新建儀表盤', + delete: '刪除', + move_to: '移動到', + rename: '重命名', + tips: '提示', + confirm_delete: '確認刪除', + delete_success: '刪除成功', + confirm: '確認', + cancel: '取消', + search: '搜索', + back: '返回', + view: '視圖', + module: '組件', + filter_module: '過濾組件', + select_by_module: '安組件選擇', + edit: '編輯', + sys_template: '系統模板', + user_template: '用戶模板', + add_category: '添加分類', + filter_keywords: '輸入關鍵字進行過濾', + dashboard_theme: '儀表盤主題', + table: '表格', + gap: '有間隙', + no_gap: '無間隙', + component_gap: '組件間隙', + photo: '圖片', + default_panel: '默認儀表盤', + create_public_links: '創建公共鏈接', + store: '收藏', + save_to_panel: '保存為模板', + export_to_panel: '導出為模板', + preview: '預覽', + select_panel_from_left: '請從左側選擇儀表盤', + template_nale: '模板名稱', + template: '模板', + category: '分類', + all_org: '所有組織', + custom: '自定義', + import_template: '導入模板', + copy_template: '復用模板', + upload_template: '上傳模板', + belong_to_category: '所屬類別', + pls_select_belong_to_category: '請選擇所屬類別', + template_name_cannot_be_empty: '模板名稱不能為空', + select_by_table: '列表選擇', + data_list: '數據列表', + component_list: '組件列表', + custom_scope: '自定義控制範圍', + multiple_choice: '多選', + single_choice: '單選', + field: '字段', + unshared_people: '未分享人員', + shared_people: '已分享人員', + error_data: '獲取數據出錯,請聯繫管理員', + canvas_size: '畫布大小', + canvas_scale: '畫布比例', + style: '樣式', + clean_canvas: '清空畫布', + insert_picture: '插入圖片', + redo: '重做', + undo: '撤銷' + }, + plugin: { + local_install: '本地安裝', + remote_install: '遠程安裝', + name: '插件名稱', + free: '是否免費', + cost: '費用', + descript: '描述', + version: '版本', + creator: '作者', + install_time: '安裝時間', + release_time: '時間', + un_install: '卸載', + uninstall_confirm: '確定卸載該插件', + uninstall_cancel: '取消卸載插件' + }, + display: { + logo: '頭部系統 Logo', + loginLogo: '登陸頁面頭部 Logo', + loginImage: '登陸頁面右側圖片', + loginTitle: '登陸頁面標題', + title: '系統名稱' } } - diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 6fdda5f316..f1b64aa19d 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -85,6 +85,7 @@ export default { tokenError: 'token错误,请重新登录' }, commons: { + all: '全部', enable: '启用', disable: '停用', yes: '是', @@ -812,7 +813,34 @@ export default { export_to_panel: '导出为模板', preview: '预览', select_panel_from_left: '请从左侧选择仪表盘', - template_nale: '模板名称' + template_nale: '模板名称', + template: '模板', + category: '分类', + all_org: '所有组织', + custom: '自定义', + import_template: '导入模板', + copy_template: '复用模板', + upload_template: '上传模板', + belong_to_category: '所属类别', + pls_select_belong_to_category: '请选择所属类别', + template_name_cannot_be_empty: '模板名称不能为空', + select_by_table: '按表选择', + data_list: '数据列表', + component_list: '组件列表', + custom_scope: '自定义控制范围', + multiple_choice: '多选', + single_choice: '单选', + field: '字段', + unshared_people: '未分享人员', + shared_people: '已分享人员', + error_data: '获取数据出错 请联系管理员 Error getting data, please contact administrator', + canvas_size: '画布大小', + canvas_scale: '画布比例', + style: '样式', + clean_canvas: '清空画布', + insert_picture: '插入图片', + redo: '重做', + undo: '撤销' }, plugin: { local_install: '本地安装', diff --git a/frontend/src/views/panel/GrantAuth/dept/index.vue b/frontend/src/views/panel/GrantAuth/dept/index.vue index 76e8eca5be..83fb58d7d0 100644 --- a/frontend/src/views/panel/GrantAuth/dept/index.vue +++ b/frontend/src/views/panel/GrantAuth/dept/index.vue @@ -11,7 +11,7 @@ :tree-props="{children: 'children', hasChildren: 'hasChildren'}" row-key="deptId" > - + @@ -243,10 +239,10 @@ export default { showDomType: 'tree', comShowDomType: 'view', dataSetBreads: [ - { label: '数据列表', link: false, type: 'root' } + { label: this.$t('panel.data_list') , link: false, type: 'root' } ], componentSetBreads: [ - { label: '组件列表', link: false, type: 'root' } + { label: this.$t('panel.component_list'), link: false, type: 'root' } ], data: [], sceneDatas: [], @@ -321,12 +317,6 @@ export default { .map(item => item.propValue.viewId) viewsWithIds(viewIds).then(res => { const datas = res.data - - // for (let index = 0; index < 4; index++) { - // datas = datas.concat(datas) - // } - // datas.forEach(item => item.name += 'aaaaaaaaabbbbb') - this.viewInfos = datas }) }, diff --git a/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue b/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue index 311d67eb0b..6b779b5f7d 100644 --- a/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue +++ b/frontend/src/views/panel/list/EditPanel/TemplateAllList.vue @@ -4,7 +4,7 @@ - 自定义 - 导入模板 - 复用模板 + {{ $t(panel.custom) }} + {{ $t(panel.import_template) }} + {{ $t(panel.copy_template) }} - 上传模板 + {{ $t(panel.upload_template) }} - {{ editPanel.titleSuf }}名称 + {{ editPanel.titleSuf }} {{ $t(commons.name) }} @@ -25,8 +25,8 @@ - 取 消 - 确 定 + {{ $t(commons.cancel) }} + {{ $t(commons.confirm) }} @@ -49,7 +49,7 @@ export default { fieldName: 'name', tableRadio: null, keyWordSearch: '', - columnLabel: '所属类别', + columnLabel: this.$t('panel.belong_to_category'), templateList: [], importTemplateInfo: { snapshot: '' @@ -101,12 +101,12 @@ export default { }, save() { if (!this.editPanel.panelInfo.name) { - this.$warning('名称不能为空') + this.$warning( this.$t('commons.name_can_not_empty')) return false } panelSave(this.editPanel.panelInfo).then(response => { this.$message({ - message: '保存成功', + message: this.$t('commons.save_success'), type: 'success', showClose: true }) diff --git a/frontend/src/views/panel/list/PanelList.vue b/frontend/src/views/panel/list/PanelList.vue index 5ff73b4404..26d7362113 100644 --- a/frontend/src/views/panel/list/PanelList.vue +++ b/frontend/src/views/panel/list/PanelList.vue @@ -314,24 +314,24 @@ export default { this.editPanel.visible = true switch (param.optType) { case 'new': - this.editPanel.titlePre = '新建' - this.editPanel.panelInfo.name = '新建仪表盘' + this.editPanel.titlePre = this.$t('commons.create') + this.editPanel.panelInfo.name = this.$t('panel.panelAdd') this.editPanel.panelInfo.pid = param.data.id this.editPanel.panelInfo.level = param.data.level + 1 break case 'edit': case 'rename': - this.editPanel.titlePre = '编辑' + this.editPanel.titlePre = this.$t('commons.edit') this.editPanel.panelInfo.id = param.data.id this.editPanel.panelInfo.name = param.data.name break } switch (param.type) { case 'folder': - this.editPanel.titleSuf = '目录' + this.editPanel.titleSuf = this.$t('panel.group') break case 'panel': - this.editPanel.titleSuf = '仪表盘' + this.editPanel.titleSuf = this.$t('panel.panel') break } }, diff --git a/frontend/src/views/panel/list/SaveToTemplate.vue b/frontend/src/views/panel/list/SaveToTemplate.vue index b756ce4cff..c966ae62ec 100644 --- a/frontend/src/views/panel/list/SaveToTemplate.vue +++ b/frontend/src/views/panel/list/SaveToTemplate.vue @@ -49,7 +49,7 @@ export default { fieldName: 'name', tableRadio: null, keyWordSearch: '', - columnLabel: '所属类别' + columnLabel: this.$t('panel.belong_to_category') } }, created() { @@ -74,16 +74,16 @@ export default { }, save() { if (!this.templateInfo.pid) { - this.$warning('请选择所属类别') + this.$warning(this.$t(panel.pls_select_belong_to_category)) return false } if (!this.templateInfo.name) { - this.$warning('模板名称不能为空') + this.$warning(this.$t('panel.template_name_cannot_be_empty')) return false } post('/template/save', this.templateInfo).then(response => { this.$message({ - message: '保存成功', + message: this.$t('commons.save_success'), type: 'success', showClose: true }) diff --git a/frontend/src/views/panel/template/component/TemplateItem.vue b/frontend/src/views/panel/template/component/TemplateItem.vue index 88bd484aec..21c451db2a 100644 --- a/frontend/src/views/panel/template/component/TemplateItem.vue +++ b/frontend/src/views/panel/template/component/TemplateItem.vue @@ -34,8 +34,8 @@ export default { }, methods: { templateDelete() { - this.$alert('是否删除模板:' + this.template.name + '?', '', { - confirmButtonText: '确认', + this.$alert(this.$t('panel.confirm_delete') + this.$t('panel.template') + ': ' + this.template.name + '?', '', { + confirmButtonText: this.$t('panel.confirm'), callback: (action) => { if (action === 'confirm') { this.$emit('templateDelete', this.template.id) diff --git a/frontend/src/views/panel/template/component/TemplateList.vue b/frontend/src/views/panel/template/component/TemplateList.vue index 777583f2b3..1323b9ed53 100644 --- a/frontend/src/views/panel/template/component/TemplateList.vue +++ b/frontend/src/views/panel/template/component/TemplateList.vue @@ -129,8 +129,8 @@ export default { this.$emit('showTemplateEditDialog', 'new') }, templateDelete(template) { - this.$alert('是否删除分类:' + template.name + '?', '', { - confirmButtonText: '确认', + this.$alert(this.$t('panel.confirm_delete') + this.$t('panel.category') + ': ' + template.name + '?', '', { + confirmButtonText: this.$t('panel.confirm_delete'), callback: (action) => { if (action === 'confirm') { this.$emit('templateDelete', template.id) diff --git a/frontend/src/views/panel/template/index.vue b/frontend/src/views/panel/template/index.vue index c829c69326..77c2af3519 100644 --- a/frontend/src/views/panel/template/index.vue +++ b/frontend/src/views/panel/template/index.vue @@ -88,7 +88,7 @@ export default { if (id) { post('/template/delete/' + id, null).then(response => { this.$message({ - message: '删除成功', + message: this.$t('commons.delete_success'), type: 'success', showClose: true }) @@ -98,10 +98,10 @@ export default { }, showTemplateEditDialog(type, templateInfo) { if (type === 'edit') { - this.dialogTitle = '编辑' + this.dialogTitle = this.$t('commons.edit') this.templateEditForm = JSON.parse(JSON.stringify(templateInfo)) } else { - this.dialogTitle = '新建' + this.dialogTitle = this.$t('commons.create') this.templateEditForm = { name: '', nodeType: 'folder', templateType: this.currentTemplateType, level: 0 } } this.editTemplate = true @@ -112,7 +112,7 @@ export default { saveTemplateEdit(templateEditForm) { post('/template/save', templateEditForm).then(response => { this.$message({ - message: '保存成功', + message: this.$t('commons.save_success'), type: 'success', showClose: true }) diff --git a/frontend/src/views/system/datasource/index.vue b/frontend/src/views/system/datasource/index.vue index 4d5bcefdfa..89bcc54bc8 100644 --- a/frontend/src/views/system/datasource/index.vue +++ b/frontend/src/views/system/datasource/index.vue @@ -132,15 +132,13 @@ export default { ], searchConfig: { useQuickSearch: true, - quickPlaceholder: '按名称搜索', + quickPlaceholder: this.$t('commons.search_by_name'), combine: false, components: [ - // { field: 'name', label: '姓名', component: 'FuComplexInput', defaultOperator: 'eq' }, - { field: 'name', label: '名称', component: 'FuComplexInput' }, - + { field: 'name', label: this.$t('commons.name'), component: 'FuComplexInput' }, { field: 'type', - label: '类型', + label: this.$t('datasource.type'), component: 'FuComplexSelect', options: [{ label: 'mysql', value: 'mysql' }, { label: 'sqlServer', value: 'sqlServer' }], multiple: false