Browse Source

chore: update translations

Jacky 1 month ago
parent
commit
06203e7e93

File diff suppressed because it is too large
+ 187 - 191
app/src/language/ar/app.po


File diff suppressed because it is too large
+ 182 - 196
app/src/language/de_DE/app.po


+ 126 - 121
app/src/language/en/app.po

@@ -1,85 +1,85 @@
-#: src/language/generate.ts:28
+#: src/language/generate.ts:31
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:32
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:33
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr ""
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:35
 msgid ""
 "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:36
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:37
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr ""
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:38
 msgid "[Nginx UI] Finished"
 msgstr ""
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr ""
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Obtaining certificate"
 msgstr ""
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr ""
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:42
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr ""
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:43
 msgid "[Nginx UI] Reloading nginx"
 msgstr ""
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:44
 msgid "[Nginx UI] Revocation completed"
 msgstr ""
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:45
 msgid "[Nginx UI] Revoking certificate"
 msgstr ""
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:46
 msgid "[Nginx UI] Revoking old certificate"
 msgstr ""
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:49
 msgid "[Nginx UI] Setting environment variables"
 msgstr ""
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:50
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr ""
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:51
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr ""
 
@@ -87,7 +87,7 @@ msgstr ""
 msgid "2FA"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:70
+#: src/views/preference/tabs/AuthSettings.vue:69
 msgid "2FA Settings"
 msgstr ""
 
@@ -114,8 +114,7 @@ msgid "ACME User"
 msgstr ""
 
 #: src/views/notification/notificationColumns.tsx:66
-#: src/views/preference/components/ExternalNotify/columns.tsx:57
-#: src/views/preference/tabs/AuthSettings.vue:30
+#: src/views/preference/tabs/AuthSettings.vue:29
 msgid "Action"
 msgstr ""
 
@@ -126,6 +125,7 @@ msgstr ""
 #: src/views/environments/group/columns.ts:41
 #: src/views/environments/list/envColumns.tsx:96
 #: src/views/nginx_log/NginxLogList.vue:52
+#: src/views/preference/components/ExternalNotify/columns.tsx:76
 #: src/views/site/site_list/columns.tsx:129 src/views/stream/columns.tsx:64
 #: src/views/user/userColumns.tsx:58
 msgid "Actions"
@@ -154,7 +154,7 @@ msgid "Add a passkey"
 msgstr ""
 
 #: src/routes/modules/config.ts:20 src/views/config/ConfigEditor.vue:171
-#: src/views/config/ConfigEditor.vue:244
+#: src/views/config/ConfigEditor.vue:250
 msgid "Add Configuration"
 msgstr ""
 
@@ -229,7 +229,7 @@ msgstr ""
 msgid "Arch"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:162
+#: src/views/preference/tabs/AuthSettings.vue:161
 msgid "Are you sure to delete this banned IP immediately?"
 msgstr ""
 
@@ -245,8 +245,8 @@ msgstr ""
 msgid "Are you sure to reset 2FA?"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:112
-#: src/views/notification/Notification.vue:39
+#: src/components/Notification/Notification.vue:111
+#: src/views/notification/Notification.vue:40
 msgid "Are you sure you want to clear all notifications?"
 msgstr ""
 
@@ -299,7 +299,7 @@ msgstr ""
 msgid "Attempt to fix"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:21
+#: src/views/preference/tabs/AuthSettings.vue:20
 msgid "Attempts"
 msgstr ""
 
@@ -311,7 +311,7 @@ msgstr ""
 msgid "Authenticate with a passkey"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:88
+#: src/views/preference/tabs/AuthSettings.vue:87
 msgid "Authentication Settings"
 msgstr ""
 
@@ -355,7 +355,7 @@ msgid "Automatic Restart"
 msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:259
-#: src/views/config/ConfigEditor.vue:266 src/views/config/ConfigList.vue:112
+#: src/views/config/ConfigEditor.vue:272 src/views/config/ConfigList.vue:112
 #: src/views/config/ConfigList.vue:195 src/views/nginx_log/NginxLog.vue:174
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:150
 #: src/views/stream/components/StreamEditor.vue:106
@@ -386,15 +386,15 @@ msgstr ""
 msgid "Backup has been downloaded successfully"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:129
+#: src/views/preference/tabs/AuthSettings.vue:128
 msgid "Ban Threshold Minutes"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:150
+#: src/views/preference/tabs/AuthSettings.vue:149
 msgid "Banned IPs"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:24
+#: src/views/preference/tabs/AuthSettings.vue:23
 msgid "Banned Until"
 msgstr ""
 
@@ -406,7 +406,7 @@ msgstr ""
 msgid "Base information"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:294
+#: src/views/config/ConfigEditor.vue:300
 #: src/views/site/site_edit/components/RightPanel/RightPanel.vue:30
 #: src/views/stream/components/RightPanel/RightPanel.vue:19
 msgid "Basic"
@@ -567,7 +567,7 @@ msgstr ""
 msgid "Certificate Expiring Soon"
 msgstr ""
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:4
 msgid "Certificate not found: %{error}"
 msgstr ""
 
@@ -592,7 +592,7 @@ msgstr ""
 msgid "Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:5
 msgid "Certificate revoked successfully"
 msgstr ""
 
@@ -627,7 +627,7 @@ msgid_plural "Changed Certificates"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/views/config/ConfigEditor.vue:322
+#: src/views/config/ConfigEditor.vue:328
 msgid "Changed Path"
 msgstr ""
 
@@ -650,7 +650,7 @@ msgstr ""
 msgid "Check again"
 msgstr ""
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:6
 msgid ""
 "Check if /var/run/docker.sock exists. If you are using Nginx UI Official "
 "Docker Image, please make sure the docker socket is mounted like this: `-v /"
@@ -669,7 +669,7 @@ msgid ""
 "prevents using Passkeys and clipboard features"
 msgstr ""
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:8
 msgid ""
 "Check if the nginx access log path exists. By default, this path is obtained "
 "from 'nginx -V'. If it cannot be obtained or the obtained path does not "
@@ -679,15 +679,15 @@ msgid ""
 "nginx.html#accesslogpath"
 msgstr ""
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:9
 msgid "Check if the nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:7
+#: src/language/generate.ts:10
 msgid "Check if the nginx configuration entry file exists"
 msgstr ""
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:11
 msgid ""
 "Check if the nginx error log path exists. By default, this path is obtained "
 "from 'nginx -V'. If it cannot be obtained or the obtained path does not "
@@ -697,7 +697,7 @@ msgid ""
 "nginx.html#errorlogpath"
 msgstr ""
 
-#: src/language/generate.ts:49
+#: src/language/generate.ts:7
 msgid ""
 "Check if the nginx PID path exists. By default, this path is obtained from "
 "'nginx -V'. If it cannot be obtained, an error will be reported. In this "
