From da31777348e500e6fff6480827014871a857771f Mon Sep 17 00:00:00 2001
From: 0xJacky
Date: Sun, 8 May 2022 19:46:21 +0800
Subject: [PATCH] Optimized Dashboard
---
README-zh_CN.md | 38 +++++++--------
README-zh_TW.md | 32 ++++++-------
README.md | 32 ++++++-------
.../src/components/Chart/RadialBarChart.vue | 14 +++---
frontend/src/locale/en/LC_MESSAGES/app.po | 45 +++++++++++-------
frontend/src/locale/zh_CN/LC_MESSAGES/app.mo | Bin 7523 -> 7622 bytes
frontend/src/locale/zh_CN/LC_MESSAGES/app.po | 45 +++++++++++-------
frontend/src/locale/zh_TW/LC_MESSAGES/app.mo | Bin 7657 -> 7783 bytes
frontend/src/locale/zh_TW/LC_MESSAGES/app.po | 45 +++++++++++-------
frontend/src/translations.json | 2 +-
frontend/src/views/dashboard/DashBoard.vue | 14 +++---
11 files changed, 147 insertions(+), 120 deletions(-)
diff --git a/README-zh_CN.md b/README-zh_CN.md
index 1774e3bf..5b222580 100644
--- a/README-zh_CN.md
+++ b/README-zh_CN.md
@@ -196,51 +196,51 @@ go build -o nginx-ui -v main.go
**安装或升级**
```shell
-bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install
+bash <(curl -L -s https://ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) install -r https://ghproxy.com/
```
一键安装脚本默认设置的监听端口为 `9000`,HTTP Challenge 端口默认为 `9180`,如果出现端口冲突请进入 `/usr/local/etc/nginx-ui/app.ini` 修改,并使用 `systemctl restart nginx-ui` 重启 Nginx UI 服务。
**卸载 Nginx UI 但保留配置和数据库文件**
```shell
-bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) remove
+bash <(curl -L -s https://ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) remove
```
### 更多用法
````shell
-bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) help
+bash <(curl -L -s https://ghproxy.com/https://raw.githubusercontent.com/0xJacky/nginx-ui/master/install.sh) help
````
## Nginx 反向代理配置示例
```nginx
server {
- listen 80;
- listen [::]:80;
+ listen 80;
+ listen [::]:80;
- server_name ;
+ server_name ;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
- server_name ;
+ server_name ;
- ssl_certificate /path/to/ssl_cert;
- ssl_certificate_key /path/to/ssl_cert_key;
+ ssl_certificate /path/to/ssl_cert;
+ ssl_certificate_key /path/to/ssl_cert_key;
location / {
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection upgrade;
- proxy_pass http://127.0.0.1:9000/;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection upgrade;
+ proxy_pass http://127.0.0.1:9000/;
}
}
```
diff --git a/README-zh_TW.md b/README-zh_TW.md
index ff1f4602..c61ef853 100644
--- a/README-zh_TW.md
+++ b/README-zh_TW.md
@@ -216,31 +216,31 @@ bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/inst
```nginx
server {
- listen 80;
- listen [::]:80;
+ listen 80;
+ listen [::]:80;
- server_name ;
+ server_name ;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
- server_name ;
+ server_name ;
- ssl_certificate /path/to/ssl_cert;
- ssl_certificate_key /path/to/ssl_cert_key;
+ ssl_certificate /path/to/ssl_cert;
+ ssl_certificate_key /path/to/ssl_cert_key;
location / {
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection upgrade;
- proxy_pass http://127.0.0.1:9000/;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection upgrade;
+ proxy_pass http://127.0.0.1:9000/;
}
}
```
diff --git a/README.md b/README.md
index d5f7669c..90f1d9e8 100644
--- a/README.md
+++ b/README.md
@@ -215,31 +215,31 @@ bash <(curl -L -s https://raw.githubusercontent.com/0xJacky/nginx-ui/master/inst
```nginx
server {
- listen 80;
- listen [::]:80;
+ listen 80;
+ listen [::]:80;
- server_name ;
+ server_name ;
rewrite ^(.*)$ https://$host$1 permanent;
}
server {
- listen 443 ssl http2;
- listen [::]:443 ssl http2;
+ listen 443 ssl http2;
+ listen [::]:443 ssl http2;
- server_name ;
+ server_name ;
- ssl_certificate /path/to/ssl_cert;
- ssl_certificate_key /path/to/ssl_cert_key;
+ ssl_certificate /path/to/ssl_cert;
+ ssl_certificate_key /path/to/ssl_cert_key;
location / {
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_set_header X-Forwarded-Proto $scheme;
- proxy_http_version 1.1;
- proxy_set_header Upgrade $http_upgrade;
- proxy_set_header Connection upgrade;
- proxy_pass http://127.0.0.1:9000/;
+ proxy_set_header Host $host;
+ proxy_set_header X-Real-IP $remote_addr;
+ proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
+ proxy_set_header X-Forwarded-Proto $scheme;
+ proxy_http_version 1.1;
+ proxy_set_header Upgrade $http_upgrade;
+ proxy_set_header Connection upgrade;
+ proxy_pass http://127.0.0.1:9000/;
}
}
```
diff --git a/frontend/src/components/Chart/RadialBarChart.vue b/frontend/src/components/Chart/RadialBarChart.vue
index 77188ce5..4299cd54 100644
--- a/frontend/src/components/Chart/RadialBarChart.vue
+++ b/frontend/src/components/Chart/RadialBarChart.vue
@@ -35,7 +35,7 @@ export default {
series: this.series,
chart: {
type: 'radialBar',
- offsetY: 0
+ offsetY: -30
},
plotOptions: {
radialBar: {
@@ -43,12 +43,12 @@ export default {
endAngle: 135,
dataLabels: {
name: {
- fontSize: '15px',
+ fontSize: '14px',
color: this.colors,
- offsetY: 56
+ offsetY: 36
},
value: {
- offsetY: 60,
+ offsetY: 50,
fontSize: '14px',
color: undefined,
formatter: () => {return ''}
@@ -82,16 +82,16 @@ export default {
.container {
position: relative;
margin: 0 auto;
- height: 172px;
+ height: 112px!important;
.text {
position: absolute;
- top: calc(50% - 3px);
+ top: calc(50% - 5px);
width: 100%;
text-align: center;
}
.bottom_text {
position: absolute;
- top: calc(152px);
+ top: calc(106px);
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 1cfc417e..ecdeb9f9 100644
--- a/frontend/src/locale/en/LC_MESSAGES/app.po
+++ b/frontend/src/locale/en/LC_MESSAGES/app.po
@@ -83,7 +83,7 @@ msgstr ""
msgid "Configure SSL"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:207
+#: src/views/dashboard/DashBoard.vue:211
msgid "CPU Status"
msgstr ""
@@ -119,8 +119,8 @@ msgstr ""
msgid "Disable auto-renewal failed for %{name}"
msgstr ""
-#: src/views/domain/DomainList.vue:7 src/views/domain/DomainList.vue:2
-#: src/views/domain/DomainList.vue:17
+#: src/views/domain/DomainEdit.vue:63 src/views/domain/DomainList.vue:7
+#: src/views/domain/DomainList.vue:2 src/views/domain/DomainList.vue:17
msgid "Disabled"
msgstr ""
@@ -128,7 +128,7 @@ msgstr ""
msgid "Disabled successfully"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:285
+#: src/views/dashboard/DashBoard.vue:289
msgid "Disk IO"
msgstr ""
@@ -140,7 +140,7 @@ msgstr ""
msgid "Domain Config Created Successfully"
msgstr ""
-#: src/views/domain/DomainEdit.vue:49
+#: src/views/domain/DomainEdit.vue:47
msgid "Edit %{n}"
msgstr ""
@@ -148,7 +148,7 @@ msgstr ""
msgid "Edit Configuration"
msgstr ""
-#: src/views/domain/DomainEdit.vue:136
+#: src/views/domain/DomainEdit.vue:134
msgid "Edit Configuration File"
msgstr ""
@@ -172,8 +172,9 @@ msgstr ""
msgid "Enable TLS"
msgstr ""
-#: src/views/domain/DomainEdit.vue:73 src/views/domain/DomainList.vue:8
-#: src/views/domain/DomainList.vue:3 src/views/domain/DomainList.vue:16
+#: src/views/domain/DomainEdit.vue:54 src/views/domain/DomainEdit.vue:71
+#: src/views/domain/DomainList.vue:8 src/views/domain/DomainList.vue:3
+#: src/views/domain/DomainList.vue:16
msgid "Enabled"
msgstr ""
@@ -282,10 +283,14 @@ msgstr ""
msgid "Manage Users"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:103
+#: src/views/dashboard/DashBoard.vue:105
msgid "Memory"
msgstr ""
+#: src/views/dashboard/DashBoard.vue:93
+msgid "Memory and Storage"
+msgstr ""
+
#: src/views/domain/DomainAdd.vue:28 src/views/domain/DomainAdd.vue:2
msgid "Modify Config"
msgstr ""
@@ -294,15 +299,19 @@ msgstr ""
msgid "Name"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:234
+#: src/views/dashboard/DashBoard.vue:238
msgid "Network"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:168
+#: src/views/dashboard/DashBoard.vue:163
+msgid "Network Statistics"
+msgstr ""
+
+#: src/views/dashboard/DashBoard.vue:172
msgid "Network Total Receive"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:177
+#: src/views/dashboard/DashBoard.vue:181
msgid "Network Total Send"
msgstr ""
@@ -360,11 +369,11 @@ msgstr ""
msgid "Project Team"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:61 src/views/dashboard/DashBoard.vue:308
+#: src/views/dashboard/DashBoard.vue:61 src/views/dashboard/DashBoard.vue:312
msgid "Reads"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:51 src/views/dashboard/DashBoard.vue:243
+#: src/views/dashboard/DashBoard.vue:51 src/views/dashboard/DashBoard.vue:247
msgid "Receive"
msgstr ""
@@ -386,7 +395,7 @@ msgstr ""
msgid "Saved successfully"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:54 src/views/dashboard/DashBoard.vue:257
+#: src/views/dashboard/DashBoard.vue:54 src/views/dashboard/DashBoard.vue:261
msgid "Send"
msgstr ""
@@ -415,7 +424,7 @@ msgstr ""
msgid "Status"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:135
+#: src/views/dashboard/DashBoard.vue:137
msgid "Storage"
msgstr ""
@@ -423,7 +432,7 @@ msgstr ""
msgid "Subject Name: %{name}"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:119
+#: src/views/dashboard/DashBoard.vue:121
msgid "Swap"
msgstr ""
@@ -476,6 +485,6 @@ msgstr ""
msgid "Username (*)"
msgstr ""
-#: src/views/dashboard/DashBoard.vue:58 src/views/dashboard/DashBoard.vue:294
+#: src/views/dashboard/DashBoard.vue:58 src/views/dashboard/DashBoard.vue:298
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
index 095d1bfbbead18364d2a37ffd5aca33a855450bf..2f64c0b1afa5dc99e662faeeb64a1e7c00b81a43 100644
GIT binary patch
delta 2365
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 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 feature is not available in demo.":"该功能在 Demo 中不可用。","This operation will lose the custom configuration.":"该操作将会丢失自定义配置。","Updated at":"修改时间","Uptime:":"运行时间:","Username":"用户名","Username (*)":"用户名 (*)","Writes":"写"},"zh_TW":{"404 Not Found":"404 未找到頁面","About":"關於","Action":"操作","Add Site":"新增站點","Auto-renewal disabled for %{name}":"成功關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"成功啟用 %{name} 自動續簽","Back":"返回","Base information":"基本訊息","Build with":"構建基於","Cancel":"取消","Certificate Auto-renewal":"證書自動續簽","Certificate has expired":"此證書已過期","Certificate is valid":"此證書有效","Certificate Path (ssl_certificate)":"TLS 證書路徑 (ssl_certificate)","Certificate Status":"證書狀態","Configuration Name":"配置名稱","Configurations":"配置","Configure SSL":"配置 SSL","CPU Status":"中央處理器狀態","CPU:":"中央處理器:","Create Another":"再創建一個","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 嗎?","Domain Config Created Successfully":"域名配置文件創建成功","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":"未找到檔案","Finished":"完成","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":"記憶體","Modify Config":"修改配置","Name":"名稱","Network":"網路","Network Total Receive":"下載流量","Network Total Send":"上傳流量","Next":"下一步","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":"確定","OS:":"作業系統:","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":"站點列表","Skip":"跳過","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","Swap":"交換空間","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 feature is not available in demo.":"此功能在演示中不可用。","This operation will lose the custom configuration.":"該操作將會丟失自定義配置。","Updated at":"修改時間","Uptime:":"執行時間:","Username":"使用者名稱","Username (*)":"使用者名稱 (*)","Writes":"寫"}}
\ No newline at end of file
+{"en":{},"zh_CN":{"404 Not Found":"404 未找到页面","About":"关于","Action":"操作","Add Site":"添加站点","Auto-renewal disabled for %{name}":"成功关闭 %{name} 自动续签","Auto-renewal enabled for %{name}":"成功启用 %{name} 自动续签","Back":"返回","Base information":"基本信息","Build with":"构建基于","Cancel":"取消","Certificate Auto-renewal":"证书自动续签","Certificate has expired":"此证书已过期","Certificate is valid":"此证书有效","Certificate Path (ssl_certificate)":"TLS 证书路径 (ssl_certificate)","Certificate Status":"证书状态","Configuration Name":"配置名称","Configurations":"配置","Configure SSL":"配置 SSL","CPU Status":"CPU 状态","Create Another":"再创建一个","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 吗?","Domain Config Created Successfully":"域名配置文件创建成功","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":"未找到文件","Finished":"完成","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":"内存","Memory and Storage":"内存与存储","Modify Config":"修改配置文件","Name":"名称","Network":"网络","Network Statistics":"流量统计","Network Total Receive":"下载流量","Network Total Send":"上传流量","Next":"下一步","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":"站点列表","Skip":"跳过","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 feature is not available in demo.":"该功能在 Demo 中不可用。","This operation will lose the custom configuration.":"该操作将会丢失自定义配置。","Updated at":"修改时间","Uptime:":"运行时间:","Username":"用户名","Username (*)":"用户名 (*)","Writes":"写"},"zh_TW":{"404 Not Found":"404 未找到頁面","About":"關於","Action":"操作","Add Site":"新增站點","Auto-renewal disabled for %{name}":"成功關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"成功啟用 %{name} 自動續簽","Back":"返回","Base information":"基本訊息","Build with":"構建基於","Cancel":"取消","Certificate Auto-renewal":"證書自動續簽","Certificate has expired":"此證書已過期","Certificate is valid":"此證書有效","Certificate Path (ssl_certificate)":"TLS 證書路徑 (ssl_certificate)","Certificate Status":"證書狀態","Configuration Name":"配置名稱","Configurations":"配置","Configure SSL":"配置 SSL","CPU Status":"中央處理器狀態","CPU:":"中央處理器:","Create Another":"再創建一個","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 嗎?","Domain Config Created Successfully":"域名配置文件創建成功","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":"未找到檔案","Finished":"完成","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":"記憶體","Memory and Storage":"記憶體和存儲","Modify Config":"修改配置","Name":"名稱","Network":"網路","Network Statistics":"網路統計","Network Total Receive":"下載流量","Network Total Send":"上傳流量","Next":"下一步","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":"確定","OS:":"作業系統:","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":"站點列表","Skip":"跳過","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","Swap":"交換空間","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 feature is not available in demo.":"此功能在演示中不可用。","This operation will lose the custom configuration.":"該操作將會丟失自定義配置。","Updated at":"修改時間","Uptime:":"執行時間:","Username":"使用者名稱","Username (*)":"使用者名稱 (*)","Writes":"寫"}}
\ No newline at end of file
diff --git a/frontend/src/views/dashboard/DashBoard.vue b/frontend/src/views/dashboard/DashBoard.vue
index 8cf903b9..ecf02204 100644
--- a/frontend/src/views/dashboard/DashBoard.vue
+++ b/frontend/src/views/dashboard/DashBoard.vue
@@ -25,9 +25,9 @@
-
-
-
+
+
+
@@ -44,14 +44,14 @@
-
-
+
+
-
+
-
+