Browse Source

chore: update zh_CN translation

0xJacky 2 years ago
parent
commit
cbc443eb64

+ 104 - 52
frontend/src/language/en/app.po

@@ -9,22 +9,23 @@ msgstr ""
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 "Plural-Forms: nplurals=2; plural=(n != 1);\n"
 
 
-#: src/routes/index.ts:155
+#: src/routes/index.ts:164
 msgid "About"
 msgid "About"
 msgstr "About"
 msgstr "About"
 
 
-#: src/routes/index.ts:123 src/views/domain/ngx_conf/LogEntry.vue:64
+#: src/routes/index.ts:116 src/views/domain/ngx_conf/LogEntry.vue:64
 msgid "Access Logs"
 msgid "Access Logs"
 msgstr ""
 msgstr ""
 
 
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
-#: src/views/user/User.vue:43
+#: src/views/environment/Environment.vue:61 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
 msgstr "Action"
 msgstr "Action"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:147
 #: src/components/StdDataDisplay/StdCurd.vue:25
 #: src/components/StdDataDisplay/StdCurd.vue:25
+#: src/components/StdDataDisplay/StdCurd.vue:4
+#: src/components/StdDataDisplay/StdCurd.vue:5
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
@@ -45,7 +46,7 @@ msgstr "Add Directive Below"
 msgid "Add Location"
 msgid "Add Location"
 msgstr "Add Location"
 msgstr "Add Location"
 
 
-#: src/routes/index.ts:59 src/views/domain/DomainAdd.vue:2
+#: src/routes/index.ts:52 src/views/domain/DomainAdd.vue:2
 msgid "Add Site"
 msgid "Add Site"
 msgstr "Add Site"
 msgstr "Add Site"
 
 
@@ -185,7 +186,7 @@ msgstr ""
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataEntry/components/StdSelector.vue:11
 #: src/components/StdDataEntry/components/StdSelector.vue:11
-#: src/views/domain/cert/components/ObtainCert.vue:188
+#: src/views/domain/cert/components/ObtainCert.vue:191
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
@@ -204,12 +205,12 @@ msgstr "Certificate is valid"
 msgid "Certificate Status"
 msgid "Certificate Status"
 msgstr "Certificate Status"
 msgstr "Certificate Status"
 
 
-#: src/routes/index.ts:89 src/views/cert/Cert.vue:2
+#: src/routes/index.ts:82 src/views/cert/Cert.vue:2
 #, fuzzy
 #, fuzzy
 msgid "Certification"
 msgid "Certification"
 msgstr "Certificate is valid"
 msgstr "Certificate is valid"
 
 
-#: src/routes/index.ts:97
+#: src/routes/index.ts:90
 #, fuzzy
 #, fuzzy
 msgid "Certification List"
 msgid "Certification List"
 msgstr "Certificate is valid"
 msgstr "Certificate is valid"
@@ -285,6 +286,11 @@ msgstr "Configurations"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Configure SSL"
 msgstr "Configure SSL"
 
 
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Connected"
+msgstr ""
+
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
@@ -295,11 +301,12 @@ msgstr "Content"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:66
+#: src/views/dashboard/ServerAnalytic.vue:66
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU Status"
 msgstr "CPU Status"
 
 
-#: src/views/dashboard/DashBoard.vue:22 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
 
 
@@ -342,7 +349,7 @@ msgstr ""
 msgid "Dark"
 msgid "Dark"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:31
+#: src/routes/index.ts:32
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Dashboard"
 msgstr "Dashboard"
 
 
@@ -417,11 +424,11 @@ msgstr "Disabled"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Disabled successfully"
 msgstr "Disabled successfully"
 
 
-#: src/views/dashboard/DashBoard.vue:98
+#: src/views/dashboard/ServerAnalytic.vue:98
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "Disk IO"
 msgstr "Disk IO"
 
 
-#: src/routes/index.ts:102 src/views/cert/DNSCredential.vue:2
+#: src/routes/index.ts:95 src/views/cert/DNSCredential.vue:2
 msgid "DNS Credentials"
 msgid "DNS Credentials"
 msgstr ""
 msgstr ""
 
 
@@ -436,7 +443,7 @@ msgstr ""
 msgid "DNS01"
 msgid "DNS01"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:184
+#: src/views/domain/cert/components/ObtainCert.vue:187
 msgid "Do you want to disable auto-cert renewal?"
 msgid "Do you want to disable auto-cert renewal?"
 msgstr ""
 msgstr ""
 
 
@@ -495,11 +502,11 @@ msgstr "Saved successfully"
 msgid "Edit %{n}"
 msgid "Edit %{n}"
 msgstr "Edit %{n}"
 msgstr "Edit %{n}"
 
 
-#: src/routes/index.ts:81 src/views/config/ConfigEdit.vue:4
+#: src/routes/index.ts:74 src/views/config/ConfigEdit.vue:4
 msgid "Edit Configuration"
 msgid "Edit Configuration"
 msgstr "Edit Configuration"
 msgstr "Edit Configuration"
 
 
-#: src/routes/index.ts:63
+#: src/routes/index.ts:56
 msgid "Edit Site"
 msgid "Edit Site"
 msgstr "Edit Site"
 msgstr "Edit Site"
 
 
@@ -536,11 +543,20 @@ msgstr "Enabled successfully"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "Encrypt website with Let's Encrypt"
 msgstr "Encrypt website with Let's Encrypt"
 
 
+#: src/routes/index.ts:133 src/views/environment/Environment.vue:2
+msgid "Environment"
+msgstr ""
+
+#: src/views/dashboard/Environments.vue:2
+#, fuzzy
+msgid "Environments"
+msgstr "Comments"
+
 #: src/views/config/InspectConfig.vue:17
 #: src/views/config/InspectConfig.vue:17
 msgid "Error"
 msgid "Error"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:127 src/views/domain/ngx_conf/LogEntry.vue:68
+#: src/routes/index.ts:120 src/views/domain/ngx_conf/LogEntry.vue:68
 msgid "Error Logs"
 msgid "Error Logs"
 msgstr ""
 msgstr ""
 
 
@@ -647,7 +663,7 @@ msgstr ""
 msgid "GPT-4-32K"
 msgid "GPT-4-32K"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:24
+#: src/routes/index.ts:25
 msgid "Home"
 msgid "Home"
 msgstr "Home"
 msgstr "Home"
 
 
@@ -673,7 +689,7 @@ msgstr ""
 msgid "Initialing core upgrader"
 msgid "Initialing core upgrader"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:167 src/views/other/Install.vue:128
+#: src/routes/index.ts:176 src/views/other/Install.vue:128
 msgid "Install"
 msgid "Install"
 msgstr "Install"
 msgstr "Install"
 
 
@@ -714,10 +730,21 @@ msgstr ""
 msgid "Light"
 msgid "Light"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:154
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Link Start"
+msgstr ""
+
+#: src/views/dashboard/ServerAnalytic.vue:154
 msgid "Load Averages:"
 msgid "Load Averages:"
 msgstr "Load Averages:"
 msgstr "Load Averages:"
 
 
+#: src/components/EnvIndicator/EnvIndicator.vue:5
+#: src/components/EnvIndicator/EnvIndicator.vue:6
+#, fuzzy
+msgid "Local"
+msgstr "Location"
+
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
@@ -728,7 +755,7 @@ msgstr "Location"
 msgid "Locations"
 msgid "Locations"
 msgstr "Locations"
 msgstr "Locations"
 
 
-#: src/routes/index.ts:173 src/views/other/Login.vue:104
+#: src/routes/index.ts:182 src/views/other/Login.vue:104
 msgid "Login"
 msgid "Login"
 msgstr "Login"
 msgstr "Login"
 
 
@@ -749,23 +776,23 @@ msgstr ""
 "Make sure you have configured a reverse proxy for .well-known directory to "
 "Make sure you have configured a reverse proxy for .well-known directory to "
 "HTTPChallengePort (default: 9180) before getting the certificate."
 "HTTPChallengePort (default: 9180) before getting the certificate."
 
 
-#: src/routes/index.ts:72
+#: src/routes/index.ts:65
 msgid "Manage Configs"
 msgid "Manage Configs"
 msgstr "Manage Configs"
 msgstr "Manage Configs"
 
 
-#: src/routes/index.ts:47 src/views/domain/DomainList.vue:2
+#: src/routes/index.ts:40 src/views/domain/DomainList.vue:2
 msgid "Manage Sites"
 msgid "Manage Sites"
 msgstr "Manage Sites"
 msgstr "Manage Sites"
 
 
-#: src/routes/index.ts:39 src/views/user/User.vue:2
+#: src/routes/index.ts:141 src/views/user/User.vue:2
 msgid "Manage Users"
 msgid "Manage Users"
 msgstr "Manage Users"
 msgstr "Manage Users"
 
 
-#: src/views/dashboard/DashBoard.vue:34
+#: src/views/dashboard/ServerAnalytic.vue:34
 msgid "Memory"
 msgid "Memory"
 msgstr "Memory"
 msgstr "Memory"
 
 
-#: src/views/dashboard/DashBoard.vue:31
+#: src/views/dashboard/ServerAnalytic.vue:31
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Memory and Storage"
 msgstr "Memory and Storage"
 
 
@@ -795,22 +822,23 @@ msgstr "Single Directive"
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/SiteDuplicate.vue:5
 #: src/views/domain/SiteDuplicate.vue:5
+#: src/views/environment/Environment.vue:13
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
 
 
-#: src/views/dashboard/DashBoard.vue:76
+#: src/views/dashboard/ServerAnalytic.vue:76
 msgid "Network"
 msgid "Network"
 msgstr "Network"
 msgstr "Network"
 
 
-#: src/views/dashboard/DashBoard.vue:50
+#: src/views/dashboard/ServerAnalytic.vue:50
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Network Statistics"
 msgstr "Network Statistics"
 
 
-#: src/views/dashboard/DashBoard.vue:54
+#: src/views/dashboard/ServerAnalytic.vue:54
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Network Total Receive"
 msgstr "Network Total Receive"
 
 
-#: src/views/dashboard/DashBoard.vue:58
+#: src/views/dashboard/ServerAnalytic.vue:58
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Network Total Send"
 msgstr "Network Total Send"
 
 
@@ -844,7 +872,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:117 src/views/nginx_log/NginxLog.vue:2
+#: src/routes/index.ts:110 src/views/nginx_log/NginxLog.vue:2
 #: src/views/preference/Preference.vue:8
 #: src/views/preference/Preference.vue:8
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
@@ -867,7 +895,7 @@ msgstr "Saved successfully"
 msgid "No"
 msgid "No"
 msgstr "No"
 msgstr "No"
 
 
-#: src/routes/index.ts:179 src/routes/index.ts:181
+#: src/routes/index.ts:188 src/routes/index.ts:190
 msgid "Not Found"
 msgid "Not Found"
 msgstr "Not Found"
 msgstr "Not Found"
 
 
@@ -889,18 +917,30 @@ msgstr "Certificate is valid"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/Environments.vue:15
+#: src/views/dashboard/Environments.vue:16
+#: src/views/environment/Environment.vue:48
+msgid "Offline"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataEntry/components/StdSelector.vue:12
 #: src/components/StdDataEntry/components/StdSelector.vue:12
-#: src/views/domain/cert/components/ObtainCert.vue:187
+#: src/views/domain/cert/components/ObtainCert.vue:190
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 msgid "OK"
 msgid "OK"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/Environments.vue:14
+#: src/views/dashboard/Environments.vue:15
+#: src/views/environment/Environment.vue:45
+msgid "Online"
+msgstr ""
+
 #: src/views/preference/Preference.vue:11
 #: src/views/preference/Preference.vue:11
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
@@ -912,7 +952,7 @@ msgstr ""
 msgid "OS"
 msgid "OS"
 msgstr "OS:"
 msgstr "OS:"
 
 
-#: src/views/dashboard/DashBoard.vue:160
+#: src/views/dashboard/ServerAnalytic.vue:160
 msgid "OS:"
 msgid "OS:"
 msgstr "OS:"
 msgstr "OS:"
 
 
@@ -982,7 +1022,7 @@ msgstr "Please input your username!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:140 src/views/preference/Preference.vue:2
+#: src/routes/index.ts:149 src/views/preference/Preference.vue:2
 msgid "Preference"
 msgid "Preference"
 msgstr ""
 msgstr ""
 
 
@@ -1007,11 +1047,13 @@ msgstr "Project Team"
 msgid "Provider"
 msgid "Provider"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:109 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "Reads"
 msgid "Reads"
 msgstr "Reads"
 msgstr "Reads"
 
 
-#: src/views/dashboard/DashBoard.vue:20 src/views/dashboard/DashBoard.vue:80
+#: src/views/dashboard/ServerAnalytic.vue:20
+#: src/views/dashboard/ServerAnalytic.vue:80
 msgid "Receive"
 msgid "Receive"
 msgstr "Receive"
 msgstr "Receive"
 
 
@@ -1112,7 +1154,7 @@ msgstr "Save error %{msg}"
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:110
+#: src/components/StdDataDisplay/StdCurd.vue:116
 #, fuzzy
 #, fuzzy
 msgid "Save Successfully"
 msgid "Save Successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
@@ -1127,7 +1169,8 @@ msgstr "Saved successfully"
 msgid "Selector"
 msgid "Selector"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:21 src/views/dashboard/DashBoard.vue:87
+#: src/views/dashboard/ServerAnalytic.vue:21
+#: src/views/dashboard/ServerAnalytic.vue:87
 msgid "Send"
 msgid "Send"
 msgstr "Send"
 msgstr "Send"
 
 
@@ -1143,7 +1186,7 @@ msgstr "Send"
 msgid "Server error"
 msgid "Server error"
 msgstr "Server error"
 msgstr "Server error"
 
 
-#: src/views/dashboard/DashBoard.vue:5
+#: src/views/dashboard/ServerAnalytic.vue:5
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Server Info"
 msgstr "Server Info"
 
 
@@ -1167,12 +1210,12 @@ msgstr ""
 msgid "Single Directive"
 msgid "Single Directive"
 msgstr "Single Directive"
 msgstr "Single Directive"
 
 
-#: src/routes/index.ts:131
+#: src/routes/index.ts:124
 #, fuzzy
 #, fuzzy
 msgid "Site Logs"
 msgid "Site Logs"
 msgstr "Sites List"
 msgstr "Sites List"
 
 
-#: src/routes/index.ts:55
+#: src/routes/index.ts:48
 msgid "Sites List"
 msgid "Sites List"
 msgstr "Sites List"
 msgstr "Sites List"
 
 
@@ -1205,7 +1248,7 @@ msgstr "Certificate Status"
 msgid "Stable"
 msgid "Stable"
 msgstr "Enabled"
 msgstr "Enabled"
 
 
-#: src/views/domain/DomainList.vue:24
+#: src/views/domain/DomainList.vue:24 src/views/environment/Environment.vue:38
 msgid "Status"
 msgid "Status"
 msgstr "Status"
 msgstr "Status"
 
 
@@ -1213,7 +1256,7 @@ msgstr "Status"
 msgid "Stopped"
 msgid "Stopped"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:43
+#: src/views/dashboard/ServerAnalytic.vue:43
 msgid "Storage"
 msgid "Storage"
 msgstr "Storage"
 msgstr "Storage"
 
 
@@ -1221,11 +1264,11 @@ msgstr "Storage"
 msgid "Subject Name: %{name}"
 msgid "Subject Name: %{name}"
 msgstr "Subject Name: %{name}"
 msgstr "Subject Name: %{name}"
 
 
-#: src/views/dashboard/DashBoard.vue:38
+#: src/views/dashboard/ServerAnalytic.vue:38
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
-#: src/routes/index.ts:148
+#: src/routes/index.ts:157
 msgid "System"
 msgid "System"
 msgstr ""
 msgstr ""
 
 