@@ -706,25 +706,25 @@ msgid ""
 "config-nginx.html#pidpath"
 msgstr ""
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:12
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:13
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:14
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:15
 msgid ""
 "Check if the sites-available and sites-enabled directories are under the "
 "nginx configuration directory"
 msgstr ""
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:16
 msgid ""
 "Check if the streams-available and streams-enabled directories are under the "
 "nginx configuration directory"
@@ -739,12 +739,12 @@ msgid "Cleaning environment variables"
 msgstr ""
 
 #: src/components/ChatGPT/ChatGPT.vue:380
-#: src/components/Notification/Notification.vue:117
-#: src/views/notification/Notification.vue:44
+#: src/components/Notification/Notification.vue:116
+#: src/views/notification/Notification.vue:45
 msgid "Clear"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:70
+#: src/components/Notification/Notification.vue:69
 #: src/views/notification/Notification.vue:13
 msgid "Cleared successfully"
 msgstr ""
@@ -786,7 +786,7 @@ msgstr ""
 msgid "Client request header buffer size"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:167 src/language/curd.ts:14
+#: src/components/ConfigHistory/ConfigHistory.vue:169 src/language/curd.ts:14
 msgid "Close"
 msgstr ""
 
@@ -813,7 +813,7 @@ msgstr ""
 msgid "Comments"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:125
+#: src/components/ConfigHistory/ConfigHistory.vue:127
 msgid "Compare"
 msgstr ""
 
@@ -821,11 +821,11 @@ msgstr ""
 msgid "Compare Configurations"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:128
+#: src/components/ConfigHistory/ConfigHistory.vue:130
 msgid "Compare Selected"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:127
+#: src/components/ConfigHistory/ConfigHistory.vue:129
 msgid "Compare with Current"
 msgstr ""
 
@@ -833,6 +833,11 @@ msgstr ""
 msgid "Compression level, 1 is lowest, 9 is highest"
 msgstr ""
 
+#: src/views/preference/components/ExternalNotify/columns.tsx:46
+#: src/views/preference/components/ExternalNotify/columns.tsx:58
+msgid "Config"
+msgstr ""
+
 #: src/constants/errors/self_check.ts:17
 msgid "Config directory not exist"
 msgstr ""
@@ -853,7 +858,7 @@ msgstr ""
 msgid "Configuration file is test successful"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:136
+#: src/components/ConfigHistory/ConfigHistory.vue:138
 msgid "Configuration History"
 msgstr ""
 
@@ -966,7 +971,7 @@ msgstr ""
 #: src/views/environments/group/columns.ts:29
 #: src/views/notification/notificationColumns.tsx:45
 #: src/views/preference/components/AuthSettings/Passkey.vue:95
-#: src/views/preference/components/ExternalNotify/columns.tsx:52
+#: src/views/preference/components/ExternalNotify/columns.tsx:71
 #: src/views/user/userColumns.tsx:46
 msgid "Created at"
 msgstr ""
@@ -1103,7 +1108,7 @@ msgstr ""
 msgid "Demo"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:338
+#: src/views/config/ConfigEditor.vue:344
 msgid "Deploy"
 msgstr ""
 
@@ -1298,7 +1303,7 @@ msgstr ""
 msgid "Docker client not initialized"
 msgstr ""
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:17
 msgid "Docker socket exists"
 msgstr ""
 
@@ -1352,8 +1357,8 @@ msgstr ""
 msgid "Duplicate to local successfully"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:88
-#: src/views/dashboard/components/ModulesTable.vue:93
+#: src/views/dashboard/components/ModulesTable.vue:87
+#: src/views/dashboard/components/ModulesTable.vue:92
 msgid "Dynamic"
 msgstr ""
 
@@ -1366,7 +1371,7 @@ msgstr ""
 msgid "Edit %{n}"
 msgstr ""
 
-#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:244
+#: src/routes/modules/config.ts:30 src/views/config/ConfigEditor.vue:250
 msgid "Edit Configuration"
 msgstr ""
 
@@ -1703,7 +1708,7 @@ msgstr ""
 msgid "Failed to delete certificate"
 msgstr ""
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:18
 msgid "Failed to delete certificate from database: %{error}"
 msgstr ""
 
@@ -1787,7 +1792,7 @@ msgstr ""
 msgid "Failed to inspect current container: {0}"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:75
+#: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgstr ""
 
@@ -1847,7 +1852,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr ""
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:19
 msgid "Failed to revoke certificate: %{error}"
 msgstr ""
 
@@ -1918,11 +1923,11 @@ msgstr ""
 msgid "Form parse failed"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:269
+#: src/views/config/ConfigEditor.vue:275
 msgid "Format Code"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:216
+#: src/views/config/ConfigEditor.vue:222
 msgid "Format successfully"
 msgstr ""
 
@@ -1996,7 +2001,7 @@ msgstr ""
 msgid "Higher value means better connection reuse"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:254
+#: src/views/config/ConfigEditor.vue:260
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:81
 #: src/views/stream/components/StreamEditor.vue:43
 msgid "History"
@@ -2034,7 +2039,7 @@ msgstr ""
 msgid "If left blank, the default CA Dir will be used."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:145
+#: src/views/preference/tabs/AuthSettings.vue:144
 msgid ""
 "If the number of login failed attempts from a ip reach the max attempts in "
 "ban threshold minutes, the ip will be banned for a period of time."
@@ -2157,7 +2162,7 @@ msgid "Invalid file path: {0}"
 msgstr ""
 
 #: src/views/config/components/Rename.vue:66
-#: src/views/config/ConfigEditor.vue:303
+#: src/views/config/ConfigEditor.vue:309
 msgid "Invalid filename"
 msgstr ""
 
@@ -2193,7 +2198,7 @@ msgstr ""
 msgid "Invalid security token format"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:18
+#: src/views/preference/tabs/AuthSettings.vue:17
 msgid "IP"
 msgstr ""
 
@@ -2236,7 +2241,7 @@ msgstr ""
 msgid "Key Type"
 msgstr ""
 
-#: src/views/preference/components/ExternalNotify/columns.tsx:28
+#: src/views/preference/components/ExternalNotify/columns.tsx:32
 msgid "Language"
 msgstr ""
 
@@ -2314,8 +2319,8 @@ msgstr ""
 msgid "Load successfully"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:101
-#: src/views/dashboard/components/ModulesTable.vue:106
+#: src/views/dashboard/components/ModulesTable.vue:100
+#: src/views/dashboard/components/ModulesTable.vue:105
 msgid "Loaded"
 msgstr ""
 
@@ -2357,7 +2362,7 @@ msgstr ""
 msgid "Log"
 msgstr ""
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:20
 msgid ""
 "Log file %{log_path} is not a regular file. If you are using nginx-ui in "
 "docker container, please refer to https://nginxui.com/zh_CN/guide/config-"
@@ -2469,7 +2474,7 @@ msgstr ""
 msgid "Master Process"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:135
+#: src/views/preference/tabs/AuthSettings.vue:134
 msgid "Max Attempts"
 msgstr ""
 
