From 42417e806d8de17b1e3fd52a3075f6d4cfcebf30 Mon Sep 17 00:00:00 2001 From: 0xJacky Date: Wed, 23 Feb 2022 21:40:43 +0800 Subject: [PATCH] Clean up analytic code, update Simplified Chinese translations. --- frontend/src/components/Chart/CPUChart.vue | 59 +++++++- frontend/src/components/Chart/DiskChart.vue | 59 +++++++- frontend/src/components/Chart/NetChart.vue | 59 +++++++- .../src/components/Chart/RadialBarChart.vue | 14 +- frontend/src/locale/en/LC_MESSAGES/app.po | 120 ++++++++++----- frontend/src/locale/zh_CN/LC_MESSAGES/app.mo | Bin 0 -> 7179 bytes frontend/src/locale/zh_CN/LC_MESSAGES/app.po | 141 ++++++++++++------ frontend/src/locale/zh_TW/LC_MESSAGES/app.po | 132 +++++++++++----- frontend/src/translations.json | 2 +- frontend/src/views/dashboard/DashBoard.vue | 35 ++--- frontend/src/views/other/About.vue | 2 +- main.go | 3 +- server/analytic/analytic.go | 58 +++++++ server/analytic/record.go | 96 ++++++++++++ server/api/analytic.go | 18 +-- server/settings/settings.go | 2 - server/tool/analytic.go | 124 --------------- 17 files changed, 638 insertions(+), 286 deletions(-) create mode 100644 frontend/src/locale/zh_CN/LC_MESSAGES/app.mo create mode 100644 server/analytic/analytic.go create mode 100644 server/analytic/record.go delete mode 100644 server/tool/analytic.go diff --git a/frontend/src/components/Chart/CPUChart.vue b/frontend/src/components/Chart/CPUChart.vue index 0f9b7247..b6e8420d 100644 --- a/frontend/src/components/Chart/CPUChart.vue +++ b/frontend/src/components/Chart/CPUChart.vue @@ -8,6 +8,9 @@ import Vue from 'vue' Vue.use(VueApexCharts) Vue.component('apexchart', VueApexCharts) +const fontColor = () => { + return window.matchMedia('(prefers-color-scheme: dark)').matches ? '#b4b4b4' : undefined +} export default { name: 'CPUChart', props: { @@ -21,6 +24,47 @@ export default { } } }, + mounted() { + let media = window.matchMedia('(prefers-color-scheme: dark)') + let callback = () => { + this.chartOptions.xaxis = { + type: 'datetime', + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } + } + this.chartOptions.yaxis = { + max: 100, + tickAmount: 4, + min: 0, + labels: { + style: { + colors: fontColor() + } + } + } + this.chartOptions.legend = { + labels: { + colors: fontColor() + }, + onItemClick: { + toggleDataSeries: false + }, + onItemHover: { + highlightDataSeries: false + }, + } + this.$refs.chart.updateOptions(this.chartOptions) + } + if (typeof media.addEventListener === 'function') { + media.addEventListener('change', callback) + } else if (typeof media.addListener === 'function') { + media.addListener(callback) + } + }, data() { return { chartOptions: { @@ -54,7 +98,12 @@ export default { }, xaxis: { type: 'datetime', - labels: {datetimeUTC: false}, + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } }, tooltip: { enabled: false @@ -63,8 +112,16 @@ export default { max: 100, tickAmount: 4, min: 0, + labels: { + style: { + colors: fontColor() + } + } }, legend: { + labels: { + colors: fontColor() + }, onItemClick: { toggleDataSeries: false }, diff --git a/frontend/src/components/Chart/DiskChart.vue b/frontend/src/components/Chart/DiskChart.vue index 66a0f7b2..05cc450c 100644 --- a/frontend/src/components/Chart/DiskChart.vue +++ b/frontend/src/components/Chart/DiskChart.vue @@ -8,6 +8,10 @@ import Vue from 'vue' Vue.use(VueApexCharts) Vue.component('apexchart', VueApexCharts) + +const fontColor = () => { + return window.matchMedia('(prefers-color-scheme: dark)').matches ? '#b4b4b4' : null +} export default { name: 'DiskChart', props: { @@ -19,6 +23,46 @@ export default { handler() { this.$refs.chart.updateSeries(this.series) } + }, + }, + mounted() { + let media = window.matchMedia('(prefers-color-scheme: dark)') + let callback = () => { + this.chartOptions.xaxis = { + type: 'datetime', + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } + } + this.chartOptions.yaxis = { + tickAmount: 3, + min: 0, + labels: { + style: { + colors: fontColor() + } + } + } + this.chartOptions.legend = { + labels: { + colors: fontColor() + }, + onItemClick: { + toggleDataSeries: false + }, + onItemHover: { + highlightDataSeries: false + }, + } + this.$refs.chart.updateOptions(this.chartOptions) + } + if (typeof media.addEventListener === 'function') { + media.addEventListener('change', callback) + } else if (typeof media.addListener === 'function') { + media.addListener(callback) } }, data() { @@ -54,7 +98,12 @@ export default { }, xaxis: { type: 'datetime', - labels: {datetimeUTC: false}, + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } }, tooltip: { enabled: false @@ -62,8 +111,16 @@ export default { yaxis: { tickAmount: 3, min: 0, + labels: { + style: { + colors: fontColor() + } + } }, legend: { + labels: { + colors: fontColor() + }, onItemClick: { toggleDataSeries: false }, diff --git a/frontend/src/components/Chart/NetChart.vue b/frontend/src/components/Chart/NetChart.vue index 5f888f81..7486006b 100644 --- a/frontend/src/components/Chart/NetChart.vue +++ b/frontend/src/components/Chart/NetChart.vue @@ -8,6 +8,9 @@ import Vue from 'vue' Vue.use(VueApexCharts) Vue.component('apexchart', VueApexCharts) +const fontColor = () => { + return window.matchMedia('(prefers-color-scheme: dark)').matches ? '#b4b4b4' : undefined +} export default { name: 'NetChart', props: { @@ -21,6 +24,49 @@ export default { } } }, + mounted() { + let media = window.matchMedia('(prefers-color-scheme: dark)') + let callback = () => { + this.chartOptions.xaxis = { + type: 'datetime', + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } + } + this.chartOptions.yaxis = { + tickAmount: 3, + min: 0, + labels: { + style: { + colors: fontColor() + }, + formatter: (bytes) => { + return this.bytesToSize(bytes) + '/s' + } + } + } + this.chartOptions.legend = { + labels: { + colors: fontColor() + }, + onItemClick: { + toggleDataSeries: false + }, + onItemHover: { + highlightDataSeries: false + }, + } + this.$refs.chart.updateOptions(this.chartOptions) + } + if (typeof media.addEventListener === 'function') { + media.addEventListener('change', callback) + } else if (typeof media.addListener === 'function') { + media.addListener(callback) + } + }, data() { return { chartOptions: { @@ -54,7 +100,12 @@ export default { }, xaxis: { type: 'datetime', - labels: {datetimeUTC: false}, + labels: { + datetimeUTC: false, + style: { + colors: fontColor() + } + } }, tooltip: { enabled: false @@ -63,12 +114,18 @@ export default { tickAmount: 3, min: 0, labels: { + style: { + colors: fontColor() + }, formatter: (bytes) => { return this.bytesToSize(bytes) + '/s' } } }, legend: { + labels: { + colors: fontColor() + }, onItemClick: { toggleDataSeries: false }, diff --git a/frontend/src/components/Chart/RadialBarChart.vue b/frontend/src/components/Chart/RadialBarChart.vue index 39ed48e3..a35ceb47 100644 --- a/frontend/src/components/Chart/RadialBarChart.vue +++ b/frontend/src/components/Chart/RadialBarChart.vue @@ -1,6 +1,7 @@ @@ -18,6 +19,7 @@ export default { centerText: String, colors: String, name: String, + bottomText: String, }, watch: { series: { @@ -49,9 +51,7 @@ export default { offsetY: 60, fontSize: '14px', color: undefined, - formatter: function (val) { - return val + "%"; - } + formatter: () => {return ''} } } } @@ -87,7 +87,13 @@ export default { top: calc(72px); width: 100%; text-align: center; - + } + .bottom_text { + position: absolute; + top: calc(142px); + font-weight: 600; + width: 100%; + text-align: center; } } diff --git a/frontend/src/locale/en/LC_MESSAGES/app.po b/frontend/src/locale/en/LC_MESSAGES/app.po index d0a5a039..10dfc5f6 100644 --- a/frontend/src/locale/en/LC_MESSAGES/app.po +++ b/frontend/src/locale/en/LC_MESSAGES/app.po @@ -10,11 +10,15 @@ msgstr "" "Generated-By: easygettext\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: src/router/index.js:100 +#: src/views/other/Install.vue:50 +msgid "Install" +msgstr "" + +#: src/router/index.js:99 msgid "404 Not Found" msgstr "" -#: src/router/index.js:78 +#: src/router/index.js:77 msgid "About" msgstr "" @@ -24,7 +28,7 @@ msgid "Action" msgstr "" #: src/router/index.js:47 src/views/domain/DomainAdd.vue:18 -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Add Site" msgstr "" @@ -77,6 +81,14 @@ msgstr "" msgid "Configurations" msgstr "" +#: src/views/dashboard/DashBoard.vue:204 +msgid "CPU Status" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:22 +msgid "CPU:" +msgstr "" + #: src/views/user/User.vue:23 msgid "Created at" msgstr "" @@ -85,11 +97,11 @@ msgstr "" msgid "Dashboard" msgstr "" -#: src/views/other/Install.vue:105 +#: src/views/other/Install.vue:106 msgid "Database (Optional, default: database)" msgstr "" -#: src/router/index.js:126 +#: src/router/index.js:125 msgid "Detected version update, this page will refresh." msgstr "" @@ -110,19 +122,23 @@ msgstr "" msgid "Disabled successfully" msgstr "" +#: src/views/dashboard/DashBoard.vue:282 +msgid "Disk IO" +msgstr "" + #: src/views/domain/DomainEdit.vue:133 msgid "Do you want to change the template to support the TLS?" msgstr "" -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Edit %{n}" msgstr "" -#: src/router/index.js:68 src/views/config/ConfigEdit.vue:15 +#: src/router/index.js:69 src/views/config/ConfigEdit.vue:15 msgid "Edit Configuration" msgstr "" -#: src/views/domain/DomainEdit.vue:91 +#: src/views/domain/DomainEdit.vue:92 msgid "Edit Configuration File" msgstr "" @@ -130,7 +146,7 @@ msgstr "" msgid "Edit Site" msgstr "" -#: src/views/other/Install.vue:31 +#: src/views/other/Install.vue:32 msgid "Email (*)" msgstr "" @@ -195,7 +211,7 @@ msgstr "" msgid "Index (index)" msgstr "" -#: src/router/index.js:88 src/views/other/Install.vue:50 +#: src/router/index.js:87 src/views/other/Install.vue:51 msgid "Install" msgstr "" @@ -203,7 +219,7 @@ msgstr "" msgid "Intermediate Certification Authorities: %{issuer}" msgstr "" -#: src/views/other/Install.vue:46 +#: src/views/other/Install.vue:47 msgid "Invalid E-mail!" msgstr "" @@ -216,11 +232,11 @@ msgctxt "Project" msgid "License" msgstr "" -#: src/views/dashboard/DashBoard.vue:13 +#: src/views/dashboard/DashBoard.vue:10 msgid "Load Averages:" msgstr "" -#: src/router/index.js:94 src/views/other/Login.vue:24 +#: src/router/index.js:93 src/views/other/Login.vue:24 msgid "Login" msgstr "" @@ -251,7 +267,7 @@ msgstr "" msgid "Manage Users" msgstr "" -#: src/views/dashboard/DashBoard.vue:24 +#: src/views/dashboard/DashBoard.vue:100 msgid "Memory" msgstr "" @@ -259,7 +275,19 @@ msgstr "" msgid "Name" msgstr "" -#: src/router/index.js:106 +#: src/views/dashboard/DashBoard.vue:231 +msgid "Network" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:165 +msgid "Network Total Receive" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:174 +msgid "Network Total Send" +msgstr "" + +#: src/router/index.js:105 msgid "Not Found" msgstr "" @@ -273,27 +301,31 @@ msgid "" "you need to get the certificate." msgstr "" -#: src/router/index.js:130 +#: src/router/index.js:129 msgid "OK" msgstr "" +#: src/views/dashboard/DashBoard.vue:16 +msgid "OS:" +msgstr "" + #: src/views/other/Login.vue:56 src/views/user/User.vue:13 msgid "Password" msgstr "" -#: src/views/other/Install.vue:83 +#: src/views/other/Install.vue:84 msgid "Password (*)" msgstr "" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:51 msgid "Please input your E-mail!" msgstr "" -#: src/views/other/Install.vue:96 src/views/other/Login.vue:69 +#: src/views/other/Install.vue:97 src/views/other/Login.vue:69 msgid "Please input your password!" msgstr "" -#: src/views/other/Install.vue:73 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:74 src/views/other/Login.vue:46 msgid "Please input your username!" msgstr "" @@ -305,6 +337,14 @@ msgstr "" msgid "Project Team" msgstr "" +#: src/views/dashboard/DashBoard.vue:61 src/views/dashboard/DashBoard.vue:305 +msgid "Reads" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:51 src/views/dashboard/DashBoard.vue:240 +msgid "Receive" +msgstr "" + #: src/views/domain/columns.js:16 msgid "Root Directory (root)" msgstr "" @@ -324,17 +364,21 @@ msgstr "" msgid "Saved successfully" msgstr "" +#: src/views/dashboard/DashBoard.vue:54 src/views/dashboard/DashBoard.vue:254 +msgid "Send" +msgstr "" + #: src/views/config/ConfigEdit.vue:35 src/views/domain/DomainEdit.vue:71 #: src/views/other/Login.vue:35 msgid "Server error" msgstr "" -#: src/views/domain/columns.js:10 -msgid "Server Names (server_name)" +#: src/views/dashboard/DashBoard.vue:37 +msgid "Server Info" msgstr "" -#: src/views/dashboard/DashBoard.vue:38 -msgid "Server Status" +#: src/views/domain/columns.js:10 +msgid "Server Names (server_name)" msgstr "" #: src/router/index.js:43 @@ -345,7 +389,7 @@ msgstr "" msgid "Status" msgstr "" -#: src/views/dashboard/DashBoard.vue:33 +#: src/views/dashboard/DashBoard.vue:132 msgid "Storage" msgstr "" @@ -353,7 +397,11 @@ msgstr "" msgid "Subject Name: %{name}" msgstr "" -#: src/router/index.js:125 +#: src/views/dashboard/DashBoard.vue:116 +msgid "Swap" +msgstr "" + +#: src/router/index.js:124 msgid "System message" msgstr "" @@ -365,7 +413,7 @@ msgid "" "from Let's Encrypt\" first." msgstr "" -#: src/views/other/Install.vue:120 +#: src/views/other/Install.vue:121 msgid "The filename cannot contain the following characters: %{c}" msgstr "" @@ -385,22 +433,18 @@ msgstr "" msgid "Updated at" msgstr "" -#: src/views/dashboard/DashBoard.vue:12 -msgid "Uptime" -msgstr "" - -#: src/views/dashboard/DashBoard.vue:95 -msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}" -msgstr "" - -#: src/views/dashboard/DashBoard.vue:123 -msgid "Used: %{used} / Total: %{total}" +#: src/views/dashboard/DashBoard.vue:6 +msgid "Uptime:" msgstr "" #: src/views/other/Login.vue:33 src/views/user/User.vue:5 msgid "Username" msgstr "" -#: src/views/other/Install.vue:60 +#: src/views/other/Install.vue:61 msgid "Username (*)" msgstr "" + +#: src/views/dashboard/DashBoard.vue:58 src/views/dashboard/DashBoard.vue:291 +msgid "Writes" +msgstr "" diff --git a/frontend/src/locale/zh_CN/LC_MESSAGES/app.mo b/frontend/src/locale/zh_CN/LC_MESSAGES/app.mo new file mode 100644 index 0000000000000000000000000000000000000000..d86752968bf1532ced40a17cb92662015d4019bc GIT binary patch literal 7179 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 S4xPAJ!F`Kw>af_lpZy03RnY(d literal 0 HcmV?d00001 diff --git a/frontend/src/locale/zh_CN/LC_MESSAGES/app.po b/frontend/src/locale/zh_CN/LC_MESSAGES/app.po index 5e872bb3..e85fb209 100644 --- a/frontend/src/locale/zh_CN/LC_MESSAGES/app.po +++ b/frontend/src/locale/zh_CN/LC_MESSAGES/app.po @@ -10,13 +10,17 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Generated-By: easygettext\n" -"X-Generator: Poedit 2.2\n" +"X-Generator: Poedit 3.0.1\n" -#: src/router/index.js:100 +#: src/views/other/Install.vue:50 +msgid "Install" +msgstr "" + +#: src/router/index.js:99 msgid "404 Not Found" msgstr "404 未找到页面" -#: src/router/index.js:78 +#: src/router/index.js:77 msgid "About" msgstr "关于" @@ -26,7 +30,7 @@ msgid "Action" msgstr "操作" #: src/router/index.js:47 src/views/domain/DomainAdd.vue:18 -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Add Site" msgstr "添加站点" @@ -79,6 +83,14 @@ msgstr "配置名称" msgid "Configurations" msgstr "配置" +#: src/views/dashboard/DashBoard.vue:204 +msgid "CPU Status" +msgstr "CPU 状态" + +#: src/views/dashboard/DashBoard.vue:22 +msgid "CPU:" +msgstr "" + #: src/views/user/User.vue:23 msgid "Created at" msgstr "创建时间" @@ -87,11 +99,11 @@ msgstr "创建时间" msgid "Dashboard" msgstr "仪表盘" -#: src/views/other/Install.vue:105 +#: src/views/other/Install.vue:106 msgid "Database (Optional, default: database)" msgstr "数据库 (可选,默认: database)" -#: src/router/index.js:126 +#: src/router/index.js:125 msgid "Detected version update, this page will refresh." msgstr "检测到版本更新,页面将会刷新。" @@ -112,19 +124,23 @@ msgstr "禁用" msgid "Disabled successfully" msgstr "禁用成功" +#: src/views/dashboard/DashBoard.vue:282 +msgid "Disk IO" +msgstr "磁盘 IO" + #: src/views/domain/DomainEdit.vue:133 msgid "Do you want to change the template to support the TLS?" msgstr "你想要改变模板以支持 TLS 吗?" -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Edit %{n}" msgstr "编辑 %{n}" -#: src/router/index.js:68 src/views/config/ConfigEdit.vue:15 +#: src/router/index.js:69 src/views/config/ConfigEdit.vue:15 msgid "Edit Configuration" msgstr "编辑配置" -#: src/views/domain/DomainEdit.vue:91 +#: src/views/domain/DomainEdit.vue:92 msgid "Edit Configuration File" msgstr "编辑配置文件" @@ -132,7 +148,7 @@ msgstr "编辑配置文件" msgid "Edit Site" msgstr "编辑站点" -#: src/views/other/Install.vue:31 +#: src/views/other/Install.vue:32 msgid "Email (*)" msgstr "邮箱 (*)" @@ -197,7 +213,7 @@ msgstr "HTTPS 监听端口" msgid "Index (index)" msgstr "网站首页 (index)" -#: src/router/index.js:88 src/views/other/Install.vue:50 +#: src/router/index.js:87 src/views/other/Install.vue:51 msgid "Install" msgstr "安装" @@ -205,7 +221,7 @@ msgstr "安装" msgid "Intermediate Certification Authorities: %{issuer}" msgstr "中级证书颁发机构: %{issuer}" -#: src/views/other/Install.vue:46 +#: src/views/other/Install.vue:47 msgid "Invalid E-mail!" msgstr "无效的邮箱!" @@ -218,11 +234,11 @@ msgctxt "Project" msgid "License" msgstr "开源许可" -#: src/views/dashboard/DashBoard.vue:13 +#: src/views/dashboard/DashBoard.vue:10 msgid "Load Averages:" msgstr "系统负载:" -#: src/router/index.js:94 src/views/other/Login.vue:24 +#: src/router/index.js:93 src/views/other/Login.vue:24 msgid "Login" msgstr "登录" @@ -240,8 +256,8 @@ msgid "" "directory to HTTPChallengePort (default: 9180) before getting " "the certificate." msgstr "" -"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理" -"到HTTPChallengePort (默认: 9180)" +"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代" +"理到HTTPChallengePort (默认: 9180)" #: src/router/index.js:60 msgid "Manage Configs" @@ -255,7 +271,7 @@ msgstr "网站管理" msgid "Manage Users" msgstr "用户管理" -#: src/views/dashboard/DashBoard.vue:24 +#: src/views/dashboard/DashBoard.vue:100 msgid "Memory" msgstr "内存" @@ -263,7 +279,19 @@ msgstr "内存" msgid "Name" msgstr "名称" -#: src/router/index.js:106 +#: src/views/dashboard/DashBoard.vue:231 +msgid "Network" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:165 +msgid "Network Total Receive" +msgstr "下载流量" + +#: src/views/dashboard/DashBoard.vue:174 +msgid "Network Total Send" +msgstr "上传流量" + +#: src/router/index.js:105 msgid "Not Found" msgstr "找不到页面" @@ -277,27 +305,31 @@ msgid "" "you need to get the certificate." msgstr "注意:当前配置中的 server_name 必须为需要申请证书的域名。" -#: src/router/index.js:130 +#: src/router/index.js:129 msgid "OK" msgstr "确定" +#: src/views/dashboard/DashBoard.vue:16 +msgid "OS:" +msgstr "" + #: src/views/other/Login.vue:56 src/views/user/User.vue:13 msgid "Password" msgstr "密码" -#: src/views/other/Install.vue:83 +#: src/views/other/Install.vue:84 msgid "Password (*)" msgstr "密码 (*)" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:51 msgid "Please input your E-mail!" msgstr "请输入您的邮箱!" -#: src/views/other/Install.vue:96 src/views/other/Login.vue:69 +#: src/views/other/Install.vue:97 src/views/other/Login.vue:69 msgid "Please input your password!" msgstr "请输入您的密码!" -#: src/views/other/Install.vue:73 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:74 src/views/other/Login.vue:46 msgid "Please input your username!" msgstr "请输入您的用户名!" @@ -309,6 +341,14 @@ msgstr "私钥路径 (ssl_certificate_key)" msgid "Project Team" msgstr "项目团队" +#: src/views/dashboard/DashBoard.vue:61 src/views/dashboard/DashBoard.vue:305 +msgid "Reads" +msgstr "读" + +#: src/views/dashboard/DashBoard.vue:51 src/views/dashboard/DashBoard.vue:240 +msgid "Receive" +msgstr "下载" + #: src/views/domain/columns.js:16 msgid "Root Directory (root)" msgstr "网站根目录 (root)" @@ -328,19 +368,23 @@ msgstr "保存错误 %{msg}" msgid "Saved successfully" msgstr "保存成功" +#: src/views/dashboard/DashBoard.vue:54 src/views/dashboard/DashBoard.vue:254 +msgid "Send" +msgstr "上传" + #: src/views/config/ConfigEdit.vue:35 src/views/domain/DomainEdit.vue:71 #: src/views/other/Login.vue:35 msgid "Server error" msgstr "服务器错误" +#: src/views/dashboard/DashBoard.vue:37 +msgid "Server Info" +msgstr "服务器信息" + #: src/views/domain/columns.js:10 msgid "Server Names (server_name)" msgstr "网站域名 (server_name)" -#: src/views/dashboard/DashBoard.vue:38 -msgid "Server Status" -msgstr "服务器状态" - #: src/router/index.js:43 msgid "Sites List" msgstr "站点列表" @@ -349,7 +393,7 @@ msgstr "站点列表" msgid "Status" msgstr "状态" -#: src/views/dashboard/DashBoard.vue:33 +#: src/views/dashboard/DashBoard.vue:132 msgid "Storage" msgstr "存储" @@ -357,7 +401,11 @@ msgstr "存储" msgid "Subject Name: %{name}" msgstr "主体名称: %{name}" -#: src/router/index.js:125 +#: src/views/dashboard/DashBoard.vue:116 +msgid "Swap" +msgstr "" + +#: src/router/index.js:124 msgid "System message" msgstr "系统消息" @@ -371,7 +419,7 @@ msgstr "" "系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。" "
如果您之前没有证书,请先点击 \"从 Let's Encrypt 获取证书\"。" -#: src/views/other/Install.vue:120 +#: src/views/other/Install.vue:121 msgid "The filename cannot contain the following characters: %{c}" msgstr "文件名不能包含以下字符: %{c}" @@ -381,8 +429,8 @@ msgid "" "fields in your configuration file. The configuration filename cannot be " "changed after it has been created." msgstr "" -"只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不可" -"修改。" +"只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不" +"可修改。" #: src/views/domain/DomainEdit.vue:134 msgid "This operation will lose the custom configuration." @@ -393,25 +441,30 @@ msgstr "该操作将会丢失自定义配置。" msgid "Updated at" msgstr "修改时间" -#: src/views/dashboard/DashBoard.vue:12 -msgid "Uptime" -msgstr "运行时间" - -#: src/views/dashboard/DashBoard.vue:95 -msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}" -msgstr "已使用: %{u}, 缓存: %{c}, 空闲: %{f}, 物理内存: %{p}" - -#: src/views/dashboard/DashBoard.vue:123 -msgid "Used: %{used} / Total: %{total}" -msgstr "已使用: %{used} / 总共: %{total}" +#: src/views/dashboard/DashBoard.vue:6 +msgid "Uptime:" +msgstr "运行时间:" #: src/views/other/Login.vue:33 src/views/user/User.vue:5 msgid "Username" msgstr "用户名" -#: src/views/other/Install.vue:60 +#: src/views/other/Install.vue:61 msgid "Username (*)" msgstr "用户名 (*)" +#: src/views/dashboard/DashBoard.vue:58 src/views/dashboard/DashBoard.vue:291 +msgid "Writes" +msgstr "写" + +#~ msgid "Server Status" +#~ msgstr "服务器状态" + +#~ msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}" +#~ msgstr "已使用: %{u}, 缓存: %{c}, 空闲: %{f}, 物理内存: %{p}" + +#~ msgid "Used: %{used} / Total: %{total}" +#~ msgstr "已使用: %{used} / 总共: %{total}" + #~ msgid "CPU" #~ msgstr "CPU" diff --git a/frontend/src/locale/zh_TW/LC_MESSAGES/app.po b/frontend/src/locale/zh_TW/LC_MESSAGES/app.po index 660d2bfd..cd5714dd 100644 --- a/frontend/src/locale/zh_TW/LC_MESSAGES/app.po +++ b/frontend/src/locale/zh_TW/LC_MESSAGES/app.po @@ -13,11 +13,15 @@ msgstr "" "Generated-By: easygettext\n" "X-Generator: Poedit 2.2\n" -#: src/router/index.js:100 +#: src/views/other/Install.vue:50 +msgid "Install" +msgstr "" + +#: src/router/index.js:99 msgid "404 Not Found" msgstr "404 未找到頁面" -#: src/router/index.js:78 +#: src/router/index.js:77 msgid "About" msgstr "關於" @@ -27,7 +31,7 @@ msgid "Action" msgstr "操作" #: src/router/index.js:47 src/views/domain/DomainAdd.vue:18 -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Add Site" msgstr "新增站點" @@ -80,6 +84,15 @@ msgstr "配置名稱" msgid "Configurations" msgstr "配置" +#: src/views/dashboard/DashBoard.vue:204 +#, fuzzy +msgid "CPU Status" +msgstr "狀態" + +#: src/views/dashboard/DashBoard.vue:22 +msgid "CPU:" +msgstr "" + #: src/views/user/User.vue:23 msgid "Created at" msgstr "建立時間" @@ -88,11 +101,11 @@ msgstr "建立時間" msgid "Dashboard" msgstr "儀表盤" -#: src/views/other/Install.vue:105 +#: src/views/other/Install.vue:106 msgid "Database (Optional, default: database)" msgstr "資料庫 (可選,預設: database)" -#: src/router/index.js:126 +#: src/router/index.js:125 msgid "Detected version update, this page will refresh." msgstr "檢測到版本更新,頁面將會重新整理。" @@ -113,19 +126,23 @@ msgstr "禁用" msgid "Disabled successfully" msgstr "禁用成功" +#: src/views/dashboard/DashBoard.vue:282 +msgid "Disk IO" +msgstr "" + #: src/views/domain/DomainEdit.vue:133 msgid "Do you want to change the template to support the TLS?" msgstr "你想要改變模板以支援 TLS 嗎?" -#: src/views/domain/DomainEdit.vue:45 +#: src/views/domain/DomainEdit.vue:46 msgid "Edit %{n}" msgstr "編輯 %{n}" -#: src/router/index.js:68 src/views/config/ConfigEdit.vue:15 +#: src/router/index.js:69 src/views/config/ConfigEdit.vue:15 msgid "Edit Configuration" msgstr "編輯配置" -#: src/views/domain/DomainEdit.vue:91 +#: src/views/domain/DomainEdit.vue:92 msgid "Edit Configuration File" msgstr "編輯配置檔案" @@ -133,7 +150,7 @@ msgstr "編輯配置檔案" msgid "Edit Site" msgstr "編輯站點" -#: src/views/other/Install.vue:31 +#: src/views/other/Install.vue:32 msgid "Email (*)" msgstr "郵箱 (*)" @@ -198,7 +215,7 @@ msgstr "HTTPS 監聽埠" msgid "Index (index)" msgstr "網站首頁 (index)" -#: src/router/index.js:88 src/views/other/Install.vue:50 +#: src/router/index.js:87 src/views/other/Install.vue:51 msgid "Install" msgstr "安裝" @@ -206,7 +223,7 @@ msgstr "安裝" msgid "Intermediate Certification Authorities: %{issuer}" msgstr "中級證書頒發機構: %{issuer}" -#: src/views/other/Install.vue:46 +#: src/views/other/Install.vue:47 msgid "Invalid E-mail!" msgstr "無效的郵箱!" @@ -219,11 +236,11 @@ msgctxt "Project" msgid "License" msgstr "開源許可" -#: src/views/dashboard/DashBoard.vue:13 +#: src/views/dashboard/DashBoard.vue:10 msgid "Load Averages:" msgstr "系統負載:" -#: src/router/index.js:94 src/views/other/Login.vue:24 +#: src/router/index.js:93 src/views/other/Login.vue:24 msgid "Login" msgstr "登入" @@ -256,7 +273,7 @@ msgstr "網站管理" msgid "Manage Users" msgstr "使用者管理" -#: src/views/dashboard/DashBoard.vue:24 +#: src/views/dashboard/DashBoard.vue:100 msgid "Memory" msgstr "記憶體" @@ -264,7 +281,19 @@ msgstr "記憶體" msgid "Name" msgstr "名稱" -#: src/router/index.js:106 +#: src/views/dashboard/DashBoard.vue:231 +msgid "Network" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:165 +msgid "Network Total Receive" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:174 +msgid "Network Total Send" +msgstr "" + +#: src/router/index.js:105 msgid "Not Found" msgstr "找不到頁面" @@ -278,27 +307,31 @@ msgid "" "you need to get the certificate." msgstr "注意:當前配置中的 server_name 必須為需要申請證書的域名。" -#: src/router/index.js:130 +#: src/router/index.js:129 msgid "OK" msgstr "確定" +#: src/views/dashboard/DashBoard.vue:16 +msgid "OS:" +msgstr "" + #: src/views/other/Login.vue:56 src/views/user/User.vue:13 msgid "Password" msgstr "密碼" -#: src/views/other/Install.vue:83 +#: src/views/other/Install.vue:84 msgid "Password (*)" msgstr "密碼 (*)" -#: src/views/other/Install.vue:50 +#: src/views/other/Install.vue:51 msgid "Please input your E-mail!" msgstr "請輸入您的郵箱!" -#: src/views/other/Install.vue:96 src/views/other/Login.vue:69 +#: src/views/other/Install.vue:97 src/views/other/Login.vue:69 msgid "Please input your password!" msgstr "請輸入您的密碼!" -#: src/views/other/Install.vue:73 src/views/other/Login.vue:46 +#: src/views/other/Install.vue:74 src/views/other/Login.vue:46 msgid "Please input your username!" msgstr "請輸入您的使用者名稱!" @@ -310,6 +343,14 @@ msgstr "私鑰路徑 (ssl_certificate_key)" msgid "Project Team" msgstr "專案團隊" +#: src/views/dashboard/DashBoard.vue:61 src/views/dashboard/DashBoard.vue:305 +msgid "Reads" +msgstr "" + +#: src/views/dashboard/DashBoard.vue:51 src/views/dashboard/DashBoard.vue:240 +msgid "Receive" +msgstr "" + #: src/views/domain/columns.js:16 msgid "Root Directory (root)" msgstr "網站根目錄 (root)" @@ -329,19 +370,24 @@ msgstr "儲存錯誤 %{msg}" msgid "Saved successfully" msgstr "儲存成功" +#: src/views/dashboard/DashBoard.vue:54 src/views/dashboard/DashBoard.vue:254 +msgid "Send" +msgstr "" + #: src/views/config/ConfigEdit.vue:35 src/views/domain/DomainEdit.vue:71 #: src/views/other/Login.vue:35 msgid "Server error" msgstr "伺服器錯誤" +#: src/views/dashboard/DashBoard.vue:37 +#, fuzzy +msgid "Server Info" +msgstr "伺服器錯誤" + #: src/views/domain/columns.js:10 msgid "Server Names (server_name)" msgstr "網站域名 (server_name)" -#: src/views/dashboard/DashBoard.vue:38 -msgid "Server Status" -msgstr "伺服器狀態" - #: src/router/index.js:43 msgid "Sites List" msgstr "站點列表" @@ -350,7 +396,7 @@ msgstr "站點列表" msgid "Status" msgstr "狀態" -#: src/views/dashboard/DashBoard.vue:33 +#: src/views/dashboard/DashBoard.vue:132 msgid "Storage" msgstr "儲存" @@ -358,7 +404,11 @@ msgstr "儲存" msgid "Subject Name: %{name}" msgstr "主體名稱: %{name}" -#: src/router/index.js:125 +#: src/views/dashboard/DashBoard.vue:116 +msgid "Swap" +msgstr "" + +#: src/router/index.js:124 msgid "System message" msgstr "系統訊息" @@ -372,7 +422,7 @@ msgstr "" "系統將會每小時檢測一次該域名證書,若距離上次簽發已超過1個月,則將自動續簽。" "
如果您之前沒有證書,請先點選「從 Let's Encrypt 獲取證書」。" -#: src/views/other/Install.vue:120 +#: src/views/other/Install.vue:121 msgid "The filename cannot contain the following characters: %{c}" msgstr "檔名不能包含以下字元: %{c}" @@ -394,25 +444,31 @@ msgstr "該操作將會丟失自定義配置。" msgid "Updated at" msgstr "修改時間" -#: src/views/dashboard/DashBoard.vue:12 -msgid "Uptime" +#: src/views/dashboard/DashBoard.vue:6 +#, fuzzy +msgid "Uptime:" msgstr "執行時間" -#: src/views/dashboard/DashBoard.vue:95 -msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}" -msgstr "已使用: %{u}, 快取: %{c}, 空閒: %{f}, 物理記憶體: %{p}" - -#: src/views/dashboard/DashBoard.vue:123 -msgid "Used: %{used} / Total: %{total}" -msgstr "已使用: %{used} / 總共: %{total}" - #: src/views/other/Login.vue:33 src/views/user/User.vue:5 msgid "Username" msgstr "使用者名稱" -#: src/views/other/Install.vue:60 +#: src/views/other/Install.vue:61 msgid "Username (*)" msgstr "使用者名稱 (*)" +#: src/views/dashboard/DashBoard.vue:58 src/views/dashboard/DashBoard.vue:291 +msgid "Writes" +msgstr "" + +#~ msgid "Server Status" +#~ msgstr "伺服器狀態" + +#~ msgid "Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}" +#~ msgstr "已使用: %{u}, 快取: %{c}, 空閒: %{f}, 物理記憶體: %{p}" + +#~ msgid "Used: %{used} / Total: %{total}" +#~ msgstr "已使用: %{used} / 總共: %{total}" + #~ msgid "CPU" #~ msgstr "CPU" diff --git a/frontend/src/translations.json b/frontend/src/translations.json index a394ad3c..894a5716 100644 --- a/frontend/src/translations.json +++ b/frontend/src/translations.json @@ -1 +1 @@ -{"en":{},"zh_CN":{"404 Not Found":"404 未找到页面","About":"关于","Action":"操作","Add Site":"添加站点","Add site here first, then you can configure TLS on the domain edit page.":"在这里添加站点,完成后可进入编辑页面配置 TLS。","Auto-renewal disabled for %{name}":"成功关闭 %{name} 自动续签","Auto-renewal enabled for %{name}":"成功启用 %{name} 自动续签","Build with":"构建基于","Cancel":"取消","Certificate Auto-renewal":"证书自动续签","Certificate has expired":"此证书已过期","Certificate is valid":"此证书有效","Certificate Path (ssl_certificate)":"TLS 证书路径 (ssl_certificate)","Certificate Status":"证书状态","Configuration Name":"配置名称","Configurations":"配置","Created at":"创建时间","Dashboard":"仪表盘","Database (Optional, default: database)":"数据库 (可选,默认: database)","Detected version update, this page will refresh.":"检测到版本更新,页面将会刷新。","Development Mode":"开发模式","Disable auto-renewal failed for %{name}":"关闭 %{name} 自动续签失败","Disabled":"禁用","Disabled successfully":"禁用成功","Do you want to change the template to support the TLS?":"你想要改变模板以支持 TLS 吗?","Edit %{n}":"编辑 %{n}","Edit Configuration":"编辑配置","Edit Configuration File":"编辑配置文件","Edit Site":"编辑站点","Email (*)":"邮箱 (*)","Enable auto-renewal failed for %{name}":"启用 %{name} 自动续签失败","Enable failed":"启用失败","Enable TLS":"启用 TLS","Enabled":"启用","Enabled successfully":"启用成功","Expiration Date: %{date}":"过期时间: %{date}","Failed to disable %{msg}":"禁用失败 %{msg}","Failed to enable %{msg}":"启用失败 %{msg}","File Not Found":"未找到文件","Getting Certificate from Let's Encrypt":"从 Let's Encrypt 获取证书","Getting the certificate, please wait...":"正在获取证书,请稍等...","Home":"首页","HTTP Listen Port":"HTTP 监听端口","HTTPS Listen Port":"HTTPS 监听端口","Index (index)":"网站首页 (index)","Install":"安装","Intermediate Certification Authorities: %{issuer}":"中级证书颁发机构: %{issuer}","Invalid E-mail!":"无效的邮箱!","Leave blank for no change":"留空表示不修改","License":{"Project":"开源许可"},"Load Averages:":"系统负载:","Login":"登录","Login successful":"登录成功","Logout successful":"登出成功","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到HTTPChallengePort (默认: 9180)","Manage Configs":"配置管理","Manage Sites":"网站管理","Manage Users":"用户管理","Memory":"内存","Name":"名称","Not Found":"找不到页面","Not Valid Before: %{date}":"此前无效: %{date}","Note: The server_name in the current configuration must be the domain name you need to get the certificate.":"注意:当前配置中的 server_name 必须为需要申请证书的域名。","OK":"确定","Password":"密码","Password (*)":"密码 (*)","Please input your E-mail!":"请输入您的邮箱!","Please input your password!":"请输入您的密码!","Please input your username!":"请输入您的用户名!","Private Key Path (ssl_certificate_key)":"私钥路径 (ssl_certificate_key)","Project Team":"项目团队","Root Directory (root)":"网站根目录 (root)","Save":"保存","Save error %{msg}":"保存错误 %{msg}","Saved successfully":"保存成功","Server error":"服务器错误","Server Names (server_name)":"网站域名 (server_name)","Server Status":"服务器状态","Sites List":"站点列表","Status":"状态","Storage":"存储","Subject Name: %{name}":"主体名称: %{name}","System message":"系统消息","The certificate for the domain will be checked every hour, and will be renewed if it has been more than 1 month since it was last issued.
If you do not have a certificate before, please click \"Getting Certificate from Let's Encrypt\" first.":"系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。
如果您之前没有证书,请先点击 \"从 Let's Encrypt 获取证书\"。","The filename cannot contain the following characters: %{c}":"文件名不能包含以下字符: %{c}","The following values will only take effect if you have the corresponding fields in your configuration file. The configuration filename cannot be changed after it has been created.":"只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不可修改。","This operation will lose the custom configuration.":"该操作将会丢失自定义配置。","Updated at":"修改时间","Uptime":"运行时间","Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}":"已使用: %{u}, 缓存: %{c}, 空闲: %{f}, 物理内存: %{p}","Used: %{used} / Total: %{total}":"已使用: %{used} / 总共: %{total}","Username":"用户名","Username (*)":"用户名 (*)"},"zh_TW":{"404 Not Found":"404 未找到頁面","About":"關於","Action":"操作","Add Site":"新增站點","Add site here first, then you can configure TLS on the domain edit page.":"在這裡新增站點,完成後可進入編輯頁面配置 TLS。","Auto-renewal disabled for %{name}":"成功關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"成功啟用 %{name} 自動續簽","Build with":"構建基於","Cancel":"取消","Certificate Auto-renewal":"證書自動續簽","Certificate has expired":"此證書已過期","Certificate is valid":"此證書有效","Certificate Path (ssl_certificate)":"TLS 證書路徑 (ssl_certificate)","Certificate Status":"證書狀態","Configuration Name":"配置名稱","Configurations":"配置","Created at":"建立時間","Dashboard":"儀表盤","Database (Optional, default: database)":"資料庫 (可選,預設: database)","Detected version update, this page will refresh.":"檢測到版本更新,頁面將會重新整理。","Development Mode":"開發模式","Disable auto-renewal failed for %{name}":"關閉 %{name} 自動續簽失敗","Disabled":"禁用","Disabled successfully":"禁用成功","Do you want to change the template to support the TLS?":"你想要改變模板以支援 TLS 嗎?","Edit %{n}":"編輯 %{n}","Edit Configuration":"編輯配置","Edit Configuration File":"編輯配置檔案","Edit Site":"編輯站點","Email (*)":"郵箱 (*)","Enable auto-renewal failed for %{name}":"啟用 %{name} 自動續簽失敗","Enable failed":"啟用失敗","Enable TLS":"啟用 TLS","Enabled":"啟用","Enabled successfully":"啟用成功","Expiration Date: %{date}":"過期時間: %{date}","Failed to disable %{msg}":"禁用失敗 %{msg}","Failed to enable %{msg}":"啟用失敗 %{msg}","File Not Found":"未找到檔案","Getting Certificate from Let's Encrypt":"從 Let's Encrypt 獲取證書","Getting the certificate, please wait...":"正在獲取證書,請稍等...","Home":"首頁","HTTP Listen Port":"HTTP 監聽埠","HTTPS Listen Port":"HTTPS 監聽埠","Index (index)":"網站首頁 (index)","Install":"安裝","Intermediate Certification Authorities: %{issuer}":"中級證書頒發機構: %{issuer}","Invalid E-mail!":"無效的郵箱!","Leave blank for no change":"留空表示不修改","License":{"Project":"開源許可"},"Load Averages:":"系統負載:","Login":"登入","Login successful":"登入成功","Logout successful":"登出成功","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"在獲取證書前,請確保配置檔案中已將 .well-known 目錄反向代理到HTTPChallengePort (預設: 9180)","Manage Configs":"配置管理","Manage Sites":"網站管理","Manage Users":"使用者管理","Memory":"記憶體","Name":"名稱","Not Found":"找不到頁面","Not Valid Before: %{date}":"此前無效: %{date}","Note: The server_name in the current configuration must be the domain name you need to get the certificate.":"注意:當前配置中的 server_name 必須為需要申請證書的域名。","OK":"確定","Password":"密碼","Password (*)":"密碼 (*)","Please input your E-mail!":"請輸入您的郵箱!","Please input your password!":"請輸入您的密碼!","Please input your username!":"請輸入您的使用者名稱!","Private Key Path (ssl_certificate_key)":"私鑰路徑 (ssl_certificate_key)","Project Team":"專案團隊","Root Directory (root)":"網站根目錄 (root)","Save":"儲存","Save error %{msg}":"儲存錯誤 %{msg}","Saved successfully":"儲存成功","Server error":"伺服器錯誤","Server Names (server_name)":"網站域名 (server_name)","Server Status":"伺服器狀態","Sites List":"站點列表","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","System message":"系統訊息","The certificate for the domain will be checked every hour, and will be renewed if it has been more than 1 month since it was last issued.
If you do not have a certificate before, please click \"Getting Certificate from Let's Encrypt\" first.":"系統將會每小時檢測一次該域名證書,若距離上次簽發已超過1個月,則將自動續簽。
如果您之前沒有證書,請先點選「從 Let's Encrypt 獲取證書」。","The filename cannot contain the following characters: %{c}":"檔名不能包含以下字元: %{c}","The following values will only take effect if you have the corresponding fields in your configuration file. The configuration filename cannot be changed after it has been created.":"只有在您的配置檔案中有相應欄位時,下列的配置才能生效。配置檔名稱建立後不可修改。","This operation will lose the custom configuration.":"該操作將會丟失自定義配置。","Updated at":"修改時間","Uptime":"執行時間","Used: %{u}, Cached: %{c}, Free: %{f}, Physical Memory: %{p}":"已使用: %{u}, 快取: %{c}, 空閒: %{f}, 物理記憶體: %{p}","Used: %{used} / Total: %{total}":"已使用: %{used} / 總共: %{total}","Username":"使用者名稱","Username (*)":"使用者名稱 (*)"}} \ No newline at end of file +{"en":{},"zh_CN":{"404 Not Found":"404 未找到页面","About":"关于","Action":"操作","Add Site":"添加站点","Add site here first, then you can configure TLS on the domain edit page.":"在这里添加站点,完成后可进入编辑页面配置 TLS。","Auto-renewal disabled for %{name}":"成功关闭 %{name} 自动续签","Auto-renewal enabled for %{name}":"成功启用 %{name} 自动续签","Build with":"构建基于","Cancel":"取消","Certificate Auto-renewal":"证书自动续签","Certificate has expired":"此证书已过期","Certificate is valid":"此证书有效","Certificate Path (ssl_certificate)":"TLS 证书路径 (ssl_certificate)","Certificate Status":"证书状态","Configuration Name":"配置名称","Configurations":"配置","CPU Status":"CPU 状态","Created at":"创建时间","Dashboard":"仪表盘","Database (Optional, default: database)":"数据库 (可选,默认: database)","Detected version update, this page will refresh.":"检测到版本更新,页面将会刷新。","Development Mode":"开发模式","Disable auto-renewal failed for %{name}":"关闭 %{name} 自动续签失败","Disabled":"禁用","Disabled successfully":"禁用成功","Disk IO":"磁盘 IO","Do you want to change the template to support the TLS?":"你想要改变模板以支持 TLS 吗?","Edit %{n}":"编辑 %{n}","Edit Configuration":"编辑配置","Edit Configuration File":"编辑配置文件","Edit Site":"编辑站点","Email (*)":"邮箱 (*)","Enable auto-renewal failed for %{name}":"启用 %{name} 自动续签失败","Enable failed":"启用失败","Enable TLS":"启用 TLS","Enabled":"启用","Enabled successfully":"启用成功","Expiration Date: %{date}":"过期时间: %{date}","Failed to disable %{msg}":"禁用失败 %{msg}","Failed to enable %{msg}":"启用失败 %{msg}","File Not Found":"未找到文件","Getting Certificate from Let's Encrypt":"从 Let's Encrypt 获取证书","Getting the certificate, please wait...":"正在获取证书,请稍等...","Home":"首页","HTTP Listen Port":"HTTP 监听端口","HTTPS Listen Port":"HTTPS 监听端口","Index (index)":"网站首页 (index)","Install":"安装","Intermediate Certification Authorities: %{issuer}":"中级证书颁发机构: %{issuer}","Invalid E-mail!":"无效的邮箱!","Leave blank for no change":"留空表示不修改","License":{"Project":"开源许可"},"Load Averages:":"系统负载:","Login":"登录","Login successful":"登录成功","Logout successful":"登出成功","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到HTTPChallengePort (默认: 9180)","Manage Configs":"配置管理","Manage Sites":"网站管理","Manage Users":"用户管理","Memory":"内存","Name":"名称","Network Total Receive":"下载流量","Network Total Send":"上传流量","Not Found":"找不到页面","Not Valid Before: %{date}":"此前无效: %{date}","Note: The server_name in the current configuration must be the domain name you need to get the certificate.":"注意:当前配置中的 server_name 必须为需要申请证书的域名。","OK":"确定","Password":"密码","Password (*)":"密码 (*)","Please input your E-mail!":"请输入您的邮箱!","Please input your password!":"请输入您的密码!","Please input your username!":"请输入您的用户名!","Private Key Path (ssl_certificate_key)":"私钥路径 (ssl_certificate_key)","Project Team":"项目团队","Reads":"读","Receive":"下载","Root Directory (root)":"网站根目录 (root)","Save":"保存","Save error %{msg}":"保存错误 %{msg}","Saved successfully":"保存成功","Send":"上传","Server error":"服务器错误","Server Info":"服务器信息","Server Names (server_name)":"网站域名 (server_name)","Sites List":"站点列表","Status":"状态","Storage":"存储","Subject Name: %{name}":"主体名称: %{name}","System message":"系统消息","The certificate for the domain will be checked every hour, and will be renewed if it has been more than 1 month since it was last issued.
If you do not have a certificate before, please click \"Getting Certificate from Let's Encrypt\" first.":"系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。
如果您之前没有证书,请先点击 \"从 Let's Encrypt 获取证书\"。","The filename cannot contain the following characters: %{c}":"文件名不能包含以下字符: %{c}","The following values will only take effect if you have the corresponding fields in your configuration file. The configuration filename cannot be changed after it has been created.":"只有在您的配置文件中有相应字段时,下列的配置才能生效。配置文件名称创建后不可修改。","This operation will lose the custom configuration.":"该操作将会丢失自定义配置。","Updated at":"修改时间","Uptime:":"运行时间:","Username":"用户名","Username (*)":"用户名 (*)","Writes":"写"},"zh_TW":{"404 Not Found":"404 未找到頁面","About":"關於","Action":"操作","Add Site":"新增站點","Add site here first, then you can configure TLS on the domain edit page.":"在這裡新增站點,完成後可進入編輯頁面配置 TLS。","Auto-renewal disabled for %{name}":"成功關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"成功啟用 %{name} 自動續簽","Build with":"構建基於","Cancel":"取消","Certificate Auto-renewal":"證書自動續簽","Certificate has expired":"此證書已過期","Certificate is valid":"此證書有效","Certificate Path (ssl_certificate)":"TLS 證書路徑 (ssl_certificate)","Certificate Status":"證書狀態","Configuration Name":"配置名稱","Configurations":"配置","Created at":"建立時間","Dashboard":"儀表盤","Database (Optional, default: database)":"資料庫 (可選,預設: database)","Detected version update, this page will refresh.":"檢測到版本更新,頁面將會重新整理。","Development Mode":"開發模式","Disable auto-renewal failed for %{name}":"關閉 %{name} 自動續簽失敗","Disabled":"禁用","Disabled successfully":"禁用成功","Do you want to change the template to support the TLS?":"你想要改變模板以支援 TLS 嗎?","Edit %{n}":"編輯 %{n}","Edit Configuration":"編輯配置","Edit Configuration File":"編輯配置檔案","Edit Site":"編輯站點","Email (*)":"郵箱 (*)","Enable auto-renewal failed for %{name}":"啟用 %{name} 自動續簽失敗","Enable failed":"啟用失敗","Enable TLS":"啟用 TLS","Enabled":"啟用","Enabled successfully":"啟用成功","Expiration Date: %{date}":"過期時間: %{date}","Failed to disable %{msg}":"禁用失敗 %{msg}","Failed to enable %{msg}":"啟用失敗 %{msg}","File Not Found":"未找到檔案","Getting Certificate from Let's Encrypt":"從 Let's Encrypt 獲取證書","Getting the certificate, please wait...":"正在獲取證書,請稍等...","Home":"首頁","HTTP Listen Port":"HTTP 監聽埠","HTTPS Listen Port":"HTTPS 監聽埠","Index (index)":"網站首頁 (index)","Install":"安裝","Intermediate Certification Authorities: %{issuer}":"中級證書頒發機構: %{issuer}","Invalid E-mail!":"無效的郵箱!","Leave blank for no change":"留空表示不修改","License":{"Project":"開源許可"},"Load Averages:":"系統負載:","Login":"登入","Login successful":"登入成功","Logout successful":"登出成功","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"在獲取證書前,請確保配置檔案中已將 .well-known 目錄反向代理到HTTPChallengePort (預設: 9180)","Manage Configs":"配置管理","Manage Sites":"網站管理","Manage Users":"使用者管理","Memory":"記憶體","Name":"名稱","Not Found":"找不到頁面","Not Valid Before: %{date}":"此前無效: %{date}","Note: The server_name in the current configuration must be the domain name you need to get the certificate.":"注意:當前配置中的 server_name 必須為需要申請證書的域名。","OK":"確定","Password":"密碼","Password (*)":"密碼 (*)","Please input your E-mail!":"請輸入您的郵箱!","Please input your password!":"請輸入您的密碼!","Please input your username!":"請輸入您的使用者名稱!","Private Key Path (ssl_certificate_key)":"私鑰路徑 (ssl_certificate_key)","Project Team":"專案團隊","Root Directory (root)":"網站根目錄 (root)","Save":"儲存","Save error %{msg}":"儲存錯誤 %{msg}","Saved successfully":"儲存成功","Server error":"伺服器錯誤","Server Names (server_name)":"網站域名 (server_name)","Sites List":"站點列表","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","System message":"系統訊息","The certificate for the domain will be checked every hour, and will be renewed if it has been more than 1 month since it was last issued.
If you do not have a certificate before, please click \"Getting Certificate from Let's Encrypt\" first.":"系統將會每小時檢測一次該域名證書,若距離上次簽發已超過1個月,則將自動續簽。
如果您之前沒有證書,請先點選「從 Let's Encrypt 獲取證書」。","The filename cannot contain the following characters: %{c}":"檔名不能包含以下字元: %{c}","The following values will only take effect if you have the corresponding fields in your configuration file. The configuration filename cannot be changed after it has been created.":"只有在您的配置檔案中有相應欄位時,下列的配置才能生效。配置檔名稱建立後不可修改。","This operation will lose the custom configuration.":"該操作將會丟失自定義配置。","Updated at":"修改時間","Username":"使用者名稱","Username (*)":"使用者名稱 (*)"}} \ No newline at end of file diff --git a/frontend/src/views/dashboard/DashBoard.vue b/frontend/src/views/dashboard/DashBoard.vue index ad2e19aa..5f983ae7 100644 --- a/frontend/src/views/dashboard/DashBoard.vue +++ b/frontend/src/views/dashboard/DashBoard.vue @@ -1,7 +1,7 @@