@@ -1234,7 +1277,7 @@ msgstr ""
 msgid "Table"
 msgid "Table"
 msgstr "Enabled"
 msgstr "Enabled"
 
 
-#: src/routes/index.ts:109 src/views/pty/Terminal.vue:2
+#: src/routes/index.ts:102 src/views/pty/Terminal.vue:2
 msgid "Terminal"
 msgid "Terminal"
 msgstr "Terminal"
 msgstr "Terminal"
 
 
@@ -1288,13 +1331,17 @@ msgid ""
 "continue?"
 "continue?"
 msgstr ""
 msgstr ""
 
 
+#: src/views/environment/Environment.vue:30
+msgid "Token"
+msgstr ""
+
 #: src/views/config/config.ts:13
 #: src/views/config/config.ts:13
 msgid "Type"
 msgid "Type"
 msgstr ""
 msgstr ""
 
 
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
-#: src/views/user/User.vue:37
+#: src/views/environment/Environment.vue:55 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
 msgstr "Updated at"
 msgstr "Updated at"
 
 
@@ -1303,7 +1350,7 @@ msgstr "Updated at"
 msgid "Updated successfully"
 msgid "Updated successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
-#: src/routes/index.ts:159 src/views/system/Upgrade.vue:2
+#: src/routes/index.ts:168 src/views/system/Upgrade.vue:2
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
@@ -1320,10 +1367,14 @@ msgstr "Saved successfully"
 msgid "Upgrading Nginx UI, please wait..."
 msgid "Upgrading Nginx UI, please wait..."
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:150
+#: src/views/dashboard/ServerAnalytic.vue:150
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Uptime:"
 msgstr "Uptime:"
 
 
+#: src/views/environment/Environment.vue:21
+msgid "URL"
+msgstr ""
+
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 msgid "Username"
 msgid "Username"
 msgstr "Username"
 msgstr "Username"
@@ -1352,13 +1403,14 @@ msgstr ""
 msgid "Warning"
 msgid "Warning"
 msgstr "Warning"
 msgstr "Warning"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:185
+#: src/views/domain/cert/components/ObtainCert.vue:188
 msgid ""
 msgid ""
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "Nginx. Are you sure you want to continue?"
 "Nginx. Are you sure you want to continue?"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:102 src/views/dashboard/DashBoard.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:102
+#: src/views/dashboard/ServerAnalytic.vue:22
 msgid "Writes"
 msgid "Writes"
 msgstr "Writes"
 msgstr "Writes"
 
 

+ 209 - 116
frontend/src/language/fr_FR/app.po

@@ -5,28 +5,29 @@ msgstr ""
 "PO-Revision-Date: \n"
 "PO-Revision-Date: \n"
 "Last-Translator: Devix\n"
 "Last-Translator: Devix\n"
 "Language-Team: \n"
 "Language-Team: \n"
-"Language: fr\n"
+"Language: fr_FR\n"
 "MIME-Version: 1.0\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Transfer-Encoding: 8bit\n"
 "Content-Transfer-Encoding: 8bit\n"
 "X-Generator: Poedit 3.3\n"
 "X-Generator: Poedit 3.3\n"
 
 
-#: src/routes/index.ts:155
+#: src/routes/index.ts:164
 msgid "About"
 msgid "About"
 msgstr "À propos"
 msgstr "À propos"
 
 
-#: src/routes/index.ts:123 src/views/domain/ngx_conf/LogEntry.vue:64
+#: src/routes/index.ts:116 src/views/domain/ngx_conf/LogEntry.vue:64
 msgid "Access Logs"
 msgid "Access Logs"
 msgstr "Journaux d'accès"
 msgstr "Journaux d'accès"
 
 
-#: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:32
+#: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
-#: src/views/user/User.vue:43
+#: src/views/environment/Environment.vue:61 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
 msgstr "Action"
 msgstr "Action"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:146
 #: src/components/StdDataDisplay/StdCurd.vue:25
 #: src/components/StdDataDisplay/StdCurd.vue:25
+#: src/components/StdDataDisplay/StdCurd.vue:4
+#: src/components/StdDataDisplay/StdCurd.vue:5
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
@@ -47,7 +48,7 @@ msgstr "Ajouter une directive"
 msgid "Add Location"
 msgid "Add Location"
 msgstr "Ajouter une localisation"
 msgstr "Ajouter une localisation"
 
 
-#: src/routes/index.ts:59 src/views/domain/DomainAdd.vue:2
+#: src/routes/index.ts:52 src/views/domain/DomainAdd.vue:2
 msgid "Add Site"
 msgid "Add Site"
 msgstr "Ajouter un site"
 msgstr "Ajouter un site"
 
 
@@ -114,7 +115,7 @@ msgstr "Autheur"
 msgid "Auto"
 msgid "Auto"
 msgstr "Auto"
 msgstr "Auto"
 
 
-#: src/views/cert/Cert.vue:37 src/views/domain/cert/ChangeCert.vue:35
+#: src/views/cert/Cert.vue:37 src/views/domain/cert/ChangeCert.vue:37
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "Auto Cert"
 msgstr "Auto Cert"
 
 
@@ -133,18 +134,18 @@ msgstr "Actualisation automatique"
 msgid "Auto-Cert Log"
 msgid "Auto-Cert Log"
 msgstr "Journal Auto-Cert"
 msgstr "Journal Auto-Cert"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:56
+#: src/views/domain/cert/components/ObtainCert.vue:59
 msgid "Auto-renewal disabled for %{name}"
 msgid "Auto-renewal disabled for %{name}"
 msgstr "Renouvellement automatique désactivé pour %{name}"
 msgstr "Renouvellement automatique désactivé pour %{name}"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:50
+#: src/views/domain/cert/components/ObtainCert.vue:53
 msgid "Auto-renewal enabled for %{name}"
 msgid "Auto-renewal enabled for %{name}"
 msgstr "Renouvellement automatique activé pour %{name}"
 msgstr "Renouvellement automatique activé pour %{name}"
 
 
 #: src/views/config/Config.vue:17 src/views/config/Config.vue:18
 #: src/views/config/Config.vue:17 src/views/config/Config.vue:18
 #: src/views/config/Config.vue:28 src/views/config/Config.vue:6
 #: src/views/config/Config.vue:28 src/views/config/Config.vue:6
-#: src/views/config/ConfigEdit.vue:83 src/views/domain/DomainEdit.vue:257
-#: src/views/nginx_log/NginxLog.vue:172
+#: src/views/config/ConfigEdit.vue:83 src/views/domain/DomainEdit.vue:263
+#: src/views/nginx_log/NginxLog.vue:161
 msgid "Back"
 msgid "Back"
 msgstr "Retour"
 msgstr "Retour"
 
 
@@ -173,15 +174,23 @@ msgstr "Mode simple"
 msgid "Batch Modify"
 msgid "Batch Modify"
 msgstr "Batch Modify"
 msgstr "Batch Modify"
 
 
-#: src/views/system/About.vue:21
+#: src/views/system/About.vue:28
 msgid "Build with"
 msgid "Build with"
 msgstr "Build avec"
 msgstr "Build avec"
 
 
+#: src/views/preference/BasicSettings.vue:35
+msgid "CADir"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:17 src/components/ChatGPT/ChatGPT.vue:18
 #: src/components/ChatGPT/ChatGPT.vue:17 src/components/ChatGPT/ChatGPT.vue:18
 #: src/components/ChatGPT/ChatGPT.vue:22 src/components/ChatGPT/ChatGPT.vue:24
 #: src/components/ChatGPT/ChatGPT.vue:22 src/components/ChatGPT/ChatGPT.vue:24
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataEntry/components/StdSelector.vue:11
 #: src/components/StdDataEntry/components/StdSelector.vue:11
+#: src/views/domain/cert/components/ObtainCert.vue:191
+#: src/views/domain/DomainEdit.vue:176
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
 msgid "Cancel"
 msgid "Cancel"
 msgstr "Annuler"
 msgstr "Annuler"
 
 
@@ -197,11 +206,11 @@ msgstr "Le certificat est valide"
 msgid "Certificate Status"
 msgid "Certificate Status"
 msgstr "État du certificat"
 msgstr "État du certificat"
 
 
-#: src/routes/index.ts:89 src/views/cert/Cert.vue:2
+#: src/routes/index.ts:82 src/views/cert/Cert.vue:2
 msgid "Certification"
 msgid "Certification"
 msgstr "Certification"
 msgstr "Certification"
 
 
-#: src/routes/index.ts:97
+#: src/routes/index.ts:90
 msgid "Certification List"
 msgid "Certification List"
 msgstr "Liste des certifications"
 msgstr "Liste des certifications"
 
 
@@ -215,6 +224,10 @@ msgstr "Méthode de challenge"
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Changer de certificat"
 msgstr "Changer de certificat"
 
 
+#: src/views/system/Upgrade.vue:35
+msgid "Channel"
+msgstr ""
+
 #: src/views/preference/OpenAISettings.vue:3
 #: src/views/preference/OpenAISettings.vue:3
 msgid "ChatGPT Model"
 msgid "ChatGPT Model"
 msgstr "Modèle ChatGPT"
 msgstr "Modèle ChatGPT"
@@ -241,7 +254,7 @@ msgstr "Effacer"
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:33
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:33
 #: src/views/domain/ngx_conf/LocationEditor.vue:35
 #: src/views/domain/ngx_conf/LocationEditor.vue:35
 #: src/views/domain/ngx_conf/LocationEditor.vue:52
 #: src/views/domain/ngx_conf/LocationEditor.vue:52
-#: src/views/domain/ngx_conf/NgxConfigEditor.vue:250
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:260
 msgid "Comments"
 msgid "Comments"
 msgstr "Commentaires"
 msgstr "Commentaires"
 
 
@@ -269,6 +282,11 @@ msgstr "Configurations"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Configurer SSL"
 msgstr "Configurer SSL"
 
 
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Connected"
+msgstr ""
+
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
@@ -279,15 +297,16 @@ msgstr "Contenu"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "Mise à jour du core"
 msgstr "Mise à jour du core"
 
 
-#: src/views/dashboard/DashBoard.vue:66
+#: src/views/dashboard/ServerAnalytic.vue:66
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "État du processeur"
 msgstr "État du processeur"
 
 
-#: src/views/dashboard/DashBoard.vue:22 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU :"
 msgstr "CPU :"
 
 
-#: src/views/domain/DomainAdd.vue:148
+#: src/views/domain/DomainAdd.vue:154
 msgid "Create Another"
 msgid "Create Another"
 msgstr "Créer un autre"
 msgstr "Créer un autre"
 
 
@@ -326,7 +345,7 @@ msgstr "Custom"
 msgid "Dark"
 msgid "Dark"
 msgstr "Sombre"
 msgstr "Sombre"
 
 
-#: src/routes/index.ts:31
+#: src/routes/index.ts:32
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Dashboard"
 msgstr "Dashboard"
 
 
@@ -385,11 +404,11 @@ msgstr "Directive"
 msgid "Directives"
 msgid "Directives"
 msgstr "Directives"
 msgstr "Directives"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:58
+#: src/views/domain/cert/components/ObtainCert.vue:61
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "La désactivation du renouvellement automatique a échoué pour %{name}"
 msgstr "La désactivation du renouvellement automatique a échoué pour %{name}"
 
 
-#: src/views/cert/Cert.vue:47 src/views/domain/cert/ChangeCert.vue:45
+#: src/views/cert/Cert.vue:47 src/views/domain/cert/ChangeCert.vue:47
 #: src/views/domain/DomainEdit.vue:10 src/views/domain/DomainEdit.vue:11
 #: src/views/domain/DomainEdit.vue:10 src/views/domain/DomainEdit.vue:11
 #: src/views/domain/DomainList.vue:16 src/views/domain/DomainList.vue:34
 #: src/views/domain/DomainList.vue:16 src/views/domain/DomainList.vue:34
 #: src/views/domain/DomainList.vue:7 src/views/domain/DomainList.vue:8
 #: src/views/domain/DomainList.vue:7 src/views/domain/DomainList.vue:8
@@ -397,15 +416,15 @@ msgstr "La désactivation du renouvellement automatique a échoué pour %{name}"
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Désactivé"
 msgstr "Désactivé"
 
 
-#: src/views/domain/DomainEdit.vue:159 src/views/domain/DomainList.vue:69
+#: src/views/domain/DomainEdit.vue:163 src/views/domain/DomainList.vue:69
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Désactivé avec succès"
 msgstr "Désactivé avec succès"
 
 
-#: src/views/dashboard/DashBoard.vue:98
+#: src/views/dashboard/ServerAnalytic.vue:98
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "E/S disque"
 msgstr "E/S disque"
 
 
-#: src/routes/index.ts:102 src/views/cert/DNSCredential.vue:2
+#: src/routes/index.ts:95 src/views/cert/DNSCredential.vue:2
 msgid "DNS Credentials"
 msgid "DNS Credentials"
 msgstr "Identifiants DNS"
 msgstr "Identifiants DNS"
 
 
@@ -420,15 +439,15 @@ msgstr "Fournisseur DNS"
 msgid "DNS01"
 msgid "DNS01"
 msgstr "DNS01"
 msgstr "DNS01"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:178
+#: src/views/domain/cert/components/ObtainCert.vue:187
 msgid "Do you want to disable auto-cert renewal?"
 msgid "Do you want to disable auto-cert renewal?"
 msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?"
 msgstr "Voulez-vous désactiver le renouvellement automatique des certificats ?"
 
 
-#: src/views/domain/DomainEdit.vue:168
+#: src/views/domain/DomainEdit.vue:172
 msgid "Do you want to disable this site?"
 msgid "Do you want to disable this site?"
 msgstr "Voulez-vous désactiver ce site ?"
 msgstr "Voulez-vous désactiver ce site ?"
 
 
-#: src/views/domain/DomainEdit.vue:168
+#: src/views/domain/DomainEdit.vue:172
 msgid "Do you want to enable this site?"
 msgid "Do you want to enable this site?"
 msgstr "Voulez-vous activer ce site ?"
 msgstr "Voulez-vous activer ce site ?"
 
 
@@ -436,7 +455,7 @@ msgstr "Voulez-vous activer ce site ?"
 msgid "Do you want to enable TLS?"
 msgid "Do you want to enable TLS?"
 msgstr "Voulez-vous activer TLS ?"
 msgstr "Voulez-vous activer TLS ?"
 
 
-#: src/views/domain/ngx_conf/NgxConfigEditor.vue:196
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:204
 msgid "Do you want to remove this server?"
 msgid "Do you want to remove this server?"
 msgstr "Voulez-vous supprimer ce serveur ?"
 msgstr "Voulez-vous supprimer ce serveur ?"
 
 
@@ -458,6 +477,10 @@ msgstr "Erreur de téléchargement de la dernière version"
 msgid "Downloading latest release"
 msgid "Downloading latest release"
 msgstr "Téléchargement de la dernière version"
 msgstr "Téléchargement de la dernière version"
 
 
+#: src/views/system/Upgrade.vue:53
+msgid "Dry run mode enabled"
+msgstr ""
+
 #: src/views/domain/DomainList.vue:14 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainList.vue:14 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainList.vue:16 src/views/domain/DomainList.vue:23
 #: src/views/domain/DomainList.vue:16 src/views/domain/DomainList.vue:23
 #: src/views/domain/SiteDuplicate.vue:2
 #: src/views/domain/SiteDuplicate.vue:2
@@ -472,11 +495,11 @@ msgstr "Dupliqué avec succès"
 msgid "Edit %{n}"
 msgid "Edit %{n}"
 msgstr "Modifier %{n}"
 msgstr "Modifier %{n}"
 
 