@@ -2556,7 +2561,7 @@ msgstr ""
 msgid "Modify Config"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:28
+#: src/views/dashboard/components/ModulesTable.vue:27
 msgid "Module"
 msgstr ""
 
@@ -2574,7 +2579,7 @@ msgstr ""
 #: src/views/certificate/CertificateList/certColumns.tsx:9
 #: src/views/certificate/DNSCredential.vue:8
 #: src/views/config/components/Mkdir.vue:64
-#: src/views/config/configColumns.tsx:6 src/views/config/ConfigEditor.vue:309
+#: src/views/config/configColumns.tsx:6 src/views/config/ConfigEditor.vue:315
 #: src/views/environments/group/columns.ts:7
 #: src/views/environments/list/envColumns.tsx:8
 #: src/views/nginx_log/NginxLogList.vue:36
@@ -2617,7 +2622,7 @@ msgstr ""
 msgid "New name"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:322
+#: src/views/config/ConfigEditor.vue:328
 msgid "New Path"
 msgstr ""
 
@@ -2640,7 +2645,7 @@ msgstr ""
 msgid "Nginx Access Log Path"
 msgstr ""
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:22
 msgid "Nginx access log path exists"
 msgstr ""
 
@@ -2668,11 +2673,11 @@ msgstr ""
 msgid "Nginx config directory is not set"
 msgstr ""
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:23
 msgid "Nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:24
 msgid "Nginx configuration entry file exists"
 msgstr ""
 
@@ -2710,7 +2715,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgstr ""
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:25
 msgid "Nginx error log path exists"
 msgstr ""
 
@@ -2751,7 +2756,7 @@ msgstr ""
 msgid "Nginx PID Path"
 msgstr ""
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:21
 msgid "Nginx PID path exists"
 msgstr ""
 
@@ -2811,15 +2816,15 @@ msgid ""
 "few seconds."
 msgstr ""
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:26
 msgid "Nginx.conf includes conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:27
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:28
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr ""
 
@@ -2828,9 +2833,9 @@ msgstr ""
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:99
 #: src/components/NgxConfigEditor/LocationEditor.vue:89
-#: src/components/Notification/Notification.vue:110 src/language/curd.ts:38
-#: src/views/notification/Notification.vue:37
-#: src/views/preference/tabs/AuthSettings.vue:164
+#: src/components/Notification/Notification.vue:109 src/language/curd.ts:38
+#: src/views/notification/Notification.vue:38
+#: src/views/preference/tabs/AuthSettings.vue:163
 #: src/views/preference/tabs/CertSettings.vue:73
 #: src/views/site/site_list/SiteList.vue:97 src/views/stream/StreamList.vue:154
 msgid "No"
@@ -2884,8 +2889,8 @@ msgstr ""
 msgid "Not Found"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:102
-#: src/views/dashboard/components/ModulesTable.vue:106
+#: src/views/dashboard/components/ModulesTable.vue:101
+#: src/views/dashboard/components/ModulesTable.vue:105
 msgid "Not Loaded"
 msgstr ""
 
@@ -2909,7 +2914,7 @@ msgstr ""
 msgid "Notification"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:108
+#: src/components/Notification/Notification.vue:107
 #: src/routes/modules/notifications.ts:10
 msgid "Notifications"
 msgstr ""
@@ -2970,8 +2975,8 @@ msgstr ""
 #: src/components/ChatGPT/ChatGPT.vue:375
 #: src/components/NgxConfigEditor/NgxServer.vue:53
 #: src/components/NgxConfigEditor/NgxUpstream.vue:36
-#: src/components/Notification/Notification.vue:111 src/language/curd.ts:15
-#: src/views/notification/Notification.vue:38
+#: src/components/Notification/Notification.vue:110 src/language/curd.ts:15
+#: src/views/notification/Notification.vue:39
 #: src/views/site/components/SiteStatusSegmented.vue:96
 #: src/views/site/site_edit/components/Cert/IssueCert.vue:39
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
@@ -3046,11 +3051,11 @@ msgstr ""
 msgid "Otp or recovery code empty"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:347
+#: src/views/config/ConfigEditor.vue:353
 msgid "Overwrite"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:351
+#: src/views/config/ConfigEditor.vue:357
 msgid "Overwrite exist file"
 msgstr ""
 
@@ -3096,7 +3101,7 @@ msgstr ""
 
 #: src/components/NgxConfigEditor/LocationEditor.vue:110
 #: src/components/NgxConfigEditor/LocationEditor.vue:138
-#: src/language/curd.ts:59 src/views/config/ConfigEditor.vue:316
+#: src/language/curd.ts:59 src/views/config/ConfigEditor.vue:322
 #: src/views/nginx_log/NginxLogList.vue:44
 msgid "Path"
 msgstr ""
@@ -3190,7 +3195,7 @@ msgid ""
 msgstr ""
 
 #: src/views/config/components/Rename.vue:65
-#: src/views/config/ConfigEditor.vue:302
+#: src/views/config/ConfigEditor.vue:308
 msgid "Please input a filename"
 msgstr ""
 
@@ -3457,16 +3462,16 @@ msgstr ""
 msgid "Reloading nginx"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:169
+#: src/views/preference/tabs/AuthSettings.vue:168
 msgid "Remove"
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/Passkey.vue:46
-#: src/views/preference/tabs/AuthSettings.vue:51
+#: src/views/preference/tabs/AuthSettings.vue:50
 msgid "Remove successfully"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:79
+#: src/components/Notification/Notification.vue:78
 msgid "Removed successfully"
 msgstr ""
 
@@ -3677,15 +3682,15 @@ msgid ""
 "action cannot be undone."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:107
+#: src/views/preference/tabs/AuthSettings.vue:106
 msgid "RP Display Name"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:113
+#: src/views/preference/tabs/AuthSettings.vue:112
 msgid "RP Origins"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:101
+#: src/views/preference/tabs/AuthSettings.vue:100
 msgid "RPID"
 msgstr ""
 
@@ -3701,7 +3706,7 @@ msgstr ""
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:129
 #: src/language/curd.ts:18 src/views/certificate/CertificateEditor.vue:266
 #: src/views/config/components/ConfigName.vue:59
-#: src/views/config/ConfigEditor.vue:275
+#: src/views/config/ConfigEditor.vue:281
 #: src/views/preference/components/AuthSettings/Passkey.vue:130
 #: src/views/preference/Preference.vue:117
 #: src/views/site/site_edit/components/ConfigName/ConfigName.vue:52
@@ -3760,7 +3765,7 @@ msgid "Save successfully"
 msgstr ""
 
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:43
-#: src/language/curd.ts:28 src/views/config/ConfigEditor.vue:194
+#: src/language/curd.ts:28 src/views/config/ConfigEditor.vue:200
 #: src/views/site/site_add/SiteAdd.vue:29
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:40
 msgid "Saved successfully"
