From 99a746085b3b944c2fa999d872022608ce8a2e18 Mon Sep 17 00:00:00 2001 From: "meilin.huang" <954537473@qq.com> Date: Wed, 20 Nov 2024 22:43:53 +0800 Subject: [PATCH] feat: i18n --- frontend/{.prettierrc.js => .prettierrc.cjs} | 0 frontend/package.json | 19 +- frontend/src/App.vue | 68 ++- frontend/src/assets/iconfont/iconfont.js | 2 +- frontend/src/assets/iconfont/iconfont.json | 226 +++++---- frontend/src/common/commonEnum.ts | 9 + frontend/src/common/openApi.ts | 1 + frontend/src/common/pattern.ts | 8 +- frontend/src/common/sysconfig.ts | 9 + frontend/src/common/utils/componentSize.ts | 4 - frontend/src/common/utils/format.ts | 2 +- frontend/src/common/utils/string.ts | 37 ++ .../SearchForm/components/SearchFormItem.vue | 13 +- frontend/src/components/contextmenu/index.vue | 2 +- frontend/src/components/crontab/Crontab.vue | 24 +- .../src/components/crontab/CrontabDay.vue | 25 +- .../src/components/crontab/CrontabHour.vue | 17 +- .../src/components/crontab/CrontabInput.vue | 4 +- .../src/components/crontab/CrontabMin.vue | 17 +- .../src/components/crontab/CrontabMouth.vue | 17 +- .../src/components/crontab/CrontabResult.vue | 4 +- .../src/components/crontab/CrontabSecond.vue | 17 +- .../src/components/crontab/CrontabWeek.vue | 26 +- .../src/components/crontab/CrontabYear.vue | 16 +- .../components/dynamic-form/DynamicForm.vue | 14 +- .../dynamic-form/DynamicFormDialog.vue | 4 +- .../dynamic-form/DynamicFormEdit.vue | 22 +- .../src/components/enumselect/EnumSelect.vue | 2 +- frontend/src/components/enumtag/EnumTag.vue | 2 +- .../src/components/pagetable/PageTable.vue | 126 ++--- frontend/src/components/pagetable/index.ts | 5 +- .../terminal-rdp/guac/ClipboardDialog.vue | 2 +- .../src/components/terminal/TerminalBody.vue | 5 +- .../components/terminal/TerminalDialog.vue | 32 +- .../src/components/terminal/TerminalLog.vue | 2 +- .../components/terminal/TerminalSearch.vue | 29 +- frontend/src/components/terminal/common.ts | 8 +- frontend/src/hooks/useI18n.ts | 94 ++++ frontend/src/hooks/useRequest.ts | 13 +- frontend/src/i18n/en/common.ts | 445 +++++++++++++++++ frontend/src/i18n/en/db.ts | 207 ++++++++ frontend/src/i18n/en/flow.ts | 90 ++++ frontend/src/i18n/en/machine.ts | 134 ++++++ frontend/src/i18n/en/mongo.ts | 44 ++ frontend/src/i18n/en/redis.ts | 66 +++ frontend/src/i18n/en/system.ts | 212 ++++++++ frontend/src/i18n/en/tag.ts | 55 +++ frontend/src/i18n/index.ts | 56 +++ frontend/src/i18n/zh-cn/common.ts | 453 ++++++++++++++++++ frontend/src/i18n/zh-cn/db.ts | 203 ++++++++ frontend/src/i18n/zh-cn/flow.ts | 90 ++++ frontend/src/i18n/zh-cn/machine.ts | 135 ++++++ frontend/src/i18n/zh-cn/mongo.ts | 44 ++ frontend/src/i18n/zh-cn/redis.ts | 64 +++ frontend/src/i18n/zh-cn/system.ts | 210 ++++++++ frontend/src/i18n/zh-cn/tag.ts | 56 +++ .../src/layout/component/columnsAside.vue | 26 +- .../layout/navBars/breadcrumb/breadcrumb.vue | 4 +- .../src/layout/navBars/breadcrumb/search.vue | 13 +- .../src/layout/navBars/breadcrumb/setings.vue | 272 ++++++----- .../src/layout/navBars/breadcrumb/user.vue | 84 ++-- .../layout/navBars/breadcrumb/userNews.vue | 18 +- .../src/layout/navBars/tagsView/tagsView.vue | 12 +- frontend/src/layout/navMenu/horizontal.vue | 9 +- frontend/src/layout/navMenu/subItem.vue | 6 +- frontend/src/layout/navMenu/vertical.vue | 6 +- frontend/src/layout/routerView/link.vue | 2 +- frontend/src/main.ts | 6 +- frontend/src/router/staticRouter.ts | 12 +- frontend/src/store/themeConfig.ts | 7 +- frontend/src/views/error/401.vue | 15 +- frontend/src/views/error/404.vue | 17 +- frontend/src/views/flow/ProcInstEdit.vue | 31 +- frontend/src/views/flow/ProcdefEdit.vue | 99 ++-- frontend/src/views/flow/ProcdefList.vue | 49 +- frontend/src/views/flow/ProcinstDetail.vue | 19 +- frontend/src/views/flow/ProcinstList.vue | 51 +- frontend/src/views/flow/ProcinstTaskList.vue | 47 +- frontend/src/views/flow/enums.ts | 36 +- .../views/flow/flowbiz/dbms/DbSqlExecBiz.vue | 14 +- .../flowbiz/dbms/DbSqlExecFlowBizForm.vue | 12 +- .../flow/flowbiz/redis/RedisRunCmdBiz.vue | 18 +- .../flowbiz/redis/RedisRunCmdFlowBizForm.vue | 14 +- frontend/src/views/home/Home.vue | 55 ++- frontend/src/views/home/enums.ts | 6 + .../views/login/component/AccountLogin.vue | 84 ++-- frontend/src/views/login/index.vue | 33 +- frontend/src/views/oauth/Oauth2Callback.vue | 5 +- .../ops/component/ResourceAuthCertEdit.vue | 59 +-- .../component/ResourceAuthCertTableEdit.vue | 29 +- .../views/ops/component/SshTunnelSelect.vue | 2 +- frontend/src/views/ops/component/TagInfo.vue | 2 +- frontend/src/views/ops/component/TagTree.vue | 6 +- .../src/views/ops/component/TagTreeCheck.vue | 2 +- .../src/views/ops/component/TagTreeSelect.vue | 2 +- frontend/src/views/ops/component/tag.ts | 2 +- frontend/src/views/ops/db/DbEdit.vue | 55 +-- frontend/src/views/ops/db/DbList.vue | 77 ++- frontend/src/views/ops/db/DbSqlExecLog.vue | 33 +- frontend/src/views/ops/db/DbTransferEdit.vue | 121 ++--- frontend/src/views/ops/db/DbTransferFile.vue | 83 ++-- frontend/src/views/ops/db/DbTransferList.vue | 91 ++-- frontend/src/views/ops/db/InstanceEdit.vue | 81 ++-- frontend/src/views/ops/db/InstanceList.vue | 85 ++-- frontend/src/views/ops/db/SqlExec.vue | 111 +++-- frontend/src/views/ops/db/SyncTaskEdit.vue | 143 +++--- frontend/src/views/ops/db/SyncTaskList.vue | 78 ++- frontend/src/views/ops/db/SyncTaskLog.vue | 12 +- .../db/component/sqleditor/DbSqlEditor.vue | 60 +-- .../db/component/sqleditor/SqlExecDialog.vue | 15 +- .../ops/db/component/table/ColumnFormItem.vue | 13 +- .../ops/db/component/table/DbTableData.vue | 44 +- .../db/component/table/DbTableDataForm.vue | 13 +- .../ops/db/component/table/DbTableDataOp.vue | 56 ++- .../ops/db/component/table/DbTableOp.vue | 25 +- .../ops/db/component/table/DbTablesOp.vue | 98 ++-- frontend/src/views/ops/db/dialect/index.ts | 36 +- frontend/src/views/ops/db/enums.ts | 44 +- .../src/views/ops/machine/MachineEdit.vue | 72 ++- .../src/views/ops/machine/MachineList.vue | 141 +++--- frontend/src/views/ops/machine/MachineOp.vue | 73 +-- frontend/src/views/ops/machine/MachineRec.vue | 22 +- .../src/views/ops/machine/MachineStats.vue | 41 +- .../src/views/ops/machine/ProcessList.vue | 31 +- frontend/src/views/ops/machine/ScriptEdit.vue | 71 ++- .../src/views/ops/machine/ScriptManage.vue | 58 ++- .../ops/machine/component/MachineDetail.vue | 30 +- .../views/ops/machine/cronjob/CronJobEdit.vue | 81 ++-- .../ops/machine/cronjob/CronJobExecList.vue | 10 +- .../views/ops/machine/cronjob/CronJobList.vue | 56 +-- frontend/src/views/ops/machine/enums.ts | 28 +- .../views/ops/machine/file/FileConfList.vue | 43 +- .../views/ops/machine/file/MachineFile.vue | 111 +++-- .../ops/machine/file/MachineFileContent.vue | 9 +- .../ops/machine/security/CmdConfList.vue | 94 ++-- .../ops/machine/security/SecurityConfList.vue | 4 +- frontend/src/views/ops/mongo/MongoDataOp.vue | 52 +- frontend/src/views/ops/mongo/MongoDbs.vue | 61 +-- frontend/src/views/ops/mongo/MongoEdit.vue | 51 +- frontend/src/views/ops/mongo/MongoList.vue | 43 +- .../src/views/ops/mongo/MongoRunCommand.vue | 39 +- .../src/views/ops/redis/DataOperation.vue | 77 ++- frontend/src/views/ops/redis/Info.vue | 75 +-- frontend/src/views/ops/redis/KeyDetail.vue | 4 +- frontend/src/views/ops/redis/KeyHeader.vue | 29 +- frontend/src/views/ops/redis/KeyValueHash.vue | 24 +- frontend/src/views/ops/redis/KeyValueList.vue | 19 +- frontend/src/views/ops/redis/KeyValueSet.vue | 22 +- .../src/views/ops/redis/KeyValueString.vue | 2 +- frontend/src/views/ops/redis/KeyValueZset.vue | 21 +- frontend/src/views/ops/redis/RedisEdit.vue | 88 ++-- frontend/src/views/ops/redis/RedisList.vue | 102 ++-- frontend/src/views/ops/tag/AuthCertList.vue | 55 +-- frontend/src/views/ops/tag/TagTreeList.vue | 106 ++-- frontend/src/views/ops/tag/TeamList.vue | 124 ++--- frontend/src/views/ops/tag/enums.ts | 14 +- frontend/src/views/personal/index.vue | 35 +- .../src/views/system/account/AccountEdit.vue | 60 ++- .../src/views/system/account/AccountList.vue | 78 +-- .../views/system/account/RoleAllocation.vue | 51 +- .../system/account/components/AccountInfo.vue | 13 +- .../components/AccountSelectFormItem.vue | 2 +- frontend/src/views/system/api.ts | 1 + .../src/views/system/config/ConfigEdit.vue | 41 +- .../src/views/system/config/ConfigList.vue | 69 ++- frontend/src/views/system/enums.ts | 18 +- .../views/system/resource/ResourceEdit.vue | 88 ++-- .../views/system/resource/ResourceList.vue | 148 +++--- .../views/system/role/AccountAllocation.vue | 39 +- .../src/views/system/role/ResourceEdit.vue | 21 +- frontend/src/views/system/role/RoleEdit.vue | 45 +- frontend/src/views/system/role/RoleList.vue | 62 +-- .../src/views/system/role/ShowResource.vue | 14 +- .../src/views/system/syslog/SyslogList.vue | 20 +- frontend/tsconfig.json | 175 +++---- server/go.mod | 8 +- server/internal/auth/api/account_login.go | 26 +- server/internal/auth/api/common.go | 16 +- server/internal/auth/api/ldap_login.go | 23 +- server/internal/auth/api/oauth2_login.go | 45 +- server/internal/auth/imsg/en.go | 21 + server/internal/auth/imsg/imsg.go | 29 ++ server/internal/auth/imsg/zh_cn.go | 21 + server/internal/auth/router/router.go | 9 +- server/internal/common/consts/consts.go | 10 + server/internal/common/utils/pwd.go | 23 +- server/internal/db/api/db.go | 52 +- server/internal/db/api/db_data_sync.go | 13 +- server/internal/db/api/db_instance.go | 13 +- server/internal/db/api/db_transfer.go | 29 +- server/internal/db/application/db.go | 65 +-- .../internal/db/application/db_data_sync.go | 34 +- server/internal/db/application/db_instance.go | 35 +- server/internal/db/application/db_sql_exec.go | 41 +- server/internal/db/application/db_transfer.go | 82 ++-- server/internal/db/dbm/dbi/db_info.go | 12 +- server/internal/db/dbm/dbi/dialect.go | 27 +- server/internal/db/dbm/dbi/meta.go | 2 +- server/internal/db/dbm/dbi/metadata.go | 2 +- server/internal/db/dbm/mssql/dialect.go | 8 +- server/internal/db/dbm/mysql/dialect.go | 14 +- .../db/dbm/sqlparser/mysql/visitor.go | 21 +- server/internal/db/imsg/en.go | 5 + server/internal/db/imsg/imsg.go | 52 ++ server/internal/db/imsg/zh_cn.go | 42 ++ server/internal/db/router/db.go | 11 +- server/internal/db/router/db_data_sync.go | 7 +- server/internal/db/router/db_transfer.go | 15 +- server/internal/db/router/instance.go | 5 +- server/internal/file/api/file.go | 8 +- server/internal/file/application/file.go | 8 +- server/internal/flow/api/procdef.go | 7 +- server/internal/flow/api/procinst.go | 2 +- .../internal/flow/application/biz_handler.go | 2 +- server/internal/flow/application/procdef.go | 13 +- server/internal/flow/application/procinst.go | 22 +- server/internal/flow/imsg/en.go | 24 + server/internal/flow/imsg/imsg.go | 32 ++ server/internal/flow/imsg/zh_cn.go | 24 + server/internal/flow/router/procdef.go | 5 +- server/internal/flow/router/procinst.go | 11 +- server/internal/machine/api/machine.go | 41 +- .../internal/machine/api/machine_cronjob.go | 2 +- server/internal/machine/api/machine_file.go | 77 +-- server/internal/machine/api/machine_script.go | 10 +- .../internal/machine/application/machine.go | 33 +- .../machine/application/machine_cmd_conf.go | 6 +- .../machine/application/machine_cronjob.go | 8 +- .../machine/application/machine_file.go | 12 +- .../machine/application/machine_script.go | 2 +- .../machine/application/machine_term_op.go | 9 +- server/internal/machine/guac/guac.go | 10 +- server/internal/machine/imsg/en.go | 35 ++ server/internal/machine/imsg/imsg.go | 43 ++ server/internal/machine/imsg/zh_cn.go | 35 ++ server/internal/machine/mcm/client.go | 12 +- server/internal/machine/mcm/client_cache.go | 2 +- server/internal/machine/mcm/machine.go | 4 +- server/internal/machine/mcm/sshtunnel.go | 10 +- .../internal/machine/mcm/terminal_session.go | 20 +- server/internal/machine/router/machine.go | 9 +- .../internal/machine/router/machine_file.go | 25 +- server/internal/mongo/api/mongo.go | 28 +- server/internal/mongo/application/mongo.go | 9 +- server/internal/mongo/imsg/en.go | 14 + server/internal/mongo/imsg/imsg.go | 22 + server/internal/mongo/imsg/zh_cn.go | 14 + server/internal/mongo/router/mongo.go | 13 +- server/internal/redis/api/cmd.go | 2 +- server/internal/redis/api/key.go | 6 +- server/internal/redis/api/redis.go | 16 +- server/internal/redis/application/redis.go | 18 +- server/internal/redis/imsg/en.go | 13 + server/internal/redis/imsg/imsg.go | 21 + server/internal/redis/imsg/zh_cn.go | 13 + server/internal/redis/rdm/conn.go | 4 +- server/internal/redis/rdm/conn_cache.go | 2 +- server/internal/redis/rdm/info.go | 12 +- server/internal/redis/router/redis.go | 7 +- server/internal/sys/api/account.go | 41 +- server/internal/sys/api/captcha.go | 2 +- server/internal/sys/api/config.go | 10 +- server/internal/sys/api/form/account.go | 2 +- server/internal/sys/api/resource.go | 9 +- server/internal/sys/api/role.go | 7 +- server/internal/sys/api/system.go | 8 +- server/internal/sys/application/account.go | 8 +- server/internal/sys/application/config.go | 4 +- server/internal/sys/application/dto/dto.go | 12 + server/internal/sys/application/resource.go | 55 ++- server/internal/sys/application/role.go | 10 +- server/internal/sys/imsg/en.go | 34 ++ server/internal/sys/imsg/imsg.go | 42 ++ server/internal/sys/imsg/zh_cn.go | 34 ++ .../infrastructure/persistence/resource.go | 76 +-- server/internal/sys/router/account.go | 13 +- server/internal/sys/router/config.go | 6 +- server/internal/sys/router/resource.go | 11 +- server/internal/sys/router/role.go | 7 +- .../tag/application/resouce_auth_cert.go | 53 +- .../tag/application/resource_op_log.go | 4 +- server/internal/tag/application/tag_tree.go | 41 +- .../tag/application/tag_tree_relate.go | 5 +- server/internal/tag/application/team.go | 16 +- server/internal/tag/imsg/en.go | 40 ++ server/internal/tag/imsg/imsg.go | 48 ++ server/internal/tag/imsg/zh_cn.go | 40 ++ .../internal/tag/router/resource_auth_cert.go | 7 +- server/internal/tag/router/tag_tree.go | 7 +- server/internal/tag/router/team.go | 9 +- server/pkg/base/app.go | 5 +- server/pkg/base/ctx.go | 45 ++ server/pkg/base/repo.go | 12 +- server/pkg/base/sql.go | 111 +++++ server/pkg/base/sql_test.go | 28 ++ server/pkg/biz/assert.go | 44 +- server/pkg/config/server.go | 4 + server/pkg/contextx/contextx.go | 38 +- server/pkg/errorx/bizerror.go | 16 +- server/pkg/eventbus/eventbus.go | 10 +- server/pkg/i18n/ctx.go | 22 + server/pkg/i18n/i18n.go | 68 +++ server/pkg/ioc/ioc.go | 2 +- server/pkg/req/log_handler.go | 15 +- server/pkg/req/req_ctx.go | 6 +- server/pkg/starter/web-server.go | 5 +- server/resources/script/sql/mayfly-go.sql | 235 +++++---- server/resources/script/sql/v1.9/v1.9.1.sql | 121 +++++ 308 files changed, 8177 insertions(+), 3880 deletions(-) rename frontend/{.prettierrc.js => .prettierrc.cjs} (100%) delete mode 100644 frontend/src/common/utils/componentSize.ts create mode 100644 frontend/src/hooks/useI18n.ts create mode 100644 frontend/src/i18n/en/common.ts create mode 100644 frontend/src/i18n/en/db.ts create mode 100644 frontend/src/i18n/en/flow.ts create mode 100644 frontend/src/i18n/en/machine.ts create mode 100644 frontend/src/i18n/en/mongo.ts create mode 100644 frontend/src/i18n/en/redis.ts create mode 100644 frontend/src/i18n/en/system.ts create mode 100644 frontend/src/i18n/en/tag.ts create mode 100644 frontend/src/i18n/index.ts create mode 100644 frontend/src/i18n/zh-cn/common.ts create mode 100644 frontend/src/i18n/zh-cn/db.ts create mode 100644 frontend/src/i18n/zh-cn/flow.ts create mode 100644 frontend/src/i18n/zh-cn/machine.ts create mode 100644 frontend/src/i18n/zh-cn/mongo.ts create mode 100644 frontend/src/i18n/zh-cn/redis.ts create mode 100644 frontend/src/i18n/zh-cn/system.ts create mode 100644 frontend/src/i18n/zh-cn/tag.ts create mode 100644 frontend/src/views/home/enums.ts create mode 100644 server/internal/auth/imsg/en.go create mode 100644 server/internal/auth/imsg/imsg.go create mode 100644 server/internal/auth/imsg/zh_cn.go create mode 100644 server/internal/db/imsg/en.go create mode 100644 server/internal/db/imsg/imsg.go create mode 100644 server/internal/db/imsg/zh_cn.go create mode 100644 server/internal/flow/imsg/en.go create mode 100644 server/internal/flow/imsg/imsg.go create mode 100644 server/internal/flow/imsg/zh_cn.go create mode 100644 server/internal/machine/imsg/en.go create mode 100644 server/internal/machine/imsg/imsg.go create mode 100644 server/internal/machine/imsg/zh_cn.go create mode 100644 server/internal/mongo/imsg/en.go create mode 100644 server/internal/mongo/imsg/imsg.go create mode 100644 server/internal/mongo/imsg/zh_cn.go create mode 100644 server/internal/redis/imsg/en.go create mode 100644 server/internal/redis/imsg/imsg.go create mode 100644 server/internal/redis/imsg/zh_cn.go create mode 100644 server/internal/sys/application/dto/dto.go create mode 100644 server/internal/sys/imsg/en.go create mode 100644 server/internal/sys/imsg/imsg.go create mode 100644 server/internal/sys/imsg/zh_cn.go create mode 100644 server/internal/tag/imsg/en.go create mode 100644 server/internal/tag/imsg/imsg.go create mode 100644 server/internal/tag/imsg/zh_cn.go create mode 100644 server/pkg/base/ctx.go create mode 100644 server/pkg/base/sql.go create mode 100644 server/pkg/base/sql_test.go create mode 100644 server/pkg/i18n/ctx.go create mode 100644 server/pkg/i18n/i18n.go create mode 100644 server/resources/script/sql/v1.9/v1.9.1.sql diff --git a/frontend/.prettierrc.js b/frontend/.prettierrc.cjs similarity index 100% rename from frontend/.prettierrc.js rename to frontend/.prettierrc.cjs diff --git a/frontend/package.json b/frontend/package.json index 85beded8..2587b58a 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -11,7 +11,7 @@ }, "dependencies": { "@element-plus/icons-vue": "^2.3.1", - "@vueuse/core": "^11.1.0", + "@vueuse/core": "^11.2.0", "asciinema-player": "^3.8.1", "axios": "^1.6.2", "clipboard": "^2.0.11", @@ -19,7 +19,7 @@ "crypto-js": "^4.2.0", "dayjs": "^1.11.13", "echarts": "^5.5.1", - "element-plus": "^2.8.6", + "element-plus": "^2.8.8", "js-base64": "^3.7.7", "jsencrypt": "^3.3.2", "lodash": "^4.17.21", @@ -28,7 +28,7 @@ "monaco-sql-languages": "^0.12.2", "monaco-themes": "^0.4.4", "nprogress": "^0.2.0", - "pinia": "^2.2.5", + "pinia": "^2.2.6", "qrcode.vue": "^3.5.1", "screenfull": "^6.0.2", "sortablejs": "^1.15.3", @@ -36,7 +36,8 @@ "sql-formatter": "^15.4.5", "trzsz": "^1.1.5", "uuid": "^9.0.1", - "vue": "^3.5.12", + "vue": "^3.5.13", + "vue-i18n": "^10.0.4", "vue-router": "^4.4.5", "xterm": "^5.3.0", "xterm-addon-fit": "^0.8.0", @@ -51,16 +52,16 @@ "@types/sortablejs": "^1.15.8", "@typescript-eslint/eslint-plugin": "^6.7.4", "@typescript-eslint/parser": "^6.7.4", - "@vitejs/plugin-vue": "^5.1.4", - "@vue/compiler-sfc": "^3.5.12", + "@vitejs/plugin-vue": "^5.2.0", + "@vue/compiler-sfc": "^3.5.13", "code-inspector-plugin": "^0.4.5", "dotenv": "^16.3.1", "eslint": "^8.35.0", "eslint-plugin-vue": "^9.28.0", "prettier": "^3.2.5", - "sass": "^1.80.5", + "sass": "^1.80.6", "typescript": "^5.6.3", - "vite": "^5.4.10", + "vite": "^5.4.11", "vue-eslint-parser": "^9.4.3" }, "browserslist": [ @@ -68,4 +69,4 @@ "last 2 versions", "not dead" ] -} \ No newline at end of file +} diff --git a/frontend/src/App.vue b/frontend/src/App.vue index 8d2356e8..f12b60c7 100644 --- a/frontend/src/App.vue +++ b/frontend/src/App.vue @@ -1,24 +1,26 @@ diff --git a/frontend/src/components/contextmenu/index.vue b/frontend/src/components/contextmenu/index.vue index e2b9e4a1..531036fe 100644 --- a/frontend/src/components/contextmenu/index.vue +++ b/frontend/src/components/contextmenu/index.vue @@ -22,7 +22,7 @@ @click="onCurrentContextmenuClick(v)" > - {{ v.txt }} + {{ $t(v.txt) }} diff --git a/frontend/src/components/crontab/Crontab.vue b/frontend/src/components/crontab/Crontab.vue index ffe06eb8..5648f68b 100644 --- a/frontend/src/components/crontab/Crontab.vue +++ b/frontend/src/components/crontab/Crontab.vue @@ -1,43 +1,43 @@