-#: src/routes/index.ts:81 src/views/config/ConfigEdit.vue:4
+#: src/routes/index.ts:74 src/views/config/ConfigEdit.vue:4
 msgid "Edit Configuration"
 msgid "Edit Configuration"
 msgstr "Modifier la configuration"
 msgstr "Modifier la configuration"
 
 
-#: src/routes/index.ts:63
+#: src/routes/index.ts:56
 msgid "Edit Site"
 msgid "Edit Site"
 msgstr "Modifier le site"
 msgstr "Modifier le site"
 
 
@@ -484,11 +507,11 @@ msgstr "Modifier le site"
 msgid "Email (*)"
 msgid "Email (*)"
 msgstr "Email (*)"
 msgstr "Email (*)"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:52
+#: src/views/domain/cert/components/ObtainCert.vue:55
 msgid "Enable auto-renewal failed for %{name}"
 msgid "Enable auto-renewal failed for %{name}"
 msgstr "Échec de l'activation du renouvellement automatique pour %{name}"
 msgstr "Échec de l'activation du renouvellement automatique pour %{name}"
 
 
-#: src/views/domain/DomainAdd.vue:50
+#: src/views/domain/DomainAdd.vue:49
 msgid "Enable failed"
 msgid "Enable failed"
 msgstr "Échec de l'activation"
 msgstr "Échec de l'activation"
 
 
@@ -496,7 +519,7 @@ msgstr "Échec de l'activation"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Activer TLS"
 msgstr "Activer TLS"
 
 
-#: src/views/cert/Cert.vue:44 src/views/domain/cert/ChangeCert.vue:42
+#: src/views/cert/Cert.vue:44 src/views/domain/cert/ChangeCert.vue:44
 #: src/views/domain/DomainEdit.vue:29 src/views/domain/DomainEdit.vue:7
 #: src/views/domain/DomainEdit.vue:29 src/views/domain/DomainEdit.vue:7
 #: src/views/domain/DomainEdit.vue:8 src/views/domain/DomainList.vue:10
 #: src/views/domain/DomainEdit.vue:8 src/views/domain/DomainList.vue:10
 #: src/views/domain/DomainList.vue:11 src/views/domain/DomainList.vue:12
 #: src/views/domain/DomainList.vue:11 src/views/domain/DomainList.vue:12
@@ -504,7 +527,7 @@ msgstr "Activer TLS"
 msgid "Enabled"
 msgid "Enabled"
 msgstr "Activé"
 msgstr "Activé"
 
 
-#: src/views/domain/DomainAdd.vue:46 src/views/domain/DomainEdit.vue:150
+#: src/views/domain/DomainAdd.vue:46 src/views/domain/DomainEdit.vue:154
 #: src/views/domain/DomainList.vue:59
 #: src/views/domain/DomainList.vue:59
 msgid "Enabled successfully"
 msgid "Enabled successfully"
 msgstr "Activé avec succès"
 msgstr "Activé avec succès"
@@ -513,11 +536,20 @@ msgstr "Activé avec succès"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "Crypter le site Web avec Let's Encrypt"
 msgstr "Crypter le site Web avec Let's Encrypt"
 
 
+#: src/routes/index.ts:133 src/views/environment/Environment.vue:2
+msgid "Environment"
+msgstr ""
+
+#: src/views/dashboard/Environments.vue:2
+#, fuzzy
+msgid "Environments"
+msgstr "Commentaires"
+
 #: src/views/config/InspectConfig.vue:17
 #: src/views/config/InspectConfig.vue:17
 msgid "Error"
 msgid "Error"
 msgstr "Erreur"
 msgstr "Erreur"
 
 
-#: src/routes/index.ts:127 src/views/domain/ngx_conf/LogEntry.vue:68
+#: src/routes/index.ts:120 src/views/domain/ngx_conf/LogEntry.vue:68
 msgid "Error Logs"
 msgid "Error Logs"
 msgstr "Journaux d'erreurs"
 msgstr "Journaux d'erreurs"
 
 
@@ -538,11 +570,11 @@ msgstr "Date d'expiration : %{date}"
 msgid "Export"
 msgid "Export"
 msgstr "Exporter"
 msgstr "Exporter"
 
 
-#: src/views/domain/DomainEdit.vue:162 src/views/domain/DomainList.vue:73
+#: src/views/domain/DomainEdit.vue:166 src/views/domain/DomainList.vue:73
 msgid "Failed to disable %{msg}"
 msgid "Failed to disable %{msg}"
 msgstr "Impossible de désactiver %{msg}"
 msgstr "Impossible de désactiver %{msg}"
 
 
-#: src/views/domain/DomainEdit.vue:153 src/views/domain/DomainList.vue:63
+#: src/views/domain/DomainEdit.vue:157 src/views/domain/DomainList.vue:63
 msgid "Failed to enable %{msg}"
 msgid "Failed to enable %{msg}"
 msgstr "Impossible d'activer %{msg}"
 msgstr "Impossible d'activer %{msg}"
 
 
@@ -550,7 +582,7 @@ msgstr "Impossible d'activer %{msg}"
 msgid "Failed to get certificate information"
 msgid "Failed to get certificate information"
 msgstr "Échec de l'obtention des informations sur le certificat"
 msgstr "Échec de l'obtention des informations sur le certificat"
 
 
-#: src/views/domain/DomainEdit.vue:128
+#: src/views/domain/DomainEdit.vue:132
 msgid "Failed to save, syntax error(s) was detected in the configuration."
 msgid "Failed to save, syntax error(s) was detected in the configuration."
 msgstr ""
 msgstr ""
 "Échec de l'enregistrement, une ou plusieurs erreurs de syntaxe ont été "
 "Échec de l'enregistrement, une ou plusieurs erreurs de syntaxe ont été "
@@ -600,14 +632,10 @@ msgstr "Génération de clé privée pour l'enregistrement du compte"
 msgid "Get release information error"
 msgid "Get release information error"
 msgstr "Erreur d'obtention des informations sur la version"
 msgstr "Erreur d'obtention des informations sur la version"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:134
+#: src/views/domain/cert/components/ObtainCert.vue:140
 msgid "Getting the certificate, please wait..."
 msgid "Getting the certificate, please wait..."
 msgstr "Obtention du certificat, veuillez patienter..."
 msgstr "Obtention du certificat, veuillez patienter..."
 
 
-#: src/views/preference/Preference.vue:14
-msgid "Git"
-msgstr "Git"
-
 #: src/views/preference/BasicSettings.vue:31
 #: src/views/preference/BasicSettings.vue:31
 msgid "Github Proxy"
 msgid "Github Proxy"
 msgstr "Proxy Github"
 msgstr "Proxy Github"
@@ -627,7 +655,7 @@ msgstr "GPT-4"
 msgid "GPT-4-32K"
 msgid "GPT-4-32K"
 msgstr "GPT-4-32K"
 msgstr "GPT-4-32K"
 
 
-#: src/routes/index.ts:24
+#: src/routes/index.ts:25
 msgid "Home"
 msgid "Home"
 msgstr "Menu principal"
 msgstr "Menu principal"
 
 
@@ -653,7 +681,7 @@ msgstr "Erreur du programme de mise à niveau initial du core"
 msgid "Initialing core upgrader"
 msgid "Initialing core upgrader"
 msgstr "Initialisation du programme de mise à niveau du core"
 msgstr "Initialisation du programme de mise à niveau du core"
 
 
-#: src/routes/index.ts:167 src/views/other/Install.vue:128
+#: src/routes/index.ts:176 src/views/other/Install.vue:128
 msgid "Install"
 msgid "Install"
 msgstr "Installer"
 msgstr "Installer"
 
 
@@ -692,10 +720,21 @@ msgstr "Laissez vide pour la valeur par défaut : https://api.openai.com/"
 msgid "Light"
 msgid "Light"
 msgstr "Clair"
 msgstr "Clair"
 
 
-#: src/views/dashboard/DashBoard.vue:154
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Link Start"
+msgstr ""
+
+#: src/views/dashboard/ServerAnalytic.vue:154
 msgid "Load Averages:"
 msgid "Load Averages:"
 msgstr "Charges moyennes :"
 msgstr "Charges moyennes :"
 
 
+#: src/components/EnvIndicator/EnvIndicator.vue:5
+#: src/components/EnvIndicator/EnvIndicator.vue:6
+#, fuzzy
+msgid "Local"
+msgstr "Localisation"
+
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
@@ -708,7 +747,7 @@ msgstr "Localisation"
 msgid "Locations"
 msgid "Locations"
 msgstr "Localisations"
 msgstr "Localisations"
 
 
-#: src/routes/index.ts:173 src/views/other/Login.vue:104
+#: src/routes/index.ts:182 src/views/other/Login.vue:104
 msgid "Login"
 msgid "Login"
 msgstr "Connexion"
 msgstr "Connexion"
 
 
@@ -729,23 +768,23 @@ msgstr ""
 "Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-"
 "Assurez vous d'avoir configuré un reverse proxy pour le répertoire .well-"
 "known vers HTTPChallengePort avant d'obtenir le certificat."
 "known vers HTTPChallengePort avant d'obtenir le certificat."
 
 
-#: src/routes/index.ts:72
+#: src/routes/index.ts:65
 msgid "Manage Configs"
 msgid "Manage Configs"
 msgstr "Gérer les configurations"
 msgstr "Gérer les configurations"
 
 
-#: src/routes/index.ts:47 src/views/domain/DomainList.vue:2
+#: src/routes/index.ts:40 src/views/domain/DomainList.vue:2
 msgid "Manage Sites"
 msgid "Manage Sites"
 msgstr "Gérer les sites"
 msgstr "Gérer les sites"
 
 
-#: src/routes/index.ts:39 src/views/user/User.vue:2
+#: src/routes/index.ts:141 src/views/user/User.vue:2
 msgid "Manage Users"
 msgid "Manage Users"
 msgstr "Gérer les utilisateurs"
 msgstr "Gérer les utilisateurs"
 
 
-#: src/views/dashboard/DashBoard.vue:34
+#: src/views/dashboard/ServerAnalytic.vue:34
 msgid "Memory"
 msgid "Memory"
 msgstr "Mémoire"
 msgstr "Mémoire"
 
 
-#: src/views/dashboard/DashBoard.vue:31
+#: src/views/dashboard/ServerAnalytic.vue:31
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "Mémoire et stockage"
 msgstr "Mémoire et stockage"
 
 
@@ -760,7 +799,7 @@ msgstr "Mémoire et stockage"
 msgid "Modify"
 msgid "Modify"
 msgstr "Modifier"
 msgstr "Modifier"
 
 
-#: src/views/domain/DomainAdd.vue:145
+#: src/views/domain/DomainAdd.vue:151
 msgid "Modify Config"
 msgid "Modify Config"
 msgstr "Modifier la configuration"
 msgstr "Modifier la configuration"
 
 
@@ -769,37 +808,38 @@ msgstr "Modifier la configuration"
 msgid "Multi-line Directive"
 msgid "Multi-line Directive"
 msgstr "Directive multiligne"
 msgstr "Directive multiligne"
 
 
-#: src/views/cert/Cert.vue:16 src/views/cert/DNSCredential.vue:13
-#: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:19
+#: src/views/cert/Cert.vue:16 src/views/cert/DNSCredential.vue:12
+#: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/SiteDuplicate.vue:5
 #: src/views/domain/SiteDuplicate.vue:5
+#: src/views/environment/Environment.vue:13
 msgid "Name"
 msgid "Name"
 msgstr "Nom"
 msgstr "Nom"
 
 
-#: src/views/dashboard/DashBoard.vue:76
+#: src/views/dashboard/ServerAnalytic.vue:76
 msgid "Network"
 msgid "Network"
 msgstr "Réseau"
 msgstr "Réseau"
 
 
-#: src/views/dashboard/DashBoard.vue:50
+#: src/views/dashboard/ServerAnalytic.vue:50
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Statistiques du réseau"
 msgstr "Statistiques du réseau"
 
 
-#: src/views/dashboard/DashBoard.vue:54
+#: src/views/dashboard/ServerAnalytic.vue:54
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Réception totale du réseau"
 msgstr "Réception totale du réseau"
 
 
-#: src/views/dashboard/DashBoard.vue:58
+#: src/views/dashboard/ServerAnalytic.vue:58
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Envoi total réseau"
 msgstr "Envoi total réseau"
 
 
-#: src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:47
 msgid "New version released"
 msgid "New version released"
 msgstr "Nouvelle version publiée"
 msgstr "Nouvelle version publiée"
 
 
 #: src/views/domain/cert/components/ObtainCert.vue:12
 #: src/views/domain/cert/components/ObtainCert.vue:12
 #: src/views/domain/cert/components/ObtainCert.vue:13
 #: src/views/domain/cert/components/ObtainCert.vue:13
 #: src/views/domain/cert/components/ObtainCert.vue:21
 #: src/views/domain/cert/components/ObtainCert.vue:21
-#: src/views/domain/DomainAdd.vue:135
+#: src/views/domain/DomainAdd.vue:141
 msgid "Next"
 msgid "Next"
 msgstr "Suivant"
 msgstr "Suivant"
 
 
@@ -821,7 +861,7 @@ msgstr "Contrôle Nginx"
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Chemin du journal des erreurs Nginx"
 msgstr "Chemin du journal des erreurs Nginx"
 
 
-#: src/routes/index.ts:117 src/views/nginx_log/NginxLog.vue:2
+#: src/routes/index.ts:110 src/views/nginx_log/NginxLog.vue:2
 #: src/views/preference/Preference.vue:8
 #: src/views/preference/Preference.vue:8
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Journal Nginx"
 msgstr "Journal Nginx"
@@ -842,7 +882,7 @@ msgstr "Nginx a redémarré avec succès"
 msgid "No"
 msgid "No"
 msgstr "Non"
 msgstr "Non"
 
 
-#: src/routes/index.ts:179 src/routes/index.ts:181
+#: src/routes/index.ts:188 src/routes/index.ts:190
 msgid "Not Found"
 msgid "Not Found"
 msgstr "Introuvable"
 msgstr "Introuvable"
 
 
@@ -863,15 +903,30 @@ msgstr "Obtenir un certificat"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "Obtention du certificat"
 msgstr "Obtention du certificat"
 
 
+#: src/views/dashboard/Environments.vue:15
+#: src/views/dashboard/Environments.vue:16
+#: src/views/environment/Environment.vue:48
+msgid "Offline"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataEntry/components/StdSelector.vue:12
 #: src/components/StdDataEntry/components/StdSelector.vue:12
-#: src/views/domain/DomainList.vue:28
+#: src/views/domain/cert/components/ObtainCert.vue:190
+#: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
+#: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 msgid "OK"
 msgid "OK"
 msgstr "OK"
 msgstr "OK"
 
 
+#: src/views/dashboard/Environments.vue:14
+#: src/views/dashboard/Environments.vue:15
+#: src/views/environment/Environment.vue:45
+msgid "Online"
+msgstr ""
+
 #: src/views/preference/Preference.vue:11
 #: src/views/preference/Preference.vue:11
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
@@ -882,7 +937,7 @@ msgstr "OpenAI"
 msgid "OS"
 msgid "OS"
 msgstr "OS"
 msgstr "OS"
 
 
-#: src/views/dashboard/DashBoard.vue:160
+#: src/views/dashboard/ServerAnalytic.vue:160
 msgid "OS:"
 msgid "OS:"
 msgstr "OS :"
 msgstr "OS :"
 
 
@@ -911,7 +966,7 @@ msgstr "Erreur lors de la mise a niveau du core"
 msgid "Performing core upgrade"
 msgid "Performing core upgrade"
 msgstr "Exécution de la mise à niveau du core"
 msgstr "Exécution de la mise à niveau du core"
 
 