@@ -3931,7 +3936,7 @@ msgstr ""
 msgid "Site not found"
 msgstr ""
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:29
 msgid "Sites directory exists"
 msgstr ""
 
@@ -4023,14 +4028,14 @@ msgstr ""
 msgid "Start Restore"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:89
-#: src/views/dashboard/components/ModulesTable.vue:93
+#: src/views/dashboard/components/ModulesTable.vue:88
+#: src/views/dashboard/components/ModulesTable.vue:92
 msgid "Static"
 msgstr ""
 
 #: src/views/certificate/ACMEUser.vue:60
 #: src/views/certificate/CertificateList/certColumns.tsx:63
-#: src/views/dashboard/components/ModulesTable.vue:97
+#: src/views/dashboard/components/ModulesTable.vue:96
 #: src/views/environments/list/envColumns.tsx:43
 #: src/views/site/site_edit/components/RightPanel/Basic.vue:28
 #: src/views/site/site_list/columns.tsx:88 src/views/stream/columns.tsx:37
@@ -4054,7 +4059,7 @@ msgstr ""
 msgid "Stream not found"
 msgstr ""
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:30
 msgid "Streams directory exists"
 msgstr ""
 
@@ -4404,12 +4409,12 @@ msgid ""
 "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:124
+#: src/views/preference/tabs/AuthSettings.vue:123
 msgid "Throttle"
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:65
-#: src/views/preference/tabs/AuthSettings.vue:144
+#: src/views/preference/tabs/AuthSettings.vue:143
 #: src/views/preference/tabs/LogrotateSettings.vue:12
 msgid "Tips"
 msgstr ""
@@ -4515,10 +4520,10 @@ msgid "Two-factor authentication required"
 msgstr ""
 
 #: src/views/certificate/CertificateList/certColumns.tsx:24
-#: src/views/dashboard/components/ModulesTable.vue:84
+#: src/views/dashboard/components/ModulesTable.vue:83
 #: src/views/nginx_log/NginxLogList.vue:12
 #: src/views/notification/notificationColumns.tsx:8
-#: src/views/preference/components/ExternalNotify/columns.tsx:16
+#: src/views/preference/components/ExternalNotify/columns.tsx:18
 msgid "Type"
 msgstr ""
 
@@ -4532,7 +4537,7 @@ msgstr ""
 
 #: src/views/certificate/ACMEUser.vue:83
 #: src/views/certificate/DNSCredential.vue:24
-#: src/views/config/configColumns.tsx:35 src/views/config/ConfigEditor.vue:329
+#: src/views/config/configColumns.tsx:35 src/views/config/ConfigEditor.vue:335
 #: src/views/environments/group/columns.ts:35
 #: src/views/environments/list/envColumns.tsx:89
 #: src/views/site/site_edit/components/RightPanel/Basic.vue:38
@@ -4646,7 +4651,7 @@ msgstr ""
 msgid "View"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:180
+#: src/components/Notification/Notification.vue:179
 msgid "View all notifications"
 msgstr ""
 
@@ -4690,7 +4695,7 @@ msgid ""
 "Nginx. Are you sure you want to continue?"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:97
+#: src/views/preference/tabs/AuthSettings.vue:96
 msgid "Webauthn"
 msgstr ""
 
@@ -4763,7 +4768,7 @@ msgstr ""
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:98
 #: src/components/NgxConfigEditor/LocationEditor.vue:88
-#: src/views/preference/tabs/AuthSettings.vue:163
+#: src/views/preference/tabs/AuthSettings.vue:162
 #: src/views/preference/tabs/CertSettings.vue:72
 msgid "Yes"
 msgstr ""

File diff suppressed because it is too large
+ 173 - 181
app/src/language/es/app.po


File diff suppressed because it is too large
+ 187 - 201
app/src/language/fr_FR/app.po


File diff suppressed because it is too large
+ 182 - 224
app/src/language/ja_JP/app.po


File diff suppressed because it is too large
+ 184 - 212
app/src/language/ko_KR/app.po


+ 126 - 121
app/src/language/messages.pot

@@ -2,87 +2,87 @@ msgid ""
 msgstr ""
 "Content-Type: text/plain; charset=UTF-8\n"
 
-#: src/language/generate.ts:28
+#: src/language/generate.ts:31
 msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
 msgstr ""
 
-#: src/language/generate.ts:23
+#: src/language/generate.ts:32
 msgid "[Nginx UI] Backing up current certificate for later revocation"
 msgstr ""
 
-#: src/language/generate.ts:45
+#: src/language/generate.ts:33
 msgid "[Nginx UI] Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:40
+#: src/language/generate.ts:34
 msgid "[Nginx UI] Certificate successfully revoked"
 msgstr ""
 
-#: src/language/generate.ts:30
+#: src/language/generate.ts:35
 msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
 msgstr ""
 
-#: src/language/generate.ts:16
+#: src/language/generate.ts:36
 msgid "[Nginx UI] Creating client facilitates communication with the CA server"
 msgstr ""
 
-#: src/language/generate.ts:22
+#: src/language/generate.ts:37
 msgid "[Nginx UI] Environment variables cleaned"
 msgstr ""
 
-#: src/language/generate.ts:24
+#: src/language/generate.ts:38
 msgid "[Nginx UI] Finished"
 msgstr ""
 
-#: src/language/generate.ts:4
+#: src/language/generate.ts:39
 msgid "[Nginx UI] Issued certificate successfully"
 msgstr ""
 
-#: src/language/generate.ts:11
+#: src/language/generate.ts:40
 msgid "[Nginx UI] Obtaining certificate"
 msgstr ""
 
-#: src/language/generate.ts:38
+#: src/language/generate.ts:41
 msgid "[Nginx UI] Preparing for certificate revocation"
 msgstr ""
 
-#: src/language/generate.ts:5
+#: src/language/generate.ts:42
 msgid "[Nginx UI] Preparing lego configurations"
 msgstr ""
 
-#: src/language/generate.ts:17
+#: src/language/generate.ts:43
 msgid "[Nginx UI] Reloading nginx"
 msgstr ""
 
-#: src/language/generate.ts:46
+#: src/language/generate.ts:44
 msgid "[Nginx UI] Revocation completed"
 msgstr ""
 
-#: src/language/generate.ts:39
+#: src/language/generate.ts:45
 msgid "[Nginx UI] Revoking certificate"
 msgstr ""
 
-#: src/language/generate.ts:37
+#: src/language/generate.ts:46
 msgid "[Nginx UI] Revoking old certificate"
 msgstr ""
 
-#: src/language/generate.ts:21
+#: src/language/generate.ts:47
 msgid "[Nginx UI] Setting DNS01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:29
+#: src/language/generate.ts:49
 msgid "[Nginx UI] Setting environment variables"
 msgstr ""
 
-#: src/language/generate.ts:36
+#: src/language/generate.ts:48
 msgid "[Nginx UI] Setting HTTP01 challenge provider"
 msgstr ""
 
