Kaynağa Gözat

chore: prepare v2.0.0-beta.23

Jacky 1 yıl önce
ebeveyn
işleme
9a13ee601c

+ 1 - 1
app/package.json

@@ -1,6 +1,6 @@
 {
 {
   "name": "nginx-ui-app-next",
   "name": "nginx-ui-app-next",
-  "version": "2.0.0-beta.22",
+  "version": "2.0.0-beta.23",
   "type": "module",
   "type": "module",
   "scripts": {
   "scripts": {
     "dev": "vite",
     "dev": "vite",

+ 1 - 1
app/src/language/LINGUAS

@@ -1 +1 @@
-es fr_FR ko_KR ru_RU vi_VN zh_CN zh_TW
+en zh_CN zh_TW fr_FR es ru_RU vi_VN ko_KR

+ 107 - 85
app/src/language/en/app.po

@@ -18,7 +18,7 @@ msgid "Access Logs"
 msgstr ""
 msgstr ""
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "Username"
 msgstr "Username"
@@ -26,7 +26,7 @@ msgstr "Username"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -74,7 +74,7 @@ msgstr "Add Location"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "Advance Mode"
 msgstr "Advance Mode"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr ""
 msgstr ""
 
 
@@ -82,11 +82,11 @@ msgstr ""
 msgid "API Document"
 msgid "API Document"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr ""
 msgstr ""
 
 
@@ -100,7 +100,7 @@ msgstr ""
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
@@ -134,11 +134,11 @@ msgstr "Are you sure you want to remove this directive?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Are you sure you want to remove this directive?"
 msgstr "Are you sure you want to remove this directive?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr ""
 msgstr ""
 
 
@@ -147,7 +147,7 @@ msgstr ""
 msgid "Author"
 msgid "Author"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr ""
 msgstr ""
 
 
@@ -181,7 +181,7 @@ msgstr "Base information"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 #, fuzzy
 #, fuzzy
 msgid "Basic"
 msgid "Basic"
@@ -209,10 +209,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -256,8 +256,8 @@ msgstr "Certificate is valid"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 #, fuzzy
 #, fuzzy
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Certificate is valid"
 msgstr "Certificate is valid"
@@ -274,7 +274,7 @@ msgstr ""
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -319,7 +319,7 @@ msgstr "Configurations"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Configure SSL"
 msgstr "Configure SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr ""
 msgstr ""
 
 
@@ -333,7 +333,7 @@ msgstr "Content"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU Status"
 msgstr "CPU Status"
 
 
@@ -375,6 +375,12 @@ msgstr ""
 msgid "Custom"
 msgid "Custom"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Dashboard"
 msgstr "Dashboard"
@@ -466,9 +472,9 @@ msgstr "Disabled"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Disable auto-renewal failed for %{name}"
 msgstr "Disable auto-renewal failed for %{name}"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Disabled"
 msgstr "Disabled"
 
 
@@ -479,7 +485,7 @@ msgstr "Disabled"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Disabled successfully"
 msgstr "Disabled successfully"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "Disk IO"
 msgstr "Disk IO"
 
 
@@ -660,9 +666,10 @@ msgstr "Enabled successfully"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Enable TLS"
 msgstr "Enable TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -682,11 +689,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 #, fuzzy
 #, fuzzy
 msgid "Environments"
 msgid "Environments"
 msgstr "Comments"
 msgstr "Comments"
@@ -913,7 +920,7 @@ msgstr ""
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "Leave blank for no change"
 msgstr "Leave blank for no change"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr ""
 msgstr ""
 
 
@@ -928,7 +935,7 @@ msgstr "Leave blank for no change"
 msgid "License"
 msgid "License"
 msgstr "License"
 msgstr "License"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr ""
 msgstr ""
 
 
@@ -942,8 +949,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "Load Averages:"
 msgstr "Load Averages:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 #, fuzzy
 #, fuzzy
 msgid "Local"
 msgid "Local"
 msgstr "Location"
 msgstr "Location"
@@ -973,7 +980,7 @@ msgstr "Login successful"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "Logout successful"
 msgstr "Logout successful"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -1019,6 +1026,7 @@ msgid "Managed Certificate"
 msgstr "Certificate is valid"
 msgstr "Certificate is valid"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "Memory"
 msgstr "Memory"
 
 
@@ -1030,12 +1038,12 @@ msgstr "Memory and Storage"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "Advance Mode"
 msgstr "Advance Mode"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #, fuzzy
 #, fuzzy
@@ -1065,7 +1073,7 @@ msgstr "Single Directive"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1077,19 +1085,19 @@ msgstr "Single Directive"
 msgid "Name"
 msgid "Name"
 msgstr "Name"
 msgstr "Name"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "Network"
 msgstr "Network"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Network Statistics"
 msgstr "Network Statistics"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Network Total Receive"
 msgstr "Network Total Receive"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Network Total Send"
 msgstr "Network Total Send"
 
 
@@ -1103,7 +1111,7 @@ msgstr ""
 msgid "Next"
 msgid "Next"
 msgstr "Next"
 msgstr "Next"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -1116,7 +1124,7 @@ msgstr ""
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Configuration Name"
 msgstr "Configuration Name"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 msgstr ""
 
 
@@ -1128,17 +1136,17 @@ msgstr ""
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 #, fuzzy
 #, fuzzy
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 #, fuzzy
 #, fuzzy
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1191,22 +1199,22 @@ msgstr "Certificate is valid"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr ""
 msgstr ""
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1225,14 +1233,14 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
 
 
@@ -1326,7 +1334,7 @@ msgstr ""
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr ""
 msgstr ""
 
 
@@ -1352,12 +1360,12 @@ msgid "Provider"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "Reads"
 msgstr "Reads"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "Receive"
 msgstr "Receive"
 
 
@@ -1374,7 +1382,7 @@ msgstr "Saved successfully"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr ""
 msgstr ""
 
 
@@ -1409,12 +1417,12 @@ msgstr "Install"
 msgid "Release Note"
 msgid "Release Note"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr ""
 msgstr ""
 
 
@@ -1462,11 +1470,11 @@ msgstr ""
 msgid "Reset"
 msgid "Reset"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr ""
 msgstr ""
 
 
@@ -1475,15 +1483,15 @@ msgstr ""
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "Advance Mode"
 msgstr "Advance Mode"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "Save"
 msgstr "Save"
 
 
@@ -1499,7 +1507,7 @@ msgstr "Save error %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 #, fuzzy
 #, fuzzy
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Saved successfully"
 msgstr "Saved successfully"
@@ -1515,24 +1523,24 @@ msgstr "Saved successfully"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "Send"
 msgstr "Send"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1542,6 +1550,11 @@ msgstr "Server error"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Server Info"
 msgstr "Server Info"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Server Info"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "server_name not found in directives"
 msgstr "server_name not found in directives"
@@ -1616,15 +1629,16 @@ msgstr "Enabled"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "Status"
 msgstr "Status"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "Storage"
 msgstr "Storage"
 
 
@@ -1637,7 +1651,8 @@ msgstr "Subject Name: %{name}"
 msgid "Success"
 msgid "Success"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
@@ -1688,6 +1703,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "Certificate Status"
 msgstr "Certificate Status"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1697,6 +1716,10 @@ msgstr "Certificate Status"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1708,9 +1731,12 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+msgid "The url is invalid"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+msgid "The url is invalid."
 msgstr ""
 msgstr ""
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1751,7 +1777,7 @@ msgid ""
 "continue?"
 "continue?"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1768,7 +1794,7 @@ msgstr ""
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1801,11 +1827,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Uptime:"
 msgstr "Uptime:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 #, fuzzy
 #, fuzzy
 msgid "User"
 msgid "User"
 msgstr "Username"
 msgstr "Username"
@@ -1861,7 +1887,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "Writes"
 msgstr "Writes"
 
 
@@ -1895,10 +1921,6 @@ msgstr ""
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "Enabled"
 #~ msgstr "Enabled"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Server Info"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Leave blank for no change"
 #~ msgstr "Leave blank for no change"

+ 112 - 85
app/src/language/es/app.po

@@ -23,7 +23,7 @@ msgid "Access Logs"
 msgstr "Registros de acceso"
 msgstr "Registros de acceso"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "Usuario"
 msgstr "Usuario"
@@ -31,7 +31,7 @@ msgstr "Usuario"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -76,7 +76,7 @@ msgstr "Adicional"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "Modo avanzado"
 msgstr "Modo avanzado"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr "URL Base de la API"
 msgstr "URL Base de la API"
 
 
@@ -85,11 +85,11 @@ msgstr "URL Base de la API"
 msgid "API Document"
 msgid "API Document"
 msgstr "Token de la API"
 msgstr "Token de la API"
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr "Proxy de la API"
 msgstr "Proxy de la API"
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr "Token de la API"
 msgstr "Token de la API"
 
 
@@ -102,7 +102,7 @@ msgstr "Arquitectura"
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "¿Está seguro de que desea borrar todas las notificaciones?"
 msgstr "¿Está seguro de que desea borrar todas las notificaciones?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "¿Está seguro de que desea borrar el registro del chat?"
 msgstr "¿Está seguro de que desea borrar el registro del chat?"
 
 
@@ -133,11 +133,11 @@ msgstr "¿Está seguro de que quiere borrar esta directiva?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "¿Está seguro de que quiere borrar esta ubicación?"
 msgstr "¿Está seguro de que quiere borrar esta ubicación?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "Preguntar por ayuda a ChatGPT"
 msgstr "Preguntar por ayuda a ChatGPT"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "Asistente"
 msgstr "Asistente"
 
 
@@ -146,7 +146,7 @@ msgstr "Asistente"
 msgid "Author"
 msgid "Author"
 msgstr "Autor"
 msgstr "Autor"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "Certificado automático"
 msgstr "Certificado automático"
 
 
@@ -179,7 +179,7 @@ msgstr "Información general"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr "Básico"
 msgstr "Básico"
@@ -205,10 +205,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr "Directorio CA"
 msgstr "Directorio CA"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -250,8 +250,8 @@ msgstr "Lista de Certificados"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "Método de desafío"
 msgstr "Método de desafío"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Cambiar Certificado"
 msgstr "Cambiar Certificado"
 
 
@@ -267,7 +267,7 @@ msgstr "Intentar nuevamente"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "Borrar las variables de entorno"
 msgstr "Borrar las variables de entorno"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -310,7 +310,7 @@ msgstr "Configuraciones"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Configurar SSL"
 msgstr "Configurar SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "Conectado"
 msgstr "Conectado"
 
 
@@ -324,7 +324,7 @@ msgstr "Contenido"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "Actualización del kernel"
 msgstr "Actualización del kernel"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Estado del CPU"
 msgstr "Estado del CPU"
 
 
@@ -365,6 +365,12 @@ msgstr "Versión actual"
 msgid "Custom"
 msgid "Custom"
 msgstr "Personalizado"
 msgstr "Personalizado"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Panel"
 msgstr "Panel"
@@ -452,9 +458,9 @@ msgstr "Desactivar"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "No se pudo desactivar la renovación automática por %{name}"
 msgstr "No se pudo desactivar la renovación automática por %{name}"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Desactivado"
 msgstr "Desactivado"
 
 
@@ -465,7 +471,7 @@ msgstr "Desactivado"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Desactivado con éxito"
 msgstr "Desactivado con éxito"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "I/O del disco"
 msgstr "I/O del disco"
 
 
@@ -633,9 +639,10 @@ msgstr "Habilitado con Éxito"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Habilitar TLS"
 msgstr "Habilitar TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -655,11 +662,11 @@ msgstr "Habilitado con éxito"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "Encriptar sitio web con Let's Encrypt"
 msgstr "Encriptar sitio web con Let's Encrypt"
 
 
-#: src/routes/index.ts:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "Entorno"
 msgstr "Entorno"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 msgid "Environments"
 msgid "Environments"
 msgstr "Entornos"
 msgstr "Entornos"
 
 
@@ -876,7 +883,7 @@ msgstr "Comprobado por última vez el"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "Para no modificar dejar en blanco"
 msgstr "Para no modificar dejar en blanco"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Dejar en blanco para el valor predeterminado: https://api.openai.com/"
 msgstr "Dejar en blanco para el valor predeterminado: https://api.openai.com/"
 
 
@@ -889,7 +896,7 @@ msgstr "Dejarlo en blanco no cambiará nada"
 msgid "License"
 msgid "License"
 msgstr "Licencia"
 msgstr "Licencia"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr "Iniciar conexión"
 msgstr "Iniciar conexión"
 
 
@@ -902,8 +909,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "Promedios de carga:"
 msgstr "Promedios de carga:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 msgid "Local"
 msgid "Local"
 msgstr "Local"
 msgstr "Local"
 
 
@@ -931,7 +938,7 @@ msgstr "Acceso exitoso"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "Cierre de sesión exitoso"
 msgstr "Cierre de sesión exitoso"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -974,6 +981,7 @@ msgid "Managed Certificate"
 msgstr "Certificado Administrado"
 msgstr "Certificado Administrado"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "Memoria"
 msgstr "Memoria"
 
 
@@ -985,12 +993,12 @@ msgstr "Memoria y almacenamiento"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "Modo de ejecución"
 msgstr "Modo de ejecución"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 msgid "Modify"
 msgid "Modify"
@@ -1017,7 +1025,7 @@ msgstr "Directiva multilínea"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1029,19 +1037,19 @@ msgstr "Directiva multilínea"
 msgid "Name"
 msgid "Name"
 msgstr "Nombre"
 msgstr "Nombre"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "Red"
 msgstr "Red"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Estadísticas de red"
 msgstr "Estadísticas de red"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Total recibido por la red"
 msgstr "Total recibido por la red"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Total enviado por la red"
 msgstr "Total enviado por la red"
 
 
@@ -1055,7 +1063,7 @@ msgstr "Se liberó una nueva versión"
 msgid "Next"
 msgid "Next"
 msgstr "Siguiente"
 msgstr "Siguiente"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -1067,7 +1075,7 @@ msgstr "Ruta de registro de acceso de Nginx"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Error de análisis de configuración de Nginx"
 msgstr "Error de análisis de configuración de Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Control de Nginx"
 msgstr "Control de Nginx"
 
 
@@ -1079,15 +1087,15 @@ msgstr "Ruta de registro de errores de Nginx"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Registro Nginx"
 msgstr "Registro Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx recargado con éxito"
 msgstr "Nginx recargado con éxito"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx reiniciado con éxito"
 msgstr "Nginx reiniciado con éxito"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1137,22 +1145,22 @@ msgstr "Obtener certificado"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "Obteniendo certificado"
 msgstr "Obteniendo certificado"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr "Desconectado"
 msgstr "Desconectado"
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1171,14 +1179,14 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Una vez que se complete la verificación, los registros se eliminarán."
 msgstr "Una vez que se complete la verificación, los registros se eliminarán."
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr "En línea"
 msgstr "En línea"
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
 
 
@@ -1280,7 +1288,7 @@ msgstr "¡Seleccione al menos un nodo!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr "Prelanzamiento"
 msgstr "Prelanzamiento"
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "Configuración"
 msgstr "Configuración"
 
 
@@ -1305,12 +1313,12 @@ msgid "Provider"
 msgstr "Proveedor"
 msgstr "Proveedor"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "Lecturas"
 msgstr "Lecturas"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "Recibido"
 msgstr "Recibido"
 
 
@@ -1327,7 +1335,7 @@ msgstr "Eliminado con éxito"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "Regenerar respuesta"
 msgstr "Regenerar respuesta"
 
 
@@ -1363,12 +1371,12 @@ msgstr "Reinstalar"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "Nota de versión"
 msgstr "Nota de versión"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "Recargar"
 msgstr "Recargar"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "Recargando"
 msgstr "Recargando"
 
 
@@ -1410,11 +1418,11 @@ msgstr "Pedido con parámetros incorrectos"
 msgid "Reset"
 msgid "Reset"
 msgstr "Limpiar"
 msgstr "Limpiar"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "Reiniciar"
 msgstr "Reiniciar"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "Reiniciando"
 msgstr "Reiniciando"
 
 
@@ -1422,15 +1430,15 @@ msgstr "Reiniciando"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "Modo de ejecución"
 msgstr "Modo de ejecución"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "Corriendo"
 msgstr "Corriendo"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "Guardar"
 msgstr "Guardar"
 
 
@@ -1446,7 +1454,7 @@ msgstr "Error al guardar %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Guardado con éxito"
 msgstr "Guardado con éxito"
 
 
@@ -1461,24 +1469,24 @@ msgstr "Guardado con éxito"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "Selector"
 msgstr "Selector"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "Enviado"
 msgstr "Enviado"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1488,6 +1496,11 @@ msgstr "Error del servidor"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Información del servidor"
 msgstr "Información del servidor"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Información del servidor"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "No se encuentra server_name en las directivas"
 msgstr "No se encuentra server_name en las directivas"
@@ -1555,15 +1568,16 @@ msgstr "Estable"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "Estado"
 msgstr "Estado"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "Detenido"
 msgstr "Detenido"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "Almacenamiento"
 msgstr "Almacenamiento"
 
 
@@ -1575,7 +1589,8 @@ msgstr "Nombre del asunto: %{subject}"
 msgid "Success"
 msgid "Success"
 msgstr "Éxito"
 msgstr "Éxito"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
@@ -1625,6 +1640,10 @@ msgstr "La entrada no es un Certificado SSL"
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "La entrada no es una clave de certificado SSL"
 msgstr "La entrada no es una clave de certificado SSL"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1634,6 +1653,10 @@ msgstr "La ruta existe, pero el archivo no es una clave privada"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr "La ruta existe, pero el archivo no es una clave privada"
 msgstr "La ruta existe, pero el archivo no es una clave privada"
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 msgid ""
 msgid ""
 "The server_name in the current configuration must be the domain name you "
 "The server_name in the current configuration must be the domain name you "
@@ -1644,9 +1667,14 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+#, fuzzy
+msgid "The url is invalid"
+msgstr "La URL no es válida"
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+#, fuzzy
+msgid "The url is invalid."
 msgstr "La URL no es válida"
 msgstr "La URL no es válida"
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1691,7 +1719,7 @@ msgstr ""
 "de la autoridad al backend, y debemos guardar este archivo y volver a cargar "
 "de la autoridad al backend, y debemos guardar este archivo y volver a cargar "
 "Nginx. ¿Estás seguro de que quieres continuar?"
 "Nginx. ¿Estás seguro de que quieres continuar?"
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "El token no es válido"
 msgstr "El token no es válido"
 
 
@@ -1708,7 +1736,7 @@ msgstr "Tipo"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1739,11 +1767,11 @@ msgstr "Nombre de la Transmisión"
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Tiempo encendido:"
 msgstr "Tiempo encendido:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr "URL"
 msgstr "URL"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "User"
 msgid "User"
 msgstr "Usuario"
 msgstr "Usuario"
 
 
@@ -1802,7 +1830,7 @@ msgstr ""
 "recargaremos Nginx. ¿Estás seguro de que quieres continuar?"
 "recargaremos Nginx. ¿Estás seguro de que quieres continuar?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "Escrituras"
 msgstr "Escrituras"
 
 
@@ -1828,6 +1856,9 @@ msgstr "Estás usando la última versión"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "Puede consultar la actualización de Nginx UI en esta página."
 msgstr "Puede consultar la actualización de Nginx UI en esta página."
 
 
+#~ msgid "The url is not valid"
+#~ msgstr "La URL no es válida"
+
 #~ msgid "ChatGPT Model"
 #~ msgid "ChatGPT Model"
 #~ msgstr "Modelo de ChatGPT"
 #~ msgstr "Modelo de ChatGPT"
 
 
@@ -1852,10 +1883,6 @@ msgstr "Puede consultar la actualización de Nginx UI en esta página."
 #~ msgid "The path exists, but the file is not a public key"
 #~ msgid "The path exists, but the file is not a public key"
 #~ msgstr "La ruta existe, pero el archivo no es una clave pública"
 #~ msgstr "La ruta existe, pero el archivo no es una clave pública"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Información del servidor"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Para no modificar dejar en blanco"
 #~ msgstr "Para no modificar dejar en blanco"

+ 107 - 85
app/src/language/fr_FR/app.po

@@ -20,7 +20,7 @@ msgid "Access Logs"
 msgstr "Journaux d'accès"
 msgstr "Journaux d'accès"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "Nom d'utilisateur"
 msgstr "Nom d'utilisateur"
@@ -28,7 +28,7 @@ msgstr "Nom d'utilisateur"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -76,7 +76,7 @@ msgstr "Supplémentaire"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "Mode avancé"
 msgstr "Mode avancé"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr "URL de base de l'API"
 msgstr "URL de base de l'API"
 
 
@@ -85,11 +85,11 @@ msgstr "URL de base de l'API"
 msgid "API Document"
 msgid "API Document"
 msgstr "Jeton d'API"
 msgstr "Jeton d'API"
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr "Proxy d'API"
 msgstr "Proxy d'API"
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr "Jeton d'API"
 msgstr "Jeton d'API"
 
 
@@ -104,7 +104,7 @@ msgstr "Arch"
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
 msgstr "Voulez-vous vraiment effacer l'historique du chat ?"
 
 
@@ -135,12 +135,12 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Voulez-vous vraiment supprimer cette localisation ?"
 msgstr "Voulez-vous vraiment supprimer cette localisation ?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 #, fuzzy
 #, fuzzy
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "Modèle ChatGPT"
 msgstr "Modèle ChatGPT"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr ""
 msgstr ""
 
 
@@ -149,7 +149,7 @@ msgstr ""
 msgid "Author"
 msgid "Author"
 msgstr "Autheur"
 msgstr "Autheur"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "Auto Cert"
 msgstr "Auto Cert"
 
 
@@ -182,7 +182,7 @@ msgstr "Information générale"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr "Basique"
 msgstr "Basique"
@@ -209,10 +209,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -256,8 +256,8 @@ msgstr "Liste des certifications"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "Méthode de challenge"
 msgstr "Méthode de challenge"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Changer de certificat"
 msgstr "Changer de certificat"
 
 
@@ -273,7 +273,7 @@ msgstr "Revérifier"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "Nettoyage des variables d'environnement"
 msgstr "Nettoyage des variables d'environnement"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -317,7 +317,7 @@ msgstr "Configurations"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Configurer SSL"
 msgstr "Configurer SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr ""
 msgstr ""
 
 
@@ -331,7 +331,7 @@ msgstr "Contenu"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "Mise à jour du core"
 msgstr "Mise à jour du core"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "État du processeur"
 msgstr "État du processeur"
 
 
@@ -373,6 +373,12 @@ msgstr "Version actuelle"
 msgid "Custom"
 msgid "Custom"
 msgstr "Custom"
 msgstr "Custom"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Dashboard"
 msgstr "Dashboard"
@@ -465,9 +471,9 @@ msgstr "Désactivé"
 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/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Désactivé"
 msgstr "Désactivé"
 
 
@@ -478,7 +484,7 @@ msgstr "Désactivé"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Désactivé avec succès"
 msgstr "Désactivé avec succès"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "E/S disque"
 msgstr "E/S disque"
 
 
@@ -658,9 +664,10 @@ msgstr "Activé avec succès"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Activer TLS"
 msgstr "Activer TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -680,11 +687,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 #, fuzzy
 #, fuzzy
 msgid "Environments"
 msgid "Environments"
 msgstr "Commentaires"
 msgstr "Commentaires"
@@ -910,7 +917,7 @@ msgstr "Dernière vérification le"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "Laisser vide pour aucun changement"
 msgstr "Laisser vide pour aucun changement"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Laissez vide pour la valeur par défaut : https://api.openai.com/"
 msgstr "Laissez vide pour la valeur par défaut : https://api.openai.com/"
 
 
@@ -925,7 +932,7 @@ msgstr "Laisser vide pour aucun changement"
 msgid "License"
 msgid "License"
 msgstr "Licence"
 msgstr "Licence"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr ""
 msgstr ""
 
 
@@ -939,8 +946,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "Charges moyennes :"
 msgstr "Charges moyennes :"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 #, fuzzy
 #, fuzzy
 msgid "Local"
 msgid "Local"
 msgstr "Localisation"
 msgstr "Localisation"
@@ -972,7 +979,7 @@ msgstr "Connexion réussie"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "Déconnexion réussie"
 msgstr "Déconnexion réussie"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -1018,6 +1025,7 @@ msgid "Managed Certificate"
 msgstr "Changer de certificat"
 msgstr "Changer de certificat"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "Mémoire"
 msgstr "Mémoire"
 
 
@@ -1029,12 +1037,12 @@ msgstr "Mémoire et stockage"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "Mode d'exécution"
 msgstr "Mode d'exécution"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 msgid "Modify"
 msgid "Modify"
@@ -1062,7 +1070,7 @@ msgstr "Directive multiligne"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1074,19 +1082,19 @@ msgstr "Directive multiligne"
 msgid "Name"
 msgid "Name"
 msgstr "Nom"
 msgstr "Nom"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "Réseau"
 msgstr "Réseau"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Statistiques du réseau"
 msgstr "Statistiques du réseau"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 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/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Envoi total réseau"
 msgstr "Envoi total réseau"
 
 
@@ -1100,7 +1108,7 @@ msgstr "Nouvelle version publiée"
 msgid "Next"
 msgid "Next"
 msgstr "Suivant"
 msgstr "Suivant"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 #, fuzzy
 #, fuzzy
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Journal Nginx"
 msgstr "Journal Nginx"
@@ -1113,7 +1121,7 @@ msgstr "Chemin du journal d'accès Nginx"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Erreur d'analyse de configuration Nginx"
 msgstr "Erreur d'analyse de configuration Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Contrôle Nginx"
 msgstr "Contrôle Nginx"
 
 
@@ -1125,15 +1133,15 @@ msgstr "Chemin du journal des erreurs Nginx"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Journal Nginx"
 msgstr "Journal Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx a été rechargé avec succès"
 msgstr "Nginx a été rechargé avec succès"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx a redémarré avec succès"
 msgstr "Nginx a redémarré avec succès"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1186,22 +1194,22 @@ msgstr "Obtenir un certificat"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "Obtention du certificat"
 msgstr "Obtention du certificat"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr ""
 msgstr ""
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1220,14 +1228,14 @@ msgstr "OK"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
 
 
@@ -1327,7 +1335,7 @@ msgstr ""
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "Préférence"
 msgstr "Préférence"
 
 
@@ -1353,13 +1361,13 @@ msgid "Provider"
 msgstr "Fournisseur"
 msgstr "Fournisseur"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 #, fuzzy
 #, fuzzy
 msgid "Reads"
 msgid "Reads"
 msgstr "Lectures"
 msgstr "Lectures"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 #, fuzzy
 #, fuzzy
 msgid "Receive"
 msgid "Receive"
 msgstr "Recevoir"
 msgstr "Recevoir"
@@ -1377,7 +1385,7 @@ msgstr "Enregistré avec succès"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "Régénérer la réponse"
 msgstr "Régénérer la réponse"
 
 
@@ -1413,12 +1421,12 @@ msgstr "Réinstaller"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "Note de version"
 msgstr "Note de version"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "Recharger"
 msgstr "Recharger"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "Rechargement"
 msgstr "Rechargement"
 
 
@@ -1466,11 +1474,11 @@ msgstr ""
 msgid "Reset"
 msgid "Reset"
 msgstr "Réinitialiser"
 msgstr "Réinitialiser"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "Redémarrer"
 msgstr "Redémarrer"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "Redémarrage"
 msgstr "Redémarrage"
 
 
@@ -1478,15 +1486,15 @@ msgstr "Redémarrage"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "Mode d'exécution"
 msgstr "Mode d'exécution"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "En cours d'éxécution"
 msgstr "En cours d'éxécution"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "Enregistrer"
 msgstr "Enregistrer"
 
 
@@ -1502,7 +1510,7 @@ msgstr "Enregistrer l'erreur %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Sauvegarde réussie"
 msgstr "Sauvegarde réussie"
 
 
@@ -1517,24 +1525,24 @@ msgstr "Enregistré avec succès"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "Sélecteur"
 msgstr "Sélecteur"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "Envoyer"
 msgstr "Envoyer"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1544,6 +1552,11 @@ msgstr "Erreur du serveur"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Informations sur le serveur"
 msgstr "Informations sur le serveur"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Informations sur le serveur"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 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"
@@ -1617,15 +1630,16 @@ msgstr "Tableau"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "Statut"
 msgstr "Statut"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "Arrêté"
 msgstr "Arrêté"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "Stockage"
 msgstr "Stockage"
 
 
@@ -1638,7 +1652,8 @@ msgstr "Nom du sujet : %{name}"
 msgid "Success"
 msgid "Success"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 #, fuzzy
 #, fuzzy
 msgid "Swap"
 msgid "Swap"
 msgstr "Échanger"
 msgstr "Échanger"
@@ -1690,6 +1705,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "Chemin de la clé du certificat SSL"
 msgstr "Chemin de la clé du certificat SSL"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1699,6 +1718,10 @@ msgstr "Chemin de la clé du certificat SSL"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1711,9 +1734,12 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+msgid "The url is invalid"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+msgid "The url is invalid."
 msgstr ""
 msgstr ""
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1761,7 +1787,7 @@ 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/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1778,7 +1804,7 @@ msgstr "Type"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1809,11 +1835,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Disponibilité :"
 msgstr "Disponibilité :"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 #, fuzzy
 #, fuzzy
 msgid "User"
 msgid "User"
 msgstr "Nom d'utilisateur"
 msgstr "Nom d'utilisateur"
@@ -1871,7 +1897,7 @@ msgstr ""
 "recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 "recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "Écritures"
 msgstr "Écritures"
 
 
@@ -1919,10 +1945,6 @@ msgstr "Vous pouvez vérifier la mise à niveau de Nginx UI sur cette page."
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "Tableau"
 #~ msgstr "Tableau"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Informations sur le serveur"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Laisser vide pour aucun changement"
 #~ msgstr "Laisser vide pour aucun changement"

+ 112 - 85
app/src/language/ko_KR/app.po

@@ -22,7 +22,7 @@ msgid "Access Logs"
 msgstr "접근 로그"
 msgstr "접근 로그"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "사용자 이름"
 msgstr "사용자 이름"
@@ -30,7 +30,7 @@ msgstr "사용자 이름"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -75,7 +75,7 @@ msgstr "추가적인"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "고급 모드"
 msgstr "고급 모드"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr "API 기본 URL"
 msgstr "API 기본 URL"
 
 
@@ -84,11 +84,11 @@ msgstr "API 기본 URL"
 msgid "API Document"
 msgid "API Document"
 msgstr "API 토큰"
 msgstr "API 토큰"
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr "API 프록시"
 msgstr "API 프록시"
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr "API 토큰"
 msgstr "API 토큰"
 
 
@@ -101,7 +101,7 @@ msgstr "아키텍처"
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "모든 알림을 지우시겠습니까?"
 msgstr "모든 알림을 지우시겠습니까?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "기록을 지우시겠습니까?"
 msgstr "기록을 지우시겠습니까?"
 
 
@@ -132,11 +132,11 @@ msgstr "이 지시문을 정말로 제거하시겠습니까?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "이 위치를 제거하시겠습니까?"
 msgstr "이 위치를 제거하시겠습니까?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "ChatGPT에게 도움 요청"
 msgstr "ChatGPT에게 도움 요청"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "조수"
 msgstr "조수"
 
 
@@ -145,7 +145,7 @@ msgstr "조수"
 msgid "Author"
 msgid "Author"
 msgstr "저자"
 msgstr "저자"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "자동 인증"
 msgstr "자동 인증"
 
 
@@ -178,7 +178,7 @@ msgstr "기본 정보"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr "기본"
 msgstr "기본"
@@ -204,10 +204,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr "CA 디렉토리"
 msgstr "CA 디렉토리"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -249,8 +249,8 @@ msgstr "인증서 목록"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "인증 방법"
 msgstr "인증 방법"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "인증서 변경"
 msgstr "인증서 변경"
 
 
@@ -266,7 +266,7 @@ msgstr "다시 확인"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "환경 변수 정리"
 msgstr "환경 변수 정리"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -308,7 +308,7 @@ msgstr "구성들"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "SSL 구성하기"
 msgstr "SSL 구성하기"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "연결됨"
 msgstr "연결됨"
 
 
@@ -322,7 +322,7 @@ msgstr "내용"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "코어 업그레이드"
 msgstr "코어 업그레이드"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU 상태"
 msgstr "CPU 상태"
 
 
@@ -363,6 +363,12 @@ msgstr "현재 버전"
 msgid "Custom"
 msgid "Custom"
 msgstr "사용자 정의"
 msgstr "사용자 정의"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "대시보드"
 msgstr "대시보드"
@@ -450,9 +456,9 @@ msgstr "비활성화"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "%{name}의 자동 갱신 비활성화 실패"
 msgstr "%{name}의 자동 갱신 비활성화 실패"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "비활성화됨"
 msgstr "비활성화됨"
 
 
@@ -463,7 +469,7 @@ msgstr "비활성화됨"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "성공적으로 비활성화됨"
 msgstr "성공적으로 비활성화됨"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "디스크 IO"
 msgstr "디스크 IO"
 
 
@@ -631,9 +637,10 @@ msgstr "성공적으로 활성화"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "TLS 활성화"
 msgstr "TLS 활성화"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -653,11 +660,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "환경"
 msgstr "환경"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 msgid "Environments"
 msgid "Environments"
 msgstr "환경"
 msgstr "환경"
 
 
@@ -883,7 +890,7 @@ msgstr "마지막 확인 시간"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "변경사항이 없으면 비워두세요"
 msgstr "변경사항이 없으면 비워두세요"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "기본값을 사용하려면 비워 두세요: https://api.openai.com/"
 msgstr "기본값을 사용하려면 비워 두세요: https://api.openai.com/"
 
 
@@ -898,7 +905,7 @@ msgstr "변경사항이 없으면 비워두세요"
 msgid "License"
 msgid "License"
 msgstr "라이센스"
 msgstr "라이센스"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr "링크 시작"
 msgstr "링크 시작"
 
 
@@ -912,8 +919,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "부하 평균:"
 msgstr "부하 평균:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 #, fuzzy
 #, fuzzy
 msgid "Local"
 msgid "Local"
 msgstr "지역"
 msgstr "지역"
@@ -943,7 +950,7 @@ msgstr "로그인 성공"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "로그아웃 성공"
 msgstr "로그아웃 성공"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr "로그관리"
 msgstr "로그관리"
 
 
@@ -994,6 +1001,7 @@ msgid "Managed Certificate"
 msgstr "인증서 유효"
 msgstr "인증서 유효"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "메모리"
 msgstr "메모리"
 
 
@@ -1005,12 +1013,12 @@ msgstr "메모리 및 저장소"
 msgid "Minutes"
 msgid "Minutes"
 msgstr "분"
 msgstr "분"
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "실행 모드"
 msgstr "실행 모드"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #, fuzzy
 #, fuzzy
@@ -1040,7 +1048,7 @@ msgstr "단일 지시문"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1052,19 +1060,19 @@ msgstr "단일 지시문"
 msgid "Name"
 msgid "Name"
 msgstr "이름"
 msgstr "이름"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "네트워크"
 msgstr "네트워크"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "네트워크 통계"
 msgstr "네트워크 통계"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "네트워크 총 수신"
 msgstr "네트워크 총 수신"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "네트워크 총 송신"
 msgstr "네트워크 총 송신"
 
 
@@ -1078,7 +1086,7 @@ msgstr "새 버전 출시"
 msgid "Next"
 msgid "Next"
 msgstr "다음"
 msgstr "다음"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -1091,7 +1099,7 @@ msgstr "Nginx 접근 로그 경로"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Nginx 구성 오류름"
 msgstr "Nginx 구성 오류름"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx 제어"
 msgstr "Nginx 제어"
 
 
@@ -1103,17 +1111,17 @@ msgstr "Nginx 오류 로그 경로"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 로그"
 msgstr "Nginx 로그"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 #, fuzzy
 #, fuzzy
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx가 성공적으로 리로드됨"
 msgstr "Nginx가 성공적으로 리로드됨"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 #, fuzzy
 #, fuzzy
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx가 성공적으로 재시작됨"
 msgstr "Nginx가 성공적으로 재시작됨"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1166,22 +1174,22 @@ msgstr "인증서 획득"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "인증서 획득 중"
 msgstr "인증서 획득 중"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr "오프라인"
 msgstr "오프라인"
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1200,14 +1208,14 @@ msgstr "확인"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "검증이 완료되면, 레코드는 제거됩니다."
 msgstr "검증이 완료되면, 레코드는 제거됩니다."
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr "온라인"
 msgstr "온라인"
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "오픈AI"
 msgstr "오픈AI"
 
 
@@ -1303,7 +1311,7 @@ msgstr "적어도 하나의 노드를 선택해주세요!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr "사전 출시"
 msgstr "사전 출시"
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "환경설정"
 msgstr "환경설정"
 
 
@@ -1329,12 +1337,12 @@ msgid "Provider"
 msgstr "제공자"
 msgstr "제공자"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "읽기"
 msgstr "읽기"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "수신"
 msgstr "수신"
 
 
@@ -1351,7 +1359,7 @@ msgstr "성공적으로 제거됨"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "응답 재생성"
 msgstr "응답 재생성"
 
 
@@ -1388,12 +1396,12 @@ msgstr "재설치"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "릴리스 노트"
 msgstr "릴리스 노트"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "리로드"
 msgstr "리로드"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "리로딩 중"
 msgstr "리로딩 중"
 
 
@@ -1441,11 +1449,11 @@ msgstr "잘못된 매개변수로 요청됨"
 msgid "Reset"
 msgid "Reset"
 msgstr "재설정"
 msgstr "재설정"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "재시작"
 msgstr "재시작"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "재시작 중"
 msgstr "재시작 중"
 
 
@@ -1454,15 +1462,15 @@ msgstr "재시작 중"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "실행 모드"
 msgstr "실행 모드"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "실행 중"
 msgstr "실행 중"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "저장"
 msgstr "저장"
 
 
@@ -1478,7 +1486,7 @@ msgstr "저장 오류 %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 #, fuzzy
 #, fuzzy
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "성공적으로 저장됨"
 msgstr "성공적으로 저장됨"
@@ -1494,24 +1502,24 @@ msgstr "성공적으로 저장됨"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "선택"
 msgstr "선택"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "보내기"
 msgstr "보내기"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1521,6 +1529,11 @@ msgstr "서버 오류"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "서버 정보"
 msgstr "서버 정보"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Server Info"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "directives에서 server_name을 찾을 수 없습니다"
 msgstr "directives에서 server_name을 찾을 수 없습니다"
@@ -1594,15 +1607,16 @@ msgstr "활성화됨"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "상태"
 msgstr "상태"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "정지됨"
 msgstr "정지됨"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "저장소"
 msgstr "저장소"
 
 
@@ -1615,7 +1629,8 @@ msgstr "제목 이름: %{name}"
 msgid "Success"
 msgid "Success"
 msgstr "성공"
 msgstr "성공"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "스왑"
 msgstr "스왑"
 
 
@@ -1666,6 +1681,10 @@ msgstr "입력이 SSL 인증서가 아닙니다"
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "Certificate Status"
 msgstr "Certificate Status"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1675,6 +1694,10 @@ msgstr "Certificate Status"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr "경로는 존재하지만 파일은 개인 키가 아닙니다"
 msgstr "경로는 존재하지만 파일은 개인 키가 아닙니다"
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1686,9 +1709,14 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+#, fuzzy
+msgid "The url is invalid"
+msgstr "유효한 URL이 아닙니다"
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+#, fuzzy
+msgid "The url is invalid."
 msgstr "유효한 URL이 아닙니다"
 msgstr "유효한 URL이 아닙니다"
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1732,7 +1760,7 @@ msgstr ""
 "시할 수 있는 위치를 추가해야 하며,이 파일을 저장하고 Nginx를 다시로드해야 합"
 "시할 수 있는 위치를 추가해야 하며,이 파일을 저장하고 Nginx를 다시로드해야 합"
 "니다.계속하시겠습니까?"
 "니다.계속하시겠습니까?"
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "토큰이 유효하지 않습니다"
 msgstr "토큰이 유효하지 않습니다"
 
 
@@ -1749,7 +1777,7 @@ msgstr "유형"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1782,11 +1810,11 @@ msgstr "업스트림 이름"
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "가동 시간:"
 msgstr "가동 시간:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr "URL"
 msgstr "URL"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 #, fuzzy
 #, fuzzy
 msgid "User"
 msgid "User"
 msgstr "사용자 이름"
 msgstr "사용자 이름"
@@ -1847,7 +1875,7 @@ msgstr ""
 "속하시겠습니까?"
 "속하시겠습니까?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "쓰기"
 msgstr "쓰기"
 
 
@@ -1873,6 +1901,9 @@ msgstr "최신 버전을 사용하고 있습니다"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "이 페이지에서 Nginx UI 업그레이드를 확인할 수 있습니다."
 msgstr "이 페이지에서 Nginx UI 업그레이드를 확인할 수 있습니다."
 
 
+#~ msgid "The url is not valid"
+#~ msgstr "유효한 URL이 아닙니다"
+
 #~ msgid "ChatGPT Model"
 #~ msgid "ChatGPT Model"
 #~ msgstr "ChatGPT 모델"
 #~ msgstr "ChatGPT 모델"
 
 
@@ -1896,10 +1927,6 @@ msgstr "이 페이지에서 Nginx UI 업그레이드를 확인할 수 있습니
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "활성화됨"
 #~ msgstr "활성화됨"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Server Info"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Leave blank for no change"
 #~ msgstr "Leave blank for no change"

+ 103 - 79
app/src/language/messages.pot

@@ -13,7 +13,7 @@ msgstr ""
 
 
 #: src/routes/index.ts:128
 #: src/routes/index.ts:128
 #: src/views/certificate/ACMEUser.vue:76
 #: src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 msgid "ACME User"
 msgid "ACME User"
 msgstr ""
 msgstr ""
 
 
@@ -22,7 +22,7 @@ msgstr ""
 #: src/views/certificate/DNSCredential.vue:29
 #: src/views/certificate/DNSCredential.vue:29
 #: src/views/config/config.ts:34
 #: src/views/config/config.ts:34
 #: src/views/domain/DomainList.vue:47
 #: src/views/domain/DomainList.vue:47
-#: src/views/environment/Environment.vue:102
+#: src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47
 #: src/views/stream/StreamList.vue:47
 #: src/views/user/User.vue:43
 #: src/views/user/User.vue:43
@@ -70,7 +70,7 @@ msgstr ""
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr ""
 msgstr ""
 
 
@@ -78,11 +78,11 @@ msgstr ""
 msgid "API Document"
 msgid "API Document"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr ""
 msgstr ""
 
 
@@ -95,7 +95,7 @@ msgstr ""
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr ""
 msgstr ""
 
 
@@ -124,11 +124,11 @@ msgstr ""
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr ""
 msgstr ""
 
 
@@ -137,7 +137,7 @@ msgstr ""
 msgid "Author"
 msgid "Author"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr ""
 msgstr ""
 
 
@@ -172,7 +172,7 @@ msgstr ""
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr ""
 msgstr ""
@@ -199,10 +199,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -244,8 +244,8 @@ msgstr ""
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr ""
 msgstr ""
 
 
@@ -261,7 +261,7 @@ msgstr ""
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -303,7 +303,7 @@ msgstr ""
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr ""
 msgstr ""
 
 
@@ -317,7 +317,7 @@ msgstr ""
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr ""
 msgstr ""
 
 
@@ -359,6 +359,10 @@ msgstr ""
 msgid "Custom"
 msgid "Custom"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid "Customize the name of local server to be displayed in the environment indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr ""
 msgstr ""
@@ -447,9 +451,10 @@ msgstr ""
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:45
+#: src/views/domain/cert/ChangeCert.vue:44
 #: src/views/domain/DomainEdit.vue:185
 #: src/views/domain/DomainEdit.vue:185
 #: src/views/domain/DomainList.vue:33
 #: src/views/domain/DomainList.vue:33
+#: src/views/environment/Environment.vue:93
 #: src/views/stream/StreamEdit.vue:177
 #: src/views/stream/StreamEdit.vue:177
 #: src/views/stream/StreamList.vue:33
 #: src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
@@ -462,7 +467,7 @@ msgstr ""
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr ""
 msgstr ""
 
 
@@ -630,10 +635,11 @@ msgstr ""
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr ""
 msgstr ""
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179
 #: src/views/domain/DomainEdit.vue:179
 #: src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171
 #: src/views/stream/StreamEdit.vue:171
@@ -656,11 +662,11 @@ msgid "Encrypt website with Let's Encrypt"
 msgstr ""
 msgstr ""
 
 
 #: src/routes/index.ts:212
 #: src/routes/index.ts:212
-#: src/views/environment/Environment.vue:110
+#: src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 msgid "Environments"
 msgid "Environments"
 msgstr ""
 msgstr ""
 
 
@@ -879,7 +885,7 @@ msgstr ""
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr ""
 msgstr ""
 
 
@@ -892,7 +898,7 @@ msgstr ""
 msgid "License"
 msgid "License"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr ""
 msgstr ""
 
 
@@ -905,8 +911,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr ""
 msgstr ""
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 msgid "Local"
 msgid "Local"
 msgstr ""
 msgstr ""
 
 
@@ -936,7 +942,7 @@ msgstr ""
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -972,6 +978,7 @@ msgid "Managed Certificate"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr ""
 msgstr ""
 
 
@@ -983,11 +990,11 @@ msgstr ""
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 msgid "Model"
 msgid "Model"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 msgid "Modify"
 msgid "Modify"
@@ -1015,7 +1022,7 @@ msgstr ""
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10
 #: src/views/certificate/DNSCredential.vue:10
 #: src/views/config/config.ts:7
 #: src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1028,19 +1035,19 @@ msgstr ""
 msgid "Name"
 msgid "Name"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr ""
 msgstr ""
 
 
@@ -1054,7 +1061,7 @@ msgstr ""
 msgid "Next"
 msgid "Next"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -1067,7 +1074,7 @@ msgstr ""
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 msgstr ""
 
 
@@ -1080,15 +1087,15 @@ msgstr ""
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1139,22 +1146,22 @@ msgstr ""
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr ""
 msgstr ""
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1173,14 +1180,14 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
 
 
@@ -1271,7 +1278,7 @@ msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
 #: src/routes/index.ts:239
 #: src/routes/index.ts:239
-#: src/views/preference/Preference.vue:89
+#: src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr ""
 msgstr ""
 
 
@@ -1296,12 +1303,12 @@ msgid "Provider"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr ""
 msgstr ""
 
 
@@ -1317,7 +1324,7 @@ msgstr ""
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr ""
 msgstr ""
 
 
@@ -1349,12 +1356,12 @@ msgstr ""
 msgid "Release Note"
 msgid "Release Note"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr ""
 msgstr ""
 
 
@@ -1396,11 +1403,11 @@ msgstr ""
 msgid "Reset"
 msgid "Reset"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr ""
 msgstr ""
 
 
@@ -1408,16 +1415,16 @@ msgstr ""
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96
 #: src/views/config/ConfigEdit.vue:96
 #: src/views/domain/DomainEdit.vue:263
 #: src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123
+#: src/views/preference/Preference.vue:130
 #: src/views/stream/StreamEdit.vue:254
 #: src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr ""
 msgstr ""
@@ -1435,7 +1442,7 @@ msgstr ""
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr ""
 msgstr ""
 
 
@@ -1451,17 +1458,17 @@ msgstr ""
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
@@ -1470,7 +1477,7 @@ msgstr ""
 #: src/views/config/ConfigEdit.vue:40
 #: src/views/config/ConfigEdit.vue:40
 #: src/views/domain/DomainList.vue:81
 #: src/views/domain/DomainList.vue:81
 #: src/views/other/Install.vue:70
 #: src/views/other/Install.vue:70
-#: src/views/preference/Preference.vue:63
+#: src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113
 #: src/views/stream/StreamList.vue:113
 #: src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
@@ -1481,6 +1488,10 @@ msgstr ""
 msgid "Server Info"
 msgid "Server Info"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:117
+msgid "Server Name"
+msgstr ""
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr ""
 msgstr ""
@@ -1548,16 +1559,17 @@ msgstr ""
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83
 #: src/views/certificate/Certificate.vue:83
 #: src/views/domain/DomainList.vue:22
 #: src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75
+#: src/views/environment/Environment.vue:76
 #: src/views/stream/StreamList.vue:22
 #: src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr ""
 msgstr ""
 
 
@@ -1569,7 +1581,8 @@ msgstr ""
 msgid "Success"
 msgid "Success"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr ""
 msgstr ""
 
 
@@ -1615,6 +1628,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
 msgstr ""
 msgstr ""
@@ -1623,15 +1640,22 @@ msgstr ""
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
 msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
 msgstr ""
 msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+msgid "The url is invalid"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+msgid "The url is invalid."
 msgstr ""
 msgstr ""
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1668,7 +1692,7 @@ 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/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1688,7 +1712,7 @@ msgstr ""
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/DomainList.vue:41
 #: src/views/domain/DomainList.vue:41
-#: src/views/environment/Environment.vue:95
+#: src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41
 #: src/views/stream/StreamList.vue:41
 #: src/views/user/User.vue:37
 #: src/views/user/User.vue:37
@@ -1721,11 +1745,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr ""
 msgstr ""
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "User"
 msgid "User"
 msgstr ""
 msgstr ""
 
 
@@ -1776,7 +1800,7 @@ msgid "We will remove the HTTPChallenge configuration from this file and reload
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr ""
 msgstr ""
 
 

+ 112 - 85
app/src/language/ru_RU/app.po

@@ -18,7 +18,7 @@ msgid "Access Logs"
 msgstr "Журнал доступа"
 msgstr "Журнал доступа"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "Пользователь"
 msgstr "Пользователь"
@@ -26,7 +26,7 @@ msgstr "Пользователь"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -74,7 +74,7 @@ msgstr "Дополнительно"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "Расширенный режим"
 msgstr "Расширенный режим"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr ""
 msgstr ""
 
 
@@ -82,11 +82,11 @@ msgstr ""
 msgid "API Document"
 msgid "API Document"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr ""
 msgstr ""
 
 
@@ -100,7 +100,7 @@ msgstr ""
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "Вы уверены, что хотите удалить все уведомления?"
 msgstr "Вы уверены, что хотите удалить все уведомления?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "Вы уверены, что хотите очистить сообщения чата?"
 msgstr "Вы уверены, что хотите очистить сообщения чата?"
@@ -134,11 +134,11 @@ msgstr "Вы уверены, что хотите удалить эту дире
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Вы уверены, что хотите удалить эту директиву?"
 msgstr "Вы уверены, что хотите удалить эту директиву?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "Обратитесь за помощью к ChatGPT"
 msgstr "Обратитесь за помощью к ChatGPT"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "Ассистент"
 msgstr "Ассистент"
 
 
@@ -147,7 +147,7 @@ msgstr "Ассистент"
 msgid "Author"
 msgid "Author"
 msgstr "Автор"
 msgstr "Автор"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "Авто Сертификат"
 msgstr "Авто Сертификат"
 
 
@@ -181,7 +181,7 @@ msgstr "Основная информация"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 #, fuzzy
 #, fuzzy
 msgid "Basic"
 msgid "Basic"
@@ -209,10 +209,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -256,8 +256,8 @@ msgstr "Список"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "Метод Challenge"
 msgstr "Метод Challenge"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 #, fuzzy
 #, fuzzy
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Сертификат действителен"
 msgstr "Сертификат действителен"
@@ -274,7 +274,7 @@ msgstr "Проверить повторно"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "Очистка переменных среды"
 msgstr "Очистка переменных среды"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -319,7 +319,7 @@ msgstr "Конфигурации"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Настроить SSL"
 msgstr "Настроить SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "Подключено"
 msgstr "Подключено"
 
 
@@ -333,7 +333,7 @@ msgstr "Содержание"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "Обновление ядра"
 msgstr "Обновление ядра"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Нагрузка CPU"
 msgstr "Нагрузка CPU"
 
 
@@ -375,6 +375,12 @@ msgstr "Текущяя версия"
 msgid "Custom"
 msgid "Custom"
 msgstr "Пользовательский"
 msgstr "Пользовательский"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Доска"
 msgstr "Доска"
@@ -466,9 +472,9 @@ msgstr "Отключить"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Не удалось отключить автоматическое продление для %{name}"
 msgstr "Не удалось отключить автоматическое продление для %{name}"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Отключено"
 msgstr "Отключено"
 
 
@@ -479,7 +485,7 @@ msgstr "Отключено"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Отключено успешно"
 msgstr "Отключено успешно"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "Нагрузка на Диск IO"
 msgstr "Нагрузка на Диск IO"
 
 
@@ -662,9 +668,10 @@ msgstr "Активировано успешно"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Включить TLS"
 msgstr "Включить TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -684,11 +691,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "Окружение"
 msgstr "Окружение"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 #, fuzzy
 #, fuzzy
 msgid "Environments"
 msgid "Environments"
 msgstr "Комментарии"
 msgstr "Комментарии"
@@ -917,7 +924,7 @@ msgstr "Последняя проверка в"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "Оставьте пустым без изменений"
 msgstr "Оставьте пустым без изменений"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Оставьте пустым для значения по умолчанию: https://api.openai.com/"
 msgstr "Оставьте пустым для значения по умолчанию: https://api.openai.com/"
 
 
@@ -932,7 +939,7 @@ msgstr "Оставьте пустым без изменений"
 msgid "License"
 msgid "License"
 msgstr "Лицензия"
 msgstr "Лицензия"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr ""
 msgstr ""
 
 
@@ -946,8 +953,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "Средняя нагрузка:"
 msgstr "Средняя нагрузка:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 #, fuzzy
 #, fuzzy
 msgid "Local"
 msgid "Local"
 msgstr "Location"
 msgstr "Location"
@@ -977,7 +984,7 @@ msgstr "Авторизация успешна"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "Выход выполнен успешно"
 msgstr "Выход выполнен успешно"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -1023,6 +1030,7 @@ msgid "Managed Certificate"
 msgstr "Управление сертификатами"
 msgstr "Управление сертификатами"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "Память"
 msgstr "Память"
 
 
@@ -1034,12 +1042,12 @@ msgstr "Память и хранилище"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "Расширенный режим"
 msgstr "Расширенный режим"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #, fuzzy
 #, fuzzy
@@ -1069,7 +1077,7 @@ msgstr "Одиночная директива"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1081,19 +1089,19 @@ msgstr "Одиночная директива"
 msgid "Name"
 msgid "Name"
 msgstr "Имя"
 msgstr "Имя"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "Сеть"
 msgstr "Сеть"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Статистика сети"
 msgstr "Статистика сети"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Всего получено"
 msgstr "Всего получено"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Всего отправлено"
 msgstr "Всего отправлено"
 
 
@@ -1107,7 +1115,7 @@ msgstr "Вышла новая версия"
 msgid "Next"
 msgid "Next"
 msgstr "Дальше"
 msgstr "Дальше"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 #, fuzzy
 #, fuzzy
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Журнал"
 msgstr "Журнал"
@@ -1121,7 +1129,7 @@ msgstr "Путь для Nginx Access Log"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Ошибка синтаксического анализа конфигурации Nginx"
 msgstr "Ошибка синтаксического анализа конфигурации Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Управление Nginx"
 msgstr "Управление Nginx"
 
 
@@ -1133,17 +1141,17 @@ msgstr "Путь для Nginx Error Log"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Журнал"
 msgstr "Журнал"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 #, fuzzy
 #, fuzzy
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx перезагружен успешно"
 msgstr "Nginx перезагружен успешно"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 #, fuzzy
 #, fuzzy
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx успешно перезапущен"
 msgstr "Nginx успешно перезапущен"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1196,22 +1204,22 @@ msgstr "Получить сертификат"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "Получение сертификата"
 msgstr "Получение сертификата"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr ""
 msgstr ""
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1230,14 +1238,14 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
 
 
@@ -1333,7 +1341,7 @@ msgstr ""
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "Настройки"
 msgstr "Настройки"
 
 
@@ -1359,12 +1367,12 @@ msgid "Provider"
 msgstr "Провайдер"
 msgstr "Провайдер"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "Чтение"
 msgstr "Чтение"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "Принято"
 msgstr "Принято"
 
 
@@ -1381,7 +1389,7 @@ msgstr "Успешно сохранено"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "Восстановить ответ"
 msgstr "Восстановить ответ"
 
 
@@ -1418,12 +1426,12 @@ msgstr "Переустановить"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "Что нового"
 msgstr "Что нового"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "Перегрузить"
 msgstr "Перегрузить"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "Перезагружается"
 msgstr "Перезагружается"
 
 
@@ -1471,11 +1479,11 @@ msgstr "Запрос с неправильными параметрами"
 msgid "Reset"
 msgid "Reset"
 msgstr "Сброс"
 msgstr "Сброс"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "Перезапуск"
 msgstr "Перезапуск"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "Перезапускается"
 msgstr "Перезапускается"
 
 
@@ -1484,15 +1492,15 @@ msgstr "Перезапускается"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "Расширенный режим"
 msgstr "Расширенный режим"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "Выполняется"
 msgstr "Выполняется"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "Сохранить"
 msgstr "Сохранить"
 
 
@@ -1508,7 +1516,7 @@ msgstr "Ошибка сохранения %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 #, fuzzy
 #, fuzzy
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Успешно сохранено"
 msgstr "Успешно сохранено"
@@ -1524,24 +1532,24 @@ msgstr "Успешно сохранено"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "Выбор"
 msgstr "Выбор"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "Отправлено"
 msgstr "Отправлено"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1551,6 +1559,11 @@ msgstr "Ошибка сервера"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Информация о сервере"
 msgstr "Информация о сервере"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Информация о сервере"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "server_name не нашел в директивах"
 msgstr "server_name не нашел в директивах"
@@ -1625,15 +1638,16 @@ msgstr "Таблица"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "Статус"
 msgstr "Статус"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "Остановлен"
 msgstr "Остановлен"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "Хранилище"
 msgstr "Хранилище"
 
 
@@ -1646,7 +1660,8 @@ msgstr "Название темы: %{name}"
 msgid "Success"
 msgid "Success"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "Своп"
 msgstr "Своп"
 
 
@@ -1697,6 +1712,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "Путь к ключу сертификата SSL"
 msgstr "Путь к ключу сертификата SSL"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1706,6 +1725,10 @@ msgstr "Путь к ключу сертификата SSL"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr "Путь существует, но файл не является приватным ключом"
 msgstr "Путь существует, но файл не является приватным ключом"
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1717,9 +1740,14 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+#, fuzzy
+msgid "The url is invalid"
+msgstr "URL-адрес неверный"
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+#, fuzzy
+msgid "The url is invalid."
 msgstr "URL-адрес неверный"
 msgstr "URL-адрес неверный"
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1761,7 +1789,7 @@ msgid ""
 "continue?"
 "continue?"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1778,7 +1806,7 @@ msgstr "Тип"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1811,11 +1839,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Аптайм:"
 msgstr "Аптайм:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 #, fuzzy
 #, fuzzy
 msgid "User"
 msgid "User"
 msgstr "Пользователь"
 msgstr "Пользователь"
@@ -1873,7 +1901,7 @@ msgid ""
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "Запись"
 msgstr "Запись"
 
 
@@ -1899,6 +1927,9 @@ msgstr "Вы используете последнюю версию"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "Вы можете проверить обновление Nginx UI на этой странице."
 msgstr "Вы можете проверить обновление Nginx UI на этой странице."
 
 
+#~ msgid "The url is not valid"
+#~ msgstr "URL-адрес неверный"
+
 #, fuzzy
 #, fuzzy
 #~ msgid "Save Successfully"
 #~ msgid "Save Successfully"
 #~ msgstr "Успешно сохранено"
 #~ msgstr "Успешно сохранено"
@@ -1907,10 +1938,6 @@ msgstr "Вы можете проверить обновление Nginx UI на
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "Таблица"
 #~ msgstr "Таблица"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Информация о сервере"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Оставьте пустым без изменений"
 #~ msgstr "Оставьте пустым без изменений"

+ 107 - 85
app/src/language/vi_VN/app.po

@@ -18,7 +18,7 @@ msgid "Access Logs"
 msgstr "Log truy cập"
 msgstr "Log truy cập"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "Người dùng"
 msgstr "Người dùng"
@@ -26,7 +26,7 @@ msgstr "Người dùng"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -74,7 +74,7 @@ msgstr "Tùy chọn bổ sung"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "Nâng cao"
 msgstr "Nâng cao"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr ""
 msgstr ""
 
 
@@ -82,11 +82,11 @@ msgstr ""
 msgid "API Document"
 msgid "API Document"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr ""
 msgstr ""
 
 
@@ -100,7 +100,7 @@ msgstr ""
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không ?"
 msgstr "Bạn có chắc chắn muốn xóa tất cả thông báo không ?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 #, fuzzy
 #, fuzzy
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "Bạn có chắc chắn muốn xóa lịch sử trò chuyện không ?"
 msgstr "Bạn có chắc chắn muốn xóa lịch sử trò chuyện không ?"
@@ -134,11 +134,11 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "Bạn chắc chắn muốn xoá location này ?"
 msgstr "Bạn chắc chắn muốn xoá location này ?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "Hỏi ChatGPT"
 msgstr "Hỏi ChatGPT"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "Trợ lý"
 msgstr "Trợ lý"
 
 
@@ -147,7 +147,7 @@ msgstr "Trợ lý"
 msgid "Author"
 msgid "Author"
 msgstr "Tác giả"
 msgstr "Tác giả"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "Tự động ký chứng chỉ SSL"
 msgstr "Tự động ký chứng chỉ SSL"
 
 
@@ -181,7 +181,7 @@ msgstr "Thông tin"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 #, fuzzy
 #, fuzzy
 msgid "Basic"
 msgid "Basic"
@@ -209,10 +209,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -256,8 +256,8 @@ msgstr "Danh sách chứng chỉ"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "Phương pháp xác thực"
 msgstr "Phương pháp xác thực"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 #, fuzzy
 #, fuzzy
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "Thay đổi chứng chỉ"
 msgstr "Thay đổi chứng chỉ"
@@ -274,7 +274,7 @@ msgstr "Kiểm tra lại"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "Xoá các biến môi trường"
 msgstr "Xoá các biến môi trường"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -319,7 +319,7 @@ msgstr "Cấu hình"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "Cấu hình SSL"
 msgstr "Cấu hình SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "Đã kết nối"
 msgstr "Đã kết nối"
 
 
@@ -333,7 +333,7 @@ msgstr "Nội dung"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "Cập nhật core"
 msgstr "Cập nhật core"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "Trạng thái CPU"
 msgstr "Trạng thái CPU"
 
 
@@ -375,6 +375,12 @@ msgstr "Phiên bản hiện tại"
 msgid "Custom"
 msgid "Custom"
 msgstr "Tuỳ chỉnh"
 msgstr "Tuỳ chỉnh"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "Bảng điều khiển"
 msgstr "Bảng điều khiển"
@@ -467,9 +473,9 @@ msgstr "Tắt"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại"
 msgstr "Tắt tự động gia hạn SSL cho %{name} thất bại"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "Đã tắt"
 msgstr "Đã tắt"
 
 
@@ -480,7 +486,7 @@ msgstr "Đã tắt"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "Đã tắt thành công"
 msgstr "Đã tắt thành công"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "Disk IO"
 msgstr "Disk IO"
 
 
@@ -663,9 +669,10 @@ msgstr "Đã bật"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "Bật TLS"
 msgstr "Bật TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -685,11 +692,11 @@ msgstr "Đã bật"
 msgid "Encrypt website with Let's Encrypt"
 msgid "Encrypt website with Let's Encrypt"
 msgstr "Bảo mật trang web với Let's Encrypt"
 msgstr "Bảo mật trang web với Let's Encrypt"
 
 
-#: src/routes/index.ts:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "Environment"
 msgstr "Environment"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 #, fuzzy
 #, fuzzy
 msgid "Environments"
 msgid "Environments"
 msgstr "Environments"
 msgstr "Environments"
@@ -919,7 +926,7 @@ msgstr "Kiểm tra lần cuối lúc"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "Bỏ trống nếu không thay đổi"
 msgstr "Bỏ trống nếu không thay đổi"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "Bỏ trống để sử dụng địa chỉ mặc định: https://api.openai.com/"
 msgstr "Bỏ trống để sử dụng địa chỉ mặc định: https://api.openai.com/"
 
 
@@ -934,7 +941,7 @@ msgstr "Bỏ trống nếu không thay đổi"
 msgid "License"
 msgid "License"
 msgstr "Giấy phép"
 msgstr "Giấy phép"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr "Liên kết bắt đầu"
 msgstr "Liên kết bắt đầu"
 
 
@@ -948,8 +955,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "Tải trung bình:"
 msgstr "Tải trung bình:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 #, fuzzy
 #, fuzzy
 msgid "Local"
 msgid "Local"
 msgstr "Location"
 msgstr "Location"
@@ -979,7 +986,7 @@ msgstr "Đăng nhập thành công"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "Đã đăng xuất"
 msgstr "Đã đăng xuất"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -1024,6 +1031,7 @@ msgid "Managed Certificate"
 msgstr ""
 msgstr ""
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "Memory"
 msgstr "Memory"
 
 
@@ -1035,12 +1043,12 @@ msgstr "Memory và Storage"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "Run Mode"
 msgstr "Run Mode"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #, fuzzy
 #, fuzzy
@@ -1070,7 +1078,7 @@ msgstr "Single Directive"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1082,19 +1090,19 @@ msgstr "Single Directive"
 msgid "Name"
 msgid "Name"
 msgstr "Tên"
 msgstr "Tên"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "Mạng"
 msgstr "Mạng"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "Thống kê mạng"
 msgstr "Thống kê mạng"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "Tổng lưu lượng mạng đã nhận"
 msgstr "Tổng lưu lượng mạng đã nhận"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "Tổng lưu lượng mạng đã gửi"
 msgstr "Tổng lưu lượng mạng đã gửi"
 
 
@@ -1108,7 +1116,7 @@ msgstr "Đã có phiên bản mới"
 msgid "Next"
 msgid "Next"
 msgstr "Tiếp theo"
 msgstr "Tiếp theo"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr ""
 msgstr ""
 
 
@@ -1121,7 +1129,7 @@ msgstr "Vị trí lưu log truy cập (Access log) của Nginx"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 msgstr "Lỗi phân tích cú pháp cấu hình Nginx"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr ""
 msgstr ""
 
 
@@ -1133,17 +1141,17 @@ msgstr "Vị trí lưu log lỗi (Error log) của Nginx"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr ""
 msgstr ""
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 #, fuzzy
 #, fuzzy
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Reload Nginx thành công"
 msgstr "Reload Nginx thành công"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 #, fuzzy
 #, fuzzy
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Restart Nginx thành công"
 msgstr "Restart Nginx thành công"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1196,22 +1204,22 @@ msgstr "Nhận chứng chỉ"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "Đang nhận chứng chỉ"
 msgstr "Đang nhận chứng chỉ"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr "Ngoại tuyến"
 msgstr "Ngoại tuyến"
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1230,14 +1238,14 @@ msgstr ""
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa."
 msgstr "Sau khi quá trình xác minh hoàn tất, bản ghi sẽ bị xóa."
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr "Trực tuyến"
 msgstr "Trực tuyến"
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr ""
 msgstr ""
 
 
@@ -1335,7 +1343,7 @@ msgstr ""
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr ""
 msgstr ""
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "Cài đặt"
 msgstr "Cài đặt"
 
 
@@ -1361,12 +1369,12 @@ msgid "Provider"
 msgstr "Nhà cung cấp"
 msgstr "Nhà cung cấp"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "Đọc"
 msgstr "Đọc"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "Nhận"
 msgstr "Nhận"
 
 
@@ -1383,7 +1391,7 @@ msgstr "Xoá thành công"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "Tạo lại câu trả lời"
 msgstr "Tạo lại câu trả lời"
 
 
@@ -1420,12 +1428,12 @@ msgstr "Cài lại"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "Ghi chú phát hành"
 msgstr "Ghi chú phát hành"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "Tải lại"
 msgstr "Tải lại"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "Đang tải lại"
 msgstr "Đang tải lại"
 
 
@@ -1473,11 +1481,11 @@ msgstr "Yêu cầu có chứa tham số sai"
 msgid "Reset"
 msgid "Reset"
 msgstr "Đặt lại"
 msgstr "Đặt lại"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "Khởi động lại"
 msgstr "Khởi động lại"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "Đang khởi động lại"
 msgstr "Đang khởi động lại"
 
 
@@ -1486,15 +1494,15 @@ msgstr "Đang khởi động lại"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "Run Mode"
 msgstr "Run Mode"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "Running"
 msgstr "Running"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "Lưu"
 msgstr "Lưu"
 
 
@@ -1510,7 +1518,7 @@ msgstr "Đã xảy ra lỗi khi lưu %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 #, fuzzy
 #, fuzzy
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "Lưu thành công"
 msgstr "Lưu thành công"
@@ -1526,24 +1534,24 @@ msgstr "Lưu thành công"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "Bộ chọn"
 msgstr "Bộ chọn"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "Gửi"
 msgstr "Gửi"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1553,6 +1561,11 @@ msgstr "Lỗi máy chủ"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "Thông tin máy chủ"
 msgstr "Thông tin máy chủ"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "Thông tin máy chủ"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "không tìm thấy server_name trong directives"
 msgstr "không tìm thấy server_name trong directives"
@@ -1623,15 +1636,16 @@ msgstr "Ổn định"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "Trạng thái"
 msgstr "Trạng thái"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "Đã dừng"
 msgstr "Đã dừng"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "Storage"
 msgstr "Storage"
 
 
@@ -1644,7 +1658,8 @@ msgstr "Tên chủ đề: %{name}"
 msgid "Success"
 msgid "Success"
 msgstr "Thành công"
 msgstr "Thành công"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
@@ -1694,6 +1709,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
 msgstr ""
 msgstr ""
@@ -1702,6 +1721,10 @@ msgstr ""
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1712,9 +1735,12 @@ msgstr ""
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
+msgid "The url is invalid"
+msgstr ""
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+msgid "The url is invalid."
 msgstr ""
 msgstr ""
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1759,7 +1785,7 @@ msgstr ""
 "quyền đến chương trình phụ trợ và chúng tôi cần lưu tệp này và tải lại "
 "quyền đến chương trình phụ trợ và chúng tôi cần lưu tệp này và tải lại "
 "Nginx. Bạn có chắc chắn muốn Tiếp tục?"
 "Nginx. Bạn có chắc chắn muốn Tiếp tục?"
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1776,7 +1802,7 @@ msgstr "Loại"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1809,11 +1835,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "Thời gian hoạt động:"
 msgstr "Thời gian hoạt động:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 #, fuzzy
 #, fuzzy
 msgid "User"
 msgid "User"
 msgstr "Người dùng"
 msgstr "Người dùng"
@@ -1874,7 +1900,7 @@ msgstr ""
 "có muốn tiếp tục không?"
 "có muốn tiếp tục không?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "Ghi"
 msgstr "Ghi"
 
 
@@ -1908,10 +1934,6 @@ msgstr "Bạn có thể kiểm tra nâng cấp Nginx UI tại trang này"
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "Mục lục"
 #~ msgstr "Mục lục"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "Thông tin máy chủ"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "Bỏ trống nếu không thay đổi"
 #~ msgstr "Bỏ trống nếu không thay đổi"

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


+ 111 - 85
app/src/language/zh_CN/app.po

@@ -22,14 +22,14 @@ msgid "Access Logs"
 msgstr "访问日志"
 msgstr "访问日志"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 msgid "ACME User"
 msgid "ACME User"
 msgstr "ACME 用户"
 msgstr "ACME 用户"
 
 
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -74,7 +74,7 @@ msgstr "额外选项"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "高级模式"
 msgstr "高级模式"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr "API 地址"
 msgstr "API 地址"
 
 
@@ -82,11 +82,11 @@ msgstr "API 地址"
 msgid "API Document"
 msgid "API Document"
 msgstr "API 文档"
 msgstr "API 文档"
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr "API 代理"
 msgstr "API 代理"
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr "API Token"
 msgstr "API Token"
 
 
@@ -99,7 +99,7 @@ msgstr "架构"
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "您确定要清除所有通知吗?"
 msgstr "您确定要清除所有通知吗?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "你确定你要清除聊天记录吗?"
 msgstr "你确定你要清除聊天记录吗?"
 
 
@@ -127,11 +127,11 @@ msgstr "您确定要删除这个项目吗?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您确定要删除这个 Location?"
 msgstr "您确定要删除这个 Location?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "与ChatGPT聊天"
 msgstr "与ChatGPT聊天"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "助手"
 msgstr "助手"
 
 
@@ -140,7 +140,7 @@ msgstr "助手"
 msgid "Author"
 msgid "Author"
 msgstr "作者"
 msgstr "作者"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "自动更新"
 msgstr "自动更新"
 
 
@@ -173,7 +173,7 @@ msgstr "基本信息"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr "基本"
 msgstr "基本"
@@ -199,10 +199,10 @@ msgstr "CA Dir"
 msgid "CADir"
 msgid "CADir"
 msgstr "CADir"
 msgstr "CADir"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -243,8 +243,8 @@ msgstr "证书列表"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "挑战方法"
 msgstr "挑战方法"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "更改证书"
 msgstr "更改证书"
 
 
@@ -260,7 +260,7 @@ msgstr "重新检查"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "正在清理环境变量"
 msgstr "正在清理环境变量"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -302,7 +302,7 @@ msgstr "配置"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "配置 SSL"
 msgstr "配置 SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "已连接"
 msgstr "已连接"
 
 
@@ -316,7 +316,7 @@ msgstr "内容"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "核心升级"
 msgstr "核心升级"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "CPU 状态"
 msgstr "CPU 状态"
 
 
@@ -357,6 +357,12 @@ msgstr "当前版本"
 msgid "Custom"
 msgid "Custom"
 msgstr "自定义"
 msgstr "自定义"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr "自定义显示在环境指示器中的本地服务器名称。"
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "仪表盘"
 msgstr "仪表盘"
@@ -444,9 +450,9 @@ msgstr "禁用"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "关闭 %{name} 自动续签失败"
 msgstr "关闭 %{name} 自动续签失败"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "禁用"
 msgstr "禁用"
 
 
@@ -457,7 +463,7 @@ msgstr "禁用"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "禁用成功"
 msgstr "禁用成功"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "磁盘 IO"
 msgstr "磁盘 IO"
 
 
@@ -621,9 +627,10 @@ msgstr "启用成功"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "启用 TLS"
 msgstr "启用 TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -643,11 +650,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "环境"
 msgstr "环境"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 msgid "Environments"
 msgid "Environments"
 msgstr "环境"
 msgstr "环境"
 
 
@@ -860,7 +867,7 @@ msgstr "最后检查时间"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "留空表示不修改"
 msgstr "留空表示不修改"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "留空为默认:https://api.openai.com/"
 msgstr "留空为默认:https://api.openai.com/"
 
 
@@ -873,7 +880,7 @@ msgstr "留空不做任何更改"
 msgid "License"
 msgid "License"
 msgstr "开源许可"
 msgstr "开源许可"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr "链接"
 msgstr "链接"
 
 
@@ -886,8 +893,8 @@ msgstr "列表"
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "系统负载:"
 msgstr "系统负载:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 msgid "Local"
 msgid "Local"
 msgstr "本地"
 msgstr "本地"
 
 
@@ -915,7 +922,7 @@ msgstr "登录成功"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "登出成功"
 msgstr "登出成功"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr "Logrotate"
 msgstr "Logrotate"
 
 
@@ -962,6 +969,7 @@ msgid "Managed Certificate"
 msgstr "托管证书"
 msgstr "托管证书"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "内存"
 msgstr "内存"
 
 
@@ -973,11 +981,11 @@ msgstr "内存与存储"
 msgid "Minutes"
 msgid "Minutes"
 msgstr "分钟"
 msgstr "分钟"
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 msgid "Model"
 msgid "Model"
 msgstr "模型"
 msgstr "模型"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 msgid "Modify"
 msgid "Modify"
@@ -1003,7 +1011,7 @@ msgstr "多行指令"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1015,19 +1023,19 @@ msgstr "多行指令"
 msgid "Name"
 msgid "Name"
 msgstr "名称"
 msgstr "名称"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "网络"
 msgstr "网络"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "流量统计"
 msgstr "流量统计"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "下载流量"
 msgstr "下载流量"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "上传流量"
 msgstr "上传流量"
 
 
@@ -1041,7 +1049,7 @@ msgstr "新版本发布"
 msgid "Next"
 msgid "Next"
 msgstr "下一步"
 msgstr "下一步"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -1053,7 +1061,7 @@ msgstr "Nginx 访问日志路径"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Nginx 配置解析错误"
 msgstr "Nginx 配置解析错误"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "控制 Nginx"
 msgstr "控制 Nginx"
 
 
@@ -1065,15 +1073,15 @@ msgstr "Nginx 错误日志路径"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日志"
 msgstr "Nginx 日志"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx 重载成功"
 msgstr "Nginx 重载成功"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx 重启成功"
 msgstr "Nginx 重启成功"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1123,22 +1131,22 @@ msgstr "获取证书"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "正在获取证书"
 msgstr "正在获取证书"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr "离线"
 msgstr "离线"
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr "确定"
 msgstr "确定"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1157,14 +1165,14 @@ msgstr "确定"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr "一旦验证完成,这些记录将被删除。"
 msgstr "一旦验证完成,这些记录将被删除。"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr "在线"
 msgstr "在线"
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
 
 
@@ -1259,7 +1267,7 @@ msgstr "请至少选择一个节点!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr "预发布"
 msgstr "预发布"
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "偏好设置"
 msgstr "偏好设置"
 
 
@@ -1284,12 +1292,12 @@ msgid "Provider"
 msgstr "提供商"
 msgstr "提供商"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "读"
 msgstr "读"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "下载"
 msgstr "下载"
 
 
@@ -1305,7 +1313,7 @@ msgstr "恢复成功"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr "递归域名服务器"
 msgstr "递归域名服务器"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "重新生成响应"
 msgstr "重新生成响应"
 
 
@@ -1337,12 +1345,12 @@ msgstr "重新安装"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "发行日志"
 msgstr "发行日志"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "重载"
 msgstr "重载"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "重载中"
 msgstr "重载中"
 
 
@@ -1384,11 +1392,11 @@ msgstr "请求参数错误"
 msgid "Reset"
 msgid "Reset"
 msgstr "重置"
 msgstr "重置"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "重启"
 msgstr "重启"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "重启中"
 msgstr "重启中"
 
 
@@ -1396,15 +1404,15 @@ msgstr "重启中"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "运行模式"
 msgstr "运行模式"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "运行中"
 msgstr "运行中"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "保存"
 msgstr "保存"
 
 
@@ -1420,7 +1428,7 @@ msgstr "保存错误 %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "保存成功"
 msgstr "保存成功"
 
 
@@ -1435,24 +1443,24 @@ msgstr "保存成功"
 msgid "SDK"
 msgid "SDK"
 msgstr "SDK"
 msgstr "SDK"
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "选择器"
 msgstr "选择器"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "上传"
 msgstr "上传"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1462,6 +1470,10 @@ msgstr "服务器错误"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "服务器信息"
 msgstr "服务器信息"
 
 
+#: src/views/preference/BasicSettings.vue:117
+msgid "Server Name"
+msgstr "服务器名称"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "未在指令集合中找到 server_name"
 msgstr "未在指令集合中找到 server_name"
@@ -1529,15 +1541,16 @@ msgstr "稳定"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "状态"
 msgstr "状态"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "已停止"
 msgstr "已停止"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "存储"
 msgstr "存储"
 
 
@@ -1549,7 +1562,8 @@ msgstr "主体名称: %{subject}"
 msgid "Success"
 msgid "Success"
 msgstr "成功"
 msgstr "成功"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "Swap"
 msgstr "Swap"
 
 
@@ -1598,6 +1612,10 @@ msgstr "输入的内容不是 SSL 证书"
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "输入的内容不是 SSL 证书密钥"
 msgstr "输入的内容不是 SSL 证书密钥"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr "模型只能包含字母、数字、破折号和点。"
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
 msgstr "路径存在,但文件不是证书"
 msgstr "路径存在,但文件不是证书"
@@ -1606,6 +1624,10 @@ msgstr "路径存在,但文件不是证书"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr "路径存在,但文件不是私钥"
 msgstr "路径存在,但文件不是私钥"
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr "服务器名称只能包含字母、数字、破折号和点。"
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 msgid ""
 msgid ""
 "The server_name in the current configuration must be the domain name you "
 "The server_name in the current configuration must be the domain name you "
@@ -1614,10 +1636,14 @@ msgstr "当前配置中的 server_name 必须是获取证书所需的域名,
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
-msgid "The url is not valid"
-msgstr "URL 无效"
+#, fuzzy
+msgid "The url is invalid"
+msgstr "URL 无效."
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+msgid "The url is invalid."
+msgstr "URL 无效."
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
 msgid "The username or password is incorrect"
 msgid "The username or password is incorrect"
@@ -1659,7 +1685,7 @@ msgstr ""
 "为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的"
 "为了确保认证自动更新能够正常工作,我们需要添加一个能够代理从权威机构到后端的"
 "请求的 Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
 "请求的 Location,并且我们需要保存这个文件并重新加载Nginx。你确定要继续吗?"
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr "Token 无效"
 msgstr "Token 无效"
 
 
@@ -1676,7 +1702,7 @@ msgstr "类型"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1707,11 +1733,11 @@ msgstr "Upstream 名称"
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "运行时间:"
 msgstr "运行时间:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr "URL"
 msgstr "URL"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "User"
 msgid "User"
 msgstr "用户"
 msgstr "用户"
 
 
@@ -1765,7 +1791,7 @@ msgstr ""
 "我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
 "我们将从这个文件中删除HTTPChallenge的配置,并重新加载Nginx。你确定要继续吗?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "写"
 msgstr "写"
 
 
@@ -1791,6 +1817,9 @@ msgstr "您使用的是最新版本"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "你可以在这个页面检查Nginx UI的升级。"
 msgstr "你可以在这个页面检查Nginx UI的升级。"
 
 
+#~ msgid "The url is not valid"
+#~ msgstr "URL 无效"
+
 #~ msgid "Enable this option will significantly increase the token usage."
 #~ msgid "Enable this option will significantly increase the token usage."
 #~ msgstr "启用该选项将显著增加 token 的使用量。"
 #~ msgstr "启用该选项将显著增加 token 的使用量。"
 
 
@@ -1824,9 +1853,6 @@ msgstr "你可以在这个页面检查Nginx UI的升级。"
 #~ msgid "Rename Upstream"
 #~ msgid "Rename Upstream"
 #~ msgstr "重新命名 Upstream"
 #~ msgstr "重新命名 Upstream"
 
 
-#~ msgid "Server"
-#~ msgstr "Server"
-
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "留空不会有任何变化。"
 #~ msgstr "留空不会有任何变化。"
 
 

+ 112 - 85
app/src/language/zh_TW/app.po

@@ -23,7 +23,7 @@ msgid "Access Logs"
 msgstr "存取日誌"
 msgstr "存取日誌"
 
 
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
 #: src/routes/index.ts:128 src/views/certificate/ACMEUser.vue:76
-#: src/views/certificate/ACMEUserSelector.vue:79
+#: src/views/certificate/ACMEUserSelector.vue:84
 #, fuzzy
 #, fuzzy
 msgid "ACME User"
 msgid "ACME User"
 msgstr "使用者名稱"
 msgstr "使用者名稱"
@@ -31,7 +31,7 @@ msgstr "使用者名稱"
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/ACMEUser.vue:59
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/Certificate.vue:108
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
 #: src/views/certificate/DNSCredential.vue:29 src/views/config/config.ts:34
-#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:102
+#: src/views/domain/DomainList.vue:47 src/views/environment/Environment.vue:129
 #: src/views/notification/Notification.vue:35
 #: src/views/notification/Notification.vue:35
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 #: src/views/stream/StreamList.vue:47 src/views/user/User.vue:43
 msgid "Action"
 msgid "Action"
@@ -78,7 +78,7 @@ msgstr "其他設定"
 msgid "Advance Mode"
 msgid "Advance Mode"
 msgstr "進階模式"
 msgstr "進階模式"
 
 
-#: src/views/preference/OpenAISettings.vue:33
+#: src/views/preference/OpenAISettings.vue:39
 msgid "API Base Url"
 msgid "API Base Url"
 msgstr "API 基礎網址"
 msgstr "API 基礎網址"
 
 
@@ -87,11 +87,11 @@ msgstr "API 基礎網址"
 msgid "API Document"
 msgid "API Document"
 msgstr "API Token"
 msgstr "API Token"
 
 
-#: src/views/preference/OpenAISettings.vue:45
+#: src/views/preference/OpenAISettings.vue:51
 msgid "API Proxy"
 msgid "API Proxy"
 msgstr "API 代理"
 msgstr "API 代理"
 
 
-#: src/views/preference/OpenAISettings.vue:57
+#: src/views/preference/OpenAISettings.vue:63
 msgid "API Token"
 msgid "API Token"
 msgstr "API Token"
 msgstr "API Token"
 
 
@@ -105,7 +105,7 @@ msgstr "架構"
 msgid "Are you sure you want to clear all notifications?"
 msgid "Are you sure you want to clear all notifications?"
 msgstr "您確定要清除聊天記錄嗎?"
 msgstr "您確定要清除聊天記錄嗎?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:267
+#: src/components/ChatGPT/ChatGPT.vue:272
 msgid "Are you sure you want to clear the record of chat?"
 msgid "Are you sure you want to clear the record of chat?"
 msgstr "您確定要清除聊天記錄嗎?"
 msgstr "您確定要清除聊天記錄嗎?"
 
 
@@ -136,11 +136,11 @@ msgstr "您確定要刪除這條指令嗎?"
 msgid "Are you sure you want to remove this location?"
 msgid "Are you sure you want to remove this location?"
 msgstr "您確定要刪除此 Location 嗎?"
 msgstr "您確定要刪除此 Location 嗎?"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:211
+#: src/components/ChatGPT/ChatGPT.vue:216
 msgid "Ask ChatGPT for Help"
 msgid "Ask ChatGPT for Help"
 msgstr "向 ChatGPT 尋求幫助"
 msgstr "向 ChatGPT 尋求幫助"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "Assistant"
 msgid "Assistant"
 msgstr "助理"
 msgstr "助理"
 
 
@@ -149,7 +149,7 @@ msgstr "助理"
 msgid "Author"
 msgid "Author"
 msgstr "作者"
 msgstr "作者"
 
 
-#: src/views/domain/cert/ChangeCert.vue:34
+#: src/views/domain/cert/ChangeCert.vue:33
 msgid "Auto Cert"
 msgid "Auto Cert"
 msgstr "自動憑證"
 msgstr "自動憑證"
 
 
@@ -182,7 +182,7 @@ msgstr "基本資訊"
 
 
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/config/ConfigEdit.vue:115
 #: src/views/domain/components/RightSettings.vue:75
 #: src/views/domain/components/RightSettings.vue:75
-#: src/views/preference/Preference.vue:94
+#: src/views/preference/Preference.vue:101
 #: src/views/stream/components/RightSettings.vue:74
 #: src/views/stream/components/RightSettings.vue:74
 msgid "Basic"
 msgid "Basic"
 msgstr "基本"
 msgstr "基本"
@@ -208,10 +208,10 @@ msgstr ""
 msgid "CADir"
 msgid "CADir"
 msgstr "CADir"
 msgstr "CADir"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:248
+#: src/components/ChatGPT/ChatGPT.vue:253
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:263
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:102
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/cert/components/ObtainCert.vue:137
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/Deploy.vue:21
 #: src/views/domain/components/RightSettings.vue:51
 #: src/views/domain/components/RightSettings.vue:51
@@ -255,8 +255,8 @@ msgstr "憑證清單"
 msgid "Challenge Method"
 msgid "Challenge Method"
 msgstr "驗證方式"
 msgstr "驗證方式"
 
 
-#: src/views/domain/cert/ChangeCert.vue:88
-#: src/views/domain/cert/ChangeCert.vue:92
+#: src/views/domain/cert/ChangeCert.vue:95
+#: src/views/domain/cert/ChangeCert.vue:99
 msgid "Change Certificate"
 msgid "Change Certificate"
 msgstr "更換憑證"
 msgstr "更換憑證"
 
 
@@ -272,7 +272,7 @@ msgstr "再次檢查"
 msgid "Cleaning environment variables"
 msgid "Cleaning environment variables"
 msgstr "清理環境變數"
 msgstr "清理環境變數"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:271
+#: src/components/ChatGPT/ChatGPT.vue:276
 #: src/components/Notification/Notification.vue:89
 #: src/components/Notification/Notification.vue:89
 #: src/views/notification/Notification.vue:75
 #: src/views/notification/Notification.vue:75
 msgid "Clear"
 msgid "Clear"
@@ -316,7 +316,7 @@ msgstr "設定"
 msgid "Configure SSL"
 msgid "Configure SSL"
 msgstr "設定 SSL"
 msgstr "設定 SSL"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Connected"
 msgid "Connected"
 msgstr "已連結"
 msgstr "已連結"
 
 
@@ -330,7 +330,7 @@ msgstr "內容"
 msgid "Core Upgrade"
 msgid "Core Upgrade"
 msgstr "核心升級"
 msgstr "核心升級"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:293
+#: src/views/dashboard/ServerAnalytic.vue:296
 msgid "CPU Status"
 msgid "CPU Status"
 msgstr "中央處理器狀態"
 msgstr "中央處理器狀態"
 
 
@@ -372,6 +372,12 @@ msgstr "目前版本"
 msgid "Custom"
 msgid "Custom"
 msgstr "自訂"
 msgstr "自訂"
 
 
+#: src/views/preference/BasicSettings.vue:121
+msgid ""
+"Customize the name of local server to be displayed in the environment "
+"indicator."
+msgstr ""
+
 #: src/routes/index.ts:39
 #: src/routes/index.ts:39
 msgid "Dashboard"
 msgid "Dashboard"
 msgstr "儀表板"
 msgstr "儀表板"
@@ -462,9 +468,9 @@ msgstr "停用"
 msgid "Disable auto-renewal failed for %{name}"
 msgid "Disable auto-renewal failed for %{name}"
 msgstr "關閉 %{name} 自動續簽失敗"
 msgstr "關閉 %{name} 自動續簽失敗"
 
 
-#: src/views/domain/cert/ChangeCert.vue:45 src/views/domain/DomainEdit.vue:185
-#: src/views/domain/DomainList.vue:33 src/views/stream/StreamEdit.vue:177
-#: src/views/stream/StreamList.vue:33
+#: src/views/domain/cert/ChangeCert.vue:44 src/views/domain/DomainEdit.vue:185
+#: src/views/domain/DomainList.vue:33 src/views/environment/Environment.vue:93
+#: src/views/stream/StreamEdit.vue:177 src/views/stream/StreamList.vue:33
 msgid "Disabled"
 msgid "Disabled"
 msgstr "停用"
 msgstr "停用"
 
 
@@ -475,7 +481,7 @@ msgstr "停用"
 msgid "Disabled successfully"
 msgid "Disabled successfully"
 msgstr "成功停用"
 msgstr "成功停用"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:358
+#: src/views/dashboard/ServerAnalytic.vue:361
 msgid "Disk IO"
 msgid "Disk IO"
 msgstr "磁碟 IO"
 msgstr "磁碟 IO"
 
 
@@ -645,9 +651,10 @@ msgstr "啟用成功"
 msgid "Enable TLS"
 msgid "Enable TLS"
 msgstr "啟用 TLS"
 msgstr "啟用 TLS"
 
 
-#: src/views/domain/cert/ChangeCert.vue:41
+#: src/views/domain/cert/ChangeCert.vue:40
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/components/RightSettings.vue:77
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
 #: src/views/domain/DomainEdit.vue:179 src/views/domain/DomainList.vue:29
+#: src/views/environment/Environment.vue:102
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/preference/LogrotateSettings.vue:20
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/components/RightSettings.vue:76
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
 #: src/views/stream/StreamEdit.vue:171 src/views/stream/StreamList.vue:29
@@ -667,11 +674,11 @@ 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:212 src/views/environment/Environment.vue:110
+#: src/routes/index.ts:212 src/views/environment/Environment.vue:137
 msgid "Environment"
 msgid "Environment"
 msgstr "環境"
 msgstr "環境"
 
 
-#: src/views/dashboard/Environments.vue:71
+#: src/views/dashboard/Environments.vue:82
 msgid "Environments"
 msgid "Environments"
 msgstr "環境"
 msgstr "環境"
 
 
@@ -895,7 +902,7 @@ msgstr "上次檢查時間"
 msgid "Leave blank for no change"
 msgid "Leave blank for no change"
 msgstr "留空表示不修改"
 msgstr "留空表示不修改"
 
 
-#: src/views/preference/OpenAISettings.vue:41
+#: src/views/preference/OpenAISettings.vue:47
 msgid "Leave blank for the default: https://api.openai.com/"
 msgid "Leave blank for the default: https://api.openai.com/"
 msgstr "預設留空:https://api.openai.com/"
 msgstr "預設留空:https://api.openai.com/"
 
 
@@ -910,7 +917,7 @@ msgstr "留空表示不修改"
 msgid "License"
 msgid "License"
 msgstr "授權條款"
 msgstr "授權條款"
 
 
-#: src/views/dashboard/Environments.vue:128
+#: src/views/dashboard/Environments.vue:139
 msgid "Link Start"
 msgid "Link Start"
 msgstr "連結開始"
 msgstr "連結開始"
 
 
@@ -924,8 +931,8 @@ msgstr ""
 msgid "Load Average:"
 msgid "Load Average:"
 msgstr "系統負載:"
 msgstr "系統負載:"
 
 
-#: src/components/EnvIndicator/EnvIndicator.vue:38
-#: src/components/NodeSelector/NodeSelector.vue:51
+#: src/components/EnvIndicator/EnvIndicator.vue:40
+#: src/components/NodeSelector/NodeSelector.vue:71
 msgid "Local"
 msgid "Local"
 msgstr "本機"
 msgstr "本機"
 
 
@@ -954,7 +961,7 @@ msgstr "登入成功"
 msgid "Logout successful"
 msgid "Logout successful"
 msgstr "登出成功"
 msgstr "登出成功"
 
 
-#: src/views/preference/Preference.vue:112
+#: src/views/preference/Preference.vue:119
 msgid "Logrotate"
 msgid "Logrotate"
 msgstr ""
 msgstr ""
 
 
@@ -998,6 +1005,7 @@ msgid "Managed Certificate"
 msgstr "更換憑證"
 msgstr "更換憑證"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:217
 #: src/views/dashboard/ServerAnalytic.vue:217
+#: src/views/dashboard/ServerAnalytic.vue:218
 msgid "Memory"
 msgid "Memory"
 msgstr "記憶體"
 msgstr "記憶體"
 
 
@@ -1009,12 +1017,12 @@ msgstr "記憶體與儲存"
 msgid "Minutes"
 msgid "Minutes"
 msgstr ""
 msgstr ""
 
 
-#: src/views/preference/OpenAISettings.vue:26
+#: src/views/preference/OpenAISettings.vue:27
 #, fuzzy
 #, fuzzy
 msgid "Model"
 msgid "Model"
 msgstr "執行模式"
 msgstr "執行模式"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:244
+#: src/components/ChatGPT/ChatGPT.vue:249
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:491
 msgid "Modify"
 msgid "Modify"
@@ -1042,7 +1050,7 @@ msgstr "多行指令"
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/Certificate.vue:20
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/CertificateEditor.vue:146
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
 #: src/views/certificate/DNSCredential.vue:10 src/views/config/config.ts:7
-#: src/views/domain/cert/ChangeCert.vue:18
+#: src/views/domain/cert/ChangeCert.vue:17
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/RightSettings.vue:83
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/components/SiteDuplicate.vue:133
 #: src/views/domain/DomainList.vue:13
 #: src/views/domain/DomainList.vue:13
@@ -1054,19 +1062,19 @@ msgstr "多行指令"
 msgid "Name"
 msgid "Name"
 msgstr "名稱"
 msgstr "名稱"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:319
+#: src/views/dashboard/ServerAnalytic.vue:322
 msgid "Network"
 msgid "Network"
 msgstr "網路"
 msgstr "網路"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:261
+#: src/views/dashboard/ServerAnalytic.vue:264
 msgid "Network Statistics"
 msgid "Network Statistics"
 msgstr "網路統計"
 msgstr "網路統計"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:268
+#: src/views/dashboard/ServerAnalytic.vue:271
 msgid "Network Total Receive"
 msgid "Network Total Receive"
 msgstr "下載流量"
 msgstr "下載流量"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:274
+#: src/views/dashboard/ServerAnalytic.vue:277
 msgid "Network Total Send"
 msgid "Network Total Send"
 msgstr "上傳流量"
 msgstr "上傳流量"
 
 
@@ -1080,7 +1088,7 @@ msgstr "新版本發布"
 msgid "Next"
 msgid "Next"
 msgstr "下一步"
 msgstr "下一步"
 
 
-#: src/views/preference/Preference.vue:100
+#: src/views/preference/Preference.vue:107
 msgid "Nginx"
 msgid "Nginx"
 msgstr "Nginx"
 msgstr "Nginx"
 
 
@@ -1092,7 +1100,7 @@ msgstr "Nginx 存取日誌路徑"
 msgid "Nginx Configuration Parse Error"
 msgid "Nginx Configuration Parse Error"
 msgstr "Nginx 設定解析錯誤"
 msgstr "Nginx 設定解析錯誤"
 
 
-#: src/components/NginxControl/NginxControl.vue:62
+#: src/components/NginxControl/NginxControl.vue:65
 msgid "Nginx Control"
 msgid "Nginx Control"
 msgstr "Nginx 控制元件"
 msgstr "Nginx 控制元件"
 
 
@@ -1104,15 +1112,15 @@ msgstr "Nginx 錯誤日誌路徑"
 msgid "Nginx Log"
 msgid "Nginx Log"
 msgstr "Nginx 日誌"
 msgstr "Nginx 日誌"
 
 
-#: src/components/NginxControl/NginxControl.vue:22
+#: src/components/NginxControl/NginxControl.vue:23
 msgid "Nginx reloaded successfully"
 msgid "Nginx reloaded successfully"
 msgstr "Nginx 重新載入成功"
 msgstr "Nginx 重新載入成功"
 
 
-#: src/components/NginxControl/NginxControl.vue:36
+#: src/components/NginxControl/NginxControl.vue:39
 msgid "Nginx restarted successfully"
 msgid "Nginx restarted successfully"
 msgstr "Nginx 重啟成功"
 msgstr "Nginx 重啟成功"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:265
+#: src/components/ChatGPT/ChatGPT.vue:270
 #: src/components/Notification/Notification.vue:82
 #: src/components/Notification/Notification.vue:82
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:507
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:521
@@ -1164,22 +1172,22 @@ msgstr "取得憑證"
 msgid "Obtaining certificate"
 msgid "Obtaining certificate"
 msgstr "正在取得憑證"
 msgstr "正在取得憑證"
 
 
-#: src/components/NodeSelector/NodeSelector.vue:75
-#: src/views/dashboard/Environments.vue:95
-#: src/views/environment/Environment.vue:86
+#: src/components/NodeSelector/NodeSelector.vue:95
+#: src/views/dashboard/Environments.vue:106
+#: src/views/environment/Environment.vue:88
 msgid "Offline"
 msgid "Offline"
 msgstr "離線"
 msgstr "離線"
 
 
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:264
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
 msgid "Ok"
 msgid "Ok"
 msgstr ""
 msgstr ""
 
 
-#: src/components/ChatGPT/ChatGPT.vue:266
+#: src/components/ChatGPT/ChatGPT.vue:271
 #: src/components/Notification/Notification.vue:83
 #: src/components/Notification/Notification.vue:83
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:56
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:508
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:522
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:103
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/cert/components/ObtainCert.vue:136
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/Deploy.vue:20
 #: src/views/domain/components/RightSettings.vue:50
 #: src/views/domain/components/RightSettings.vue:50
@@ -1198,14 +1206,14 @@ msgstr "確定"
 msgid "Once the verification is complete, the records will be removed."
 msgid "Once the verification is complete, the records will be removed."
 msgstr ""
 msgstr ""
 
 
-#: src/components/NodeSelector/NodeSelector.vue:54
-#: src/components/NodeSelector/NodeSelector.vue:69
-#: src/views/dashboard/Environments.vue:88
-#: src/views/environment/Environment.vue:82
+#: src/components/NodeSelector/NodeSelector.vue:74
+#: src/components/NodeSelector/NodeSelector.vue:89
+#: src/views/dashboard/Environments.vue:99
+#: src/views/environment/Environment.vue:84
 msgid "Online"
 msgid "Online"
 msgstr "線上"
 msgstr "線上"
 
 
-#: src/views/preference/Preference.vue:106
+#: src/views/preference/Preference.vue:113
 msgid "OpenAI"
 msgid "OpenAI"
 msgstr "OpenAI"
 msgstr "OpenAI"
 
 
@@ -1301,7 +1309,7 @@ msgstr "請至少選擇一個節點!"
 msgid "Pre-release"
 msgid "Pre-release"
 msgstr "預先發布"
 msgstr "預先發布"
 
 
-#: src/routes/index.ts:239 src/views/preference/Preference.vue:89
+#: src/routes/index.ts:239 src/views/preference/Preference.vue:96
 msgid "Preference"
 msgid "Preference"
 msgstr "偏好設定"
 msgstr "偏好設定"
 
 
@@ -1326,12 +1334,12 @@ msgid "Provider"
 msgstr "供應商"
 msgstr "供應商"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:28
 #: src/views/dashboard/ServerAnalytic.vue:28
-#: src/views/dashboard/ServerAnalytic.vue:375
+#: src/views/dashboard/ServerAnalytic.vue:378
 msgid "Reads"
 msgid "Reads"
 msgstr "讀取"
 msgstr "讀取"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:24
 #: src/views/dashboard/ServerAnalytic.vue:24
-#: src/views/dashboard/ServerAnalytic.vue:326
+#: src/views/dashboard/ServerAnalytic.vue:329
 msgid "Receive"
 msgid "Receive"
 msgstr "接收"
 msgstr "接收"
 
 
@@ -1349,7 +1357,7 @@ msgstr "儲存成功"
 msgid "Recursive Nameservers"
 msgid "Recursive Nameservers"
 msgstr "網站域名 (server_name)"
 msgstr "網站域名 (server_name)"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:278
+#: src/components/ChatGPT/ChatGPT.vue:283
 msgid "Regenerate response"
 msgid "Regenerate response"
 msgstr "重新產生回應"
 msgstr "重新產生回應"
 
 
@@ -1385,12 +1393,12 @@ msgstr "重新安裝"
 msgid "Release Note"
 msgid "Release Note"
 msgstr "發行公告"
 msgstr "發行公告"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:254
-#: src/components/NginxControl/NginxControl.vue:97
+#: src/components/ChatGPT/ChatGPT.vue:259
+#: src/components/NginxControl/NginxControl.vue:100
 msgid "Reload"
 msgid "Reload"
 msgstr "重新載入"
 msgstr "重新載入"
 
 
-#: src/components/NginxControl/NginxControl.vue:71
+#: src/components/NginxControl/NginxControl.vue:74
 msgid "Reloading"
 msgid "Reloading"
 msgstr "重新載入中"
 msgstr "重新載入中"
 
 
@@ -1438,11 +1446,11 @@ msgstr "請求參數錯誤"
 msgid "Reset"
 msgid "Reset"
 msgstr "重設"
 msgstr "重設"
 
 
-#: src/components/NginxControl/NginxControl.vue:90
+#: src/components/NginxControl/NginxControl.vue:93
 msgid "Restart"
 msgid "Restart"
 msgstr "重新啟動"
 msgstr "重新啟動"
 
 
-#: src/components/NginxControl/NginxControl.vue:76
+#: src/components/NginxControl/NginxControl.vue:79
 msgid "Restarting"
 msgid "Restarting"
 msgstr "正在重新啟動"
 msgstr "正在重新啟動"
 
 
@@ -1450,15 +1458,15 @@ msgstr "正在重新啟動"
 msgid "Run Mode"
 msgid "Run Mode"
 msgstr "執行模式"
 msgstr "執行模式"
 
 
-#: src/components/NginxControl/NginxControl.vue:66
+#: src/components/NginxControl/NginxControl.vue:69
 msgid "Running"
 msgid "Running"
 msgstr "執行中"
 msgstr "執行中"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:247
+#: src/components/ChatGPT/ChatGPT.vue:252
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/certificate/CertificateEditor.vue:242
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/config/ConfigEdit.vue:96 src/views/domain/DomainEdit.vue:263
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
 #: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
-#: src/views/preference/Preference.vue:123 src/views/stream/StreamEdit.vue:254
+#: src/views/preference/Preference.vue:130 src/views/stream/StreamEdit.vue:254
 msgid "Save"
 msgid "Save"
 msgstr "儲存"
 msgstr "儲存"
 
 
@@ -1474,7 +1482,7 @@ msgstr "儲存錯誤 %{msg}"
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:39
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/components/StdDesign/StdDataDisplay/StdCurd.vue:104
 #: src/views/certificate/CertificateEditor.vue:45
 #: src/views/certificate/CertificateEditor.vue:45
-#: src/views/preference/Preference.vue:59
+#: src/views/preference/Preference.vue:66
 msgid "Save successfully"
 msgid "Save successfully"
 msgstr "儲存成功"
 msgstr "儲存成功"
 
 
@@ -1489,24 +1497,24 @@ msgstr "儲存成功"
 msgid "SDK"
 msgid "SDK"
 msgstr ""
 msgstr ""
 
 
-#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:104
+#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:155
 msgid "Selector"
 msgid "Selector"
 msgstr "選擇器"
 msgstr "選擇器"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:25
 #: src/views/dashboard/ServerAnalytic.vue:25
-#: src/views/dashboard/ServerAnalytic.vue:336
+#: src/views/dashboard/ServerAnalytic.vue:339
 msgid "Send"
 msgid "Send"
 msgstr "傳送"
 msgstr "傳送"
 
 
-#: src/components/NginxControl/NginxControl.vue:28
-#: src/components/NginxControl/NginxControl.vue:42
+#: src/components/NginxControl/NginxControl.vue:29
+#: src/components/NginxControl/NginxControl.vue:45
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/exportCsv.ts:46
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/methods/sortable.ts:126
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:42
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:182
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/components/StdDesign/StdDataDisplay/StdTable.vue:221
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
 #: src/views/config/ConfigEdit.vue:40 src/views/domain/DomainList.vue:81
-#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:63
+#: src/views/other/Install.vue:70 src/views/preference/Preference.vue:70
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/stream/StreamList.vue:113 src/views/stream/StreamList.vue:81
 #: src/views/system/Upgrade.vue:42
 #: src/views/system/Upgrade.vue:42
 msgid "Server error"
 msgid "Server error"
@@ -1516,6 +1524,11 @@ msgstr "伺服器錯誤"
 msgid "Server Info"
 msgid "Server Info"
 msgstr "伺服器資訊"
 msgstr "伺服器資訊"
 
 
+#: src/views/preference/BasicSettings.vue:117
+#, fuzzy
+msgid "Server Name"
+msgstr "伺服器資訊"
+
 #: src/views/domain/cert/components/ObtainCert.vue:102
 #: src/views/domain/cert/components/ObtainCert.vue:102
 msgid "server_name not found in directives"
 msgid "server_name not found in directives"
 msgstr "在指令中未找到 server_name"
 msgstr "在指令中未找到 server_name"
@@ -1588,15 +1601,16 @@ msgstr "穩定"
 
 
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/ACMEUser.vue:42
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
 #: src/views/certificate/Certificate.vue:83 src/views/domain/DomainList.vue:22
-#: src/views/environment/Environment.vue:75 src/views/stream/StreamList.vue:22
+#: src/views/environment/Environment.vue:76 src/views/stream/StreamList.vue:22
 msgid "Status"
 msgid "Status"
 msgstr "狀態"
 msgstr "狀態"
 
 
-#: src/components/NginxControl/NginxControl.vue:81
+#: src/components/NginxControl/NginxControl.vue:84
 msgid "Stopped"
 msgid "Stopped"
 msgstr "已停止"
 msgstr "已停止"
 
 
-#: src/views/dashboard/ServerAnalytic.vue:243
+#: src/views/dashboard/ServerAnalytic.vue:245
+#: src/views/dashboard/ServerAnalytic.vue:246
 msgid "Storage"
 msgid "Storage"
 msgstr "儲存空間"
 msgstr "儲存空間"
 
 
@@ -1609,7 +1623,8 @@ msgstr "主體名稱: %{name}"
 msgid "Success"
 msgid "Success"
 msgstr ""
 msgstr ""
 
 
-#: src/views/dashboard/ServerAnalytic.vue:230
+#: src/views/dashboard/ServerAnalytic.vue:231
+#: src/views/dashboard/ServerAnalytic.vue:232
 msgid "Swap"
 msgid "Swap"
 msgstr "交換空間"
 msgstr "交換空間"
 
 
@@ -1660,6 +1675,10 @@ msgstr ""
 msgid "The input is not a SSL Certificate Key"
 msgid "The input is not a SSL Certificate Key"
 msgstr "SSL 憑證金鑰路徑"
 msgstr "SSL 憑證金鑰路徑"
 
 
+#: src/views/preference/OpenAISettings.vue:30
+msgid "The model name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/certificate/CertificateEditor.vue:165
 #: src/views/certificate/CertificateEditor.vue:165
 #, fuzzy
 #, fuzzy
 msgid "The path exists, but the file is not a certificate"
 msgid "The path exists, but the file is not a certificate"
@@ -1669,6 +1688,10 @@ msgstr "SSL 憑證金鑰路徑"
 msgid "The path exists, but the file is not a private key"
 msgid "The path exists, but the file is not a private key"
 msgstr ""
 msgstr ""
 
 
+#: src/views/preference/BasicSettings.vue:120
+msgid "The server name should only contain letters, numbers, dashes, and dots."
+msgstr ""
+
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #: src/views/domain/cert/components/AutoCertStepOne.vue:50
 #, fuzzy
 #, fuzzy
 msgid ""
 msgid ""
@@ -1678,10 +1701,14 @@ msgstr "注意:目前設定中的 server_name 必須為需要申請憑證的
 
 
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:38
 #: src/views/preference/BasicSettings.vue:50
 #: src/views/preference/BasicSettings.vue:50
-#: src/views/preference/OpenAISettings.vue:36
-#: src/views/preference/OpenAISettings.vue:48
 #, fuzzy
 #, fuzzy
-msgid "The url is not valid"
+msgid "The url is invalid"
+msgstr "此功能在演示中不可用。"
+
+#: src/views/preference/OpenAISettings.vue:42
+#: src/views/preference/OpenAISettings.vue:54
+#, fuzzy
+msgid "The url is invalid."
 msgstr "此功能在演示中不可用。"
 msgstr "此功能在演示中不可用。"
 
 
 #: src/language/constants.ts:2
 #: src/language/constants.ts:2
@@ -1725,7 +1752,7 @@ msgstr ""
 "為了確保憑證自動續期能夠正常運作,我們需要新增一個 Location 來代理從授權後端"
 "為了確保憑證自動續期能夠正常運作,我們需要新增一個 Location 來代理從授權後端"
 "的請求,我們需要儲存這個檔案並重新載入 Nginx。你確定你要繼續嗎?"
 "的請求,我們需要儲存這個檔案並重新載入 Nginx。你確定你要繼續嗎?"
 
 
-#: src/views/preference/OpenAISettings.vue:60
+#: src/views/preference/OpenAISettings.vue:66
 msgid "Token is not valid"
 msgid "Token is not valid"
 msgstr ""
 msgstr ""
 
 
@@ -1742,7 +1769,7 @@ msgstr "類型"
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/certificate/DNSCredential.vue:23 src/views/config/config.ts:27
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/config/ConfigEdit.vue:121
 #: src/views/domain/components/RightSettings.vue:86
 #: src/views/domain/components/RightSettings.vue:86
-#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:95
+#: src/views/domain/DomainList.vue:41 src/views/environment/Environment.vue:122
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/components/RightSettings.vue:85
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 #: src/views/stream/StreamList.vue:41 src/views/user/User.vue:37
 msgid "Updated at"
 msgid "Updated at"
@@ -1773,11 +1800,11 @@ msgstr ""
 msgid "Uptime:"
 msgid "Uptime:"
 msgstr "運作時間:"
 msgstr "運作時間:"
 
 
-#: src/views/environment/Environment.vue:21
+#: src/views/environment/Environment.vue:22
 msgid "URL"
 msgid "URL"
 msgstr "URL"
 msgstr "URL"
 
 
-#: src/components/ChatGPT/ChatGPT.vue:225
+#: src/components/ChatGPT/ChatGPT.vue:230
 msgid "User"
 msgid "User"
 msgstr "使用者名稱"
 msgstr "使用者名稱"
 
 
@@ -1834,7 +1861,7 @@ msgstr ""
 "繼續嗎?"
 "繼續嗎?"
 
 
 #: src/views/dashboard/ServerAnalytic.vue:27
 #: src/views/dashboard/ServerAnalytic.vue:27
-#: src/views/dashboard/ServerAnalytic.vue:365
+#: src/views/dashboard/ServerAnalytic.vue:368
 msgid "Writes"
 msgid "Writes"
 msgstr "寫"
 msgstr "寫"
 
 
@@ -1860,6 +1887,10 @@ msgstr "您正在使用最新版本"
 msgid "You can check Nginx UI upgrade at this page."
 msgid "You can check Nginx UI upgrade at this page."
 msgstr "您可以在此頁面檢查 Nginx UI 的升級。"
 msgstr "您可以在此頁面檢查 Nginx UI 的升級。"
 
 
+#, fuzzy
+#~ msgid "The url is not valid"
+#~ msgstr "此功能在演示中不可用。"
+
 #~ msgid "ChatGPT Model"
 #~ msgid "ChatGPT Model"
 #~ msgstr "ChatGPT 模型"
 #~ msgstr "ChatGPT 模型"
 
 
@@ -1881,10 +1912,6 @@ msgstr "您可以在此頁面檢查 Nginx UI 的升級。"
 #~ msgid "Table"
 #~ msgid "Table"
 #~ msgstr "表格"
 #~ msgstr "表格"
 
 
-#, fuzzy
-#~ msgid "Server"
-#~ msgstr "伺服器資訊"
-
 #, fuzzy
 #, fuzzy
 #~ msgid "Leave blank will not change anything."
 #~ msgid "Leave blank will not change anything."
 #~ msgstr "留空表示不修改"
 #~ msgstr "留空表示不修改"

+ 1 - 1
app/src/version.json

@@ -1 +1 @@
-{"version":"2.0.0-beta.22","build_id":132,"total_build":336}
+{"version":"2.0.0-beta.23","build_id":133,"total_build":337}

+ 2 - 2
app/src/views/preference/BasicSettings.vue

@@ -35,7 +35,7 @@ const errors: Record<string, Record<string, string>> = inject('errors') as Recor
       :label="$gettext('Github Proxy')"
       :label="$gettext('Github Proxy')"
       :validate-status="errors?.server?.github_proxy ? 'error' : ''"
       :validate-status="errors?.server?.github_proxy ? 'error' : ''"
       :help="errors?.server?.github_proxy === 'url'
       :help="errors?.server?.github_proxy === 'url'
-        ? $gettext('The url is not valid')
+        ? $gettext('The url is invalid')
         : ''"
         : ''"
     >
     >
       <AInput
       <AInput
@@ -47,7 +47,7 @@ const errors: Record<string, Record<string, string>> = inject('errors') as Recor
       :label="$gettext('CADir')"
       :label="$gettext('CADir')"
       :validate-status="errors?.server?.ca_dir ? 'error' : ''"
       :validate-status="errors?.server?.ca_dir ? 'error' : ''"
       :help="errors?.server?.ca_dir === 'url'
       :help="errors?.server?.ca_dir === 'url'
-        ? $gettext('The url is not valid')
+        ? $gettext('The url is invalid')
         : ''"
         : ''"
     >
     >
       <AInput v-model:value="data.server.ca_dir" />
       <AInput v-model:value="data.server.ca_dir" />

+ 1 - 1
app/version.json

@@ -1 +1 @@
-{"version":"2.0.0-beta.22","build_id":132,"total_build":336}
+{"version":"2.0.0-beta.23","build_id":133,"total_build":337}