-#: src/views/cert/DNSCredential.vue:44
+#: src/views/cert/DNSCredential.vue:43
 msgid ""
 msgid ""
 "Please fill in the API authentication credentials provided by your DNS "
 "Please fill in the API authentication credentials provided by your DNS "
 "provider. We will add one or more TXT records to the DNS records of your "
 "provider. We will add one or more TXT records to the DNS records of your "
@@ -956,7 +1011,15 @@ msgstr "Veuillez saisir votre mot de passe !"
 msgid "Please input your username!"
 msgid "Please input your username!"
 msgstr "Veuillez saisir votre nom d'utilisateur !"
 msgstr "Veuillez saisir votre nom d'utilisateur !"
 
 
-#: src/routes/index.ts:140 src/views/preference/Preference.vue:2
+#: src/views/system/Upgrade.vue:25 src/views/system/Upgrade.vue:26
+#: src/views/system/Upgrade.vue:30 src/views/system/Upgrade.vue:34
+#: src/views/system/Upgrade.vue:38 src/views/system/Upgrade.vue:48
+#: src/views/system/Upgrade.vue:49 src/views/system/Upgrade.vue:53
+#: src/views/system/Upgrade.vue:57 src/views/system/Upgrade.vue:72
+msgid "Pre-release"
+msgstr ""
+
+#: src/routes/index.ts:149 src/views/preference/Preference.vue:2
 msgid "Preference"
 msgid "Preference"
 msgstr "Préférence"
 msgstr "Préférence"
 
 
@@ -973,20 +1036,22 @@ msgstr "Interdire la modification du mot de passe root dans la démo"
 msgid "Prohibit deleting the default user"
 msgid "Prohibit deleting the default user"
 msgstr "Interdire la suppression de l'utilisateur par défaut"
 msgstr "Interdire la suppression de l'utilisateur par défaut"
 
 
-#: src/views/system/About.vue:19
+#: src/views/system/About.vue:26
 msgid "Project Team"
 msgid "Project Team"
 msgstr "Groupe de projet"
 msgstr "Groupe de projet"
 
 
-#: src/views/cert/DNSCredential.vue:21
+#: src/views/cert/DNSCredential.vue:20
 msgid "Provider"
 msgid "Provider"
 msgstr "Fournisseur"
 msgstr "Fournisseur"
 
 
-#: src/views/dashboard/DashBoard.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:23
 #, fuzzy
 #, fuzzy
 msgid "Reads"
 msgid "Reads"
 msgstr "Lectures"
 msgstr "Lectures"
 
 
-#: src/views/dashboard/DashBoard.vue:20 src/views/dashboard/DashBoard.vue:80
+#: src/views/dashboard/ServerAnalytic.vue:20
+#: src/views/dashboard/ServerAnalytic.vue:80
 #, fuzzy
 #, fuzzy
 msgid "Receive"
 msgid "Receive"
 msgstr "Recevoir"
 msgstr "Recevoir"
@@ -1000,16 +1065,16 @@ msgstr "Régénérer la réponse"
 msgid "Registering user"
 msgid "Registering user"
 msgstr "Enregistrement de l'utilisateur"
 msgstr "Enregistrement de l'utilisateur"
 
 
-#: 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:39 src/views/system/Upgrade.vue:42
-#: src/views/system/Upgrade.vue:45
+#: src/views/system/Upgrade.vue:37 src/views/system/Upgrade.vue:38
+#: src/views/system/Upgrade.vue:42 src/views/system/Upgrade.vue:46
+#: src/views/system/Upgrade.vue:50 src/views/system/Upgrade.vue:53
+#: src/views/system/Upgrade.vue:59
 msgid "Reinstall"
 msgid "Reinstall"
 msgstr "Réinstaller"
 msgstr "Réinstaller"
 
 
-#: src/views/system/Upgrade.vue:34 src/views/system/Upgrade.vue:35
-#: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:43
-#: src/views/system/Upgrade.vue:55
+#: src/views/system/Upgrade.vue:51 src/views/system/Upgrade.vue:52
+#: src/views/system/Upgrade.vue:56 src/views/system/Upgrade.vue:60
+#: src/views/system/Upgrade.vue:75
 msgid "Release Note"
 msgid "Release Note"
 msgstr "Note de version"
 msgstr "Note de version"
 
 
@@ -1029,9 +1094,9 @@ msgstr "Rechargement"
 msgid "Reloading nginx"
 msgid "Reloading nginx"
 msgstr "Rechargement de nginx"
 msgstr "Rechargement de nginx"
 
 
-#: src/views/preference/GitSettings.vue:3
-msgid "Repo url"
-msgstr "URL de dépôt"
+#: src/language/constants.ts:35
+msgid "Requested with wrong parameters"
+msgstr ""
 
 
 #: src/components/StdDataDisplay/StdTable.vue:10
 #: src/components/StdDataDisplay/StdTable.vue:10
 #: src/components/StdDataDisplay/StdTable.vue:15
 #: src/components/StdDataDisplay/StdTable.vue:15
@@ -1059,13 +1124,13 @@ msgstr "En cours d'éxécution"
 
 
 #: src/components/ChatGPT/ChatGPT.vue:16 src/components/ChatGPT/ChatGPT.vue:17
 #: src/components/ChatGPT/ChatGPT.vue:16 src/components/ChatGPT/ChatGPT.vue:17
 #: src/components/ChatGPT/ChatGPT.vue:21 src/components/ChatGPT/ChatGPT.vue:23
 #: src/components/ChatGPT/ChatGPT.vue:21 src/components/ChatGPT/ChatGPT.vue:23
-#: src/views/config/ConfigEdit.vue:89 src/views/domain/DomainEdit.vue:260
+#: src/views/config/ConfigEdit.vue:89 src/views/domain/DomainEdit.vue:266
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:32
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:32
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:33
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:33
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:39
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:40
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:40
-#: src/views/preference/Preference.vue:20
-#: src/views/preference/Preference.vue:21
+#: src/views/preference/Preference.vue:17
+#: src/views/preference/Preference.vue:18
 msgid "Save"
 msgid "Save"
 msgstr "Enregistrer"
 msgstr "Enregistrer"
 
 
@@ -1075,7 +1140,7 @@ msgstr "Enregistrer"
 msgid "Save Directive"
 msgid "Save Directive"
 msgstr "Enregistrer la directive"
 msgstr "Enregistrer la directive"
 
 
-#: src/views/config/ConfigEdit.vue:53 src/views/domain/DomainAdd.vue:54
+#: src/views/config/ConfigEdit.vue:53 src/views/domain/DomainAdd.vue:53
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 msgid "Save error %{msg}"
 msgid "Save error %{msg}"
 msgstr "Enregistrer l'erreur %{msg}"
 msgstr "Enregistrer l'erreur %{msg}"
@@ -1085,12 +1150,12 @@ msgstr "Enregistrer l'erreur %{msg}"
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Sauvegarde réussie"
 msgstr "Sauvegarde réussie"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:109
+#: src/components/StdDataDisplay/StdCurd.vue:116
 msgid "Save Successfully"
 msgid "Save Successfully"
 msgstr "Sauvegarde Réussie"
 msgstr "Sauvegarde Réussie"
 
 
 #: src/views/config/ConfigEdit.vue:51 src/views/domain/DomainAdd.vue:43
 #: src/views/config/ConfigEdit.vue:51 src/views/domain/DomainAdd.vue:43
-#: src/views/domain/DomainEdit.vue:142
+#: src/views/domain/DomainEdit.vue:146
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:34
 msgid "Saved successfully"
 msgid "Saved successfully"
 msgstr "Enregistré avec succès"
 msgstr "Enregistré avec succès"
@@ -1099,7 +1164,8 @@ msgstr "Enregistré avec succès"
 msgid "Selector"
 msgid "Selector"
 msgstr "Sélecteur"
 msgstr "Sélecteur"
 
 
-#: src/views/dashboard/DashBoard.vue:21 src/views/dashboard/DashBoard.vue:87
+#: src/views/dashboard/ServerAnalytic.vue:21
+#: src/views/dashboard/ServerAnalytic.vue:87
 msgid "Send"
 msgid "Send"
 msgstr "Envoyer"
 msgstr "Envoyer"
 
 
@@ -1111,22 +1177,22 @@ msgstr "Envoyer"
 #: src/components/StdDataDisplay/StdTable.vue:463
 #: src/components/StdDataDisplay/StdTable.vue:463
 #: src/views/config/ConfigEdit.vue:37 src/views/domain/DomainList.vue:83
 #: src/views/config/ConfigEdit.vue:37 src/views/domain/DomainList.vue:83
 #: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62
 #: src/views/other/Install.vue:71 src/views/preference/Preference.vue:62
-#: src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:54
 msgid "Server error"
 msgid "Server error"
 msgstr "Erreur du serveur"
 msgstr "Erreur du serveur"
 
 
-#: src/views/dashboard/DashBoard.vue:5
+#: src/views/dashboard/ServerAnalytic.vue:5
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Informations sur le serveur"
 msgstr "Informations sur le serveur"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:91
+#: src/views/domain/cert/components/ObtainCert.vue:97
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "server_name introuvable dans les directives"
 msgstr "server_name introuvable dans les directives"
 
 
 #: src/views/domain/cert/components/AutoCertStepOne.vue:10
 #: src/views/domain/cert/components/AutoCertStepOne.vue:10
 #: src/views/domain/cert/components/AutoCertStepOne.vue:5
 #: src/views/domain/cert/components/AutoCertStepOne.vue:5
 #: src/views/domain/cert/components/AutoCertStepOne.vue:6
 #: src/views/domain/cert/components/AutoCertStepOne.vue:6
-#: src/views/domain/DomainAdd.vue:110
+#: src/views/domain/DomainAdd.vue:116
 msgid "server_name parameter is required"
 msgid "server_name parameter is required"
 msgstr "Le paramètre server_name est obligatoire"
 msgstr "Le paramètre server_name est obligatoire"
 
 
@@ -1139,11 +1205,11 @@ msgstr "Définition des variables d'environnement"
 msgid "Single Directive"
 msgid "Single Directive"
 msgstr "Directive unique"
 msgstr "Directive unique"
 
 
-#: src/routes/index.ts:131
+#: src/routes/index.ts:124
 msgid "Site Logs"
 msgid "Site Logs"
 msgstr "Journaux du site"
 msgstr "Journaux du site"
 
 
-#: src/routes/index.ts:55
+#: src/routes/index.ts:48
 msgid "Sites List"
 msgid "Sites List"
 msgstr "Liste des sites"
 msgstr "Liste des sites"
 
 
@@ -1163,7 +1229,16 @@ msgstr "Contenu de la certification SSL"
 msgid "SSL Certification Key Content"
 msgid "SSL Certification Key Content"
 msgstr "Contenu de la clé de certification SSL"
 msgstr "Contenu de la clé de certification SSL"
 
 
-#: src/views/domain/DomainList.vue:24
+#: 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:37 src/views/system/Upgrade.vue:47
+#: src/views/system/Upgrade.vue:48 src/views/system/Upgrade.vue:52
+#: src/views/system/Upgrade.vue:56 src/views/system/Upgrade.vue:71
+#, fuzzy
+msgid "Stable"
+msgstr "Tableau"
+
+#: src/views/domain/DomainList.vue:24 src/views/environment/Environment.vue:38
 msgid "Status"
 msgid "Status"
 msgstr "Statut"
 msgstr "Statut"
 
 
@@ -1171,7 +1246,7 @@ msgstr "Statut"
 msgid "Stopped"
 msgid "Stopped"
 msgstr "Arrêté"
 msgstr "Arrêté"
 
 
-#: src/views/dashboard/DashBoard.vue:43
+#: src/views/dashboard/ServerAnalytic.vue:43
 msgid "Storage"
 msgid "Storage"
 msgstr "Stockage"
 msgstr "Stockage"
 
 
@@ -1179,12 +1254,12 @@ msgstr "Stockage"
 msgid "Subject Name: %{name}"
 msgid "Subject Name: %{name}"
 msgstr "Nom du sujet : %{name}"
 msgstr "Nom du sujet : %{name}"
 
 
-#: src/views/dashboard/DashBoard.vue:38
+#: src/views/dashboard/ServerAnalytic.vue:38
 #, fuzzy
 #, fuzzy
 msgid "Swap"
 msgid "Swap"
 msgstr "Échanger"
 msgstr "Échanger"
 
 
-#: src/routes/index.ts:148
+#: src/routes/index.ts:157
 msgid "System"
 msgid "System"
 msgstr "Système"
 msgstr "Système"
 
 
@@ -1192,7 +1267,7 @@ msgstr "Système"
 msgid "Table"
 msgid "Table"
 msgstr "Tableau"
 msgstr "Tableau"
 
 
-#: src/routes/index.ts:109 src/views/pty/Terminal.vue:2
+#: src/routes/index.ts:102 src/views/pty/Terminal.vue:2
 msgid "Terminal"
 msgid "Terminal"
 msgstr "Terminal"
 msgstr "Terminal"
 
 
@@ -1236,6 +1311,10 @@ msgstr ""
 "Cet élément de certification automatique n'est pas valide, veuillez le "
 "Cet élément de certification automatique n'est pas valide, veuillez le "
 "supprimer."
 "supprimer."
 
 
+#: src/components/StdDataEntry/StdFormItem.vue:30
+msgid "This field should not be empty"
+msgstr ""
+
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:31
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:31
 msgid ""
 msgid ""
 "To make sure the certification auto-renewal can work normally, we need to "
 "To make sure the certification auto-renewal can work normally, we need to "
@@ -1248,13 +1327,18 @@ msgstr ""
 "transmettre la demande de l'autorité au backend, et nous devons enregistrer "
 "transmettre la demande de l'autorité au backend, et nous devons enregistrer "
 "ce fichier et recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 "ce fichier et recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 
 
+#: src/views/environment/Environment.vue:30
+#, fuzzy
+msgid "Token"
+msgstr "Jeton d'API"
+
 #: src/views/config/config.ts:13
 #: src/views/config/config.ts:13
 msgid "Type"
 msgid "Type"
 msgstr "Type"
 msgstr "Type"
 
 
-#: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:26
+#: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
-#: src/views/user/User.vue:37
+#: src/views/environment/Environment.vue:55 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
 msgstr "Mis à jour le"
 msgstr "Mis à jour le"
 
 
@@ -1262,11 +1346,11 @@ msgstr "Mis à jour le"
 msgid "Updated successfully"
 msgid "Updated successfully"
 msgstr "Mis à jour avec succés"
 msgstr "Mis à jour avec succés"
 
 
-#: src/routes/index.ts:159 src/views/system/Upgrade.vue:2
-#: src/views/system/Upgrade.vue:28 src/views/system/Upgrade.vue:29
-#: src/views/system/Upgrade.vue:33 src/views/system/Upgrade.vue:37
-#: src/views/system/Upgrade.vue:41 src/views/system/Upgrade.vue:44
-#: src/views/system/Upgrade.vue:47 src/views/system/Upgrade.vue:48
+#: src/routes/index.ts:168 src/views/system/Upgrade.vue:2
+#: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
+#: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
+#: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
+#: src/views/system/Upgrade.vue:61 src/views/system/Upgrade.vue:62
 msgid "Upgrade"
 msgid "Upgrade"
 msgstr "Mettre à niveau"
 msgstr "Mettre à niveau"
 
 
@@ -1274,16 +1358,19 @@ msgstr "Mettre à niveau"
 msgid "Upgraded successfully"
 msgid "Upgraded successfully"
 msgstr "Mise à niveau réussie"
 msgstr "Mise à niveau réussie"
 
 
-#: src/views/system/Upgrade.vue:72
+#: src/views/system/Upgrade.vue:90
 msgid "Upgrading Nginx UI, please wait..."
 msgid "Upgrading Nginx UI, please wait..."
 msgstr "Mise à jour de Nginx UI, veuillez patienter..."
 msgstr "Mise à jour de Nginx UI, veuillez patienter..."
 
 