-#: src/language/generate.ts:6
+#: src/language/generate.ts:50
 msgid "[Nginx UI] Writing certificate private key to disk"
 msgstr ""
 
-#: src/language/generate.ts:12
+#: src/language/generate.ts:51
 msgid "[Nginx UI] Writing certificate to disk"
 msgstr ""
 
@@ -90,7 +90,7 @@ msgstr ""
 msgid "2FA"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:70
+#: src/views/preference/tabs/AuthSettings.vue:69
 msgid "2FA Settings"
 msgstr ""
 
@@ -118,8 +118,7 @@ msgid "ACME User"
 msgstr ""
 
 #: src/views/notification/notificationColumns.tsx:66
-#: src/views/preference/components/ExternalNotify/columns.tsx:57
-#: src/views/preference/tabs/AuthSettings.vue:30
+#: src/views/preference/tabs/AuthSettings.vue:29
 msgid "Action"
 msgstr ""
 
@@ -130,6 +129,7 @@ msgstr ""
 #: src/views/environments/group/columns.ts:41
 #: src/views/environments/list/envColumns.tsx:96
 #: src/views/nginx_log/NginxLogList.vue:52
+#: src/views/preference/components/ExternalNotify/columns.tsx:76
 #: src/views/site/site_list/columns.tsx:129
 #: src/views/stream/columns.tsx:64
 #: src/views/user/userColumns.tsx:58
@@ -161,7 +161,7 @@ msgstr ""
 
 #: src/routes/modules/config.ts:20
 #: src/views/config/ConfigEditor.vue:171
-#: src/views/config/ConfigEditor.vue:244
+#: src/views/config/ConfigEditor.vue:250
 msgid "Add Configuration"
 msgstr ""
 
@@ -237,7 +237,7 @@ msgstr ""
 msgid "Arch"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:162
+#: src/views/preference/tabs/AuthSettings.vue:161
 msgid "Are you sure to delete this banned IP immediately?"
 msgstr ""
 
@@ -253,8 +253,8 @@ msgstr ""
 msgid "Are you sure to reset 2FA?"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:112
-#: src/views/notification/Notification.vue:39
+#: src/components/Notification/Notification.vue:111
+#: src/views/notification/Notification.vue:40
 msgid "Are you sure you want to clear all notifications?"
 msgstr ""
 
@@ -308,7 +308,7 @@ msgstr ""
 msgid "Attempt to fix"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:21
+#: src/views/preference/tabs/AuthSettings.vue:20
 msgid "Attempts"
 msgstr ""
 
@@ -320,7 +320,7 @@ msgstr ""
 msgid "Authenticate with a passkey"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:88
+#: src/views/preference/tabs/AuthSettings.vue:87
 msgid "Authentication Settings"
 msgstr ""
 
@@ -364,7 +364,7 @@ msgid "Automatic Restart"
 msgstr ""
 
 #: src/views/certificate/CertificateEditor.vue:259
-#: src/views/config/ConfigEditor.vue:266
+#: src/views/config/ConfigEditor.vue:272
 #: src/views/config/ConfigList.vue:112
 #: src/views/config/ConfigList.vue:195
 #: src/views/nginx_log/NginxLog.vue:174
@@ -397,15 +397,15 @@ msgstr ""
 msgid "Backup has been downloaded successfully"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:129
+#: src/views/preference/tabs/AuthSettings.vue:128
 msgid "Ban Threshold Minutes"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:150
+#: src/views/preference/tabs/AuthSettings.vue:149
 msgid "Banned IPs"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:24
+#: src/views/preference/tabs/AuthSettings.vue:23
 msgid "Banned Until"
 msgstr ""
 
@@ -417,7 +417,7 @@ msgstr ""
 msgid "Base information"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:294
+#: src/views/config/ConfigEditor.vue:300
 #: src/views/site/site_edit/components/RightPanel/RightPanel.vue:30
 #: src/views/stream/components/RightPanel/RightPanel.vue:19
 msgid "Basic"
@@ -576,7 +576,7 @@ msgstr ""
 msgid "Certificate Expiring Soon"
 msgstr ""
 
-#: src/language/generate.ts:43
+#: src/language/generate.ts:4
 msgid "Certificate not found: %{error}"
 msgstr ""
 
@@ -601,7 +601,7 @@ msgstr ""
 msgid "Certificate renewed successfully"
 msgstr ""
 
-#: src/language/generate.ts:44
+#: src/language/generate.ts:5
 msgid "Certificate revoked successfully"
 msgstr ""
 
@@ -636,7 +636,7 @@ msgid_plural "Changed Certificates"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/views/config/ConfigEditor.vue:322
+#: src/views/config/ConfigEditor.vue:328
 msgid "Changed Path"
 msgstr ""
 
@@ -659,7 +659,7 @@ msgstr ""
 msgid "Check again"
 msgstr ""
 
-#: src/language/generate.ts:10
+#: src/language/generate.ts:6
 msgid "Check if /var/run/docker.sock exists. If you are using Nginx UI Official Docker Image, please make sure the docker socket is mounted like this: `-v /var/run/docker.sock:/var/run/docker.sock`. Nginx UI official image uses /var/run/docker.sock to communicate with the host Docker Engine via Docker Client API. This feature is used to control Nginx in another container and perform container replacement rather than binary replacement during OTA upgrades of Nginx UI to ensure container dependencies are also upgraded. If you don't need this feature, please add the environment variable NGINX_UI_IGNORE_DOCKER_SOCKET=true to the container."
 msgstr ""
 
@@ -667,43 +667,43 @@ msgstr ""
 msgid "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features"
 msgstr ""
 
-#: src/language/generate.ts:32
+#: src/language/generate.ts:8
 msgid "Check if the nginx access log path exists. By default, this path is obtained from 'nginx -V'. If it cannot be obtained or the obtained path does not point to a valid, existing file, an error will be reported. In this case, you need to modify the configuration file to specify the access log path.Refer to the docs for more details: https://nginxui.com/zh_CN/guide/config-nginx.html#accesslogpath"
 msgstr ""
 
-#: src/language/generate.ts:27
+#: src/language/generate.ts:9
 msgid "Check if the nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:7
+#: src/language/generate.ts:10
 msgid "Check if the nginx configuration entry file exists"
 msgstr ""
 
-#: src/language/generate.ts:50
+#: src/language/generate.ts:11
 msgid "Check if the nginx error log path exists. By default, this path is obtained from 'nginx -V'. If it cannot be obtained or the obtained path does not point to a valid, existing file, an error will be reported. In this case, you need to modify the configuration file to specify the error log path.Refer to the docs for more details: https://nginxui.com/zh_CN/guide/config-nginx.html#errorlogpath"
 msgstr ""
 
