diff --git a/.github/embed.go b/.github/embed.go
new file mode 100644
index 00000000..943bef17
--- /dev/null
+++ b/.github/embed.go
@@ -0,0 +1,6 @@
+package _github
+
+import "embed"
+
+//go:embed build/build_info.json
+var DistFS embed.FS
diff --git a/frontend/package.json b/frontend/package.json
index dedb6c8c..1da27e89 100644
--- a/frontend/package.json
+++ b/frontend/package.json
@@ -1,7 +1,7 @@
{
"name": "nginx-ui-frontend-next",
"private": true,
- "version": "1.7.1",
+ "version": "1.7.2",
"type": "commonjs",
"scripts": {
"dev": "vite",
@@ -12,25 +12,27 @@
},
"dependencies": {
"@ant-design/icons-vue": "^6.1.0",
+ "@types/lodash": "^4.14.188",
+ "@types/marked": "^4.0.8",
+ "@types/sortablejs": "^1.15.0",
"ant-design-vue": "^3.2.15",
"apexcharts": "^3.36.3",
"axios": "^1.2.2",
"dayjs": "^1.11.7",
+ "marked": "^4.2.5",
"pinia": "^2.0.28",
"pinia-plugin-persistedstate": "^3.0.2",
"reconnecting-websocket": "^4.4.0",
- "vite-plugin-build-id": "^0.2.2",
+ "vite-plugin-build-id": "^0.2.3",
"vue": "^3.2.45",
"vue-router": "4",
"vue3-ace-editor": "^2.2.2",
"vue3-apexcharts": "^1.4.1",
"vue3-gettext": "^2.3.4",
+ "vuedraggable": "^4.1.0",
"xterm": "^5.0.0",
"xterm-addon-attach": "^0.7.0",
- "xterm-addon-fit": "^0.6.0",
- "@types/lodash": "^4.14.188",
- "vuedraggable": "^4.1.0",
- "@types/sortablejs": "^1.15.0"
+ "xterm-addon-fit": "^0.6.0"
},
"devDependencies": {
"@vitejs/plugin-vue": "^4.0.0",
@@ -41,6 +43,6 @@
"unplugin-vue-components": "^0.22.12",
"vite": "^4.0.4",
"vite-plugin-html": "^3.2.0",
- "vue-tsc": "^1.0.22"
+ "vue-tsc": "^1.0.24"
}
}
diff --git a/frontend/src/api/upgrade.ts b/frontend/src/api/upgrade.ts
new file mode 100644
index 00000000..4cd95be0
--- /dev/null
+++ b/frontend/src/api/upgrade.ts
@@ -0,0 +1,12 @@
+import http from '@/lib/http'
+
+const upgrade = {
+ get_latest_release() {
+ return http.get('/upgrade/release')
+ },
+ current_version() {
+ return http.get('/upgrade/current')
+ }
+}
+
+export default upgrade
diff --git a/frontend/src/language/en/app.po b/frontend/src/language/en/app.po
index 4659b9d7..a602e92c 100644
--- a/frontend/src/language/en/app.po
+++ b/frontend/src/language/en/app.po
@@ -9,7 +9,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-#: src/routes/index.ts:134
+#: src/routes/index.ts:141
msgid "About"
msgstr "About"
@@ -50,6 +50,11 @@ msgstr "Add Site"
msgid "Advance Mode"
msgstr "Advance Mode"
+#: src/views/system/Upgrade.vue:12 src/views/system/Upgrade.vue:13
+#: src/views/system/Upgrade.vue:17 src/views/system/Upgrade.vue:21
+msgid "Arch"
+msgstr ""
+
#: src/components/StdDataDisplay/StdTable.vue:54
#: src/views/domain/DomainList.vue:26
#, fuzzy
@@ -129,7 +134,7 @@ msgstr "Basic Mode"
msgid "Batch Modify"
msgstr "Modify Config"
-#: src/views/other/About.vue:21
+#: src/views/system/About.vue:21
msgid "Build with"
msgstr "Build with"
@@ -163,6 +168,11 @@ msgstr "Certificate is valid"
msgid "Change Certificate"
msgstr "Certificate is valid"
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:17
+#: src/views/system/Upgrade.vue:21 src/views/system/Upgrade.vue:25
+msgid "Check again"
+msgstr ""
+
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
#: src/views/domain/ngx_conf/LocationEditor.vue:31
#: src/views/domain/ngx_conf/LocationEditor.vue:47
@@ -193,6 +203,10 @@ msgstr "Configure SSL"
msgid "Content"
msgstr "Content"
+#: src/views/system/Upgrade.vue:3
+msgid "Core Upgrade"
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:64
msgid "CPU Status"
msgstr "CPU Status"
@@ -213,6 +227,11 @@ msgstr "Created at"
msgid "Creating client facilitates communication with the CA server"
msgstr ""
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:11
+#: src/views/system/Upgrade.vue:15 src/views/system/Upgrade.vue:19
+msgid "Current Version"
+msgstr ""
+
#: src/views/domain/ngx_conf/ConfigTemplate.vue:22
#: src/views/domain/ngx_conf/ConfigTemplate.vue:23
#: src/views/domain/ngx_conf/ConfigTemplate.vue:26
@@ -258,7 +277,7 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/views/other/About.vue:7 src/views/other/About.vue:8
+#: src/views/system/About.vue:7 src/views/system/About.vue:8
msgid "Development Mode"
msgstr "Development Mode"
@@ -344,7 +363,7 @@ msgstr "Enabled"
msgid "Enabled successfully"
msgstr "Enabled successfully"
-#: src/views/domain/cert/IssueCert.vue:18
+#: src/views/domain/cert/IssueCert.vue:17
msgid "Encrypt website with Let's Encrypt"
msgstr "Encrypt website with Let's Encrypt"
@@ -352,6 +371,11 @@ msgstr "Encrypt website with Let's Encrypt"
msgid "Error Logs"
msgstr ""
+#: src/views/system/Upgrade.vue:13 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:22
+msgid "Executable Path"
+msgstr ""
+
#: src/views/domain/cert/CertInfo.vue:12
msgid "Expiration Date: %{date}"
msgstr "Expiration Date: %{date}"
@@ -433,7 +457,7 @@ msgstr ""
msgid "HTTP Port"
msgstr ""
-#: src/routes/index.ts:144 src/views/other/Install.vue:128
+#: src/routes/index.ts:153 src/views/other/Install.vue:128
msgid "Install"
msgstr "Install"
@@ -455,6 +479,11 @@ msgstr "Enabled successfully"
msgid "Jwt Secret"
msgstr ""
+#: src/views/system/Upgrade.vue:14 src/views/system/Upgrade.vue:15
+#: src/views/system/Upgrade.vue:19 src/views/system/Upgrade.vue:23
+msgid "Last checked at"
+msgstr ""
+
#: src/views/user/User.vue:26
msgid "Leave blank for no change"
msgstr "Leave blank for no change"
@@ -478,7 +507,7 @@ msgstr "Location"
msgid "Locations"
msgstr "Locations"
-#: src/routes/index.ts:150 src/views/other/Login.vue:104
+#: src/routes/index.ts:159 src/views/other/Login.vue:104
msgid "Login"
msgstr "Login"
@@ -490,7 +519,7 @@ msgstr "Login successful"
msgid "Logout successful"
msgstr "Logout successful"
-#: src/views/domain/cert/IssueCert.vue:211
+#: src/views/domain/cert/IssueCert.vue:210
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort (default: 9180) before getting the certificate."
@@ -560,6 +589,10 @@ msgstr "Network Total Receive"
msgid "Network Total Send"
msgstr "Network Total Send"
+#: src/views/system/Upgrade.vue:34
+msgid "New version released"
+msgstr ""
+
#: src/views/domain/DomainAdd.vue:136
msgid "Next"
msgstr "Next"
@@ -588,7 +621,7 @@ msgstr ""
msgid "No"
msgstr "No"
-#: src/routes/index.ts:156 src/routes/index.ts:158
+#: src/routes/index.ts:165 src/routes/index.ts:167
msgid "Not Found"
msgstr "Not Found"
@@ -596,7 +629,7 @@ msgstr "Not Found"
msgid "Not Valid Before: %{date}"
msgstr "Not Valid Before: %{date}"
-#: src/views/domain/cert/IssueCert.vue:38
+#: src/views/domain/cert/IssueCert.vue:37
msgid "Note"
msgstr ""
@@ -612,6 +645,12 @@ msgstr ""
msgid "OK"
msgstr ""
+#: src/views/system/Upgrade.vue:11 src/views/system/Upgrade.vue:12
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:20
+#, fuzzy
+msgid "OS"
+msgstr "OS:"
+
#: src/views/dashboard/DashBoard.vue:147
msgid "OS:"
msgstr "OS:"
@@ -662,7 +701,7 @@ msgstr ""
msgid "Prohibit deleting the default user"
msgstr ""
-#: src/views/other/About.vue:19
+#: src/views/system/About.vue:19
msgid "Project Team"
msgstr "Project Team"
@@ -678,6 +717,19 @@ msgstr "Receive"
msgid "Registering user"
msgstr ""
+#: src/views/system/Upgrade.vue:24 src/views/system/Upgrade.vue:25
+#: src/views/system/Upgrade.vue:29 src/views/system/Upgrade.vue:33
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:39
+#, fuzzy
+msgid "Reinstall"
+msgstr "Install"
+
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:32
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:43 src/views/system/Upgrade.vue:48
+msgid "Release Note"
+msgstr ""
+
#: src/language/constants.ts:19
msgid "Reloading nginx"
msgstr ""
@@ -757,7 +809,7 @@ msgstr "Server Info"
msgid "server_name not found in directives"
msgstr "server_name not found in directives"
-#: src/views/domain/cert/IssueCert.vue:195 src/views/domain/DomainAdd.vue:111
+#: src/views/domain/cert/IssueCert.vue:194 src/views/domain/DomainAdd.vue:111
msgid "server_name parameter is required"
msgstr "server_name parameter is required"
@@ -811,6 +863,10 @@ msgstr "Subject Name: %{name}"
msgid "Swap"
msgstr "Swap"
+#: src/routes/index.ts:134
+msgid "System"
+msgstr ""
+
#: src/components/StdDataDisplay/StdCurd.vue:3
#, fuzzy
msgid "Table"
@@ -824,7 +880,7 @@ msgstr "Terminal"
msgid "Terminal Start Command"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:207
+#: src/views/domain/cert/IssueCert.vue:206
msgid ""
"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."
@@ -836,7 +892,7 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}"
-#: src/views/domain/cert/IssueCert.vue:203
+#: src/views/domain/cert/IssueCert.vue:202
#, fuzzy
msgid ""
"The server_name in the current configuration must be the domain name you "
@@ -867,6 +923,18 @@ msgstr "Updated at"
msgid "Updated successfully"
msgstr "Saved successfully"
+#: src/routes/index.ts:145 src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:26 src/views/system/Upgrade.vue:27
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:35
+#: src/views/system/Upgrade.vue:38 src/views/system/Upgrade.vue:41
+#: src/views/system/Upgrade.vue:42
+msgid "Upgrade"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:63
+msgid "Upgrading Nginx UI, please wait..."
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:137
msgid "Uptime:"
msgstr "Uptime:"
@@ -889,7 +957,7 @@ msgstr ""
msgid "View"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:27 src/views/domain/DomainAdd.vue:22
+#: src/views/domain/cert/IssueCert.vue:26 src/views/domain/DomainAdd.vue:22
msgid "Warning"
msgstr "Warning"
@@ -911,7 +979,16 @@ msgstr ""
msgid "Yes"
msgstr "Yes"
-#: src/views/other/About.vue:27
+#: src/views/system/Upgrade.vue:30
+msgid "You are using the latest version"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:9
+msgid "You can check Nginx UI upgrade at this page."
+msgstr ""
+
+#: src/views/system/About.vue:27
msgctxt "Project"
msgid "License"
msgstr "License"
diff --git a/frontend/src/language/messages.pot b/frontend/src/language/messages.pot
index ab50d1e4..3f2adc2e 100644
--- a/frontend/src/language/messages.pot
+++ b/frontend/src/language/messages.pot
@@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
-#: src/routes/index.ts:134
+#: src/routes/index.ts:141
msgid "About"
msgstr ""
@@ -48,6 +48,13 @@ msgstr ""
msgid "Advance Mode"
msgstr ""
+#: src/views/system/Upgrade.vue:12
+#: src/views/system/Upgrade.vue:13
+#: src/views/system/Upgrade.vue:17
+#: src/views/system/Upgrade.vue:21
+msgid "Arch"
+msgstr ""
+
#: src/components/StdDataDisplay/StdTable.vue:54
#: src/views/domain/DomainList.vue:26
msgid "Are you sure you want to delete?"
@@ -128,7 +135,7 @@ msgstr ""
msgid "Batch Modify"
msgstr ""
-#: src/views/other/About.vue:21
+#: src/views/system/About.vue:21
msgid "Build with"
msgstr ""
@@ -162,6 +169,13 @@ msgstr ""
msgid "Change Certificate"
msgstr ""
+#: src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:17
+#: src/views/system/Upgrade.vue:21
+#: src/views/system/Upgrade.vue:25
+msgid "Check again"
+msgstr ""
+
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
#: src/views/domain/ngx_conf/LocationEditor.vue:31
#: src/views/domain/ngx_conf/LocationEditor.vue:47
@@ -191,6 +205,10 @@ msgstr ""
msgid "Content"
msgstr ""
+#: src/views/system/Upgrade.vue:3
+msgid "Core Upgrade"
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:64
msgid "CPU Status"
msgstr ""
@@ -211,6 +229,13 @@ msgstr ""
msgid "Creating client facilitates communication with the CA server"
msgstr ""
+#: src/views/system/Upgrade.vue:10
+#: src/views/system/Upgrade.vue:11
+#: src/views/system/Upgrade.vue:15
+#: src/views/system/Upgrade.vue:19
+msgid "Current Version"
+msgstr ""
+
#: src/views/domain/ngx_conf/ConfigTemplate.vue:22
#: src/views/domain/ngx_conf/ConfigTemplate.vue:23
#: src/views/domain/ngx_conf/ConfigTemplate.vue:26
@@ -256,8 +281,8 @@ msgstr ""
msgid "Description"
msgstr ""
-#: src/views/other/About.vue:7
-#: src/views/other/About.vue:8
+#: src/views/system/About.vue:7
+#: src/views/system/About.vue:8
msgid "Development Mode"
msgstr ""
@@ -356,7 +381,7 @@ msgstr ""
msgid "Enabled successfully"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:18
+#: src/views/domain/cert/IssueCert.vue:17
msgid "Encrypt website with Let's Encrypt"
msgstr ""
@@ -365,6 +390,13 @@ msgstr ""
msgid "Error Logs"
msgstr ""
+#: src/views/system/Upgrade.vue:13
+#: src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18
+#: src/views/system/Upgrade.vue:22
+msgid "Executable Path"
+msgstr ""
+
#: src/views/domain/cert/CertInfo.vue:12
msgid "Expiration Date: %{date}"
msgstr ""
@@ -448,7 +480,7 @@ msgstr ""
msgid "HTTP Port"
msgstr ""
-#: src/routes/index.ts:144
+#: src/routes/index.ts:153
#: src/views/other/Install.vue:128
msgid "Install"
msgstr ""
@@ -469,6 +501,13 @@ msgstr ""
msgid "Jwt Secret"
msgstr ""
+#: src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:15
+#: src/views/system/Upgrade.vue:19
+#: src/views/system/Upgrade.vue:23
+msgid "Last checked at"
+msgstr ""
+
#: src/views/user/User.vue:26
msgid "Leave blank for no change"
msgstr ""
@@ -492,7 +531,7 @@ msgstr ""
msgid "Locations"
msgstr ""
-#: src/routes/index.ts:150
+#: src/routes/index.ts:159
#: src/views/other/Login.vue:104
msgid "Login"
msgstr ""
@@ -505,7 +544,7 @@ msgstr ""
msgid "Logout successful"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:211
+#: src/views/domain/cert/IssueCert.vue:210
msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate."
msgstr ""
@@ -573,6 +612,10 @@ msgstr ""
msgid "Network Total Send"
msgstr ""
+#: src/views/system/Upgrade.vue:34
+msgid "New version released"
+msgstr ""
+
#: src/views/domain/DomainAdd.vue:136
msgid "Next"
msgstr ""
@@ -601,8 +644,8 @@ msgstr ""
msgid "No"
msgstr ""
-#: src/routes/index.ts:156
-#: src/routes/index.ts:158
+#: src/routes/index.ts:165
+#: src/routes/index.ts:167
msgid "Not Found"
msgstr ""
@@ -610,7 +653,7 @@ msgstr ""
msgid "Not Valid Before: %{date}"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:38
+#: src/views/domain/cert/IssueCert.vue:37
msgid "Note"
msgstr ""
@@ -627,6 +670,13 @@ msgstr ""
msgid "OK"
msgstr ""
+#: src/views/system/Upgrade.vue:11
+#: src/views/system/Upgrade.vue:12
+#: src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:20
+msgid "OS"
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:147
msgid "OS:"
msgstr ""
@@ -680,7 +730,7 @@ msgstr ""
msgid "Prohibit deleting the default user"
msgstr ""
-#: src/views/other/About.vue:19
+#: src/views/system/About.vue:19
msgid "Project Team"
msgstr ""
@@ -697,6 +747,24 @@ msgstr ""
msgid "Registering user"
msgstr ""
+#: src/views/system/Upgrade.vue:24
+#: src/views/system/Upgrade.vue:25
+#: src/views/system/Upgrade.vue:29
+#: src/views/system/Upgrade.vue:33
+#: src/views/system/Upgrade.vue:36
+#: src/views/system/Upgrade.vue:39
+msgid "Reinstall"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:31
+#: src/views/system/Upgrade.vue:32
+#: src/views/system/Upgrade.vue:36
+#: src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:43
+#: src/views/system/Upgrade.vue:48
+msgid "Release Note"
+msgstr ""
+
#: src/language/constants.ts:19
msgid "Reloading nginx"
msgstr ""
@@ -779,7 +847,7 @@ msgstr ""
msgid "server_name not found in directives"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:195
+#: src/views/domain/cert/IssueCert.vue:194
#: src/views/domain/DomainAdd.vue:111
msgid "server_name parameter is required"
msgstr ""
@@ -829,6 +897,10 @@ msgstr ""
msgid "Swap"
msgstr ""
+#: src/routes/index.ts:134
+msgid "System"
+msgstr ""
+
#: src/components/StdDataDisplay/StdCurd.vue:3
msgid "Table"
msgstr ""
@@ -842,7 +914,7 @@ msgstr ""
msgid "Terminal Start Command"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:207
+#: src/views/domain/cert/IssueCert.vue:206
msgid "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."
msgstr ""
@@ -850,7 +922,7 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:203
+#: src/views/domain/cert/IssueCert.vue:202
msgid "The server_name in the current configuration must be the domain name you need to get the certificate."
msgstr ""
@@ -877,6 +949,22 @@ msgstr ""
msgid "Updated successfully"
msgstr ""
+#: src/routes/index.ts:145
+#: src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:26
+#: src/views/system/Upgrade.vue:27
+#: src/views/system/Upgrade.vue:31
+#: src/views/system/Upgrade.vue:35
+#: src/views/system/Upgrade.vue:38
+#: src/views/system/Upgrade.vue:41
+#: src/views/system/Upgrade.vue:42
+msgid "Upgrade"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:63
+msgid "Upgrading Nginx UI, please wait..."
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:137
msgid "Uptime:"
msgstr ""
@@ -900,7 +988,7 @@ msgstr ""
msgid "View"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:27
+#: src/views/domain/cert/IssueCert.vue:26
#: src/views/domain/DomainAdd.vue:22
msgid "Warning"
msgstr ""
@@ -924,7 +1012,18 @@ msgstr ""
msgid "Yes"
msgstr ""
-#: src/views/other/About.vue:27
+#: src/views/system/Upgrade.vue:30
+msgid "You are using the latest version"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:10
+#: src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18
+#: src/views/system/Upgrade.vue:9
+msgid "You can check Nginx UI upgrade at this page."
+msgstr ""
+
+#: src/views/system/About.vue:27
msgctxt "Project"
msgid "License"
msgstr ""
diff --git a/frontend/src/language/translations.json b/frontend/src/language/translations.json
index 55ad7cd0..812972f3 100644
--- a/frontend/src/language/translations.json
+++ b/frontend/src/language/translations.json
@@ -1 +1 @@
-{"zh_CN":{"About":"关于","Access Logs":"访问日志","Action":"操作","Add":"添加","Add Directive Below":"在下面添加指令","Add Location":"添加 Location","Add Site":"添加站点","Advance Mode":"高级模式","Are you sure you want to delete?":"您确定要删除吗?","Are you sure you want to remove this directive?":"您确定要删除这条指令?","Are you sure you want to remove this location?":"您确定要删除这个 Location?","Author":"作者","Auto":"自动","Auto Cert":"自动更新","Auto cert is enabled, please do not modify this certification.":"自动更新已启用,请勿修改此证书配置。","Auto Refresh":"自动刷新","Auto-renewal disabled for %{name}":"成功关闭 %{name} 自动续签","Auto-renewal enabled for %{name}":"成功启用 %{name} 自动续签","Back":"返回","Back Home":"返回首页","Base information":"基本信息","Basic Mode":"基本模式","Batch Modify":"批量修改","Build with":"构建基于","Cancel":"取消","Certificate has expired":"此证书已过期","Certificate is valid":"此证书有效","Certificate Status":"证书状态","Certification":"证书","Change Certificate":"更改证书","Comments":"注释","Config Templates":"配置","Configuration Name":"配置名称","Configurations":"配置","Configure SSL":"配置 SSL","Content":"内容","CPU Status":"CPU 状态","CPU:":"CPU:","Create Another":"再创建一个","Created at":"创建时间","Creating client facilitates communication with the CA server":"正在创建客户端用于与 CA 服务器通信","Custom":"自定义","Dark":"深色","Dashboard":"仪表盘","Database (Optional, default: database)":"数据库 (可选,默认: database)","Delete":"删除","Delete ID: %{id}":"删除 ID: %{id}","Delete site: %{site_name}":"删除站点: %{site_name}","Description":"描述","Development Mode":"开发模式","Dir":"目录","Directive":"指令","Directives":"指令","Disable auto-renewal failed for %{name}":"关闭 %{name} 自动续签失败","Disabled":"禁用","Disabled successfully":"禁用成功","Disk IO":"磁盘 IO","Domain":"域名","Domain Config Created Successfully":"域名配置文件创建成功","Edit %{n}":"编辑 %{n}","Edit Configuration":"编辑配置","Edit Site":"编辑站点","Email (*)":"邮箱 (*)","Enable auto-renewal failed for %{name}":"启用 %{name} 自动续签失败","Enable failed":"启用失败","Enable TLS":"启用 TLS","Enabled":"启用","Enabled successfully":"启用成功","Encrypt website with Let's Encrypt":"用 Let's Encrypt 对网站进行加密","Error Logs":"错误日志","Expiration Date: %{date}":"过期时间: %{date}","Export":"导出","Failed to disable %{msg}":"禁用失败 %{msg}","Failed to enable %{msg}":"启用失败 %{msg}","Failed to get certificate information":"获取证书信息失败","Failed to save, syntax error(s) was detected in the configuration.":"保存失败,在配置中检测到语法错误。","File":"文件","File Not Found":"未找到文件","Filter":"过滤","Finished":"完成","Format Code":"代码格式化","Format error %{msg}":"保存错误 %{msg}","Format successfully":"保存成功","Generate":"生成","Generating private key for registering account":"正在生成私钥用于注册账户","Getting the certificate, please wait...":"正在获取证书,请稍等...","Home":"首页","HTTP Challenge Port":"HTTP Challenge 监听端口","HTTP Port":"HTTP 监听端口","Install":"安装","Install successfully":"安装成功","Intermediate Certification Authorities: %{issuer}":"中级证书颁发机构: %{issuer}","Issued certificate successfully":"证书申请成功","Jwt Secret":"Jwt 密钥","Leave blank for no change":"留空表示不修改","Light":"浅色","Load Averages:":"系统负载:","Location":"Location","Locations":"Locations","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":"修改","Modify Config":"修改配置文件","Multi-line Directive":"单行指令","Name":"名称","Network":"网络","Network Statistics":"流量统计","Network Total Receive":"下载流量","Network Total Send":"上传流量","Next":"下一步","Nginx Access Log Path":"Nginx 访问日志路径","Nginx Configuration Parse Error":"Nginx 配置解析错误","Nginx Error Log Path":"Nginx 错误日志路径","Nginx Log":"Nginx 日志","No":"取消","Not Found":"找不到页面","Not Valid Before: %{date}":"此前无效: %{date}","Note":"注意","Obtaining certificate":"正在获取证书","OK":"确定","OS:":"OS:","Params":"参数","Password":"密码","Password (*)":"密码 (*)","Path":"路径","Please input your E-mail!":"请输入您的邮箱!","Please input your password!":"请输入您的密码!","Please input your username!":"请输入您的用户名!","Preference":"偏好设置","Preparing lego configurations":"正在准备 Lego 的配置","Prohibit changing root password in demo":"禁止在演示模式下修改 root 账户的密码","Prohibit deleting the default user":"禁止删除默认用户","Project Team":"项目团队","Reads":"读","Receive":"下载","Registering user":"正在注册用户","Reloading nginx":"正在重载 Nginx","Reset":"重置","Run Mode":"运行模式","Save":"保存","Save Directive":"保存指令","Save error %{msg}":"保存错误 %{msg}","Save successfully":"保存成功","Save Successfully":"保存成功","Saved successfully":"保存成功","Selector":"选择器","Send":"上传","Server error":"服务器错误","Server Info":"服务器信息","server_name not found in directives":"未在指令集合中找到 server_name","server_name parameter is required":"必须为 server_name 指令指明参数","Single Directive":"单行指令","Site Logs":"站点列表","Sites List":"站点列表","SSL Certificate Key Path":"SSL证书密钥路径","SSL Certificate Path":"SSL证书路径","SSL Certification Content":"SSL证书内容","SSL Certification Key Content":"SSL证书密钥内容","Status":"状态","Storage":"存储","Subject Name: %{name}":"主体名称: %{name}","Swap":"Swap","Table":"列表","Terminal":"终端","Terminal Start Command":"终端启动命令","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.":"系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。","The filename cannot contain the following characters: %{c}":"文件名不能包含以下字符: %{c}","The server_name in the current configuration must be the domain name you need to get the certificate.":"当前配置中的 server_name 必须为需要申请证书的域名。","The username or password is incorrect":"用户名或密码错误","Theme":"主题","Type":"类型","Updated at":"修改时间","Updated successfully":"更新成功","Uptime:":"运行时间:","Username":"用户名","Username (*)":"用户名 (*)","Using HTTP01 challenge provider":"使用 HTTP01 challenge provider","View":"查看","Warning":"警告","Writes":"写","Writing certificate private key to disk":"正在将证书私钥写入磁盘","Writing certificate to disk":"正在将证书写入磁盘","Yes":"是的","License":{"Project":"开源许可"}},"en":{"About":"About","Action":"Action","Add Directive Below":"Add Directive Below","Add Location":"Add Location","Add Site":"Add Site","Advance Mode":"Advance Mode","Are you sure you want to remove this directive?":"Are you sure you want to remove this directive?","Auto-renewal disabled for %{name}":"Auto-renewal disabled for %{name}","Auto-renewal enabled for %{name}":"Auto-renewal enabled for %{name}","Back":"Back","Base information":"Base information","Basic Mode":"Basic Mode","Build with":"Build with","Cancel":"Cancel","Certificate has expired":"Certificate has expired","Certificate is valid":"Certificate is valid","Certificate Status":"Certificate Status","Comments":"Comments","Configuration Name":"Configuration Name","Configurations":"Configurations","Configure SSL":"Configure SSL","Content":"Content","CPU Status":"CPU Status","CPU:":"CPU:","Create Another":"Create Another","Created at":"Created at","Dashboard":"Dashboard","Database (Optional, default: database)":"Database (Optional, default: database)","Development Mode":"Development Mode","Directive":"Directive","Directives":"Directives","Disable auto-renewal failed for %{name}":"Disable auto-renewal failed for %{name}","Disabled":"Disabled","Disabled successfully":"Disabled successfully","Disk IO":"Disk IO","Domain Config Created Successfully":"Domain Config Created Successfully","Edit %{n}":"Edit %{n}","Edit Configuration":"Edit Configuration","Edit Site":"Edit Site","Email (*)":"Email (*)","Enable auto-renewal failed for %{name}":"Enable auto-renewal failed for %{name}","Enable failed":"Enable failed","Enable TLS":"Enable TLS","Enabled":"Enabled","Enabled successfully":"Enabled successfully","Encrypt website with Let's Encrypt":"Encrypt website with Let's Encrypt","Expiration Date: %{date}":"Expiration Date: %{date}","Failed to disable %{msg}":"Failed to disable %{msg}","Failed to enable %{msg}":"Failed to enable %{msg}","File Not Found":"File Not Found","Finished":"Finished","Getting the certificate, please wait...":"Getting the certificate, please wait...","Home":"Home","Install":"Install","Intermediate Certification Authorities: %{issuer}":"Intermediate Certification Authorities: %{issuer}","Leave blank for no change":"Leave blank for no change","Load Averages:":"Load Averages:","Location":"Location","Locations":"Locations","Login":"Login","Login successful":"Login successful","Logout successful":"Logout successful","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.","Manage Configs":"Manage Configs","Manage Sites":"Manage Sites","Manage Users":"Manage Users","Memory":"Memory","Memory and Storage":"Memory and Storage","Modify Config":"Modify Config","Name":"Name","Network":"Network","Network Statistics":"Network Statistics","Network Total Receive":"Network Total Receive","Network Total Send":"Network Total Send","Next":"Next","No":"No","Not Found":"Not Found","Not Valid Before: %{date}":"Not Valid Before: %{date}","OS:":"OS:","Params":"Params","Password":"Password","Password (*)":"Password (*)","Path":"Path","Please input your E-mail!":"Please input your E-mail!","Please input your password!":"Please input your password!","Please input your username!":"Please input your username!","Project Team":"Project Team","Reads":"Reads","Receive":"Receive","Save":"Save","Save Directive":"Save Directive","Save error %{msg}":"Save error %{msg}","Saved successfully":"Saved successfully","Send":"Send","Server error":"Server error","Server Info":"Server Info","server_name not found in directives":"server_name not found in directives","server_name parameter is required":"server_name parameter is required","Single Directive":"Single Directive","Sites List":"Sites List","Status":"Status","Storage":"Storage","Subject Name: %{name}":"Subject Name: %{name}","Swap":"Swap","Terminal":"Terminal","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.":"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.","The filename cannot contain the following characters: %{c}":"The filename cannot contain the following characters: %{c}","Updated at":"Updated at","Uptime:":"Uptime:","Username":"Username","Username (*)":"Username (*)","Warning":"Warning","Writes":"Writes","Yes":"Yes","License":{"Project":"License"}},"zh_TW":{"About":"關於","Access Logs":"訪問日誌","Action":"操作","Add":"新增","Add Directive Below":"在下面新增指令","Add Location":"新增 Location","Add Site":"新增站點","Advance Mode":"高階模式","Are you sure you want to delete?":"你確定你要刪除?","Are you sure you want to remove this directive?":"您確定要刪除這條指令?","Are you sure you want to remove this location?":"您確定要刪除此 Location 嗎?","Auto":"自動","Auto Refresh":"自動刷新","Auto-renewal disabled for %{name}":"已關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"已啟用 %{name} 自動續簽","Back":"返回","Back Home":"回到首頁","Base information":"基本訊息","Basic Mode":"基本模式","Batch Modify":"批量修改","Build with":"構建基於","Cancel":"取消","Certificate has expired":"此憑證已過期","Certificate is valid":"此憑證有效","Certificate Status":"憑證狀態","Comments":"註釋","Configuration Name":"配置名稱","Configurations":"配置","Configure SSL":"配置 SSL","Content":"內容","CPU Status":"中央處理器狀態","CPU:":"中央處理器:","Create Another":"再創建一個","Created at":"建立時間","Creating client facilitates communication with the CA server":"創建客戶端方便與CA服務器通信","Dark":"深色","Dashboard":"儀表盤","Database (Optional, default: database)":"資料庫 (可選,預設: database)","Delete":"刪除","Delete ID: %{id}":"刪除 ID: %{id}","Delete site: %{site_name}":"刪除站點:%{site_name}","Development Mode":"開發模式","Directive":"指令","Directives":"指令","Disable auto-renewal failed for %{name}":"關閉 %{name} 自動續簽失敗","Disabled":"禁用","Disabled successfully":"禁用成功","Disk IO":"磁碟 IO","Domain Config Created Successfully":"域名配置文件創建成功","Edit %{n}":"編輯 %{n}","Edit Configuration":"編輯配置","Edit Site":"編輯站點","Email (*)":"郵箱 (*)","Enable auto-renewal failed for %{name}":"啟用 %{name} 自動續簽失敗","Enable failed":"啟用失敗","Enable TLS":"啟用 TLS","Enabled":"啟用","Enabled successfully":"啟用成功","Encrypt website with Let's Encrypt":"用 Let's Encrypt 對網站進行加密","Error Logs":"錯誤日志","Expiration Date: %{date}":"過期時間: %{date}","Export":"導出","Failed to disable %{msg}":"禁用失敗 %{msg}","Failed to enable %{msg}":"啟用失敗 %{msg}","Failed to get certificate information":"獲取證書信息失敗","File Not Found":"未找到檔案","Filter":"篩選","Finished":"完成","Generate":"生成","Generating private key for registering account":"生成註冊賬號私鑰","Getting the certificate, please wait...":"正在獲取憑證,請稍等...","Home":"首頁","Install":"安裝","Install successfully":"安裝成功","Intermediate Certification Authorities: %{issuer}":"中級憑證頒發機構: %{issuer}","Issued certificate successfully":"頒發證書成功","Leave blank for no change":"留空表示不修改","Light":"淺色","Load Averages:":"系統負載:","Location":"Location","Locations":"Locations","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":"修改","Modify Config":"修改配置","Name":"名稱","Network":"網路","Network Statistics":"網路統計","Network Total Receive":"下載流量","Network Total Send":"上傳流量","Next":"下一步","Nginx Log":"Nginx 日誌","No":"取消","Not Found":"找不到頁面","Not Valid Before: %{date}":"此前無效: %{date}","Obtaining certificate":"正在獲取證書,請稍等...","OK":"確定","OS:":"作業系統:","Params":"參數","Password":"密碼","Password (*)":"密碼 (*)","Path":"路徑","Please input your E-mail!":"請輸入您的郵箱!","Please input your password!":"請輸入您的密碼!","Please input your username!":"請輸入您的使用者名稱!","Preference":"設定","Preparing lego configurations":"準備 Lego 配置","Prohibit changing root password in demo":"禁止在demo中修改root密碼","Prohibit deleting the default user":"禁止刪除默認用戶","Project Team":"專案團隊","Reads":"讀","Receive":"下載","Registering user":"註冊用戶","Reloading nginx":"重载 Nginx","Reset":"重設","Save":"儲存","Save Directive":"儲存指令","Save error %{msg}":"儲存錯誤 %{msg}","Save successfully":"保存成功","Save Successfully":"保存成功","Saved successfully":"儲存成功","Selector":"選擇器","Send":"上傳","Server error":"伺服器錯誤","Server Info":"伺服器資訊","server_name not found in directives":"未在指令集合中找到 server_name","server_name parameter is required":"必須為 server_name 指令指明參數","Single Directive":"單行指令","Site Logs":"網站日誌","Sites List":"站點列表","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","Swap":"交換空間","Table":"表格","Terminal":"終端","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.":"系統將會每小時檢測一次該域名證書,若距離上次簽發已超過1個月,則將自動續簽。
如果您之前沒有證書,請先點選「從 Let's Encrypt 獲取證書」。","The filename cannot contain the following characters: %{c}":"檔名不能包含以下字元: %{c}","The username or password is incorrect":"用戶名或密碼不正確","Theme":"外觀樣式","Updated at":"修改時間","Updated successfully":"已成功更新","Uptime:":"執行時間:","Username":"使用者名稱","Username (*)":"使用者名稱 (*)","Using HTTP01 challenge provider":"使用 HTTP01 挑戰提供者","Warning":"警告","Writes":"寫","Writing certificate private key to disk":"將證書私鑰寫入磁盤","Writing certificate to disk":"將證書寫入磁盤","Yes":"是的","License":{"Project":"開源軟體授權條款"}}}
\ No newline at end of file
+{"zh_CN":{"About":"关于","Access Logs":"访问日志","Action":"操作","Add":"添加","Add Directive Below":"在下面添加指令","Add Location":"添加 Location","Add Site":"添加站点","Advance Mode":"高级模式","Arch":"架构","Are you sure you want to delete?":"您确定要删除吗?","Are you sure you want to remove this directive?":"您确定要删除这条指令?","Are you sure you want to remove this location?":"您确定要删除这个 Location?","Author":"作者","Auto":"自动","Auto Cert":"自动更新","Auto cert is enabled, please do not modify this certification.":"自动更新已启用,请勿修改此证书配置。","Auto Refresh":"自动刷新","Auto-renewal disabled for %{name}":"成功关闭 %{name} 自动续签","Auto-renewal enabled for %{name}":"成功启用 %{name} 自动续签","Back":"返回","Back Home":"返回首页","Base information":"基本信息","Basic Mode":"基本模式","Batch Modify":"批量修改","Build with":"构建基于","Cancel":"取消","Certificate has expired":"此证书已过期","Certificate is valid":"此证书有效","Certificate Status":"证书状态","Certification":"证书","Change Certificate":"更改证书","Check again":"重新检查","Comments":"注释","Config Templates":"配置","Configuration Name":"配置名称","Configurations":"配置","Configure SSL":"配置 SSL","Content":"内容","CPU Status":"CPU 状态","CPU:":"CPU:","Create Another":"再创建一个","Created at":"创建时间","Creating client facilitates communication with the CA server":"正在创建客户端用于与 CA 服务器通信","Current Version":"当前版本","Custom":"自定义","Dark":"深色","Dashboard":"仪表盘","Database (Optional, default: database)":"数据库 (可选,默认: database)","Delete":"删除","Delete ID: %{id}":"删除 ID: %{id}","Delete site: %{site_name}":"删除站点: %{site_name}","Description":"描述","Development Mode":"开发模式","Dir":"目录","Directive":"指令","Directives":"指令","Disable auto-renewal failed for %{name}":"关闭 %{name} 自动续签失败","Disabled":"禁用","Disabled successfully":"禁用成功","Disk IO":"磁盘 IO","Domain":"域名","Domain Config Created Successfully":"域名配置文件创建成功","Edit %{n}":"编辑 %{n}","Edit Configuration":"编辑配置","Edit Site":"编辑站点","Email (*)":"邮箱 (*)","Enable auto-renewal failed for %{name}":"启用 %{name} 自动续签失败","Enable failed":"启用失败","Enable TLS":"启用 TLS","Enabled":"启用","Enabled successfully":"启用成功","Encrypt website with Let's Encrypt":"用 Let's Encrypt 对网站进行加密","Error Logs":"错误日志","Executable Path":"可执行文件路径","Expiration Date: %{date}":"过期时间: %{date}","Export":"导出","Failed to disable %{msg}":"禁用失败 %{msg}","Failed to enable %{msg}":"启用失败 %{msg}","Failed to get certificate information":"获取证书信息失败","Failed to save, syntax error(s) was detected in the configuration.":"保存失败,在配置中检测到语法错误。","File":"文件","File Not Found":"未找到文件","Filter":"过滤","Finished":"完成","Format Code":"代码格式化","Format error %{msg}":"保存错误 %{msg}","Format successfully":"保存成功","Generate":"生成","Generating private key for registering account":"正在生成私钥用于注册账户","Getting the certificate, please wait...":"正在获取证书,请稍等...","Home":"首页","HTTP Challenge Port":"HTTP Challenge 监听端口","HTTP Port":"HTTP 监听端口","Install":"安装","Install successfully":"安装成功","Intermediate Certification Authorities: %{issuer}":"中级证书颁发机构: %{issuer}","Issued certificate successfully":"证书申请成功","Jwt Secret":"Jwt 密钥","Last checked at":"最后检查时间","Leave blank for no change":"留空表示不修改","Light":"浅色","Load Averages:":"系统负载:","Location":"Location","Locations":"Locations","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":"修改","Modify Config":"修改配置文件","Multi-line Directive":"单行指令","Name":"名称","Network":"网络","Network Statistics":"流量统计","Network Total Receive":"下载流量","Network Total Send":"上传流量","New version released":"新版本发布","Next":"下一步","Nginx Access Log Path":"Nginx 访问日志路径","Nginx Configuration Parse Error":"Nginx 配置解析错误","Nginx Error Log Path":"Nginx 错误日志路径","Nginx Log":"Nginx 日志","No":"取消","Not Found":"找不到页面","Not Valid Before: %{date}":"此前无效: %{date}","Note":"注意","Obtaining certificate":"正在获取证书","OK":"确定","OS":"OS","OS:":"OS:","Params":"参数","Password":"密码","Password (*)":"密码 (*)","Path":"路径","Please input your E-mail!":"请输入您的邮箱!","Please input your password!":"请输入您的密码!","Please input your username!":"请输入您的用户名!","Preference":"偏好设置","Preparing lego configurations":"正在准备 Lego 的配置","Prohibit changing root password in demo":"禁止在演示模式下修改 root 账户的密码","Prohibit deleting the default user":"禁止删除默认用户","Project Team":"项目团队","Reads":"读","Receive":"下载","Registering user":"正在注册用户","Reinstall":"重新安装","Release Note":"发行日志","Reloading nginx":"正在重载 Nginx","Reset":"重置","Run Mode":"运行模式","Save":"保存","Save Directive":"保存指令","Save error %{msg}":"保存错误 %{msg}","Save successfully":"保存成功","Save Successfully":"保存成功","Saved successfully":"保存成功","Selector":"选择器","Send":"上传","Server error":"服务器错误","Server Info":"服务器信息","server_name not found in directives":"未在指令集合中找到 server_name","server_name parameter is required":"必须为 server_name 指令指明参数","Single Directive":"单行指令","Site Logs":"站点列表","Sites List":"站点列表","SSL Certificate Key Path":"SSL证书密钥路径","SSL Certificate Path":"SSL证书路径","SSL Certification Content":"SSL证书内容","SSL Certification Key Content":"SSL证书密钥内容","Status":"状态","Storage":"存储","Subject Name: %{name}":"主体名称: %{name}","Swap":"Swap","System":"系统","Table":"列表","Terminal":"终端","Terminal Start Command":"终端启动命令","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.":"系统将会每小时检测一次该域名证书,若距离上次签发已超过1个月,则将自动续签。","The filename cannot contain the following characters: %{c}":"文件名不能包含以下字符: %{c}","The server_name in the current configuration must be the domain name you need to get the certificate.":"当前配置中的 server_name 必须为需要申请证书的域名。","The username or password is incorrect":"用户名或密码错误","Theme":"主题","Type":"类型","Updated at":"修改时间","Updated successfully":"更新成功","Upgrade":"升级","Uptime:":"运行时间:","Username":"用户名","Username (*)":"用户名 (*)","Using HTTP01 challenge provider":"使用 HTTP01 challenge provider","View":"查看","Warning":"警告","Writes":"写","Writing certificate private key to disk":"正在将证书私钥写入磁盘","Writing certificate to disk":"正在将证书写入磁盘","Yes":"是的","You are using the latest version":"您使用的是最新版本","You can check Nginx UI upgrade at this page.":"你可以在这个页面检查Nginx UI的升级。","License":{"Project":"开源许可"}},"en":{"About":"About","Action":"Action","Add Directive Below":"Add Directive Below","Add Location":"Add Location","Add Site":"Add Site","Advance Mode":"Advance Mode","Are you sure you want to remove this directive?":"Are you sure you want to remove this directive?","Auto-renewal disabled for %{name}":"Auto-renewal disabled for %{name}","Auto-renewal enabled for %{name}":"Auto-renewal enabled for %{name}","Back":"Back","Base information":"Base information","Basic Mode":"Basic Mode","Build with":"Build with","Cancel":"Cancel","Certificate has expired":"Certificate has expired","Certificate is valid":"Certificate is valid","Certificate Status":"Certificate Status","Comments":"Comments","Configuration Name":"Configuration Name","Configurations":"Configurations","Configure SSL":"Configure SSL","Content":"Content","CPU Status":"CPU Status","CPU:":"CPU:","Create Another":"Create Another","Created at":"Created at","Dashboard":"Dashboard","Database (Optional, default: database)":"Database (Optional, default: database)","Development Mode":"Development Mode","Directive":"Directive","Directives":"Directives","Disable auto-renewal failed for %{name}":"Disable auto-renewal failed for %{name}","Disabled":"Disabled","Disabled successfully":"Disabled successfully","Disk IO":"Disk IO","Domain Config Created Successfully":"Domain Config Created Successfully","Edit %{n}":"Edit %{n}","Edit Configuration":"Edit Configuration","Edit Site":"Edit Site","Email (*)":"Email (*)","Enable auto-renewal failed for %{name}":"Enable auto-renewal failed for %{name}","Enable failed":"Enable failed","Enable TLS":"Enable TLS","Enabled":"Enabled","Enabled successfully":"Enabled successfully","Encrypt website with Let's Encrypt":"Encrypt website with Let's Encrypt","Expiration Date: %{date}":"Expiration Date: %{date}","Failed to disable %{msg}":"Failed to disable %{msg}","Failed to enable %{msg}":"Failed to enable %{msg}","File Not Found":"File Not Found","Finished":"Finished","Getting the certificate, please wait...":"Getting the certificate, please wait...","Home":"Home","Install":"Install","Intermediate Certification Authorities: %{issuer}":"Intermediate Certification Authorities: %{issuer}","Leave blank for no change":"Leave blank for no change","Load Averages:":"Load Averages:","Location":"Location","Locations":"Locations","Login":"Login","Login successful":"Login successful","Logout successful":"Logout successful","Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.":"Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort (default: 9180) before getting the certificate.","Manage Configs":"Manage Configs","Manage Sites":"Manage Sites","Manage Users":"Manage Users","Memory":"Memory","Memory and Storage":"Memory and Storage","Modify Config":"Modify Config","Name":"Name","Network":"Network","Network Statistics":"Network Statistics","Network Total Receive":"Network Total Receive","Network Total Send":"Network Total Send","Next":"Next","No":"No","Not Found":"Not Found","Not Valid Before: %{date}":"Not Valid Before: %{date}","OS:":"OS:","Params":"Params","Password":"Password","Password (*)":"Password (*)","Path":"Path","Please input your E-mail!":"Please input your E-mail!","Please input your password!":"Please input your password!","Please input your username!":"Please input your username!","Project Team":"Project Team","Reads":"Reads","Receive":"Receive","Save":"Save","Save Directive":"Save Directive","Save error %{msg}":"Save error %{msg}","Saved successfully":"Saved successfully","Send":"Send","Server error":"Server error","Server Info":"Server Info","server_name not found in directives":"server_name not found in directives","server_name parameter is required":"server_name parameter is required","Single Directive":"Single Directive","Sites List":"Sites List","Status":"Status","Storage":"Storage","Subject Name: %{name}":"Subject Name: %{name}","Swap":"Swap","Terminal":"Terminal","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.":"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.","The filename cannot contain the following characters: %{c}":"The filename cannot contain the following characters: %{c}","Updated at":"Updated at","Uptime:":"Uptime:","Username":"Username","Username (*)":"Username (*)","Warning":"Warning","Writes":"Writes","Yes":"Yes","License":{"Project":"License"}},"zh_TW":{"About":"關於","Access Logs":"訪問日誌","Action":"操作","Add":"新增","Add Directive Below":"在下面新增指令","Add Location":"新增 Location","Add Site":"新增站點","Advance Mode":"高階模式","Are you sure you want to delete?":"你確定你要刪除?","Are you sure you want to remove this directive?":"您確定要刪除這條指令?","Are you sure you want to remove this location?":"您確定要刪除此 Location 嗎?","Auto":"自動","Auto Refresh":"自動刷新","Auto-renewal disabled for %{name}":"已關閉 %{name} 自動續簽","Auto-renewal enabled for %{name}":"已啟用 %{name} 自動續簽","Back":"返回","Back Home":"回到首頁","Base information":"基本訊息","Basic Mode":"基本模式","Batch Modify":"批量修改","Build with":"構建基於","Cancel":"取消","Certificate has expired":"此憑證已過期","Certificate is valid":"此憑證有效","Certificate Status":"憑證狀態","Comments":"註釋","Configuration Name":"配置名稱","Configurations":"配置","Configure SSL":"配置 SSL","Content":"內容","CPU Status":"中央處理器狀態","CPU:":"中央處理器:","Create Another":"再創建一個","Created at":"建立時間","Creating client facilitates communication with the CA server":"創建客戶端方便與CA服務器通信","Dark":"深色","Dashboard":"儀表盤","Database (Optional, default: database)":"資料庫 (可選,預設: database)","Delete":"刪除","Delete ID: %{id}":"刪除 ID: %{id}","Delete site: %{site_name}":"刪除站點:%{site_name}","Development Mode":"開發模式","Directive":"指令","Directives":"指令","Disable auto-renewal failed for %{name}":"關閉 %{name} 自動續簽失敗","Disabled":"禁用","Disabled successfully":"禁用成功","Disk IO":"磁碟 IO","Domain Config Created Successfully":"域名配置文件創建成功","Edit %{n}":"編輯 %{n}","Edit Configuration":"編輯配置","Edit Site":"編輯站點","Email (*)":"郵箱 (*)","Enable auto-renewal failed for %{name}":"啟用 %{name} 自動續簽失敗","Enable failed":"啟用失敗","Enable TLS":"啟用 TLS","Enabled":"啟用","Enabled successfully":"啟用成功","Encrypt website with Let's Encrypt":"用 Let's Encrypt 對網站進行加密","Error Logs":"錯誤日志","Expiration Date: %{date}":"過期時間: %{date}","Export":"導出","Failed to disable %{msg}":"禁用失敗 %{msg}","Failed to enable %{msg}":"啟用失敗 %{msg}","Failed to get certificate information":"獲取證書信息失敗","File Not Found":"未找到檔案","Filter":"篩選","Finished":"完成","Generate":"生成","Generating private key for registering account":"生成註冊賬號私鑰","Getting the certificate, please wait...":"正在獲取憑證,請稍等...","Home":"首頁","Install":"安裝","Install successfully":"安裝成功","Intermediate Certification Authorities: %{issuer}":"中級憑證頒發機構: %{issuer}","Issued certificate successfully":"頒發證書成功","Leave blank for no change":"留空表示不修改","Light":"淺色","Load Averages:":"系統負載:","Location":"Location","Locations":"Locations","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":"修改","Modify Config":"修改配置","Name":"名稱","Network":"網路","Network Statistics":"網路統計","Network Total Receive":"下載流量","Network Total Send":"上傳流量","Next":"下一步","Nginx Log":"Nginx 日誌","No":"取消","Not Found":"找不到頁面","Not Valid Before: %{date}":"此前無效: %{date}","Obtaining certificate":"正在獲取證書,請稍等...","OK":"確定","OS:":"作業系統:","Params":"參數","Password":"密碼","Password (*)":"密碼 (*)","Path":"路徑","Please input your E-mail!":"請輸入您的郵箱!","Please input your password!":"請輸入您的密碼!","Please input your username!":"請輸入您的使用者名稱!","Preference":"設定","Preparing lego configurations":"準備 Lego 配置","Prohibit changing root password in demo":"禁止在demo中修改root密碼","Prohibit deleting the default user":"禁止刪除默認用戶","Project Team":"專案團隊","Reads":"讀","Receive":"下載","Registering user":"註冊用戶","Reloading nginx":"重载 Nginx","Reset":"重設","Save":"儲存","Save Directive":"儲存指令","Save error %{msg}":"儲存錯誤 %{msg}","Save successfully":"保存成功","Save Successfully":"保存成功","Saved successfully":"儲存成功","Selector":"選擇器","Send":"上傳","Server error":"伺服器錯誤","Server Info":"伺服器資訊","server_name not found in directives":"未在指令集合中找到 server_name","server_name parameter is required":"必須為 server_name 指令指明參數","Single Directive":"單行指令","Site Logs":"網站日誌","Sites List":"站點列表","Status":"狀態","Storage":"儲存","Subject Name: %{name}":"主體名稱: %{name}","Swap":"交換空間","Table":"表格","Terminal":"終端","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.":"系統將會每小時檢測一次該域名證書,若距離上次簽發已超過1個月,則將自動續簽。
如果您之前沒有證書,請先點選「從 Let's Encrypt 獲取證書」。","The filename cannot contain the following characters: %{c}":"檔名不能包含以下字元: %{c}","The username or password is incorrect":"用戶名或密碼不正確","Theme":"外觀樣式","Updated at":"修改時間","Updated successfully":"已成功更新","Uptime:":"執行時間:","Username":"使用者名稱","Username (*)":"使用者名稱 (*)","Using HTTP01 challenge provider":"使用 HTTP01 挑戰提供者","Warning":"警告","Writes":"寫","Writing certificate private key to disk":"將證書私鑰寫入磁盤","Writing certificate to disk":"將證書寫入磁盤","Yes":"是的","License":{"Project":"開源軟體授權條款"}}}
\ No newline at end of file
diff --git a/frontend/src/language/zh_CN/app.mo b/frontend/src/language/zh_CN/app.mo
index b3f79b03..96d9c478 100644
Binary files a/frontend/src/language/zh_CN/app.mo and b/frontend/src/language/zh_CN/app.mo differ
diff --git a/frontend/src/language/zh_CN/app.po b/frontend/src/language/zh_CN/app.po
index 36dfcb3f..d0e5cf53 100644
--- a/frontend/src/language/zh_CN/app.po
+++ b/frontend/src/language/zh_CN/app.po
@@ -12,7 +12,7 @@ msgstr ""
"Generated-By: easygettext\n"
"X-Generator: Poedit 3.2.2\n"
-#: src/routes/index.ts:134
+#: src/routes/index.ts:141
msgid "About"
msgstr "关于"
@@ -53,6 +53,11 @@ msgstr "添加站点"
msgid "Advance Mode"
msgstr "高级模式"
+#: src/views/system/Upgrade.vue:12 src/views/system/Upgrade.vue:13
+#: src/views/system/Upgrade.vue:17 src/views/system/Upgrade.vue:21
+msgid "Arch"
+msgstr "架构"
+
#: src/components/StdDataDisplay/StdTable.vue:54
#: src/views/domain/DomainList.vue:26
msgid "Are you sure you want to delete?"
@@ -128,7 +133,7 @@ msgstr "基本模式"
msgid "Batch Modify"
msgstr "批量修改"
-#: src/views/other/About.vue:21
+#: src/views/system/About.vue:21
msgid "Build with"
msgstr "构建基于"
@@ -160,6 +165,11 @@ msgstr "证书"
msgid "Change Certificate"
msgstr "更改证书"
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:17
+#: src/views/system/Upgrade.vue:21 src/views/system/Upgrade.vue:25
+msgid "Check again"
+msgstr "重新检查"
+
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
#: src/views/domain/ngx_conf/LocationEditor.vue:31
#: src/views/domain/ngx_conf/LocationEditor.vue:47
@@ -189,6 +199,11 @@ msgstr "配置 SSL"
msgid "Content"
msgstr "内容"
+#: src/views/system/Upgrade.vue:3
+#, fuzzy
+msgid "Core Upgrade"
+msgstr "升级"
+
#: src/views/dashboard/DashBoard.vue:64
msgid "CPU Status"
msgstr "CPU 状态"
@@ -209,6 +224,11 @@ msgstr "创建时间"
msgid "Creating client facilitates communication with the CA server"
msgstr "正在创建客户端用于与 CA 服务器通信"
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:11
+#: src/views/system/Upgrade.vue:15 src/views/system/Upgrade.vue:19
+msgid "Current Version"
+msgstr "当前版本"
+
#: src/views/domain/ngx_conf/ConfigTemplate.vue:22
#: src/views/domain/ngx_conf/ConfigTemplate.vue:23
#: src/views/domain/ngx_conf/ConfigTemplate.vue:26
@@ -254,7 +274,7 @@ msgstr "删除站点: %{site_name}"
msgid "Description"
msgstr "描述"
-#: src/views/other/About.vue:7 src/views/other/About.vue:8
+#: src/views/system/About.vue:7 src/views/system/About.vue:8
msgid "Development Mode"
msgstr "开发模式"
@@ -340,7 +360,7 @@ msgstr "启用"
msgid "Enabled successfully"
msgstr "启用成功"
-#: src/views/domain/cert/IssueCert.vue:18
+#: src/views/domain/cert/IssueCert.vue:17
msgid "Encrypt website with Let's Encrypt"
msgstr "用 Let's Encrypt 对网站进行加密"
@@ -348,6 +368,11 @@ msgstr "用 Let's Encrypt 对网站进行加密"
msgid "Error Logs"
msgstr "错误日志"
+#: src/views/system/Upgrade.vue:13 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:22
+msgid "Executable Path"
+msgstr "可执行文件路径"
+
#: src/views/domain/cert/CertInfo.vue:12
msgid "Expiration Date: %{date}"
msgstr "过期时间: %{date}"
@@ -427,7 +452,7 @@ msgstr "HTTP Challenge 监听端口"
msgid "HTTP Port"
msgstr "HTTP 监听端口"
-#: src/routes/index.ts:144 src/views/other/Install.vue:128
+#: src/routes/index.ts:153 src/views/other/Install.vue:128
msgid "Install"
msgstr "安装"
@@ -447,6 +472,11 @@ msgstr "证书申请成功"
msgid "Jwt Secret"
msgstr "Jwt 密钥"
+#: src/views/system/Upgrade.vue:14 src/views/system/Upgrade.vue:15
+#: src/views/system/Upgrade.vue:19 src/views/system/Upgrade.vue:23
+msgid "Last checked at"
+msgstr "最后检查时间"
+
#: src/views/user/User.vue:26
msgid "Leave blank for no change"
msgstr "留空表示不修改"
@@ -470,7 +500,7 @@ msgstr "Location"
msgid "Locations"
msgstr "Locations"
-#: src/routes/index.ts:150 src/views/other/Login.vue:104
+#: src/routes/index.ts:159 src/views/other/Login.vue:104
msgid "Login"
msgstr "登录"
@@ -482,7 +512,7 @@ msgstr "登录成功"
msgid "Logout successful"
msgstr "登出成功"
-#: src/views/domain/cert/IssueCert.vue:211
+#: src/views/domain/cert/IssueCert.vue:210
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort (default: 9180) before getting the certificate."
@@ -550,6 +580,10 @@ msgstr "下载流量"
msgid "Network Total Send"
msgstr "上传流量"
+#: src/views/system/Upgrade.vue:34
+msgid "New version released"
+msgstr "新版本发布"
+
#: src/views/domain/DomainAdd.vue:136
msgid "Next"
msgstr "下一步"
@@ -577,7 +611,7 @@ msgstr "Nginx 日志"
msgid "No"
msgstr "取消"
-#: src/routes/index.ts:156 src/routes/index.ts:158
+#: src/routes/index.ts:165 src/routes/index.ts:167
msgid "Not Found"
msgstr "找不到页面"
@@ -585,7 +619,7 @@ msgstr "找不到页面"
msgid "Not Valid Before: %{date}"
msgstr "此前无效: %{date}"
-#: src/views/domain/cert/IssueCert.vue:38
+#: src/views/domain/cert/IssueCert.vue:37
msgid "Note"
msgstr "注意"
@@ -601,6 +635,11 @@ msgstr "正在获取证书"
msgid "OK"
msgstr "确定"
+#: src/views/system/Upgrade.vue:11 src/views/system/Upgrade.vue:12
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:20
+msgid "OS"
+msgstr "OS"
+
#: src/views/dashboard/DashBoard.vue:147
msgid "OS:"
msgstr "OS:"
@@ -650,7 +689,7 @@ msgstr "禁止在演示模式下修改 root 账户的密码"
msgid "Prohibit deleting the default user"
msgstr "禁止删除默认用户"
-#: src/views/other/About.vue:19
+#: src/views/system/About.vue:19
msgid "Project Team"
msgstr "项目团队"
@@ -666,6 +705,18 @@ msgstr "下载"
msgid "Registering user"
msgstr "正在注册用户"
+#: src/views/system/Upgrade.vue:24 src/views/system/Upgrade.vue:25
+#: src/views/system/Upgrade.vue:29 src/views/system/Upgrade.vue:33
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:39
+msgid "Reinstall"
+msgstr "重新安装"
+
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:32
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:43 src/views/system/Upgrade.vue:48
+msgid "Release Note"
+msgstr "发行日志"
+
#: src/language/constants.ts:19
msgid "Reloading nginx"
msgstr "正在重载 Nginx"
@@ -742,7 +793,7 @@ msgstr "服务器信息"
msgid "server_name not found in directives"
msgstr "未在指令集合中找到 server_name"
-#: src/views/domain/cert/IssueCert.vue:195 src/views/domain/DomainAdd.vue:111
+#: src/views/domain/cert/IssueCert.vue:194 src/views/domain/DomainAdd.vue:111
msgid "server_name parameter is required"
msgstr "必须为 server_name 指令指明参数"
@@ -791,6 +842,10 @@ msgstr "主体名称: %{name}"
msgid "Swap"
msgstr "Swap"
+#: src/routes/index.ts:134
+msgid "System"
+msgstr "系统"
+
#: src/components/StdDataDisplay/StdCurd.vue:3
msgid "Table"
msgstr "列表"
@@ -803,7 +858,7 @@ msgstr "终端"
msgid "Terminal Start Command"
msgstr "终端启动命令"
-#: src/views/domain/cert/IssueCert.vue:207
+#: src/views/domain/cert/IssueCert.vue:206
msgid ""
"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."
@@ -814,7 +869,7 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "文件名不能包含以下字符: %{c}"
-#: src/views/domain/cert/IssueCert.vue:203
+#: src/views/domain/cert/IssueCert.vue:202
msgid ""
"The server_name in the current configuration must be the domain name you "
"need to get the certificate."
@@ -841,6 +896,18 @@ msgstr "修改时间"
msgid "Updated successfully"
msgstr "更新成功"
+#: src/routes/index.ts:145 src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:26 src/views/system/Upgrade.vue:27
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:35
+#: src/views/system/Upgrade.vue:38 src/views/system/Upgrade.vue:41
+#: src/views/system/Upgrade.vue:42
+msgid "Upgrade"
+msgstr "升级"
+
+#: src/views/system/Upgrade.vue:63
+msgid "Upgrading Nginx UI, please wait..."
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:137
msgid "Uptime:"
msgstr "运行时间:"
@@ -863,7 +930,7 @@ msgstr "使用 HTTP01 challenge provider"
msgid "View"
msgstr "查看"
-#: src/views/domain/cert/IssueCert.vue:27 src/views/domain/DomainAdd.vue:22
+#: src/views/domain/cert/IssueCert.vue:26 src/views/domain/DomainAdd.vue:22
msgid "Warning"
msgstr "警告"
@@ -885,7 +952,16 @@ msgstr "正在将证书写入磁盘"
msgid "Yes"
msgstr "是的"
-#: src/views/other/About.vue:27
+#: src/views/system/Upgrade.vue:30
+msgid "You are using the latest version"
+msgstr "您使用的是最新版本"
+
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:9
+msgid "You can check Nginx UI upgrade at this page."
+msgstr "你可以在这个页面检查Nginx UI的升级。"
+
+#: src/views/system/About.vue:27
msgctxt "Project"
msgid "License"
msgstr "开源许可"
@@ -929,9 +1005,6 @@ msgstr "开源许可"
#~ msgid "Restore"
#~ msgstr "反删除"
-#~ msgid "System message"
-#~ msgstr "系统消息"
-
#~ msgid "Yes, I'm sure"
#~ msgstr "是的"
diff --git a/frontend/src/language/zh_TW/app.po b/frontend/src/language/zh_TW/app.po
index 8e61aa67..2b7b9439 100644
--- a/frontend/src/language/zh_TW/app.po
+++ b/frontend/src/language/zh_TW/app.po
@@ -13,7 +13,7 @@ msgstr ""
"Generated-By: easygettext\n"
"X-Generator: Poedit 3.2.2\n"
-#: src/routes/index.ts:134
+#: src/routes/index.ts:141
msgid "About"
msgstr "關於"
@@ -54,6 +54,11 @@ msgstr "新增站點"
msgid "Advance Mode"
msgstr "高階模式"
+#: src/views/system/Upgrade.vue:12 src/views/system/Upgrade.vue:13
+#: src/views/system/Upgrade.vue:17 src/views/system/Upgrade.vue:21
+msgid "Arch"
+msgstr ""
+
#: src/components/StdDataDisplay/StdTable.vue:54
#: src/views/domain/DomainList.vue:26
msgid "Are you sure you want to delete?"
@@ -130,7 +135,7 @@ msgstr "基本模式"
msgid "Batch Modify"
msgstr "批量修改"
-#: src/views/other/About.vue:21
+#: src/views/system/About.vue:21
msgid "Build with"
msgstr "構建基於"
@@ -164,6 +169,11 @@ msgstr "此憑證有效"
msgid "Change Certificate"
msgstr "正在獲取證書,請稍等..."
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:17
+#: src/views/system/Upgrade.vue:21 src/views/system/Upgrade.vue:25
+msgid "Check again"
+msgstr ""
+
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
#: src/views/domain/ngx_conf/LocationEditor.vue:31
#: src/views/domain/ngx_conf/LocationEditor.vue:47
@@ -194,6 +204,10 @@ msgstr "配置 SSL"
msgid "Content"
msgstr "內容"
+#: src/views/system/Upgrade.vue:3
+msgid "Core Upgrade"
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:64
msgid "CPU Status"
msgstr "中央處理器狀態"
@@ -214,6 +228,11 @@ msgstr "建立時間"
msgid "Creating client facilitates communication with the CA server"
msgstr "創建客戶端方便與CA服務器通信"
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:11
+#: src/views/system/Upgrade.vue:15 src/views/system/Upgrade.vue:19
+msgid "Current Version"
+msgstr ""
+
#: src/views/domain/ngx_conf/ConfigTemplate.vue:22
#: src/views/domain/ngx_conf/ConfigTemplate.vue:23
#: src/views/domain/ngx_conf/ConfigTemplate.vue:26
@@ -259,7 +278,7 @@ msgstr "刪除站點:%{site_name}"
msgid "Description"
msgstr ""
-#: src/views/other/About.vue:7 src/views/other/About.vue:8
+#: src/views/system/About.vue:7 src/views/system/About.vue:8
msgid "Development Mode"
msgstr "開發模式"
@@ -345,7 +364,7 @@ msgstr "啟用"
msgid "Enabled successfully"
msgstr "啟用成功"
-#: src/views/domain/cert/IssueCert.vue:18
+#: src/views/domain/cert/IssueCert.vue:17
msgid "Encrypt website with Let's Encrypt"
msgstr "用 Let's Encrypt 對網站進行加密"
@@ -353,6 +372,11 @@ msgstr "用 Let's Encrypt 對網站進行加密"
msgid "Error Logs"
msgstr "錯誤日志"
+#: src/views/system/Upgrade.vue:13 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:22
+msgid "Executable Path"
+msgstr ""
+
#: src/views/domain/cert/CertInfo.vue:12
msgid "Expiration Date: %{date}"
msgstr "過期時間: %{date}"
@@ -436,7 +460,7 @@ msgstr "HTTP 監聽埠"
msgid "HTTP Port"
msgstr "HTTP 監聽埠"
-#: src/routes/index.ts:144 src/views/other/Install.vue:128
+#: src/routes/index.ts:153 src/views/other/Install.vue:128
msgid "Install"
msgstr "安裝"
@@ -456,6 +480,11 @@ msgstr "頒發證書成功"
msgid "Jwt Secret"
msgstr ""
+#: src/views/system/Upgrade.vue:14 src/views/system/Upgrade.vue:15
+#: src/views/system/Upgrade.vue:19 src/views/system/Upgrade.vue:23
+msgid "Last checked at"
+msgstr ""
+
#: src/views/user/User.vue:26
msgid "Leave blank for no change"
msgstr "留空表示不修改"
@@ -479,7 +508,7 @@ msgstr "Location"
msgid "Locations"
msgstr "Locations"
-#: src/routes/index.ts:150 src/views/other/Login.vue:104
+#: src/routes/index.ts:159 src/views/other/Login.vue:104
msgid "Login"
msgstr "登入"
@@ -491,7 +520,7 @@ msgstr "登入成功"
msgid "Logout successful"
msgstr "登出成功"
-#: src/views/domain/cert/IssueCert.vue:211
+#: src/views/domain/cert/IssueCert.vue:210
msgid ""
"Make sure you have configured a reverse proxy for .well-known directory to "
"HTTPChallengePort (default: 9180) before getting the certificate."
@@ -560,6 +589,10 @@ msgstr "下載流量"
msgid "Network Total Send"
msgstr "上傳流量"
+#: src/views/system/Upgrade.vue:34
+msgid "New version released"
+msgstr ""
+
#: src/views/domain/DomainAdd.vue:136
msgid "Next"
msgstr "下一步"
@@ -590,7 +623,7 @@ msgstr "Nginx 日誌"
msgid "No"
msgstr "取消"
-#: src/routes/index.ts:156 src/routes/index.ts:158
+#: src/routes/index.ts:165 src/routes/index.ts:167
msgid "Not Found"
msgstr "找不到頁面"
@@ -598,7 +631,7 @@ msgstr "找不到頁面"
msgid "Not Valid Before: %{date}"
msgstr "此前無效: %{date}"
-#: src/views/domain/cert/IssueCert.vue:38
+#: src/views/domain/cert/IssueCert.vue:37
msgid "Note"
msgstr ""
@@ -614,6 +647,12 @@ msgstr "正在獲取證書,請稍等..."
msgid "OK"
msgstr "確定"
+#: src/views/system/Upgrade.vue:11 src/views/system/Upgrade.vue:12
+#: src/views/system/Upgrade.vue:16 src/views/system/Upgrade.vue:20
+#, fuzzy
+msgid "OS"
+msgstr "作業系統:"
+
#: src/views/dashboard/DashBoard.vue:147
msgid "OS:"
msgstr "作業系統:"
@@ -663,7 +702,7 @@ msgstr "禁止在demo中修改root密碼"
msgid "Prohibit deleting the default user"
msgstr "禁止刪除默認用戶"
-#: src/views/other/About.vue:19
+#: src/views/system/About.vue:19
msgid "Project Team"
msgstr "專案團隊"
@@ -679,6 +718,19 @@ msgstr "下載"
msgid "Registering user"
msgstr "註冊用戶"
+#: src/views/system/Upgrade.vue:24 src/views/system/Upgrade.vue:25
+#: src/views/system/Upgrade.vue:29 src/views/system/Upgrade.vue:33
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:39
+#, fuzzy
+msgid "Reinstall"
+msgstr "安裝"
+
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:32
+#: src/views/system/Upgrade.vue:36 src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:43 src/views/system/Upgrade.vue:48
+msgid "Release Note"
+msgstr ""
+
#: src/language/constants.ts:19
msgid "Reloading nginx"
msgstr "重载 Nginx"
@@ -756,7 +808,7 @@ msgstr "伺服器資訊"
msgid "server_name not found in directives"
msgstr "未在指令集合中找到 server_name"
-#: src/views/domain/cert/IssueCert.vue:195 src/views/domain/DomainAdd.vue:111
+#: src/views/domain/cert/IssueCert.vue:194 src/views/domain/DomainAdd.vue:111
msgid "server_name parameter is required"
msgstr "必須為 server_name 指令指明參數"
@@ -809,6 +861,11 @@ msgstr "主體名稱: %{name}"
msgid "Swap"
msgstr "交換空間"
+#: src/routes/index.ts:134
+#, fuzzy
+msgid "System"
+msgstr "系統訊息"
+
#: src/components/StdDataDisplay/StdCurd.vue:3
msgid "Table"
msgstr "表格"
@@ -821,7 +878,7 @@ msgstr "終端"
msgid "Terminal Start Command"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:207
+#: src/views/domain/cert/IssueCert.vue:206
msgid ""
"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."
@@ -833,7 +890,7 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "檔名不能包含以下字元: %{c}"
-#: src/views/domain/cert/IssueCert.vue:203
+#: src/views/domain/cert/IssueCert.vue:202
#, fuzzy
msgid ""
"The server_name in the current configuration must be the domain name you "
@@ -861,6 +918,18 @@ msgstr "修改時間"
msgid "Updated successfully"
msgstr "已成功更新"
+#: src/routes/index.ts:145 src/views/system/Upgrade.vue:16
+#: src/views/system/Upgrade.vue:26 src/views/system/Upgrade.vue:27
+#: src/views/system/Upgrade.vue:31 src/views/system/Upgrade.vue:35
+#: src/views/system/Upgrade.vue:38 src/views/system/Upgrade.vue:41
+#: src/views/system/Upgrade.vue:42
+msgid "Upgrade"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:63
+msgid "Upgrading Nginx UI, please wait..."
+msgstr ""
+
#: src/views/dashboard/DashBoard.vue:137
msgid "Uptime:"
msgstr "執行時間:"
@@ -883,7 +952,7 @@ msgstr "使用 HTTP01 挑戰提供者"
msgid "View"
msgstr ""
-#: src/views/domain/cert/IssueCert.vue:27 src/views/domain/DomainAdd.vue:22
+#: src/views/domain/cert/IssueCert.vue:26 src/views/domain/DomainAdd.vue:22
msgid "Warning"
msgstr "警告"
@@ -905,7 +974,16 @@ msgstr "將證書寫入磁盤"
msgid "Yes"
msgstr "是的"
-#: src/views/other/About.vue:27
+#: src/views/system/Upgrade.vue:30
+msgid "You are using the latest version"
+msgstr ""
+
+#: src/views/system/Upgrade.vue:10 src/views/system/Upgrade.vue:14
+#: src/views/system/Upgrade.vue:18 src/views/system/Upgrade.vue:9
+msgid "You can check Nginx UI upgrade at this page."
+msgstr ""
+
+#: src/views/system/About.vue:27
msgctxt "Project"
msgid "License"
msgstr "開源軟體授權條款"
@@ -941,9 +1019,6 @@ msgstr "開源軟體授權條款"
#~ msgid "Restore"
#~ msgstr "恢復"
-#~ msgid "System message"
-#~ msgstr "系統訊息"
-
#~ msgid "Yes, I'm sure"
#~ msgstr "是的"
diff --git a/frontend/src/routes/index.ts b/frontend/src/routes/index.ts
index d7ced1dc..8908eae7 100644
--- a/frontend/src/routes/index.ts
+++ b/frontend/src/routes/index.ts
@@ -130,12 +130,21 @@ export const routes = [
}
},
{
- path: 'about',
- name: () => $gettext('About'),
- component: () => import('@/views/other/About.vue'),
+ path: 'system',
+ name: () => $gettext('System'),
+ redirect: 'system/about',
meta: {
icon: InfoCircleOutlined
- }
+ },
+ children: [{
+ path: 'about',
+ name: () => $gettext('About'),
+ component: () => import('@/views/system/About.vue')
+ }, {
+ path: 'upgrade',
+ name: () => $gettext('Upgrade'),
+ component: () => import('@/views/system/Upgrade.vue')
+ }]
}
]
},
diff --git a/frontend/src/version.json b/frontend/src/version.json
index 11bdae54..33451b0e 100644
--- a/frontend/src/version.json
+++ b/frontend/src/version.json
@@ -1 +1 @@
-{"version":"1.7.1","build_id":65,"total_build":135}
\ No newline at end of file
+{"version":"1.7.2","build_id":67,"total_build":137}
\ No newline at end of file
diff --git a/frontend/src/views/domain/cert/IssueCert.vue b/frontend/src/views/domain/cert/IssueCert.vue
index 285ba15b..00396548 100644
--- a/frontend/src/views/domain/cert/IssueCert.vue
+++ b/frontend/src/views/domain/cert/IssueCert.vue
@@ -173,8 +173,7 @@ const modalClosable = ref(false)
:status="progressStatus"
/>
-
{{ $gettext('You can check Nginx UI upgrade at this page.') }}
+{{ $gettext('OS') }}: {{ data.os }}
+{{ $gettext('Arch') }}: {{ data.arch }}
+{{ $gettext('Executable Path') }}: {{ data.ex_path }}
+{{ $gettext('Last checked at') }}: {{ last_check }}
+