-#: src/views/dashboard/DashBoard.vue:150
+#: src/views/dashboard/ServerAnalytic.vue:150
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Disponibilité :"
 msgstr "Disponibilité :"
 
 
-#: src/views/other/Login.vue:11 src/views/preference/GitSettings.vue:6
-#: src/views/user/User.vue:11
+#: src/views/environment/Environment.vue:21
+msgid "URL"
+msgstr ""
+
+#: src/views/other/Login.vue:11 src/views/user/User.vue:11
 msgid "Username"
 msgid "Username"
 msgstr "Nom d'utilisateur"
 msgstr "Nom d'utilisateur"
 
 
@@ -1311,7 +1398,7 @@ msgstr "Voir"
 msgid "Warning"
 msgid "Warning"
 msgstr "Avertissement"
 msgstr "Avertissement"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:179
+#: src/views/domain/cert/components/ObtainCert.vue:188
 msgid ""
 msgid ""
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "Nginx. Are you sure you want to continue?"
 "Nginx. Are you sure you want to continue?"
@@ -1319,8 +1406,8 @@ msgstr ""
 "Nous allons supprimer la configuration HTTPChallenge de ce fichier et "
 "Nous allons supprimer la configuration HTTPChallenge de ce fichier et "
 "recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 "recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 
 
-#: src/views/dashboard/DashBoard.vue:102 src/views/dashboard/DashBoard.vue:22
-#: src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:102
+#: src/views/dashboard/ServerAnalytic.vue:22
 msgid "Writes"
 msgid "Writes"
 msgstr "Écritures"
 msgstr "Écritures"
 
 
@@ -1337,7 +1424,7 @@ msgstr "Écriture du certificat sur le disque"
 msgid "Yes"
 msgid "Yes"
 msgstr "Oui"
 msgstr "Oui"
 
 
-#: src/views/system/Upgrade.vue:36
+#: src/views/system/Upgrade.vue:43
 msgid "You are using the latest version"
 msgid "You are using the latest version"
 msgstr "Vous utilisez la dernière version"
 msgstr "Vous utilisez la dernière version"
 
 
@@ -1346,7 +1433,13 @@ msgstr "Vous utilisez la dernière version"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page."
 msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page."
 
 
-#: src/views/system/About.vue:27
+#: src/views/system/About.vue:34
 msgctxt "Project"
 msgctxt "Project"
 msgid "License"
 msgid "License"
 msgstr "Licence"
 msgstr "Licence"
+
+#~ msgid "Git"
+#~ msgstr "Git"
+
+#~ msgid "Repo url"
+#~ msgstr "URL de dépôt"

+ 104 - 55
frontend/src/language/messages.pot

@@ -2,11 +2,11 @@ msgid ""
 msgstr ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 "Content-Type: text/plain; charset=UTF-8\n"
 
 
-#: src/routes/index.ts:155
+#: src/routes/index.ts:164
 msgid "About"
 msgid "About"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:123
+#: src/routes/index.ts:116
 #: src/views/domain/ngx_conf/LogEntry.vue:64
 #: src/views/domain/ngx_conf/LogEntry.vue:64
 msgid "Access Logs"
 msgid "Access Logs"
 msgstr ""
 msgstr ""
@@ -15,12 +15,14 @@ msgstr ""
 #: src/views/cert/DNSCredential.vue:31
 #: src/views/cert/DNSCredential.vue:31
 #: src/views/config/config.ts:35
 #: src/views/config/config.ts:35
 #: src/views/domain/DomainList.vue:47
 #: src/views/domain/DomainList.vue:47
+#: src/views/environment/Environment.vue:61
 #: src/views/user/User.vue:43
 #: src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:147
 #: src/components/StdDataDisplay/StdCurd.vue:25
 #: src/components/StdDataDisplay/StdCurd.vue:25
+#: src/components/StdDataDisplay/StdCurd.vue:4
+#: src/components/StdDataDisplay/StdCurd.vue:5
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
@@ -41,7 +43,7 @@ msgstr ""
 msgid "Add Location"
 msgid "Add Location"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:59
+#: src/routes/index.ts:52
 #: src/views/domain/DomainAdd.vue:2
 #: src/views/domain/DomainAdd.vue:2
 msgid "Add Site"
 msgid "Add Site"
 msgstr ""
 msgstr ""
@@ -186,7 +188,7 @@ msgstr ""
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataEntry/components/StdSelector.vue:11
 #: src/components/StdDataEntry/components/StdSelector.vue:11
-#: src/views/domain/cert/components/ObtainCert.vue:188
+#: src/views/domain/cert/components/ObtainCert.vue:191
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
@@ -206,12 +208,12 @@ msgstr ""
 msgid "Certificate Status"
 msgid "Certificate Status"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:89
+#: src/routes/index.ts:82
 #: src/views/cert/Cert.vue:2
 #: src/views/cert/Cert.vue:2
 msgid "Certification"
 msgid "Certification"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:97
+#: src/routes/index.ts:90
 msgid "Certification List"
 msgid "Certification List"
 msgstr ""
 msgstr ""
 
 
@@ -287,6 +289,11 @@ msgstr ""
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Connected"
+msgstr ""
+
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
@@ -297,12 +304,12 @@ msgstr ""
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:66
+#: src/views/dashboard/ServerAnalytic.vue:66
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:22
-#: src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "CPU:"
 msgid "CPU:"
 msgstr ""
 msgstr ""
 
 
@@ -348,7 +355,7 @@ msgstr ""
 msgid "Dark"
 msgid "Dark"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:31
+#: src/routes/index.ts:32
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr ""
 msgstr ""
 
 
@@ -431,11 +438,11 @@ msgstr ""
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:98
+#: src/views/dashboard/ServerAnalytic.vue:98
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:102
+#: src/routes/index.ts:95
 #: src/views/cert/DNSCredential.vue:2
 #: src/views/cert/DNSCredential.vue:2
 msgid "DNS Credentials"
 msgid "DNS Credentials"
 msgstr ""
 msgstr ""
@@ -451,7 +458,7 @@ msgstr ""
 msgid "DNS01"
 msgid "DNS01"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:184
+#: src/views/domain/cert/components/ObtainCert.vue:187
 msgid "Do you want to disable auto-cert renewal?"
 msgid "Do you want to disable auto-cert renewal?"
 msgstr ""
 msgstr ""
 
 
@@ -508,12 +515,12 @@ msgstr ""
 msgid "Edit %{n}"
 msgid "Edit %{n}"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:81
+#: src/routes/index.ts:74
 #: src/views/config/ConfigEdit.vue:4
 #: src/views/config/ConfigEdit.vue:4
 msgid "Edit Configuration"
 msgid "Edit Configuration"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:63
+#: src/routes/index.ts:56
 msgid "Edit Site"
 msgid "Edit Site"
 msgstr ""
 msgstr ""
 
 
@@ -556,11 +563,20 @@ msgstr ""
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr ""
 msgstr ""
 
 
+#: src/routes/index.ts:133
+#: src/views/environment/Environment.vue:2
+msgid "Environment"
+msgstr ""
+
+#: src/views/dashboard/Environments.vue:2
+msgid "Environments"
+msgstr ""
+
 #: src/views/config/InspectConfig.vue:17
 #: src/views/config/InspectConfig.vue:17
 msgid "Error"
 msgid "Error"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:127
+#: src/routes/index.ts:120
 #: src/views/domain/ngx_conf/LogEntry.vue:68
 #: src/views/domain/ngx_conf/LogEntry.vue:68
 msgid "Error Logs"
 msgid "Error Logs"
 msgstr ""
 msgstr ""
@@ -671,7 +687,7 @@ msgstr ""
 msgid "GPT-4-32K"
 msgid "GPT-4-32K"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:24
+#: src/routes/index.ts:25
 msgid "Home"
 msgid "Home"
 msgstr ""
 msgstr ""
 
 
@@ -697,7 +713,7 @@ msgstr ""
 msgid "Initialing core upgrader"
 msgid "Initialing core upgrader"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:167
+#: src/routes/index.ts:176
 #: src/views/other/Install.vue:128
 #: src/views/other/Install.vue:128
 msgid "Install"
 msgid "Install"
 msgstr ""
 msgstr ""
@@ -739,10 +755,20 @@ msgstr ""
 msgid "Light"
 msgid "Light"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:154
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Link Start"
+msgstr ""
+
+#: src/views/dashboard/ServerAnalytic.vue:154
 msgid "Load Averages:"
 msgid "Load Averages:"
 msgstr ""
 msgstr ""
 
 
+#: src/components/EnvIndicator/EnvIndicator.vue:5
+#: src/components/EnvIndicator/EnvIndicator.vue:6
+msgid "Local"
+msgstr ""
+
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
@@ -753,7 +779,7 @@ msgstr ""
 msgid "Locations"
 msgid "Locations"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:173
+#: src/routes/index.ts:182
 #: src/views/other/Login.vue:104
 #: src/views/other/Login.vue:104
 msgid "Login"
 msgid "Login"
 msgstr ""
 msgstr ""
@@ -770,25 +796,25 @@ msgstr ""
 msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate."
 msgid "Make sure you have configured a reverse proxy for .well-known directory to HTTPChallengePort before obtaining the certificate."
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:72
+#: src/routes/index.ts:65
 msgid "Manage Configs"
 msgid "Manage Configs"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:47
+#: src/routes/index.ts:40
 #: src/views/domain/DomainList.vue:2
 #: src/views/domain/DomainList.vue:2
 msgid "Manage Sites"
 msgid "Manage Sites"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:39
+#: src/routes/index.ts:141
 #: src/views/user/User.vue:2
 #: src/views/user/User.vue:2
 msgid "Manage Users"
 msgid "Manage Users"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:34
+#: src/views/dashboard/ServerAnalytic.vue:34
 msgid "Memory"
 msgid "Memory"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:31
+#: src/views/dashboard/ServerAnalytic.vue:31
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr ""
 msgstr ""
 
 
@@ -821,22 +847,23 @@ msgstr ""
 #: src/views/domain/DomainEdit.vue:32
 #: src/views/domain/DomainEdit.vue:32
 #: src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainList.vue:15
 #: src/views/domain/SiteDuplicate.vue:5
 #: src/views/domain/SiteDuplicate.vue:5
+#: src/views/environment/Environment.vue:13
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:76
+#: src/views/dashboard/ServerAnalytic.vue:76
 msgid "Network"
 msgid "Network"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:50
+#: src/views/dashboard/ServerAnalytic.vue:50
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:54
+#: src/views/dashboard/ServerAnalytic.vue:54
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:58
+#: src/views/dashboard/ServerAnalytic.vue:58
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr ""
 msgstr ""
 
 
@@ -869,7 +896,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:117
+#: src/routes/index.ts:110
 #: src/views/nginx_log/NginxLog.vue:2
 #: src/views/nginx_log/NginxLog.vue:2
 #: src/views/preference/Preference.vue:8
 #: src/views/preference/Preference.vue:8
 msgid "Nginx Log"
 msgid "Nginx Log"
@@ -891,8 +918,8 @@ msgstr ""
 msgid "No"
 msgid "No"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:179
-#: src/routes/index.ts:181
+#: src/routes/index.ts:188
+#: src/routes/index.ts:190
 msgid "Not Found"
 msgid "Not Found"
 msgstr ""
 msgstr ""
 
 
@@ -913,12 +940,18 @@ msgstr ""
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/Environments.vue:15
+#: src/views/dashboard/Environments.vue:16
+#: src/views/environment/Environment.vue:48
+msgid "Offline"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataEntry/components/StdSelector.vue:12
 #: src/components/StdDataEntry/components/StdSelector.vue:12
-#: src/views/domain/cert/components/ObtainCert.vue:187
+#: src/views/domain/cert/components/ObtainCert.vue:190
 #: src/views/domain/DomainEdit.vue:175
 #: src/views/domain/DomainEdit.vue:175
 #: src/views/domain/DomainList.vue:28
 #: src/views/domain/DomainList.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
@@ -926,6 +959,12 @@ msgstr ""
 msgid "OK"
 msgid "OK"
 msgstr ""
 msgstr ""
 
 
+#: src/views/dashboard/Environments.vue:14
+#: src/views/dashboard/Environments.vue:15
+#: src/views/environment/Environment.vue:45
+msgid "Online"
+msgstr ""
+
 #: src/views/preference/Preference.vue:11
 #: src/views/preference/Preference.vue:11
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
@@ -938,7 +977,7 @@ msgstr ""
 msgid "OS"
 msgid "OS"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:160
+#: src/views/dashboard/ServerAnalytic.vue:160
 msgid "OS:"
 msgid "OS:"
 msgstr ""
 msgstr ""
 
 
@@ -1007,7 +1046,7 @@ msgstr ""
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:140
+#: src/routes/index.ts:149
 #: src/views/preference/Preference.vue:2
 #: src/views/preference/Preference.vue:2
 msgid "Preference"
 msgid "Preference"
 msgstr ""
 msgstr ""
@@ -1032,13 +1071,13 @@ msgstr ""
 msgid "Provider"
 msgid "Provider"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:109
-#: src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "Reads"
 msgid "Reads"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:20
-#: src/views/dashboard/DashBoard.vue:80
+#: src/views/dashboard/ServerAnalytic.vue:20
+#: src/views/dashboard/ServerAnalytic.vue:80
 msgid "Receive"
 msgid "Receive"
 msgstr ""
 msgstr ""
 
 
@@ -1149,7 +1188,7 @@ msgstr ""
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:110
+#: src/components/StdDataDisplay/StdCurd.vue:116
 msgid "Save Successfully"
 msgid "Save Successfully"
 msgstr ""
 msgstr ""
 
 
@@ -1164,8 +1203,8 @@ msgstr ""
 msgid "Selector"
 msgid "Selector"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:21
-#: src/views/dashboard/DashBoard.vue:87
+#: src/views/dashboard/ServerAnalytic.vue:21
+#: src/views/dashboard/ServerAnalytic.vue:87
 msgid "Send"
 msgid "Send"
 msgstr ""
 msgstr ""
 
 
@@ -1183,7 +1222,7 @@ msgstr ""
 msgid "Server error"
 msgid "Server error"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:5
+#: src/views/dashboard/ServerAnalytic.vue:5
 msgid "Server Info"
 msgid "Server Info"
 msgstr ""
 msgstr ""
 
 
@@ -1207,11 +1246,11 @@ msgstr ""
 msgid "Single Directive"
 msgid "Single Directive"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:131
+#: src/routes/index.ts:124
 msgid "Site Logs"
 msgid "Site Logs"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:55
+#: src/routes/index.ts:48
 msgid "Sites List"
 msgid "Sites List"
 msgstr ""
 msgstr ""
 
 
@@ -1245,6 +1284,7 @@ msgid "Stable"
 msgstr ""
 msgstr ""
 
 
 #: src/views/domain/DomainList.vue:24
 #: src/views/domain/DomainList.vue:24
+#: src/views/environment/Environment.vue:38
 msgid "Status"
 msgid "Status"
 msgstr ""
 msgstr ""
 
 
@@ -1252,7 +1292,7 @@ msgstr ""
 msgid "Stopped"
 msgid "Stopped"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:43
+#: src/views/dashboard/ServerAnalytic.vue:43
 msgid "Storage"
 msgid "Storage"
 msgstr ""
 msgstr ""
 
 
@@ -1260,11 +1300,11 @@ msgstr ""
 msgid "Subject Name: %{name}"
 msgid "Subject Name: %{name}"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:38
+#: src/views/dashboard/ServerAnalytic.vue:38
 msgid "Swap"
 msgid "Swap"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:148
+#: src/routes/index.ts:157
 msgid "System"
 msgid "System"
 msgstr ""
 msgstr ""
 
 