-#: src/language/generate.ts:49
+#: src/language/generate.ts:7
 msgid "Check if the nginx PID path exists. By default, this path is obtained from 'nginx -V'. If it cannot be obtained, an error will be reported. In this case, you need to modify the configuration file to specify the Nginx PID path.Refer to the docs for more details: https://nginxui.com/zh_CN/guide/config-nginx.html#pidpath"
 msgstr ""
 
-#: src/language/generate.ts:42
+#: src/language/generate.ts:12
 msgid "Check if the nginx.conf includes the conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:51
+#: src/language/generate.ts:13
 msgid "Check if the nginx.conf includes the sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:34
+#: src/language/generate.ts:14
 msgid "Check if the nginx.conf includes the streams-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:25
+#: src/language/generate.ts:15
 msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory"
 msgstr ""
 
-#: src/language/generate.ts:8
+#: src/language/generate.ts:16
 msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory"
 msgstr ""
 
@@ -716,12 +716,12 @@ msgid "Cleaning environment variables"
 msgstr ""
 
 #: src/components/ChatGPT/ChatGPT.vue:380
-#: src/components/Notification/Notification.vue:117
-#: src/views/notification/Notification.vue:44
+#: src/components/Notification/Notification.vue:116
+#: src/views/notification/Notification.vue:45
 msgid "Clear"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:70
+#: src/components/Notification/Notification.vue:69
 #: src/views/notification/Notification.vue:13
 msgid "Cleared successfully"
 msgstr ""
@@ -765,7 +765,7 @@ msgstr ""
 msgid "Client request header buffer size"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:167
+#: src/components/ConfigHistory/ConfigHistory.vue:169
 #: src/language/curd.ts:14
 msgid "Close"
 msgstr ""
@@ -793,7 +793,7 @@ msgstr ""
 msgid "Comments"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:125
+#: src/components/ConfigHistory/ConfigHistory.vue:127
 msgid "Compare"
 msgstr ""
 
@@ -801,11 +801,11 @@ msgstr ""
 msgid "Compare Configurations"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:128
+#: src/components/ConfigHistory/ConfigHistory.vue:130
 msgid "Compare Selected"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:127
+#: src/components/ConfigHistory/ConfigHistory.vue:129
 msgid "Compare with Current"
 msgstr ""
 
@@ -813,6 +813,11 @@ msgstr ""
 msgid "Compression level, 1 is lowest, 9 is highest"
 msgstr ""
 
+#: src/views/preference/components/ExternalNotify/columns.tsx:46
+#: src/views/preference/components/ExternalNotify/columns.tsx:58
+msgid "Config"
+msgstr ""
+
 #: src/constants/errors/self_check.ts:17
 msgid "Config directory not exist"
 msgstr ""
@@ -833,7 +838,7 @@ msgstr ""
 msgid "Configuration file is test successful"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:136
+#: src/components/ConfigHistory/ConfigHistory.vue:138
 msgid "Configuration History"
 msgstr ""
 
@@ -945,7 +950,7 @@ msgstr ""
 #: src/views/environments/group/columns.ts:29
 #: src/views/notification/notificationColumns.tsx:45
 #: src/views/preference/components/AuthSettings/Passkey.vue:95
-#: src/views/preference/components/ExternalNotify/columns.tsx:52
+#: src/views/preference/components/ExternalNotify/columns.tsx:71
 #: src/views/user/userColumns.tsx:46
 msgid "Created at"
 msgstr ""
@@ -1085,7 +1090,7 @@ msgstr ""
 msgid "Demo"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:338
+#: src/views/config/ConfigEditor.vue:344
 msgid "Deploy"
 msgstr ""
 
@@ -1284,7 +1289,7 @@ msgstr ""
 msgid "Docker client not initialized"
 msgstr ""
 
-#: src/language/generate.ts:9
+#: src/language/generate.ts:17
 msgid "Docker socket exists"
 msgstr ""
 
@@ -1336,8 +1341,8 @@ msgstr ""
 msgid "Duplicate to local successfully"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:88
-#: src/views/dashboard/components/ModulesTable.vue:93
+#: src/views/dashboard/components/ModulesTable.vue:87
+#: src/views/dashboard/components/ModulesTable.vue:92
 msgid "Dynamic"
 msgstr ""
 
@@ -1351,7 +1356,7 @@ msgid "Edit %{n}"
 msgstr ""
 
 #: src/routes/modules/config.ts:30
-#: src/views/config/ConfigEditor.vue:244
+#: src/views/config/ConfigEditor.vue:250
 msgid "Edit Configuration"
 msgstr ""
 
@@ -1692,7 +1697,7 @@ msgstr ""
 msgid "Failed to delete certificate"
 msgstr ""
 
-#: src/language/generate.ts:35
+#: src/language/generate.ts:18
 msgid "Failed to delete certificate from database: %{error}"
 msgstr ""
 
@@ -1776,7 +1781,7 @@ msgstr ""
 msgid "Failed to inspect current container: {0}"
 msgstr ""
 
-#: src/components/ConfigHistory/ConfigHistory.vue:75
+#: src/components/ConfigHistory/ConfigHistory.vue:77
 msgid "Failed to load history records"
 msgstr ""
 
@@ -1836,7 +1841,7 @@ msgstr ""
 msgid "Failed to revoke certificate"
 msgstr ""
 
-#: src/language/generate.ts:20
+#: src/language/generate.ts:19
 msgid "Failed to revoke certificate: %{error}"
 msgstr ""
 
@@ -1906,11 +1911,11 @@ msgstr ""
 msgid "Form parse failed"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:269
+#: src/views/config/ConfigEditor.vue:275
 msgid "Format Code"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:216
+#: src/views/config/ConfigEditor.vue:222
 msgid "Format successfully"
 msgstr ""
 
@@ -1984,7 +1989,7 @@ msgstr ""
 msgid "Higher value means better connection reuse"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:254
+#: src/views/config/ConfigEditor.vue:260
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:81
 #: src/views/stream/components/StreamEditor.vue:43
 msgid "History"
@@ -2022,7 +2027,7 @@ msgstr ""
 msgid "If left blank, the default CA Dir will be used."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:145
+#: src/views/preference/tabs/AuthSettings.vue:144
 msgid "If the number of login failed attempts from a ip reach the max attempts in ban threshold minutes, the ip will be banned for a period of time."
 msgstr ""
 
@@ -2136,7 +2141,7 @@ msgid "Invalid file path: {0}"
 msgstr ""
 
 #: src/views/config/components/Rename.vue:66
-#: src/views/config/ConfigEditor.vue:303
+#: src/views/config/ConfigEditor.vue:309
 msgid "Invalid filename"
 msgstr ""
 
@@ -2172,7 +2177,7 @@ msgstr ""
 msgid "Invalid security token format"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:18
+#: src/views/preference/tabs/AuthSettings.vue:17
 msgid "IP"
 msgstr ""
 
@@ -2213,7 +2218,7 @@ msgstr ""
 msgid "Key Type"
 msgstr ""
 
-#: src/views/preference/components/ExternalNotify/columns.tsx:28
+#: src/views/preference/components/ExternalNotify/columns.tsx:32
 msgid "Language"
 msgstr ""
 
@@ -2291,8 +2296,8 @@ msgstr ""
 msgid "Load successfully"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:101
-#: src/views/dashboard/components/ModulesTable.vue:106
+#: src/views/dashboard/components/ModulesTable.vue:100
+#: src/views/dashboard/components/ModulesTable.vue:105
 msgid "Loaded"
 msgstr ""
 
@@ -2334,7 +2339,7 @@ msgstr ""
 msgid "Log"
 msgstr ""
 
-#: src/language/generate.ts:15
+#: src/language/generate.ts:20
 msgid "Log file %{log_path} is not a regular file. If you are using nginx-ui in docker container, please refer to https://nginxui.com/zh_CN/guide/config-nginx-log.html for more information."
 msgstr ""
 
@@ -2443,7 +2448,7 @@ msgstr ""
 msgid "Master Process"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:135
+#: src/views/preference/tabs/AuthSettings.vue:134
 msgid "Max Attempts"
 msgstr ""
 
@@ -2531,7 +2536,7 @@ msgstr ""
 msgid "Modify Config"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:28
+#: src/views/dashboard/components/ModulesTable.vue:27
 msgid "Module"
 msgstr ""
 
@@ -2550,7 +2555,7 @@ msgstr ""
 #: src/views/certificate/DNSCredential.vue:8
 #: src/views/config/components/Mkdir.vue:64
 #: src/views/config/configColumns.tsx:6
-#: src/views/config/ConfigEditor.vue:309
+#: src/views/config/ConfigEditor.vue:315
 #: src/views/environments/group/columns.ts:7
 #: src/views/environments/list/envColumns.tsx:8
 #: src/views/nginx_log/NginxLogList.vue:36
@@ -2593,7 +2598,7 @@ msgstr ""
 msgid "New name"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:322
+#: src/views/config/ConfigEditor.vue:328
 msgid "New Path"
 msgstr ""
 
@@ -2617,7 +2622,7 @@ msgstr ""
 msgid "Nginx Access Log Path"
 msgstr ""
 
-#: src/language/generate.ts:31
+#: src/language/generate.ts:22
 msgid "Nginx access log path exists"
 msgstr ""
 
@@ -2645,11 +2650,11 @@ msgstr ""
 msgid "Nginx config directory is not set"
 msgstr ""
 
-#: src/language/generate.ts:26
+#: src/language/generate.ts:23
 msgid "Nginx configuration directory exists"
 msgstr ""
 
-#: src/language/generate.ts:47
+#: src/language/generate.ts:24
 msgid "Nginx configuration entry file exists"
 msgstr ""
 
@@ -2687,7 +2692,7 @@ msgstr ""
 msgid "Nginx Error Log Path"
 msgstr ""
 
-#: src/language/generate.ts:33
+#: src/language/generate.ts:25
 msgid "Nginx error log path exists"
 msgstr ""
 
@@ -2729,7 +2734,7 @@ msgstr ""
 msgid "Nginx PID Path"
 msgstr ""
 
-#: src/language/generate.ts:48
+#: src/language/generate.ts:21
 msgid "Nginx PID path exists"
 msgstr ""
 
@@ -2789,15 +2794,15 @@ msgstr ""
 msgid "Nginx UI configuration has been restored and will restart automatically in a few seconds."
 msgstr ""
 
-#: src/language/generate.ts:14
+#: src/language/generate.ts:26
 msgid "Nginx.conf includes conf.d directory"
 msgstr ""
 
-#: src/language/generate.ts:41
+#: src/language/generate.ts:27
 msgid "Nginx.conf includes sites-enabled directory"
 msgstr ""
 
-#: src/language/generate.ts:19
+#: src/language/generate.ts:28
 msgid "Nginx.conf includes streams-enabled directory"
 msgstr ""
 
@@ -2806,10 +2811,10 @@ msgstr ""
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:143
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:99
 #: src/components/NgxConfigEditor/LocationEditor.vue:89
-#: src/components/Notification/Notification.vue:110
+#: src/components/Notification/Notification.vue:109
 #: src/language/curd.ts:38
-#: src/views/notification/Notification.vue:37
-#: src/views/preference/tabs/AuthSettings.vue:164
+#: src/views/notification/Notification.vue:38
+#: src/views/preference/tabs/AuthSettings.vue:163
 #: src/views/preference/tabs/CertSettings.vue:73
 #: src/views/site/site_list/SiteList.vue:97
 #: src/views/stream/StreamList.vue:154
@@ -2865,8 +2870,8 @@ msgstr ""
 msgid "Not Found"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:102
-#: src/views/dashboard/components/ModulesTable.vue:106
+#: src/views/dashboard/components/ModulesTable.vue:101
+#: src/views/dashboard/components/ModulesTable.vue:105
 msgid "Not Loaded"
 msgstr ""
 
@@ -2888,7 +2893,7 @@ msgstr ""
 msgid "Notification"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:108
+#: src/components/Notification/Notification.vue:107
 #: src/routes/modules/notifications.ts:10
 msgid "Notifications"
 msgstr ""
@@ -2947,9 +2952,9 @@ msgstr ""
 #: src/components/ChatGPT/ChatGPT.vue:375
 #: src/components/NgxConfigEditor/NgxServer.vue:53
 #: src/components/NgxConfigEditor/NgxUpstream.vue:36
-#: src/components/Notification/Notification.vue:111
+#: src/components/Notification/Notification.vue:110
 #: src/language/curd.ts:15
-#: src/views/notification/Notification.vue:38
+#: src/views/notification/Notification.vue:39
 #: src/views/site/components/SiteStatusSegmented.vue:96
 #: src/views/site/site_edit/components/Cert/IssueCert.vue:39
 #: src/views/site/site_edit/components/Cert/ObtainCert.vue:142
@@ -3025,11 +3030,11 @@ msgstr ""
 msgid "Otp or recovery code empty"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:347
+#: src/views/config/ConfigEditor.vue:353
 msgid "Overwrite"
 msgstr ""
 
-#: src/views/config/ConfigEditor.vue:351
+#: src/views/config/ConfigEditor.vue:357
 msgid "Overwrite exist file"
 msgstr ""
 
@@ -3074,7 +3079,7 @@ msgstr ""
 #: src/components/NgxConfigEditor/LocationEditor.vue:110
 #: src/components/NgxConfigEditor/LocationEditor.vue:138
 #: src/language/curd.ts:59
-#: src/views/config/ConfigEditor.vue:316
+#: src/views/config/ConfigEditor.vue:322
 #: src/views/nginx_log/NginxLogList.vue:44
 msgid "Path"
 msgstr ""
@@ -3159,7 +3164,7 @@ msgid "Please generate new recovery codes in the preferences immediately to prev
 msgstr ""
 
 #: src/views/config/components/Rename.vue:65