@@ -1272,7 +1312,7 @@ msgstr ""
 msgid "Table"
 msgid "Table"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:109
+#: src/routes/index.ts:102
 #: src/views/pty/Terminal.vue:2
 #: src/views/pty/Terminal.vue:2
 msgid "Terminal"
 msgid "Terminal"
 msgstr ""
 msgstr ""
@@ -1313,6 +1353,10 @@ msgstr ""
 msgid "To make sure the certification auto-renewal can work normally, we need to add a location which can proxy the request from authority to backend, and we need to save this file and reload the Nginx. Are you sure you want to continue?"
 msgid "To make sure the certification auto-renewal can work normally, we need to add a location which can proxy the request from authority to backend, and we need to save this file and reload the Nginx. Are you sure you want to continue?"
 msgstr ""
 msgstr ""
 
 
+#: src/views/environment/Environment.vue:30
+msgid "Token"
+msgstr ""
+
 #: src/views/config/config.ts:13
 #: src/views/config/config.ts:13
 msgid "Type"
 msgid "Type"
 msgstr ""
 msgstr ""
@@ -1321,6 +1365,7 @@ msgstr ""
 #: src/views/cert/DNSCredential.vue:25
 #: src/views/cert/DNSCredential.vue:25
 #: src/views/config/config.ts:28
 #: src/views/config/config.ts:28
 #: src/views/domain/DomainList.vue:41
 #: src/views/domain/DomainList.vue:41
+#: src/views/environment/Environment.vue:55
 #: src/views/user/User.vue:37
 #: src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
 msgstr ""
 msgstr ""
@@ -1329,7 +1374,7 @@ msgstr ""
 msgid "Updated successfully"
 msgid "Updated successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:159
+#: src/routes/index.ts:168
 #: src/views/system/Upgrade.vue:2
 #: src/views/system/Upgrade.vue:2
 #: src/views/system/Upgrade.vue:39
 #: src/views/system/Upgrade.vue:39
 #: src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:40
@@ -1350,10 +1395,14 @@ msgstr ""
 msgid "Upgrading Nginx UI, please wait..."
 msgid "Upgrading Nginx UI, please wait..."
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:150
+#: src/views/dashboard/ServerAnalytic.vue:150
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr ""
 msgstr ""
 
 
+#: src/views/environment/Environment.vue:21
+msgid "URL"
+msgstr ""
+
 #: src/views/other/Login.vue:11
 #: src/views/other/Login.vue:11
 #: src/views/user/User.vue:11
 #: src/views/user/User.vue:11
 msgid "Username"
 msgid "Username"
@@ -1383,12 +1432,12 @@ msgstr ""
 msgid "Warning"
 msgid "Warning"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:185
+#: src/views/domain/cert/components/ObtainCert.vue:188
 msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?"
 msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/DashBoard.vue:102
-#: src/views/dashboard/DashBoard.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:102
+#: src/views/dashboard/ServerAnalytic.vue:22
 msgid "Writes"
 msgid "Writes"
 msgstr ""
 msgstr ""
 
 

File diff suppressed because it is too large
+ 0 - 0
frontend/src/language/translations.json


BIN
frontend/src/language/zh_CN/app.mo


+ 102 - 52
frontend/src/language/zh_CN/app.po

@@ -12,22 +12,23 @@ msgstr ""
 "Generated-By: easygettext\n"
 "Generated-By: easygettext\n"
 "X-Generator: Poedit 3.2.2\n"
 "X-Generator: Poedit 3.2.2\n"
 
 
-#: src/routes/index.ts:155
+#: src/routes/index.ts:164
 msgid "About"
 msgid "About"
 msgstr "关于"
 msgstr "关于"
 
 
-#: src/routes/index.ts:123 src/views/domain/ngx_conf/LogEntry.vue:64
+#: src/routes/index.ts:116 src/views/domain/ngx_conf/LogEntry.vue:64
 msgid "Access Logs"
 msgid "Access Logs"
 msgstr "访问日志"
 msgstr "访问日志"
 
 
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
-#: src/views/user/User.vue:43
+#: src/views/environment/Environment.vue:61 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
 msgstr "操作"
 msgstr "操作"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:147
 #: src/components/StdDataDisplay/StdCurd.vue:25
 #: src/components/StdDataDisplay/StdCurd.vue:25
+#: src/components/StdDataDisplay/StdCurd.vue:4
+#: src/components/StdDataDisplay/StdCurd.vue:5
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
@@ -48,7 +49,7 @@ msgstr "在下面添加指令"
 msgid "Add Location"
 msgid "Add Location"
 msgstr "添加 Location"
 msgstr "添加 Location"
 
 
-#: src/routes/index.ts:59 src/views/domain/DomainAdd.vue:2
+#: src/routes/index.ts:52 src/views/domain/DomainAdd.vue:2
 msgid "Add Site"
 msgid "Add Site"
 msgstr "添加站点"
 msgstr "添加站点"
 
 
@@ -181,7 +182,7 @@ msgstr "CADir"
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataEntry/components/StdSelector.vue:11
 #: src/components/StdDataEntry/components/StdSelector.vue:11
-#: src/views/domain/cert/components/ObtainCert.vue:188
+#: src/views/domain/cert/components/ObtainCert.vue:191
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
@@ -200,11 +201,11 @@ msgstr "此证书有效"
 msgid "Certificate Status"
 msgid "Certificate Status"
 msgstr "证书状态"
 msgstr "证书状态"
 
 
-#: src/routes/index.ts:89 src/views/cert/Cert.vue:2
+#: src/routes/index.ts:82 src/views/cert/Cert.vue:2
 msgid "Certification"
 msgid "Certification"
 msgstr "证书"
 msgstr "证书"
 
 
-#: src/routes/index.ts:97
+#: src/routes/index.ts:90
 msgid "Certification List"
 msgid "Certification List"
 msgstr "证书列表"
 msgstr "证书列表"
 
 
@@ -276,6 +277,11 @@ msgstr "配置"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "配置 SSL"
 msgstr "配置 SSL"
 
 
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Connected"
+msgstr "已连接"
+
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
@@ -286,11 +292,12 @@ msgstr "内容"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "核心升级"
 msgstr "核心升级"
 
 
-#: src/views/dashboard/DashBoard.vue:66
+#: src/views/dashboard/ServerAnalytic.vue:66
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU 状态"
 msgstr "CPU 状态"
 
 
-#: src/views/dashboard/DashBoard.vue:22 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "CPU:"
 msgid "CPU:"
 msgstr "CPU:"
 msgstr "CPU:"
 
 
@@ -333,7 +340,7 @@ msgstr "自定义"
 msgid "Dark"
 msgid "Dark"
 msgstr "深色"
 msgstr "深色"
 
 
-#: src/routes/index.ts:31
+#: src/routes/index.ts:32
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "仪表盘"
 msgstr "仪表盘"
 
 
@@ -408,11 +415,11 @@ msgstr "禁用"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "禁用成功"
 msgstr "禁用成功"
 
 
-#: src/views/dashboard/DashBoard.vue:98
+#: src/views/dashboard/ServerAnalytic.vue:98
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "磁盘 IO"
 msgstr "磁盘 IO"
 
 
-#: src/routes/index.ts:102 src/views/cert/DNSCredential.vue:2
+#: src/routes/index.ts:95 src/views/cert/DNSCredential.vue:2
 msgid "DNS Credentials"
 msgid "DNS Credentials"
 msgstr "DNS 凭证"
 msgstr "DNS 凭证"
 
 
@@ -427,7 +434,7 @@ msgstr "DNS供应商"
 msgid "DNS01"
 msgid "DNS01"
 msgstr "DNS01"
 msgstr "DNS01"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:184
+#: src/views/domain/cert/components/ObtainCert.vue:187
 msgid "Do you want to disable auto-cert renewal?"
 msgid "Do you want to disable auto-cert renewal?"
 msgstr "你想禁用自动更新证书吗?"
 msgstr "你想禁用自动更新证书吗?"
 
 
@@ -481,11 +488,11 @@ msgstr "复制成功"
 msgid "Edit %{n}"
 msgid "Edit %{n}"
 msgstr "编辑 %{n}"
 msgstr "编辑 %{n}"
 
 
-#: src/routes/index.ts:81 src/views/config/ConfigEdit.vue:4
+#: src/routes/index.ts:74 src/views/config/ConfigEdit.vue:4
 msgid "Edit Configuration"
 msgid "Edit Configuration"
 msgstr "编辑配置"
 msgstr "编辑配置"
 
 
-#: src/routes/index.ts:63
+#: src/routes/index.ts:56
 msgid "Edit Site"
 msgid "Edit Site"
 msgstr "编辑站点"
 msgstr "编辑站点"
 
 
@@ -522,11 +529,19 @@ msgstr "启用成功"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "用 Let's Encrypt 对网站进行加密"
 msgstr "用 Let's Encrypt 对网站进行加密"
 
 
+#: src/routes/index.ts:133 src/views/environment/Environment.vue:2
+msgid "Environment"
+msgstr "环境"
+
+#: src/views/dashboard/Environments.vue:2
+msgid "Environments"
+msgstr "环境"
+
 #: src/views/config/InspectConfig.vue:17
 #: src/views/config/InspectConfig.vue:17
 msgid "Error"
 msgid "Error"
 msgstr "错误"
 msgstr "错误"
 
 
-#: src/routes/index.ts:127 src/views/domain/ngx_conf/LogEntry.vue:68
+#: src/routes/index.ts:120 src/views/domain/ngx_conf/LogEntry.vue:68
 msgid "Error Logs"
 msgid "Error Logs"
 msgstr "错误日志"
 msgstr "错误日志"
 
 
@@ -630,7 +645,7 @@ msgstr "GPT-4"
 msgid "GPT-4-32K"
 msgid "GPT-4-32K"
 msgstr "GPT-4-32K"
 msgstr "GPT-4-32K"
 
 
-#: src/routes/index.ts:24
+#: src/routes/index.ts:25
 msgid "Home"
 msgid "Home"
 msgstr "首页"
 msgstr "首页"
 
 
@@ -656,7 +671,7 @@ msgstr "初始化核心升级程序错误"
 msgid "Initialing core upgrader"
 msgid "Initialing core upgrader"
 msgstr "初始化核心升级器"
 msgstr "初始化核心升级器"
 
 
-#: src/routes/index.ts:167 src/views/other/Install.vue:128
+#: src/routes/index.ts:176 src/views/other/Install.vue:128
 msgid "Install"
 msgid "Install"
 msgstr "安装"
 msgstr "安装"
 
 
@@ -695,10 +710,20 @@ msgstr "留空为默认:https://api.openai.com/"
 msgid "Light"
 msgid "Light"
 msgstr "浅色"
 msgstr "浅色"
 
 
-#: src/views/dashboard/DashBoard.vue:154
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Link Start"
+msgstr "链接"
+
+#: src/views/dashboard/ServerAnalytic.vue:154
 msgid "Load Averages:"
 msgid "Load Averages:"
 msgstr "系统负载:"
 msgstr "系统负载:"
 
 
+#: src/components/EnvIndicator/EnvIndicator.vue:5
+#: src/components/EnvIndicator/EnvIndicator.vue:6
+msgid "Local"
+msgstr "本地"
+
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
@@ -709,7 +734,7 @@ msgstr "Location"
 msgid "Locations"
 msgid "Locations"
 msgstr "Locations"
 msgstr "Locations"
 
 
-#: src/routes/index.ts:173 src/views/other/Login.vue:104
+#: src/routes/index.ts:182 src/views/other/Login.vue:104
 msgid "Login"
 msgid "Login"
 msgstr "登录"
 msgstr "登录"
 
 
@@ -729,23 +754,23 @@ msgstr ""
 "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
 "在获取签发证书前,请确保配置文件中已将 .well-known 目录反向代理到 "
 "HTTPChallengePort。"
 "HTTPChallengePort。"
 
 
-#: src/routes/index.ts:72
+#: src/routes/index.ts:65
 msgid "Manage Configs"
 msgid "Manage Configs"
 msgstr "配置管理"
 msgstr "配置管理"
 
 
-#: src/routes/index.ts:47 src/views/domain/DomainList.vue:2
+#: src/routes/index.ts:40 src/views/domain/DomainList.vue:2
 msgid "Manage Sites"
 msgid "Manage Sites"
 msgstr "网站管理"
 msgstr "网站管理"
 
 
-#: src/routes/index.ts:39 src/views/user/User.vue:2
+#: src/routes/index.ts:141 src/views/user/User.vue:2
 msgid "Manage Users"
 msgid "Manage Users"
 msgstr "用户管理"
 msgstr "用户管理"
 
 
-#: src/views/dashboard/DashBoard.vue:34
+#: src/views/dashboard/ServerAnalytic.vue:34
 msgid "Memory"
 msgid "Memory"
 msgstr "内存"
 msgstr "内存"
 
 
-#: src/views/dashboard/DashBoard.vue:31
+#: src/views/dashboard/ServerAnalytic.vue:31
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "内存与存储"
 msgstr "内存与存储"
 
 
@@ -773,22 +798,23 @@ msgstr "单行指令"
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/SiteDuplicate.vue:5
 #: src/views/domain/SiteDuplicate.vue:5
+#: src/views/environment/Environment.vue:13
 msgid "Name"
 msgid "Name"
 msgstr "名称"
 msgstr "名称"
 
 
-#: src/views/dashboard/DashBoard.vue:76
+#: src/views/dashboard/ServerAnalytic.vue:76
 msgid "Network"
 msgid "Network"
 msgstr "网络"
 msgstr "网络"
 
 
-#: src/views/dashboard/DashBoard.vue:50
+#: src/views/dashboard/ServerAnalytic.vue:50
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "流量统计"
 msgstr "流量统计"
 
 
-#: src/views/dashboard/DashBoard.vue:54
+#: src/views/dashboard/ServerAnalytic.vue:54
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "下载流量"
 msgstr "下载流量"
 
 
-#: src/views/dashboard/DashBoard.vue:58
+#: src/views/dashboard/ServerAnalytic.vue:58
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "上传流量"
 msgstr "上传流量"
 
 
@@ -821,7 +847,7 @@ msgstr "控制 Nginx"
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 错误日志路径"
 msgstr "Nginx 错误日志路径"
 
 
-#: src/routes/index.ts:117 src/views/nginx_log/NginxLog.vue:2
+#: src/routes/index.ts:110 src/views/nginx_log/NginxLog.vue:2
 #: src/views/preference/Preference.vue:8
 #: src/views/preference/Preference.vue:8
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日志"
 msgstr "Nginx 日志"
@@ -842,7 +868,7 @@ msgstr "Nginx 重启成功"
 msgid "No"
 msgid "No"
 msgstr "取消"
 msgstr "取消"
 
 
-#: src/routes/index.ts:179 src/routes/index.ts:181
+#: src/routes/index.ts:188 src/routes/index.ts:190
 msgid "Not Found"
 msgid "Not Found"
 msgstr "找不到页面"
 msgstr "找不到页面"
 
 
@@ -863,18 +889,30 @@ msgstr "获取证书"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "正在获取证书"
 msgstr "正在获取证书"
 
 
+#: src/views/dashboard/Environments.vue:15
+#: src/views/dashboard/Environments.vue:16
+#: src/views/environment/Environment.vue:48
+msgid "Offline"
+msgstr "离线"
+
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataEntry/components/StdSelector.vue:12
 #: src/components/StdDataEntry/components/StdSelector.vue:12
-#: src/views/domain/cert/components/ObtainCert.vue:187
+#: src/views/domain/cert/components/ObtainCert.vue:190
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 msgid "OK"
 msgid "OK"
 msgstr "确定"
 msgstr "确定"
 
 
+#: src/views/dashboard/Environments.vue:14
+#: src/views/dashboard/Environments.vue:15
+#: src/views/environment/Environment.vue:45
+msgid "Online"
+msgstr "在线"
+
 #: src/views/preference/Preference.vue:11
 #: src/views/preference/Preference.vue:11
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
@@ -885,7 +923,7 @@ msgstr "OpenAI"
 msgid "OS"
 msgid "OS"
 msgstr "OS"
 msgstr "OS"
 
 
-#: src/views/dashboard/DashBoard.vue:160
+#: src/views/dashboard/ServerAnalytic.vue:160
 msgid "OS:"
 msgid "OS:"
 msgstr "OS:"
 msgstr "OS:"
 
 
@@ -960,7 +998,7 @@ msgstr "请输入您的用户名!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr "预发布"
 msgstr "预发布"
 
 
-#: src/routes/index.ts:140 src/views/preference/Preference.vue:2
+#: src/routes/index.ts:149 src/views/preference/Preference.vue:2
 msgid "Preference"
 msgid "Preference"
 msgstr "偏好设置"
 msgstr "偏好设置"
 
 
@@ -984,11 +1022,13 @@ msgstr "项目团队"
 msgid "Provider"
 msgid "Provider"
 msgstr "提供商"
 msgstr "提供商"
 
 
-#: src/views/dashboard/DashBoard.vue:109 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "Reads"
 msgid "Reads"
 msgstr "读"
 msgstr "读"
 
 
-#: src/views/dashboard/DashBoard.vue:20 src/views/dashboard/DashBoard.vue:80
+#: src/views/dashboard/ServerAnalytic.vue:20
+#: src/views/dashboard/ServerAnalytic.vue:80
 msgid "Receive"
 msgid "Receive"
 msgstr "下载"
 msgstr "下载"
 
 
@@ -1086,7 +1126,7 @@ msgstr "保存错误 %{msg}"
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "保存成功"
 msgstr "保存成功"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:110
+#: src/components/StdDataDisplay/StdCurd.vue:116
 msgid "Save Successfully"
 msgid "Save Successfully"
 msgstr "保存成功"
 msgstr "保存成功"
 
 
@@ -1100,7 +1140,8 @@ msgstr "保存成功"
 msgid "Selector"
 msgid "Selector"
 msgstr "选择器"
 msgstr "选择器"
 
 
-#: src/views/dashboard/DashBoard.vue:21 src/views/dashboard/DashBoard.vue:87
+#: src/views/dashboard/ServerAnalytic.vue:21
+#: src/views/dashboard/ServerAnalytic.vue:87
 msgid "Send"
 msgid "Send"
 msgstr "上传"
 msgstr "上传"
 
 
@@ -1116,7 +1157,7 @@ msgstr "上传"
 msgid "Server error"
 msgid "Server error"
 msgstr "服务器错误"
 msgstr "服务器错误"
 
 
-#: src/views/dashboard/DashBoard.vue:5
+#: src/views/dashboard/ServerAnalytic.vue:5
 msgid "Server Info"
 msgid "Server Info"
 msgstr "服务器信息"
 msgstr "服务器信息"
 
 
@@ -1140,11 +1181,11 @@ msgstr "正在设置环境变量"
 msgid "Single Directive"
 msgid "Single Directive"
 msgstr "单行指令"
 msgstr "单行指令"
 
 
-#: src/routes/index.ts:131
+#: src/routes/index.ts:124
 msgid "Site Logs"
 msgid "Site Logs"
 msgstr "站点列表"
 msgstr "站点列表"
 
 
-#: src/routes/index.ts:55
+#: src/routes/index.ts:48
 msgid "Sites List"
 msgid "Sites List"
 msgstr "站点列表"
 msgstr "站点列表"
 
 
@@ -1172,7 +1213,7 @@ msgstr "SSL证书密钥内容"
 msgid "Stable"
 msgid "Stable"
 msgstr "稳定"
 msgstr "稳定"
 
 
-#: src/views/domain/DomainList.vue:24
+#: src/views/domain/DomainList.vue:24 src/views/environment/Environment.vue:38
 msgid "Status"
 msgid "Status"
 msgstr "状态"
 msgstr "状态"
 
 
@@ -1180,7 +1221,7 @@ msgstr "状态"
 msgid "Stopped"
 msgid "Stopped"
 msgstr "已停止"
 msgstr "已停止"
 
 
-#: src/views/dashboard/DashBoard.vue:43
+#: src/views/dashboard/ServerAnalytic.vue:43
 msgid "Storage"
 msgid "Storage"
 msgstr "存储"
 msgstr "存储"
 
 
@@ -1188,11 +1229,11 @@ msgstr "存储"
 msgid "Subject Name: %{name}"
 msgid "Subject Name: %{name}"
 msgstr "主体名称: %{name}"
 msgstr "主体名称: %{name}"
 
 
-#: src/views/dashboard/DashBoard.vue:38
+#: src/views/dashboard/ServerAnalytic.vue:38
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
-#: src/routes/index.ts:148
+#: src/routes/index.ts:157
 msgid "System"
 msgid "System"
 msgstr "系统"
 msgstr "系统"
 
 
@@ -1200,7 +1241,7 @@ msgstr "系统"
 msgid "Table"
 msgid "Table"
 msgstr "列表"
 msgstr "列表"
 
 
-#: src/routes/index.ts:109 src/views/pty/Terminal.vue:2
+#: src/routes/index.ts:102 src/views/pty/Terminal.vue:2
 msgid "Terminal"
 msgid "Terminal"
 msgstr "终端"
 msgstr "终端"
 
 
@@ -1251,13 +1292,17 @@ msgstr ""
 "为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的"
 "为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的"
 "请求的 Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
 "请求的 Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
 
 
+#: src/views/environment/Environment.vue:30
+msgid "Token"
+msgstr "Token"
+
 #: src/views/config/config.ts:13
 #: src/views/config/config.ts:13
 msgid "Type"
 msgid "Type"
 msgstr "类型"
 msgstr "类型"
 
 
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
-#: src/views/user/User.vue:37
+#: src/views/environment/Environment.vue:55 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
 msgstr "修改时间"
 msgstr "修改时间"
 
 
@@ -1265,7 +1310,7 @@ msgstr "修改时间"
 msgid "Updated successfully"
 msgid "Updated successfully"
 msgstr "更新成功"
 msgstr "更新成功"
 
 
-#: src/routes/index.ts:159 src/views/system/Upgrade.vue:2
+#: src/routes/index.ts:168 src/views/system/Upgrade.vue:2
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
@@ -1281,10 +1326,14 @@ msgstr "升级成功"
 msgid "Upgrading Nginx UI, please wait..."
 msgid "Upgrading Nginx UI, please wait..."
 msgstr "正在升级Nginx UI,请等待..."
 msgstr "正在升级Nginx UI,请等待..."
 
 
-#: src/views/dashboard/DashBoard.vue:150
+#: src/views/dashboard/ServerAnalytic.vue:150
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "运行时间:"
 msgstr "运行时间:"
 
 
+#: src/views/environment/Environment.vue:21
+msgid "URL"
+msgstr "URL"
+
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 msgid "Username"
 msgid "Username"
 msgstr "用户名"
 msgstr "用户名"
@@ -1313,14 +1362,15 @@ msgstr "查看"
 msgid "Warning"
 msgid "Warning"
 msgstr "警告"
 msgstr "警告"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:185
+#: src/views/domain/cert/components/ObtainCert.vue:188
 msgid ""
 msgid ""
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "Nginx. Are you sure you want to continue?"
 "Nginx. Are you sure you want to continue?"
 msgstr ""
 msgstr ""
 "我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
 "我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
 
 
-#: src/views/dashboard/DashBoard.vue:102 src/views/dashboard/DashBoard.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:102
+#: src/views/dashboard/ServerAnalytic.vue:22
 msgid "Writes"
 msgid "Writes"
 msgstr "写"
 msgstr "写"
 
 

+ 105 - 52
frontend/src/language/zh_TW/app.po

@@ -13,22 +13,23 @@ msgstr ""
 "Generated-By: easygettext\n"
 "Generated-By: easygettext\n"
 "X-Generator: Poedit 3.2.2\n"
 "X-Generator: Poedit 3.2.2\n"
 
 
-#: src/routes/index.ts:155
+#: src/routes/index.ts:164
 msgid "About"
 msgid "About"
 msgstr "關於"
 msgstr "關於"
 
 
-#: src/routes/index.ts:123 src/views/domain/ngx_conf/LogEntry.vue:64
+#: src/routes/index.ts:116 src/views/domain/ngx_conf/LogEntry.vue:64
 msgid "Access Logs"
 msgid "Access Logs"
 msgstr "訪問日誌"
 msgstr "訪問日誌"
 
 
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/cert/Cert.vue:74 src/views/cert/DNSCredential.vue:31
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
 #: src/views/config/config.ts:35 src/views/domain/DomainList.vue:47
-#: src/views/user/User.vue:43
+#: src/views/environment/Environment.vue:61 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
 msgstr "操作"
 msgstr "操作"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:147
 #: src/components/StdDataDisplay/StdCurd.vue:25
 #: src/components/StdDataDisplay/StdCurd.vue:25
+#: src/components/StdDataDisplay/StdCurd.vue:4
+#: src/components/StdDataDisplay/StdCurd.vue:5
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:47
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:48
@@ -49,7 +50,7 @@ msgstr "在下面新增指令"
 msgid "Add Location"
 msgid "Add Location"
 msgstr "新增 Location"
 msgstr "新增 Location"
 
 
-#: src/routes/index.ts:59 src/views/domain/DomainAdd.vue:2
+#: src/routes/index.ts:52 src/views/domain/DomainAdd.vue:2
 msgid "Add Site"
 msgid "Add Site"
 msgstr "新增站點"
 msgstr "新增站點"
 
 
@@ -182,7 +183,7 @@ msgstr ""
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdBatchEdit.vue:7
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataDisplay/StdCurd.vue:27
 #: src/components/StdDataEntry/components/StdSelector.vue:11
 #: src/components/StdDataEntry/components/StdSelector.vue:11
-#: src/views/domain/cert/components/ObtainCert.vue:188
+#: src/views/domain/cert/components/ObtainCert.vue:191
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/DomainEdit.vue:176
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:208
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:37
@@ -201,11 +202,11 @@ msgstr "此憑證有效"
 msgid "Certificate Status"
 msgid "Certificate Status"
 msgstr "憑證狀態"
 msgstr "憑證狀態"
 
 
-#: src/routes/index.ts:89 src/views/cert/Cert.vue:2
+#: src/routes/index.ts:82 src/views/cert/Cert.vue:2
 msgid "Certification"
 msgid "Certification"
 msgstr "證照"
 msgstr "證照"
 
 
-#: src/routes/index.ts:97
+#: src/routes/index.ts:90
 msgid "Certification List"
 msgid "Certification List"
 msgstr "認證清單"
 msgstr "認證清單"
 
 
@@ -277,6 +278,11 @@ msgstr "配置"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "配置 SSL"
 msgstr "配置 SSL"
 
 
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Connected"
+msgstr ""
+
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:36
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:41
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
 #: src/views/domain/ngx_conf/LocationEditor.vue:58
@@ -287,11 +293,12 @@ msgstr "內容"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "核心升級"
 msgstr "核心升級"
 
 
-#: src/views/dashboard/DashBoard.vue:66
+#: src/views/dashboard/ServerAnalytic.vue:66
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "中央處理器狀態"
 msgstr "中央處理器狀態"
 
 
-#: src/views/dashboard/DashBoard.vue:22 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "CPU:"
 msgid "CPU:"
 msgstr "中央處理器:"
 msgstr "中央處理器:"
 
 
@@ -334,7 +341,7 @@ msgstr "自訂"
 msgid "Dark"
 msgid "Dark"
 msgstr "深色"
 msgstr "深色"
 
 
-#: src/routes/index.ts:31
+#: src/routes/index.ts:32
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "儀表盤"
 msgstr "儀表盤"
 
 
@@ -409,11 +416,11 @@ msgstr "禁用"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "禁用成功"
 msgstr "禁用成功"
 
 
-#: src/views/dashboard/DashBoard.vue:98
+#: src/views/dashboard/ServerAnalytic.vue:98
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "磁碟 IO"
 msgstr "磁碟 IO"
 
 
-#: src/routes/index.ts:102 src/views/cert/DNSCredential.vue:2
+#: src/routes/index.ts:95 src/views/cert/DNSCredential.vue:2
 msgid "DNS Credentials"
 msgid "DNS Credentials"
 msgstr "DNS 憑據"
 msgstr "DNS 憑據"
 
 
@@ -428,7 +435,7 @@ msgstr "DNS 供應商"
 msgid "DNS01"
 msgid "DNS01"
 msgstr "DNS01"
 msgstr "DNS01"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:184
+#: src/views/domain/cert/components/ObtainCert.vue:187
 msgid "Do you want to disable auto-cert renewal?"
 msgid "Do you want to disable auto-cert renewal?"
 msgstr "您要禁用自動證書續訂嗎?"
 msgstr "您要禁用自動證書續訂嗎?"
 
 
@@ -482,11 +489,11 @@ msgstr "複製成功"
 msgid "Edit %{n}"
 msgid "Edit %{n}"
 msgstr "編輯 %{n}"
 msgstr "編輯 %{n}"
 
 
-#: src/routes/index.ts:81 src/views/config/ConfigEdit.vue:4
+#: src/routes/index.ts:74 src/views/config/ConfigEdit.vue:4
 msgid "Edit Configuration"
 msgid "Edit Configuration"
 msgstr "編輯配置"
 msgstr "編輯配置"
 
 
-#: src/routes/index.ts:63
+#: src/routes/index.ts:56
 msgid "Edit Site"
 msgid "Edit Site"
 msgstr "編輯站點"
 msgstr "編輯站點"
 
 
@@ -523,11 +530,20 @@ msgstr "啟用成功"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "用 Let's Encrypt 對網站進行加密"
 msgstr "用 Let's Encrypt 對網站進行加密"
 
 
+#: src/routes/index.ts:133 src/views/environment/Environment.vue:2
+msgid "Environment"
+msgstr ""
+
+#: src/views/dashboard/Environments.vue:2
+#, fuzzy
+msgid "Environments"
+msgstr "註釋"
+
 #: src/views/config/InspectConfig.vue:17
 #: src/views/config/InspectConfig.vue:17
 msgid "Error"
 msgid "Error"
 msgstr "錯誤"
 msgstr "錯誤"
 
 
-#: src/routes/index.ts:127 src/views/domain/ngx_conf/LogEntry.vue:68
+#: src/routes/index.ts:120 src/views/domain/ngx_conf/LogEntry.vue:68
 msgid "Error Logs"
 msgid "Error Logs"
 msgstr "錯誤日志"
 msgstr "錯誤日志"
 
 
@@ -631,7 +647,7 @@ msgstr "GPT-4"
 msgid "GPT-4-32K"
 msgid "GPT-4-32K"
 msgstr "GPT-4-32K"
 msgstr "GPT-4-32K"
 
 
-#: src/routes/index.ts:24
+#: src/routes/index.ts:25
 msgid "Home"
 msgid "Home"
 msgstr "首頁"
 msgstr "首頁"
 
 
@@ -657,7 +673,7 @@ msgstr "初始核心升級程序錯誤"
 msgid "Initialing core upgrader"
 msgid "Initialing core upgrader"
 msgstr "正在初始化核心升級程序"
 msgstr "正在初始化核心升級程序"
 
 
-#: src/routes/index.ts:167 src/views/other/Install.vue:128
+#: src/routes/index.ts:176 src/views/other/Install.vue:128
 msgid "Install"
 msgid "Install"
 msgstr "安裝"
 msgstr "安裝"
 
 