-#: src/views/config/ConfigEditor.vue:302
+#: src/views/config/ConfigEditor.vue:308
 msgid "Please input a filename"
 msgstr ""
 
@@ -3422,16 +3427,16 @@ msgstr ""
 msgid "Reloading nginx"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:169
+#: src/views/preference/tabs/AuthSettings.vue:168
 msgid "Remove"
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/Passkey.vue:46
-#: src/views/preference/tabs/AuthSettings.vue:51
+#: src/views/preference/tabs/AuthSettings.vue:50
 msgid "Remove successfully"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:79
+#: src/components/Notification/Notification.vue:78
 msgid "Removed successfully"
 msgstr ""
 
@@ -3640,15 +3645,15 @@ msgstr ""
 msgid "Revoking a certificate will affect any services currently using it. This action cannot be undone."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:107
+#: src/views/preference/tabs/AuthSettings.vue:106
 msgid "RP Display Name"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:113
+#: src/views/preference/tabs/AuthSettings.vue:112
 msgid "RP Origins"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:101
+#: src/views/preference/tabs/AuthSettings.vue:100
 msgid "RPID"
 msgstr ""
 
@@ -3665,7 +3670,7 @@ msgstr ""
 #: src/language/curd.ts:18
 #: src/views/certificate/CertificateEditor.vue:266
 #: src/views/config/components/ConfigName.vue:59
-#: src/views/config/ConfigEditor.vue:275
+#: src/views/config/ConfigEditor.vue:281
 #: src/views/preference/components/AuthSettings/Passkey.vue:130
 #: src/views/preference/Preference.vue:117
 #: src/views/site/site_edit/components/ConfigName/ConfigName.vue:52
@@ -3726,7 +3731,7 @@ msgstr ""
 
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:43
 #: src/language/curd.ts:28
-#: src/views/config/ConfigEditor.vue:194
+#: src/views/config/ConfigEditor.vue:200
 #: src/views/site/site_add/SiteAdd.vue:29
 #: src/views/site/site_edit/components/SiteEditor/SiteEditor.vue:40
 msgid "Saved successfully"
@@ -3894,7 +3899,7 @@ msgstr ""
 msgid "Site not found"
 msgstr ""
 
-#: src/language/generate.ts:13
+#: src/language/generate.ts:29
 msgid "Sites directory exists"
 msgstr ""
 
@@ -3987,14 +3992,14 @@ msgstr ""
 msgid "Start Restore"
 msgstr ""
 
-#: src/views/dashboard/components/ModulesTable.vue:89
-#: src/views/dashboard/components/ModulesTable.vue:93
+#: src/views/dashboard/components/ModulesTable.vue:88
+#: src/views/dashboard/components/ModulesTable.vue:92
 msgid "Static"
 msgstr ""
 
 #: src/views/certificate/ACMEUser.vue:60
 #: src/views/certificate/CertificateList/certColumns.tsx:63
-#: src/views/dashboard/components/ModulesTable.vue:97
+#: src/views/dashboard/components/ModulesTable.vue:96
 #: src/views/environments/list/envColumns.tsx:43
 #: src/views/site/site_edit/components/RightPanel/Basic.vue:28
 #: src/views/site/site_list/columns.tsx:88
@@ -4019,7 +4024,7 @@ msgstr ""
 msgid "Stream not found"
 msgstr ""
 
-#: src/language/generate.ts:18
+#: src/language/generate.ts:30
 msgid "Streams directory exists"
 msgstr ""
 
@@ -4338,12 +4343,12 @@ msgstr ""
 msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:124
+#: src/views/preference/tabs/AuthSettings.vue:123
 msgid "Throttle"
 msgstr ""
 
 #: src/views/preference/components/AuthSettings/AddPasskey.vue:65
-#: src/views/preference/tabs/AuthSettings.vue:144
+#: src/views/preference/tabs/AuthSettings.vue:143
 #: src/views/preference/tabs/LogrotateSettings.vue:12
 msgid "Tips"
 msgstr ""
@@ -4433,10 +4438,10 @@ msgid "Two-factor authentication required"
 msgstr ""
 
 #: src/views/certificate/CertificateList/certColumns.tsx:24
-#: src/views/dashboard/components/ModulesTable.vue:84
+#: src/views/dashboard/components/ModulesTable.vue:83
 #: src/views/nginx_log/NginxLogList.vue:12
 #: src/views/notification/notificationColumns.tsx:8
-#: src/views/preference/components/ExternalNotify/columns.tsx:16
+#: src/views/preference/components/ExternalNotify/columns.tsx:18
 msgid "Type"
 msgstr ""
 
@@ -4451,7 +4456,7 @@ msgstr ""
 #: src/views/certificate/ACMEUser.vue:83
 #: src/views/certificate/DNSCredential.vue:24
 #: src/views/config/configColumns.tsx:35
-#: src/views/config/ConfigEditor.vue:329
+#: src/views/config/ConfigEditor.vue:335
 #: src/views/environments/group/columns.ts:35
 #: src/views/environments/list/envColumns.tsx:89
 #: src/views/site/site_edit/components/RightPanel/Basic.vue:38
@@ -4569,7 +4574,7 @@ msgstr ""
 msgid "View"
 msgstr ""
 
-#: src/components/Notification/Notification.vue:180
+#: src/components/Notification/Notification.vue:179
 msgid "View all notifications"
 msgstr ""
 
@@ -4607,7 +4612,7 @@ msgstr ""
 msgid "We will remove the HTTPChallenge configuration from this file and reload the Nginx. Are you sure you want to continue?"
 msgstr ""
 
-#: src/views/preference/tabs/AuthSettings.vue:97
+#: src/views/preference/tabs/AuthSettings.vue:96
 msgid "Webauthn"
 msgstr ""
 
@@ -4674,7 +4679,7 @@ msgstr ""
 #: src/components/EnvGroupTabs/EnvGroupTabs.vue:142
 #: src/components/NgxConfigEditor/directive/DirectiveEditorItem.vue:98
 #: src/components/NgxConfigEditor/LocationEditor.vue:88
-#: src/views/preference/tabs/AuthSettings.vue:163
+#: src/views/preference/tabs/AuthSettings.vue:162
 #: src/views/preference/tabs/CertSettings.vue:72
 msgid "Yes"
 msgstr ""

File diff suppressed because it is too large
+ 180 - 191
app/src/language/pt_PT/app.po


File diff suppressed because it is too large
+ 187 - 195
app/src/language/ru_RU/app.po


File diff suppressed because it is too large
+ 187 - 195
app/src/language/tr_TR/app.po


File diff suppressed because it is too large
+ 188 - 201
app/src/language/uk_UA/app.po


File diff suppressed because it is too large
+ 191 - 195
app/src/language/vi_VN/app.po


File diff suppressed because it is too large
+ 177 - 196
app/src/language/zh_CN/app.po


File diff suppressed because it is too large
+ 184 - 202
app/src/language/zh_TW/app.po


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