@@ -696,10 +712,21 @@ msgstr "默認留空:https://api.openai.com/"
 msgid "Light"
 msgid "Light"
 msgstr "淺色"
 msgstr "淺色"
 
 
-#: src/views/dashboard/DashBoard.vue:154
+#: src/views/dashboard/Environments.vue:8
+#: src/views/dashboard/Environments.vue:9
+msgid "Link Start"
+msgstr ""
+
+#: src/views/dashboard/ServerAnalytic.vue:154
 msgid "Load Averages:"
 msgid "Load Averages:"
 msgstr "系統負載:"
 msgstr "系統負載:"
 
 
+#: src/components/EnvIndicator/EnvIndicator.vue:5
+#: src/components/EnvIndicator/EnvIndicator.vue:6
+#, fuzzy
+msgid "Local"
+msgstr "Location"
+
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:10
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:11
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
 #: src/views/domain/ngx_conf/LocationEditor.vue:18
@@ -710,7 +737,7 @@ msgstr "Location"
 msgid "Locations"
 msgid "Locations"
 msgstr "Locations"
 msgstr "Locations"
 
 
-#: src/routes/index.ts:173 src/views/other/Login.vue:104
+#: src/routes/index.ts:182 src/views/other/Login.vue:104
 msgid "Login"
 msgid "Login"
 msgstr "登入"
 msgstr "登入"
 
 
@@ -730,23 +757,23 @@ msgstr ""
 "在獲取證書前,請確保配置檔案中已將 .well-known 目錄反向代理到 "
 "在獲取證書前,請確保配置檔案中已將 .well-known 目錄反向代理到 "
 "HTTPChallengePort。"
 "HTTPChallengePort。"
 
 
-#: src/routes/index.ts:72
+#: src/routes/index.ts:65
 msgid "Manage Configs"
 msgid "Manage Configs"
 msgstr "配置管理"
 msgstr "配置管理"
 
 
-#: src/routes/index.ts:47 src/views/domain/DomainList.vue:2
+#: src/routes/index.ts:40 src/views/domain/DomainList.vue:2
 msgid "Manage Sites"
 msgid "Manage Sites"
 msgstr "網站管理"
 msgstr "網站管理"
 
 
-#: src/routes/index.ts:39 src/views/user/User.vue:2
+#: src/routes/index.ts:141 src/views/user/User.vue:2
 msgid "Manage Users"
 msgid "Manage Users"
 msgstr "使用者管理"
 msgstr "使用者管理"
 
 
-#: src/views/dashboard/DashBoard.vue:34
+#: src/views/dashboard/ServerAnalytic.vue:34
 msgid "Memory"
 msgid "Memory"
 msgstr "記憶體"
 msgstr "記憶體"
 
 
-#: src/views/dashboard/DashBoard.vue:31
+#: src/views/dashboard/ServerAnalytic.vue:31
 msgid "Memory and Storage"
 msgid "Memory and Storage"
 msgstr "記憶體和存儲"
 msgstr "記憶體和存儲"
 
 
@@ -774,22 +801,23 @@ msgstr "多行指令"
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/config/config.ts:8 src/views/domain/cert/ChangeCert.vue:21
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/DomainEdit.vue:32 src/views/domain/DomainList.vue:15
 #: src/views/domain/SiteDuplicate.vue:5
 #: src/views/domain/SiteDuplicate.vue:5
+#: src/views/environment/Environment.vue:13
 msgid "Name"
 msgid "Name"
 msgstr "名稱"
 msgstr "名稱"
 
 
-#: src/views/dashboard/DashBoard.vue:76
+#: src/views/dashboard/ServerAnalytic.vue:76
 msgid "Network"
 msgid "Network"
 msgstr "網路"
 msgstr "網路"
 
 
-#: src/views/dashboard/DashBoard.vue:50
+#: src/views/dashboard/ServerAnalytic.vue:50
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "網路統計"
 msgstr "網路統計"
 
 
-#: src/views/dashboard/DashBoard.vue:54
+#: src/views/dashboard/ServerAnalytic.vue:54
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "下載流量"
 msgstr "下載流量"
 
 
-#: src/views/dashboard/DashBoard.vue:58
+#: src/views/dashboard/ServerAnalytic.vue:58
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "上傳流量"
 msgstr "上傳流量"
 
 
@@ -822,7 +850,7 @@ msgstr "Nginx 控件"
 msgid "Nginx Error Log Path"
 msgid "Nginx Error Log Path"
 msgstr "Nginx 錯誤日誌路徑"
 msgstr "Nginx 錯誤日誌路徑"
 
 
-#: src/routes/index.ts:117 src/views/nginx_log/NginxLog.vue:2
+#: src/routes/index.ts:110 src/views/nginx_log/NginxLog.vue:2
 #: src/views/preference/Preference.vue:8
 #: src/views/preference/Preference.vue:8
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日誌"
 msgstr "Nginx 日誌"
@@ -843,7 +871,7 @@ msgstr "Nginx 重啟成功"
 msgid "No"
 msgid "No"
 msgstr "取消"
 msgstr "取消"
 
 
-#: src/routes/index.ts:179 src/routes/index.ts:181
+#: src/routes/index.ts:188 src/routes/index.ts:190
 msgid "Not Found"
 msgid "Not Found"
 msgstr "找不到頁面"
 msgstr "找不到頁面"
 
 
@@ -864,18 +892,30 @@ msgstr "取得證書"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "正在獲取證書"
 msgstr "正在獲取證書"
 
 
+#: src/views/dashboard/Environments.vue:15
+#: src/views/dashboard/Environments.vue:16
+#: src/views/environment/Environment.vue:48
+msgid "Offline"
+msgstr ""
+
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/ChatGPT/ChatGPT.vue:39
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdBatchEdit.vue:8
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdCurd.vue:28
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataDisplay/StdTable.vue:54
 #: src/components/StdDataEntry/components/StdSelector.vue:12
 #: src/components/StdDataEntry/components/StdSelector.vue:12
-#: src/views/domain/cert/components/ObtainCert.vue:187
+#: src/views/domain/cert/components/ObtainCert.vue:190
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/DomainEdit.vue:175 src/views/domain/DomainList.vue:28
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:207
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 #: src/views/domain/ngx_conf/NgxConfigEditor.vue:36
 msgid "OK"
 msgid "OK"
 msgstr "確定"
 msgstr "確定"
 
 
+#: src/views/dashboard/Environments.vue:14
+#: src/views/dashboard/Environments.vue:15
+#: src/views/environment/Environment.vue:45
+msgid "Online"
+msgstr ""
+
 #: src/views/preference/Preference.vue:11
 #: src/views/preference/Preference.vue:11
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
@@ -886,7 +926,7 @@ msgstr "OpenAI"
 msgid "OS"
 msgid "OS"
 msgstr "作業系統"
 msgstr "作業系統"
 
 
-#: src/views/dashboard/DashBoard.vue:160
+#: src/views/dashboard/ServerAnalytic.vue:160
 msgid "OS:"
 msgid "OS:"
 msgstr "作業系統:"
 msgstr "作業系統:"
 
 
@@ -961,7 +1001,7 @@ msgstr "請輸入您的使用者名稱!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:140 src/views/preference/Preference.vue:2
+#: src/routes/index.ts:149 src/views/preference/Preference.vue:2
 msgid "Preference"
 msgid "Preference"
 msgstr "設定"
 msgstr "設定"
 
 
@@ -985,11 +1025,13 @@ msgstr "專案團隊"
 msgid "Provider"
 msgid "Provider"
 msgstr "供應者"
 msgstr "供應者"
 
 
-#: src/views/dashboard/DashBoard.vue:109 src/views/dashboard/DashBoard.vue:23
+#: src/views/dashboard/ServerAnalytic.vue:109
+#: src/views/dashboard/ServerAnalytic.vue:23
 msgid "Reads"
 msgid "Reads"
 msgstr "讀"
 msgstr "讀"
 
 
-#: src/views/dashboard/DashBoard.vue:20 src/views/dashboard/DashBoard.vue:80
+#: src/views/dashboard/ServerAnalytic.vue:20
+#: src/views/dashboard/ServerAnalytic.vue:80
 msgid "Receive"
 msgid "Receive"
 msgstr "下載"
 msgstr "下載"
 
 
@@ -1087,7 +1129,7 @@ msgstr "儲存錯誤 %{msg}"
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "保存成功"
 msgstr "保存成功"
 
 
-#: src/components/StdDataDisplay/StdCurd.vue:110
+#: src/components/StdDataDisplay/StdCurd.vue:116
 msgid "Save Successfully"
 msgid "Save Successfully"
 msgstr "保存成功"
 msgstr "保存成功"
 
 
@@ -1101,7 +1143,8 @@ msgstr "儲存成功"
 msgid "Selector"
 msgid "Selector"
 msgstr "選擇器"
 msgstr "選擇器"
 
 
-#: src/views/dashboard/DashBoard.vue:21 src/views/dashboard/DashBoard.vue:87
+#: src/views/dashboard/ServerAnalytic.vue:21
+#: src/views/dashboard/ServerAnalytic.vue:87
 msgid "Send"
 msgid "Send"
 msgstr "上傳"
 msgstr "上傳"
 
 
@@ -1117,7 +1160,7 @@ msgstr "上傳"
 msgid "Server error"
 msgid "Server error"
 msgstr "伺服器錯誤"
 msgstr "伺服器錯誤"
 
 
-#: src/views/dashboard/DashBoard.vue:5
+#: src/views/dashboard/ServerAnalytic.vue:5
 msgid "Server Info"
 msgid "Server Info"
 msgstr "伺服器資訊"
 msgstr "伺服器資訊"
 
 
@@ -1141,11 +1184,11 @@ msgstr "設置環境變量"
 msgid "Single Directive"
 msgid "Single Directive"
 msgstr "單行指令"
 msgstr "單行指令"
 
 
-#: src/routes/index.ts:131
+#: src/routes/index.ts:124
 msgid "Site Logs"
 msgid "Site Logs"
 msgstr "網站日誌"
 msgstr "網站日誌"
 
 
-#: src/routes/index.ts:55
+#: src/routes/index.ts:48
 msgid "Sites List"
 msgid "Sites List"
 msgstr "站點列表"
 msgstr "站點列表"
 
 
@@ -1174,7 +1217,7 @@ msgstr "SSL 證書密鑰內容"
 msgid "Stable"
 msgid "Stable"
 msgstr "表格"
 msgstr "表格"
 
 
-#: src/views/domain/DomainList.vue:24
+#: src/views/domain/DomainList.vue:24 src/views/environment/Environment.vue:38
 msgid "Status"
 msgid "Status"
 msgstr "狀態"
 msgstr "狀態"
 
 
@@ -1182,7 +1225,7 @@ msgstr "狀態"
 msgid "Stopped"
 msgid "Stopped"
 msgstr "已停止"
 msgstr "已停止"
 
 
-#: src/views/dashboard/DashBoard.vue:43
+#: src/views/dashboard/ServerAnalytic.vue:43
 msgid "Storage"
 msgid "Storage"
 msgstr "儲存"
 msgstr "儲存"
 
 
@@ -1190,11 +1233,11 @@ msgstr "儲存"
 msgid "Subject Name: %{name}"
 msgid "Subject Name: %{name}"
 msgstr "主體名稱: %{name}"
 msgstr "主體名稱: %{name}"
 
 
-#: src/views/dashboard/DashBoard.vue:38
+#: src/views/dashboard/ServerAnalytic.vue:38
 msgid "Swap"
 msgid "Swap"
 msgstr "交換空間"
 msgstr "交換空間"
 
 
-#: src/routes/index.ts:148
+#: src/routes/index.ts:157
 msgid "System"
 msgid "System"
 msgstr "系統"
 msgstr "系統"
 
 
@@ -1202,7 +1245,7 @@ msgstr "系統"
 msgid "Table"
 msgid "Table"
 msgstr "表格"
 msgstr "表格"
 
 
-#: src/routes/index.ts:109 src/views/pty/Terminal.vue:2
+#: src/routes/index.ts:102 src/views/pty/Terminal.vue:2
 msgid "Terminal"
 msgid "Terminal"
 msgstr "終端"
 msgstr "終端"
 
 
@@ -1254,13 +1297,18 @@ msgstr ""
 "為了保證證書自動續期能夠正常進行,我們需要添加一個 Location 來代理從權限到後"
 "為了保證證書自動續期能夠正常進行,我們需要添加一個 Location 來代理從權限到後"
 "端的請求,我們需要保存這個文件並重新加載Nginx。你確定你要繼續嗎?"
 "端的請求,我們需要保存這個文件並重新加載Nginx。你確定你要繼續嗎?"
 
 
+#: src/views/environment/Environment.vue:30
+#, fuzzy
+msgid "Token"
+msgstr "API 令牌"
+
 #: src/views/config/config.ts:13
 #: src/views/config/config.ts:13
 msgid "Type"
 msgid "Type"
 msgstr "類型"
 msgstr "類型"
 
 
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/cert/Cert.vue:68 src/views/cert/DNSCredential.vue:25
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
 #: src/views/config/config.ts:28 src/views/domain/DomainList.vue:41
-#: src/views/user/User.vue:37
+#: src/views/environment/Environment.vue:55 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
 msgstr "修改時間"
 msgstr "修改時間"
 
 
@@ -1268,7 +1316,7 @@ msgstr "修改時間"
 msgid "Updated successfully"
 msgid "Updated successfully"
 msgstr "已成功更新"
 msgstr "已成功更新"
 
 
-#: src/routes/index.ts:159 src/views/system/Upgrade.vue:2
+#: src/routes/index.ts:168 src/views/system/Upgrade.vue:2
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:39 src/views/system/Upgrade.vue:40
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:44 src/views/system/Upgrade.vue:48
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
 #: src/views/system/Upgrade.vue:52 src/views/system/Upgrade.vue:55
@@ -1284,10 +1332,14 @@ msgstr "升級成功"
 msgid "Upgrading Nginx UI, please wait..."
 msgid "Upgrading Nginx UI, please wait..."
 msgstr "正在升級 Nginx UI,請稍候..."
 msgstr "正在升級 Nginx UI,請稍候..."
 
 
-#: src/views/dashboard/DashBoard.vue:150
+#: src/views/dashboard/ServerAnalytic.vue:150
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "執行時間:"
 msgstr "執行時間:"
 
 
+#: src/views/environment/Environment.vue:21
+msgid "URL"
+msgstr ""
+
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 #: src/views/other/Login.vue:11 src/views/user/User.vue:11
 msgid "Username"
 msgid "Username"
 msgstr "使用者名稱"
 msgstr "使用者名稱"
@@ -1316,7 +1368,7 @@ msgstr "查看"
 msgid "Warning"
 msgid "Warning"
 msgstr "警告"
 msgstr "警告"
 
 
-#: src/views/domain/cert/components/ObtainCert.vue:185
+#: src/views/domain/cert/components/ObtainCert.vue:188
 msgid ""
 msgid ""
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "We will remove the HTTPChallenge configuration from this file and reload the "
 "Nginx. Are you sure you want to continue?"
 "Nginx. Are you sure you want to continue?"
@@ -1324,7 +1376,8 @@ msgstr ""
 "我們將從該文件中刪除 HTTPChallenge 配置並重新加載 Nginx 配置文件。你確定你要"
 "我們將從該文件中刪除 HTTPChallenge 配置並重新加載 Nginx 配置文件。你確定你要"
 "繼續嗎?"
 "繼續嗎?"
 
 
-#: src/views/dashboard/DashBoard.vue:102 src/views/dashboard/DashBoard.vue:22
+#: src/views/dashboard/ServerAnalytic.vue:102
+#: src/views/dashboard/ServerAnalytic.vue:22
 msgid "Writes"
 msgid "Writes"
 msgstr "寫"
 msgstr "寫"
 
 

Some files were not shown because too many files changed in this diff