chore: update translations

This commit is contained in:
0xJacky
2025-08-06 10:21:22 +08:00
parent ada3bf1da7
commit 1130047461
23 changed files with 11375 additions and 7704 deletions
+11 -8
View File
@@ -28,7 +28,6 @@ type Client struct {
send chan WebSocketMessage
ctx context.Context
cancel context.CancelFunc
mutex sync.RWMutex
}
// Hub maintains the set of active clients and broadcasts messages to them
@@ -281,13 +280,17 @@ func (c *Client) readPump() {
return nil
})
for {
_, _, err := c.conn.ReadMessage()
if err != nil {
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) {
logger.Error("Websocket error:", err)
go func() {
for {
_, _, err := c.conn.ReadMessage()
if err != nil {
if websocket.IsUnexpectedCloseError(err, websocket.CloseGoingAway, websocket.CloseAbnormalClosure) {
logger.Error("Websocket error:", err)
}
break
}
break
}
}
}()
<-c.ctx.Done()
}
@@ -3,6 +3,196 @@
/* eslint-disable ts/no-explicit-any */
const notifications: Record<string, { title: () => string, content: (args: any) => string }> = {
// general module notifications
'Reload Remote Nginx Error': {
title: () => $gettext('Reload Remote Nginx Error'),
content: (args: any) => $gettext('Reload Nginx on %{node} failed, response: %{resp}', args, true),
},
'Reload Remote Nginx Success': {
title: () => $gettext('Reload Remote Nginx Success'),
content: (args: any) => $gettext('Reload Nginx on %{node} successfully', args, true),
},
'Restart Remote Nginx Error': {
title: () => $gettext('Restart Remote Nginx Error'),
content: (args: any) => $gettext('Restart Nginx on %{node} failed, response: %{resp}', args, true),
},
'Restart Remote Nginx Success': {
title: () => $gettext('Restart Remote Nginx Success'),
content: (args: any) => $gettext('Restart Nginx on %{node} successfully', args, true),
},
'Auto Backup Configuration Error': {
title: () => $gettext('Auto Backup Configuration Error'),
content: (args: any) => $gettext('Storage configuration validation failed for backup task %{backup_name}, error: %{error}', args, true),
},
'Auto Backup Failed': {
title: () => $gettext('Auto Backup Failed'),
content: (args: any) => $gettext('Backup task %{backup_name} failed to execute, error: %{error}', args, true),
},
'Auto Backup Storage Failed': {
title: () => $gettext('Auto Backup Storage Failed'),
content: (args: any) => $gettext('Backup task %{backup_name} failed during storage upload, error: %{error}', args, true),
},
'Auto Backup Completed': {
title: () => $gettext('Auto Backup Completed'),
content: (args: any) => $gettext('Backup task %{backup_name} completed successfully, file: %{file_path}', args, true),
},
'Certificate Expired': {
title: () => $gettext('Certificate Expired'),
content: (args: any) => $gettext('Certificate %{name} has expired', args, true),
},
'Certificate Expiration Notice': {
title: () => $gettext('Certificate Expiration Notice'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args, true),
},
'Certificate Expiring Soon': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args, true),
},
'Certificate Expiring Soon_1': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in %{days} days', args, true),
},
'Certificate Expiring Soon_2': {
title: () => $gettext('Certificate Expiring Soon'),
content: (args: any) => $gettext('Certificate %{name} will expire in 1 day', args, true),
},
'Sync Certificate Error': {
title: () => $gettext('Sync Certificate Error'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} failed', args, true),
},
'Sync Certificate Success': {
title: () => $gettext('Sync Certificate Success'),
content: (args: any) => $gettext('Sync Certificate %{cert_name} to %{env_name} successfully', args, true),
},
'Sync Config Error': {
title: () => $gettext('Sync Config Error'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} failed', args, true),
},
'Sync Config Success': {
title: () => $gettext('Sync Config Success'),
content: (args: any) => $gettext('Sync config %{config_name} to %{env_name} successfully', args, true),
},
'Rename Remote Config Error': {
title: () => $gettext('Rename Remote Config Error'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} failed', args, true),
},
'Rename Remote Config Success': {
title: () => $gettext('Rename Remote Config Success'),
content: (args: any) => $gettext('Rename %{orig_path} to %{new_path} on %{env_name} successfully', args, true),
},
'Delete Remote Config Error': {
title: () => $gettext('Delete Remote Config Error'),
content: (args: any) => $gettext('Delete %{path} on %{env_name} failed', args, true),
},
'Delete Remote Config Success': {
title: () => $gettext('Delete Remote Config Success'),
content: (args: any) => $gettext('Delete %{path} on %{env_name} successfully', args, true),
},
'External Notification Test': {
title: () => $gettext('External Notification Test'),
content: (args: any) => $gettext('This is a test message sent at %{timestamp} from Nginx UI.', args, true),
},
'Delete Remote Site Error': {
title: () => $gettext('Delete Remote Site Error'),
content: (args: any) => $gettext('Delete site %{name} from %{node} failed', args, true),
},
'Delete Remote Site Success': {
title: () => $gettext('Delete Remote Site Success'),
content: (args: any) => $gettext('Delete site %{name} from %{node} successfully', args, true),
},
'Disable Remote Site Error': {
title: () => $gettext('Disable Remote Site Error'),
content: (args: any) => $gettext('Disable site %{name} from %{node} failed', args, true),
},
'Disable Remote Site Success': {
title: () => $gettext('Disable Remote Site Success'),
content: (args: any) => $gettext('Disable site %{name} from %{node} successfully', args, true),
},
'Enable Remote Site Error': {
title: () => $gettext('Enable Remote Site Error'),
content: (args: any) => $gettext('Enable site %{name} on %{node} failed', args, true),
},
'Enable Remote Site Success': {
title: () => $gettext('Enable Remote Site Success'),
content: (args: any) => $gettext('Enable site %{name} on %{node} successfully', args, true),
},
'Enable Remote Site Maintenance Error': {
title: () => $gettext('Enable Remote Site Maintenance Error'),
content: (args: any) => $gettext('Enable site %{name} maintenance on %{node} failed', args, true),
},
'Enable Remote Site Maintenance Success': {
title: () => $gettext('Enable Remote Site Maintenance Success'),
content: (args: any) => $gettext('Enable site %{name} maintenance on %{node} successfully', args, true),
},
'Disable Remote Site Maintenance Error': {
title: () => $gettext('Disable Remote Site Maintenance Error'),
content: (args: any) => $gettext('Disable site %{name} maintenance on %{node} failed', args, true),
},
'Disable Remote Site Maintenance Success': {
title: () => $gettext('Disable Remote Site Maintenance Success'),
content: (args: any) => $gettext('Disable site %{name} maintenance on %{node} successfully', args, true),
},
'Rename Remote Site Error': {
title: () => $gettext('Rename Remote Site Error'),
content: (args: any) => $gettext('Rename site %{name} to %{new_name} on %{node} failed', args, true),
},
'Rename Remote Site Success': {
title: () => $gettext('Rename Remote Site Success'),
content: (args: any) => $gettext('Rename site %{name} to %{new_name} on %{node} successfully', args, true),
},
'Save Remote Site Error': {
title: () => $gettext('Save Remote Site Error'),
content: (args: any) => $gettext('Save site %{name} to %{node} failed', args, true),
},
'Save Remote Site Success': {
title: () => $gettext('Save Remote Site Success'),
content: (args: any) => $gettext('Save site %{name} to %{node} successfully', args, true),
},
'Delete Remote Stream Error': {
title: () => $gettext('Delete Remote Stream Error'),
content: (args: any) => $gettext('Delete stream %{name} from %{node} failed', args, true),
},
'Delete Remote Stream Success': {
title: () => $gettext('Delete Remote Stream Success'),
content: (args: any) => $gettext('Delete stream %{name} from %{node} successfully', args, true),
},
'Disable Remote Stream Error': {
title: () => $gettext('Disable Remote Stream Error'),
content: (args: any) => $gettext('Disable stream %{name} from %{node} failed', args, true),
},
'Disable Remote Stream Success': {
title: () => $gettext('Disable Remote Stream Success'),
content: (args: any) => $gettext('Disable stream %{name} from %{node} successfully', args, true),
},
'Enable Remote Stream Error': {
title: () => $gettext('Enable Remote Stream Error'),
content: (args: any) => $gettext('Enable stream %{name} on %{node} failed', args, true),
},
'Enable Remote Stream Success': {
title: () => $gettext('Enable Remote Stream Success'),
content: (args: any) => $gettext('Enable stream %{name} on %{node} successfully', args, true),
},
'Rename Remote Stream Error': {
title: () => $gettext('Rename Remote Stream Error'),
content: (args: any) => $gettext('Rename stream %{name} to %{new_name} on %{node} failed', args, true),
},
'Rename Remote Stream Success': {
title: () => $gettext('Rename Remote Stream Success'),
content: (args: any) => $gettext('Rename stream %{name} to %{new_name} on %{node} successfully', args, true),
},
'Save Remote Stream Error': {
title: () => $gettext('Save Remote Stream Error'),
content: (args: any) => $gettext('Save stream %{name} to %{node} failed', args, true),
},
'Save Remote Stream Success': {
title: () => $gettext('Save Remote Stream Success'),
content: (args: any) => $gettext('Save stream %{name} to %{node} successfully', args, true),
},
'All Recovery Codes Have Been Used': {
title: () => $gettext('All Recovery Codes Have Been Used'),
content: (args: any) => $gettext('Please generate new recovery codes in the preferences immediately to prevent lockout.', args, true),
},
}
export default notifications
@@ -8,7 +8,6 @@ const { data, loading, fixing } = storeToRefs(store)
onMounted(() => {
store.check()
// selfCheck.timeoutCheck().catch(console.error)
})
</script>
@@ -1,57 +0,0 @@
import type { FrontendTask } from '../types'
import type { ReportStatusType } from '@/api/self_check'
import { ReportStatus } from '@/api/self_check'
import { useSSE } from '@/composables/useSSE'
/**
* SSE Task
*
* Checks if the application is able to connect to the backend through the Server-Sent Events protocol
*/
const SSETask: FrontendTask = {
key: 'sse',
name: () => 'SSE',
description: () => $gettext('Support communication with the backend through the Server-Sent Events protocol. '
+ 'If your Nginx UI is being used via an Nginx reverse proxy, '
+ 'please refer to this link to write the corresponding configuration file: '
+ 'https://nginxui.com/guide/nginx-proxy-example.html'),
check: async (): Promise<ReportStatusType> => {
try {
const connected = await new Promise<boolean>(resolve => {
const { connect, disconnect } = useSSE()
// Use the connect method from useSSE
connect({
url: '/api/self_check/sse',
onMessage: () => {
resolve(true)
},
onError: () => {
resolve(false)
disconnect()
},
reconnectInterval: 0,
})
// Set a timeout for the connection attempt
setTimeout(() => {
resolve(false)
disconnect()
}, 5000)
})
if (connected) {
return ReportStatus.Success
}
else {
return ReportStatus.Error
}
}
catch (error) {
console.error(error)
return ReportStatus.Error
}
},
}
export default SSETask
+707 -552
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+550 -18
View File
@@ -1,3 +1,88 @@
#: src/language/generate.ts:33
msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
msgstr ""
#: src/language/generate.ts:34
msgid "[Nginx UI] Backing up current certificate for later revocation"
msgstr ""
#: src/language/generate.ts:35
msgid "[Nginx UI] Certificate renewed successfully"
msgstr ""
#: src/language/generate.ts:36
msgid "[Nginx UI] Certificate successfully revoked"
msgstr ""
#: src/language/generate.ts:37
msgid ""
"[Nginx UI] Certificate was used for server, reloading server TLS certificate"
msgstr ""
#: src/language/generate.ts:38
msgid "[Nginx UI] Creating client facilitates communication with the CA server"
msgstr ""
#: src/language/generate.ts:39
msgid "[Nginx UI] Environment variables cleaned"
msgstr ""
#: src/language/generate.ts:40
msgid "[Nginx UI] Finished"
msgstr ""
#: src/language/generate.ts:41
msgid "[Nginx UI] Issued certificate successfully"
msgstr ""
#: src/language/generate.ts:42
msgid "[Nginx UI] Obtaining certificate"
msgstr ""
#: src/language/generate.ts:43
msgid "[Nginx UI] Preparing for certificate revocation"
msgstr ""
#: src/language/generate.ts:44
msgid "[Nginx UI] Preparing lego configurations"
msgstr ""
#: src/language/generate.ts:45
msgid "[Nginx UI] Reloading nginx"
msgstr ""
#: src/language/generate.ts:46
msgid "[Nginx UI] Revocation completed"
msgstr ""
#: src/language/generate.ts:47
msgid "[Nginx UI] Revoking certificate"
msgstr ""
#: src/language/generate.ts:48
msgid "[Nginx UI] Revoking old certificate"
msgstr ""
#: src/language/generate.ts:49
msgid "[Nginx UI] Setting DNS01 challenge provider"
msgstr ""
#: src/language/generate.ts:51
msgid "[Nginx UI] Setting environment variables"
msgstr ""
#: src/language/generate.ts:50
msgid "[Nginx UI] Setting HTTP01 challenge provider"
msgstr ""
#: src/language/generate.ts:52
msgid "[Nginx UI] Writing certificate private key to disk"
msgstr ""
#: src/language/generate.ts:53
msgid "[Nginx UI] Writing certificate to disk"
msgstr ""
#: src/components/SyncNodesPreview/SyncNodesPreview.vue:59
msgid "* Includes nodes from group %{groupName} and manually selected nodes"
msgstr ""
@@ -129,6 +214,7 @@ msgstr ""
msgid "All"
msgstr ""
#: src/components/Notification/notifications.ts:193
#: src/language/constants.ts:58
msgid "All Recovery Codes Have Been Used"
msgstr ""
@@ -238,7 +324,7 @@ msgstr ""
msgid "Assistant"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:31
#: src/components/SelfCheck/SelfCheck.vue:30
msgid "Attempt to fix"
msgstr ""
@@ -277,6 +363,22 @@ msgstr ""
msgid "Auto Backup"
msgstr ""
#: src/components/Notification/notifications.ts:37
msgid "Auto Backup Completed"
msgstr ""
#: src/components/Notification/notifications.ts:25
msgid "Auto Backup Configuration Error"
msgstr ""
#: src/components/Notification/notifications.ts:29
msgid "Auto Backup Failed"
msgstr ""
#: src/components/Notification/notifications.ts:33
msgid "Auto Backup Storage Failed"
msgstr ""
#: src/views/environments/list/Environment.vue:165
#: src/views/nginx_log/NginxLog.vue:150
msgid "Auto Refresh"
@@ -372,6 +474,19 @@ msgstr ""
msgid "Backup Schedule"
msgstr ""
#: src/components/Notification/notifications.ts:38
msgid "Backup task %{backup_name} completed successfully, file: %{file_path}"
msgstr ""
#: src/components/Notification/notifications.ts:34
msgid ""
"Backup task %{backup_name} failed during storage upload, error: %{error}"
msgstr ""
#: src/components/Notification/notifications.ts:30
msgid "Backup task %{backup_name} failed to execute, error: %{error}"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:24
msgid "Backup Type"
msgstr ""
@@ -542,6 +657,20 @@ msgstr ""
msgid "certificate"
msgstr ""
#: src/components/Notification/notifications.ts:42
msgid "Certificate %{name} has expired"
msgstr ""
#: src/components/Notification/notifications.ts:46
#: src/components/Notification/notifications.ts:50
#: src/components/Notification/notifications.ts:54
msgid "Certificate %{name} will expire in %{days} days"
msgstr ""
#: src/components/Notification/notifications.ts:58
msgid "Certificate %{name} will expire in 1 day"
msgstr ""
#: src/views/certificate/components/CertificateDownload.vue:36
msgid "Certificate content and private key content cannot be empty"
msgstr ""
@@ -550,6 +679,20 @@ msgstr ""
msgid "Certificate decode error"
msgstr ""
#: src/components/Notification/notifications.ts:45
msgid "Certificate Expiration Notice"
msgstr ""
#: src/components/Notification/notifications.ts:41
msgid "Certificate Expired"
msgstr ""
#: src/components/Notification/notifications.ts:49
#: src/components/Notification/notifications.ts:53
#: src/components/Notification/notifications.ts:57
msgid "Certificate Expiring Soon"
msgstr ""
#: src/views/certificate/components/CertificateDownload.vue:70
msgid "Certificate files downloaded successfully"
msgstr ""
@@ -558,6 +701,10 @@ msgstr ""
msgid "Certificate name cannot be empty"
msgstr ""
#: src/language/generate.ts:4
msgid "Certificate not found: %{error}"
msgstr ""
#: src/constants/errors/cert.ts:5
msgid "Certificate parse error"
msgstr ""
@@ -579,6 +726,10 @@ msgstr ""
msgid "Certificate renewed successfully"
msgstr ""
#: src/language/generate.ts:5
msgid "Certificate revoked successfully"
msgstr ""
#: src/views/certificate/components/AutoCertManagement.vue:67
#: src/views/site/site_edit/components/Cert/Cert.vue:58
msgid "Certificate Status"
@@ -646,12 +797,90 @@ msgstr ""
msgid "Check again"
msgstr ""
#: 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 ""
#: src/components/SelfCheck/tasks/frontend/https-check.ts:14
msgid ""
"Check if HTTPS is enabled. Using HTTP outside localhost is insecure and "
"prevents using Passkeys and clipboard features"
msgstr ""
#: 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:9
msgid "Check if the nginx configuration directory exists"
msgstr ""
#: src/language/generate.ts:10
msgid "Check if the nginx configuration entry file exists"
msgstr ""
#: 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: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:12
msgid "Check if the nginx sbin path exists"
msgstr ""
#: src/language/generate.ts:13
msgid "Check if the nginx.conf includes the conf.d directory"
msgstr ""
#: src/language/generate.ts:14
msgid "Check if the nginx.conf includes the sites-enabled directory"
msgstr ""
#: src/language/generate.ts:15
msgid "Check if the nginx.conf includes the streams-enabled directory"
msgstr ""
#: src/language/generate.ts:16
msgid ""
"Check if the sites-available and sites-enabled directories are under the "
"nginx configuration directory"
msgstr ""
#: src/language/generate.ts:17
msgid ""
"Check if the streams-available and streams-enabled directories are under the "
"nginx configuration directory"
msgstr ""
#: src/constants/errors/crypto.ts:3
msgid "Cipher text is too short"
msgstr ""
@@ -1028,6 +1257,14 @@ msgstr ""
msgid "Delete"
msgstr ""
#: src/components/Notification/notifications.ts:86
msgid "Delete %{path} on %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:90
msgid "Delete %{path} on %{env_name} successfully"
msgstr ""
#: src/views/certificate/components/RemoveCert.vue:95
msgid "Delete Certificate"
msgstr ""
@@ -1040,18 +1277,51 @@ msgstr ""
msgid "Delete Permanently"
msgstr ""
#: src/language/constants.ts:50
#: src/components/Notification/notifications.ts:85
msgid "Delete Remote Config Error"
msgstr ""
#: src/components/Notification/notifications.ts:89
msgid "Delete Remote Config Success"
msgstr ""
#: src/components/Notification/notifications.ts:97 src/language/constants.ts:50
msgid "Delete Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:101
#: src/language/constants.ts:49
msgid "Delete Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:153
msgid "Delete Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:157
msgid "Delete Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:98
msgid "Delete site %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:102
msgid "Delete site %{name} from %{node} successfully"
msgstr ""
#: src/views/site/site_list/SiteList.vue:48
msgid "Delete site: %{site_name}"
msgstr ""
#: src/components/Notification/notifications.ts:154
msgid "Delete stream %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:158
msgid "Delete stream %{name} from %{node} successfully"
msgstr ""
#: src/views/stream/StreamList.vue:47
msgid "Delete stream: %{stream_name}"
msgstr ""
@@ -1138,14 +1408,56 @@ msgstr ""
msgid "Disable auto-renewal failed for %{name}"
msgstr ""
#: src/components/Notification/notifications.ts:105
#: src/language/constants.ts:52
msgid "Disable Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:129
msgid "Disable Remote Site Maintenance Error"
msgstr ""
#: src/components/Notification/notifications.ts:133
msgid "Disable Remote Site Maintenance Success"
msgstr ""
#: src/components/Notification/notifications.ts:109
#: src/language/constants.ts:51
msgid "Disable Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:161
msgid "Disable Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:165
msgid "Disable Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:106
msgid "Disable site %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:110
msgid "Disable site %{name} from %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:130
msgid "Disable site %{name} maintenance on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:134
msgid "Disable site %{name} maintenance on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:162
msgid "Disable stream %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:166
msgid "Disable stream %{name} from %{node} successfully"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:175
#: src/views/environments/list/envColumns.tsx:60
#: src/views/environments/list/envColumns.tsx:78
@@ -1216,6 +1528,10 @@ msgstr ""
msgid "Docker client not initialized"
msgstr ""
#: src/language/generate.ts:18
msgid "Docker socket exists"
msgstr ""
#: src/constants/errors/self_check.ts:16
msgid "Docker socket not exist"
msgstr ""
@@ -1363,14 +1679,56 @@ msgstr ""
msgid "Enable Proxy Cache"
msgstr ""
#: src/components/Notification/notifications.ts:113
#: src/language/constants.ts:54
msgid "Enable Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:121
msgid "Enable Remote Site Maintenance Error"
msgstr ""
#: src/components/Notification/notifications.ts:125
msgid "Enable Remote Site Maintenance Success"
msgstr ""
#: src/components/Notification/notifications.ts:117
#: src/language/constants.ts:53
msgid "Enable Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:169
msgid "Enable Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:173
msgid "Enable Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:122
msgid "Enable site %{name} maintenance on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:126
msgid "Enable site %{name} maintenance on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:114
msgid "Enable site %{name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:118
msgid "Enable site %{name} on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:170
msgid "Enable stream %{name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:174
msgid "Enable stream %{name} on %{node} successfully"
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:172
msgid "Enable stub_status module"
msgstr ""
@@ -1523,6 +1881,10 @@ msgstr ""
msgid "External notification configuration not found"
msgstr ""
#: src/components/Notification/notifications.ts:93
msgid "External Notification Test"
msgstr ""
#: src/views/preference/Preference.vue:58
#: src/views/preference/tabs/ExternalNotify.vue:41
msgid "External Notify"
@@ -1677,6 +2039,10 @@ msgstr ""
msgid "Failed to delete certificate"
msgstr ""
#: src/language/generate.ts:19
msgid "Failed to delete certificate from database: %{error}"
msgstr ""
#: src/views/site/components/SiteStatusSelect.vue:73
#: src/views/stream/components/StreamStatusSelect.vue:45
msgid "Failed to disable %{msg}"
@@ -1843,6 +2209,10 @@ msgstr ""
msgid "Failed to revoke certificate"
msgstr ""
#: src/language/generate.ts:20
msgid "Failed to revoke certificate: %{error}"
msgstr ""
#: src/views/dashboard/components/ParamsOptimization.vue:91
msgid "Failed to save Nginx performance settings"
msgstr ""
@@ -2476,6 +2846,13 @@ msgstr ""
msgid "Log"
msgstr ""
#: src/language/generate.ts:21
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 ""
#: src/routes/modules/nginx_log.ts:39 src/views/nginx_log/NginxLogList.vue:88
msgid "Log List"
msgstr ""
@@ -2813,6 +3190,10 @@ msgstr ""
msgid "Nginx Access Log Path"
msgstr ""
#: src/language/generate.ts:23
msgid "Nginx access log path exists"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:28
#: src/views/backup/AutoBackup/AutoBackup.vue:40
msgid "Nginx and Nginx UI Config"
@@ -2842,6 +3223,14 @@ msgstr ""
msgid "Nginx config directory is not set"
msgstr ""
#: src/language/generate.ts:24
msgid "Nginx configuration directory exists"
msgstr ""
#: src/language/generate.ts:25
msgid "Nginx configuration entry file exists"
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:138
msgid "Nginx configuration has been restored"
msgstr ""
@@ -2876,6 +3265,10 @@ msgstr ""
msgid "Nginx Error Log Path"
msgstr ""
#: src/language/generate.ts:26
msgid "Nginx error log path exists"
msgstr ""
#: src/constants/errors/nginx.ts:2
msgid "Nginx error: {0}"
msgstr ""
@@ -2913,6 +3306,10 @@ msgstr ""
msgid "Nginx PID Path"
msgstr ""
#: src/language/generate.ts:22
msgid "Nginx PID path exists"
msgstr ""
#: src/views/preference/tabs/NginxSettings.vue:40
msgid "Nginx Reload Command"
msgstr ""
@@ -2942,6 +3339,10 @@ msgstr ""
msgid "Nginx restarted successfully"
msgstr ""
#: src/language/generate.ts:27
msgid "Nginx sbin path exists"
msgstr ""
#: src/views/preference/tabs/NginxSettings.vue:37
msgid "Nginx Test Config Command"
msgstr ""
@@ -2969,6 +3370,18 @@ msgid ""
"few seconds."
msgstr ""
#: src/language/generate.ts:28
msgid "Nginx.conf includes conf.d directory"
msgstr ""
#: src/language/generate.ts:29
msgid "Nginx.conf includes sites-enabled directory"
msgstr ""
#: src/language/generate.ts:30
msgid "Nginx.conf includes streams-enabled directory"
msgstr ""
#: src/components/ChatGPT/ChatMessageInput.vue:17
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:111
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:99
@@ -3426,6 +3839,7 @@ msgid ""
"select one of the credentialsbelow to request the API of the DNS provider."
msgstr ""
#: src/components/Notification/notifications.ts:194
#: src/language/constants.ts:59
msgid ""
"Please generate new recovery codes in the preferences immediately to prevent "
@@ -3652,7 +4066,7 @@ msgstr ""
msgid "Receive"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:24
#: src/components/SelfCheck/SelfCheck.vue:23
msgid "Recheck"
msgstr ""
@@ -3736,6 +4150,22 @@ msgstr ""
msgid "Reload nginx failed: {0}"
msgstr ""
#: src/components/Notification/notifications.ts:10
msgid "Reload Nginx on %{node} failed, response: %{resp}"
msgstr ""
#: src/components/Notification/notifications.ts:14
msgid "Reload Nginx on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:9
msgid "Reload Remote Nginx Error"
msgstr ""
#: src/components/Notification/notifications.ts:13
msgid "Reload Remote Nginx Success"
msgstr ""
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:52
msgid "Reload request failed, please check your network connection"
msgstr ""
@@ -3775,22 +4205,56 @@ msgstr ""
msgid "Rename"
msgstr ""
#: src/language/constants.ts:42
#: src/components/Notification/notifications.ts:78
msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:82
msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:77 src/language/constants.ts:42
msgid "Rename Remote Config Error"
msgstr ""
#: src/language/constants.ts:41
#: src/components/Notification/notifications.ts:81 src/language/constants.ts:41
msgid "Rename Remote Config Success"
msgstr ""
#: src/components/Notification/notifications.ts:137
#: src/language/constants.ts:56
msgid "Rename Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:141
#: src/language/constants.ts:55
msgid "Rename Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:177
msgid "Rename Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:181
msgid "Rename Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:138
msgid "Rename site %{name} to %{new_name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:142
msgid "Rename site %{name} to %{new_name} on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:178
msgid "Rename stream %{name} to %{new_name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:182
msgid "Rename stream %{name} to %{new_name} on %{node} successfully"
msgstr ""
#: src/views/config/components/Rename.vue:43
msgid "Rename successfully"
msgstr ""
@@ -3869,6 +4333,22 @@ msgstr ""
msgid "Restart Nginx"
msgstr ""
#: src/components/Notification/notifications.ts:18
msgid "Restart Nginx on %{node} failed, response: %{resp}"
msgstr ""
#: src/components/Notification/notifications.ts:22
msgid "Restart Nginx on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:17
msgid "Restart Remote Nginx Error"
msgstr ""
#: src/components/Notification/notifications.ts:21
msgid "Restart Remote Nginx Success"
msgstr ""
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:72
msgid "Restart request failed, please check your network connection"
msgstr ""
@@ -4078,14 +4558,40 @@ msgstr ""
msgid "Save Directive"
msgstr ""
#: src/components/Notification/notifications.ts:145
#: src/language/constants.ts:48
msgid "Save Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:149
#: src/language/constants.ts:47
msgid "Save Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:185
msgid "Save Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:189
msgid "Save Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:146
msgid "Save site %{name} to %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:150
msgid "Save site %{name} to %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:186
msgid "Save stream %{name} to %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:190
msgid "Save stream %{name} to %{node} successfully"
msgstr ""
#: src/language/curd.ts:36
msgid "Save successful"
msgstr ""
@@ -4192,7 +4698,7 @@ msgstr ""
msgid "Selector"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:16 src/routes/modules/system.ts:19
#: src/components/SelfCheck/SelfCheck.vue:15 src/routes/modules/system.ts:19
msgid "Self Check"
msgstr ""
@@ -4328,6 +4834,10 @@ msgstr ""
msgid "Site not found"
msgstr ""
#: src/language/generate.ts:31
msgid "Sites directory exists"
msgstr ""
#: src/routes/modules/sites.ts:19
msgid "Sites List"
msgstr ""
@@ -4457,6 +4967,12 @@ msgstr ""
msgid "Storage Configuration"
msgstr ""
#: src/components/Notification/notifications.ts:26
msgid ""
"Storage configuration validation failed for backup task %{backup_name}, "
"error: %{error}"
msgstr ""
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:120
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:54
msgid "Storage Path"
@@ -4484,6 +5000,10 @@ msgstr ""
msgid "Stream not found"
msgstr ""
#: src/language/generate.ts:32
msgid "Streams directory exists"
msgstr ""
#: src/constants/errors/self_check.ts:13
msgid "Streams-available directory not exist"
msgstr ""
@@ -4511,14 +5031,6 @@ msgstr ""
msgid "Sunday"
msgstr ""
#: src/components/SelfCheck/tasks/frontend/sse.ts:14
msgid ""
"Support communication with the backend through the Server-Sent Events "
"protocol. If your Nginx UI is being used via an Nginx reverse proxy, please "
"refer to this link to write the corresponding configuration file: https://"
"nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
#: src/components/SelfCheck/tasks/frontend/websocket.ts:13
msgid ""
"Support communication with the backend through the WebSocket protocol. If "
@@ -4562,19 +5074,35 @@ msgstr ""
msgid "Sync Certificate"
msgstr ""
#: src/language/constants.ts:39
#: src/components/Notification/notifications.ts:62
msgid "Sync Certificate %{cert_name} to %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:66
msgid "Sync Certificate %{cert_name} to %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:61 src/language/constants.ts:39
msgid "Sync Certificate Error"
msgstr ""
#: src/language/constants.ts:38
#: src/components/Notification/notifications.ts:65 src/language/constants.ts:38
msgid "Sync Certificate Success"
msgstr ""
#: src/language/constants.ts:45
#: src/components/Notification/notifications.ts:70
msgid "Sync config %{config_name} to %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:74
msgid "Sync config %{config_name} to %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:69 src/language/constants.ts:45
msgid "Sync Config Error"
msgstr ""
#: src/language/constants.ts:44
#: src/components/Notification/notifications.ts:73 src/language/constants.ts:44
msgid "Sync Config Success"
msgstr ""
@@ -4808,6 +5336,10 @@ msgid ""
"_./:"
msgstr ""
#: src/components/Notification/notifications.ts:94
msgid "This is a test message sent at %{timestamp} from Nginx UI."
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:175
msgid ""
"This module provides Nginx request statistics, connection count, etc. data. "
+784 -622
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+50
View File
@@ -1,4 +1,54 @@
// This file is auto-generated. DO NOT EDIT MANUALLY.
export const msg = [
$gettext('Certificate not found: %{error}'),
$gettext('Certificate revoked successfully'),
$gettext('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.'),
$gettext('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'),
$gettext('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'),
$gettext('Check if the nginx configuration directory exists'),
$gettext('Check if the nginx configuration entry file exists'),
$gettext('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'),
$gettext('Check if the nginx sbin path exists'),
$gettext('Check if the nginx.conf includes the conf.d directory'),
$gettext('Check if the nginx.conf includes the sites-enabled directory'),
$gettext('Check if the nginx.conf includes the streams-enabled directory'),
$gettext('Check if the sites-available and sites-enabled directories are under the nginx configuration directory'),
$gettext('Check if the streams-available and streams-enabled directories are under the nginx configuration directory'),
$gettext('Docker socket exists'),
$gettext('Failed to delete certificate from database: %{error}'),
$gettext('Failed to revoke certificate: %{error}'),
$gettext('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.'),
$gettext('Nginx PID path exists'),
$gettext('Nginx access log path exists'),
$gettext('Nginx configuration directory exists'),
$gettext('Nginx configuration entry file exists'),
$gettext('Nginx error log path exists'),
$gettext('Nginx sbin path exists'),
$gettext('Nginx.conf includes conf.d directory'),
$gettext('Nginx.conf includes sites-enabled directory'),
$gettext('Nginx.conf includes streams-enabled directory'),
$gettext('Sites directory exists'),
$gettext('Streams directory exists'),
$gettext('[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}'),
$gettext('[Nginx UI] Backing up current certificate for later revocation'),
$gettext('[Nginx UI] Certificate renewed successfully'),
$gettext('[Nginx UI] Certificate successfully revoked'),
$gettext('[Nginx UI] Certificate was used for server, reloading server TLS certificate'),
$gettext('[Nginx UI] Creating client facilitates communication with the CA server'),
$gettext('[Nginx UI] Environment variables cleaned'),
$gettext('[Nginx UI] Finished'),
$gettext('[Nginx UI] Issued certificate successfully'),
$gettext('[Nginx UI] Obtaining certificate'),
$gettext('[Nginx UI] Preparing for certificate revocation'),
$gettext('[Nginx UI] Preparing lego configurations'),
$gettext('[Nginx UI] Reloading nginx'),
$gettext('[Nginx UI] Revocation completed'),
$gettext('[Nginx UI] Revoking certificate'),
$gettext('[Nginx UI] Revoking old certificate'),
$gettext('[Nginx UI] Setting DNS01 challenge provider'),
$gettext('[Nginx UI] Setting HTTP01 challenge provider'),
$gettext('[Nginx UI] Setting environment variables'),
$gettext('[Nginx UI] Writing certificate private key to disk'),
$gettext('[Nginx UI] Writing certificate to disk'),
]
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+513 -7
View File
@@ -2,6 +2,90 @@ msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
#: src/language/generate.ts:33
msgid "[Nginx UI] ACME User: %{name}, Email: %{email}, CA Dir: %{caDir}"
msgstr ""
#: src/language/generate.ts:34
msgid "[Nginx UI] Backing up current certificate for later revocation"
msgstr ""
#: src/language/generate.ts:35
msgid "[Nginx UI] Certificate renewed successfully"
msgstr ""
#: src/language/generate.ts:36
msgid "[Nginx UI] Certificate successfully revoked"
msgstr ""
#: src/language/generate.ts:37
msgid "[Nginx UI] Certificate was used for server, reloading server TLS certificate"
msgstr ""
#: src/language/generate.ts:38
msgid "[Nginx UI] Creating client facilitates communication with the CA server"
msgstr ""
#: src/language/generate.ts:39
msgid "[Nginx UI] Environment variables cleaned"
msgstr ""
#: src/language/generate.ts:40
msgid "[Nginx UI] Finished"
msgstr ""
#: src/language/generate.ts:41
msgid "[Nginx UI] Issued certificate successfully"
msgstr ""
#: src/language/generate.ts:42
msgid "[Nginx UI] Obtaining certificate"
msgstr ""
#: src/language/generate.ts:43
msgid "[Nginx UI] Preparing for certificate revocation"
msgstr ""
#: src/language/generate.ts:44
msgid "[Nginx UI] Preparing lego configurations"
msgstr ""
#: src/language/generate.ts:45
msgid "[Nginx UI] Reloading nginx"
msgstr ""
#: src/language/generate.ts:46
msgid "[Nginx UI] Revocation completed"
msgstr ""
#: src/language/generate.ts:47
msgid "[Nginx UI] Revoking certificate"
msgstr ""
#: src/language/generate.ts:48
msgid "[Nginx UI] Revoking old certificate"
msgstr ""
#: src/language/generate.ts:49
msgid "[Nginx UI] Setting DNS01 challenge provider"
msgstr ""
#: src/language/generate.ts:51
msgid "[Nginx UI] Setting environment variables"
msgstr ""
#: src/language/generate.ts:50
msgid "[Nginx UI] Setting HTTP01 challenge provider"
msgstr ""
#: src/language/generate.ts:52
msgid "[Nginx UI] Writing certificate private key to disk"
msgstr ""
#: src/language/generate.ts:53
msgid "[Nginx UI] Writing certificate to disk"
msgstr ""
#: src/components/SyncNodesPreview/SyncNodesPreview.vue:59
msgid "* Includes nodes from group %{groupName} and manually selected nodes"
msgstr ""
@@ -138,6 +222,7 @@ msgstr ""
msgid "All"
msgstr ""
#: src/components/Notification/notifications.ts:193
#: src/language/constants.ts:58
msgid "All Recovery Codes Have Been Used"
msgstr ""
@@ -245,7 +330,7 @@ msgstr ""
msgid "Assistant"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:31
#: src/components/SelfCheck/SelfCheck.vue:30
msgid "Attempt to fix"
msgstr ""
@@ -284,6 +369,22 @@ msgstr ""
msgid "Auto Backup"
msgstr ""
#: src/components/Notification/notifications.ts:37
msgid "Auto Backup Completed"
msgstr ""
#: src/components/Notification/notifications.ts:25
msgid "Auto Backup Configuration Error"
msgstr ""
#: src/components/Notification/notifications.ts:29
msgid "Auto Backup Failed"
msgstr ""
#: src/components/Notification/notifications.ts:33
msgid "Auto Backup Storage Failed"
msgstr ""
#: src/views/environments/list/Environment.vue:165
#: src/views/nginx_log/NginxLog.vue:150
msgid "Auto Refresh"
@@ -381,6 +482,18 @@ msgstr ""
msgid "Backup Schedule"
msgstr ""
#: src/components/Notification/notifications.ts:38
msgid "Backup task %{backup_name} completed successfully, file: %{file_path}"
msgstr ""
#: src/components/Notification/notifications.ts:34
msgid "Backup task %{backup_name} failed during storage upload, error: %{error}"
msgstr ""
#: src/components/Notification/notifications.ts:30
msgid "Backup task %{backup_name} failed to execute, error: %{error}"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:24
msgid "Backup Type"
msgstr ""
@@ -550,6 +663,20 @@ msgstr ""
msgid "certificate"
msgstr ""
#: src/components/Notification/notifications.ts:42
msgid "Certificate %{name} has expired"
msgstr ""
#: src/components/Notification/notifications.ts:46
#: src/components/Notification/notifications.ts:50
#: src/components/Notification/notifications.ts:54
msgid "Certificate %{name} will expire in %{days} days"
msgstr ""
#: src/components/Notification/notifications.ts:58
msgid "Certificate %{name} will expire in 1 day"
msgstr ""
#: src/views/certificate/components/CertificateDownload.vue:36
msgid "Certificate content and private key content cannot be empty"
msgstr ""
@@ -558,6 +685,20 @@ msgstr ""
msgid "Certificate decode error"
msgstr ""
#: src/components/Notification/notifications.ts:45
msgid "Certificate Expiration Notice"
msgstr ""
#: src/components/Notification/notifications.ts:41
msgid "Certificate Expired"
msgstr ""
#: src/components/Notification/notifications.ts:49
#: src/components/Notification/notifications.ts:53
#: src/components/Notification/notifications.ts:57
msgid "Certificate Expiring Soon"
msgstr ""
#: src/views/certificate/components/CertificateDownload.vue:70
msgid "Certificate files downloaded successfully"
msgstr ""
@@ -566,6 +707,10 @@ msgstr ""
msgid "Certificate name cannot be empty"
msgstr ""
#: src/language/generate.ts:4
msgid "Certificate not found: %{error}"
msgstr ""
#: src/constants/errors/cert.ts:5
msgid "Certificate parse error"
msgstr ""
@@ -587,6 +732,10 @@ msgstr ""
msgid "Certificate renewed successfully"
msgstr ""
#: src/language/generate.ts:5
msgid "Certificate revoked successfully"
msgstr ""
#: src/views/certificate/components/AutoCertManagement.vue:67
#: src/views/site/site_edit/components/Cert/Cert.vue:58
msgid "Certificate Status"
@@ -654,10 +803,58 @@ msgstr ""
msgid "Check again"
msgstr ""
#: 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 ""
#: src/components/SelfCheck/tasks/frontend/https-check.ts:14
msgid "Check if HTTPS is enabled. Using HTTP outside localhost is insecure and prevents using Passkeys and clipboard features"
msgstr ""
#: 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:9
msgid "Check if the nginx configuration directory exists"
msgstr ""
#: src/language/generate.ts:10
msgid "Check if the nginx configuration entry file exists"
msgstr ""
#: 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: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:12
msgid "Check if the nginx sbin path exists"
msgstr ""
#: src/language/generate.ts:13
msgid "Check if the nginx.conf includes the conf.d directory"
msgstr ""
#: src/language/generate.ts:14
msgid "Check if the nginx.conf includes the sites-enabled directory"
msgstr ""
#: src/language/generate.ts:15
msgid "Check if the nginx.conf includes the streams-enabled directory"
msgstr ""
#: src/language/generate.ts:16
msgid "Check if the sites-available and sites-enabled directories are under the nginx configuration directory"
msgstr ""
#: src/language/generate.ts:17
msgid "Check if the streams-available and streams-enabled directories are under the nginx configuration directory"
msgstr ""
#: src/constants/errors/crypto.ts:3
msgid "Cipher text is too short"
msgstr ""
@@ -1035,6 +1232,14 @@ msgstr ""
msgid "Delete"
msgstr ""
#: src/components/Notification/notifications.ts:86
msgid "Delete %{path} on %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:90
msgid "Delete %{path} on %{env_name} successfully"
msgstr ""
#: src/views/certificate/components/RemoveCert.vue:95
msgid "Delete Certificate"
msgstr ""
@@ -1047,18 +1252,52 @@ msgstr ""
msgid "Delete Permanently"
msgstr ""
#: src/components/Notification/notifications.ts:85
msgid "Delete Remote Config Error"
msgstr ""
#: src/components/Notification/notifications.ts:89
msgid "Delete Remote Config Success"
msgstr ""
#: src/components/Notification/notifications.ts:97
#: src/language/constants.ts:50
msgid "Delete Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:101
#: src/language/constants.ts:49
msgid "Delete Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:153
msgid "Delete Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:157
msgid "Delete Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:98
msgid "Delete site %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:102
msgid "Delete site %{name} from %{node} successfully"
msgstr ""
#: src/views/site/site_list/SiteList.vue:48
msgid "Delete site: %{site_name}"
msgstr ""
#: src/components/Notification/notifications.ts:154
msgid "Delete stream %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:158
msgid "Delete stream %{name} from %{node} successfully"
msgstr ""
#: src/views/stream/StreamList.vue:47
msgid "Delete stream: %{stream_name}"
msgstr ""
@@ -1147,14 +1386,56 @@ msgstr ""
msgid "Disable auto-renewal failed for %{name}"
msgstr ""
#: src/components/Notification/notifications.ts:105
#: src/language/constants.ts:52
msgid "Disable Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:129
msgid "Disable Remote Site Maintenance Error"
msgstr ""
#: src/components/Notification/notifications.ts:133
msgid "Disable Remote Site Maintenance Success"
msgstr ""
#: src/components/Notification/notifications.ts:109
#: src/language/constants.ts:51
msgid "Disable Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:161
msgid "Disable Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:165
msgid "Disable Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:106
msgid "Disable site %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:110
msgid "Disable site %{name} from %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:130
msgid "Disable site %{name} maintenance on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:134
msgid "Disable site %{name} maintenance on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:162
msgid "Disable stream %{name} from %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:166
msgid "Disable stream %{name} from %{node} successfully"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:175
#: src/views/environments/list/envColumns.tsx:60
#: src/views/environments/list/envColumns.tsx:78
@@ -1226,6 +1507,10 @@ msgstr ""
msgid "Docker client not initialized"
msgstr ""
#: src/language/generate.ts:18
msgid "Docker socket exists"
msgstr ""
#: src/constants/errors/self_check.ts:16
msgid "Docker socket not exist"
msgstr ""
@@ -1371,14 +1656,56 @@ msgstr ""
msgid "Enable Proxy Cache"
msgstr ""
#: src/components/Notification/notifications.ts:113
#: src/language/constants.ts:54
msgid "Enable Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:121
msgid "Enable Remote Site Maintenance Error"
msgstr ""
#: src/components/Notification/notifications.ts:125
msgid "Enable Remote Site Maintenance Success"
msgstr ""
#: src/components/Notification/notifications.ts:117
#: src/language/constants.ts:53
msgid "Enable Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:169
msgid "Enable Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:173
msgid "Enable Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:122
msgid "Enable site %{name} maintenance on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:126
msgid "Enable site %{name} maintenance on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:114
msgid "Enable site %{name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:118
msgid "Enable site %{name} on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:170
msgid "Enable stream %{name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:174
msgid "Enable stream %{name} on %{node} successfully"
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:172
msgid "Enable stub_status module"
msgstr ""
@@ -1529,6 +1856,10 @@ msgstr ""
msgid "External notification configuration not found"
msgstr ""
#: src/components/Notification/notifications.ts:93
msgid "External Notification Test"
msgstr ""
#: src/views/preference/Preference.vue:58
#: src/views/preference/tabs/ExternalNotify.vue:41
msgid "External Notify"
@@ -1683,6 +2014,10 @@ msgstr ""
msgid "Failed to delete certificate"
msgstr ""
#: src/language/generate.ts:19
msgid "Failed to delete certificate from database: %{error}"
msgstr ""
#: src/views/site/components/SiteStatusSelect.vue:73
#: src/views/stream/components/StreamStatusSelect.vue:45
msgid "Failed to disable %{msg}"
@@ -1849,6 +2184,10 @@ msgstr ""
msgid "Failed to revoke certificate"
msgstr ""
#: src/language/generate.ts:20
msgid "Failed to revoke certificate: %{error}"
msgstr ""
#: src/views/dashboard/components/ParamsOptimization.vue:91
msgid "Failed to save Nginx performance settings"
msgstr ""
@@ -2468,6 +2807,10 @@ msgstr ""
msgid "Log"
msgstr ""
#: src/language/generate.ts:21
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 ""
#: src/routes/modules/nginx_log.ts:39
#: src/views/nginx_log/NginxLogList.vue:88
msgid "Log List"
@@ -2804,6 +3147,10 @@ msgstr ""
msgid "Nginx Access Log Path"
msgstr ""
#: src/language/generate.ts:23
msgid "Nginx access log path exists"
msgstr ""
#: src/views/backup/AutoBackup/AutoBackup.vue:28
#: src/views/backup/AutoBackup/AutoBackup.vue:40
msgid "Nginx and Nginx UI Config"
@@ -2833,6 +3180,14 @@ msgstr ""
msgid "Nginx config directory is not set"
msgstr ""
#: src/language/generate.ts:24
msgid "Nginx configuration directory exists"
msgstr ""
#: src/language/generate.ts:25
msgid "Nginx configuration entry file exists"
msgstr ""
#: src/components/SystemRestore/SystemRestoreContent.vue:138
msgid "Nginx configuration has been restored"
msgstr ""
@@ -2867,6 +3222,10 @@ msgstr ""
msgid "Nginx Error Log Path"
msgstr ""
#: src/language/generate.ts:26
msgid "Nginx error log path exists"
msgstr ""
#: src/constants/errors/nginx.ts:2
msgid "Nginx error: {0}"
msgstr ""
@@ -2905,6 +3264,10 @@ msgstr ""
msgid "Nginx PID Path"
msgstr ""
#: src/language/generate.ts:22
msgid "Nginx PID path exists"
msgstr ""
#: src/views/preference/tabs/NginxSettings.vue:40
msgid "Nginx Reload Command"
msgstr ""
@@ -2935,6 +3298,10 @@ msgstr ""
msgid "Nginx restarted successfully"
msgstr ""
#: src/language/generate.ts:27
msgid "Nginx sbin path exists"
msgstr ""
#: src/views/preference/tabs/NginxSettings.vue:37
msgid "Nginx Test Config Command"
msgstr ""
@@ -2961,6 +3328,18 @@ msgstr ""
msgid "Nginx UI configuration has been restored and will restart automatically in a few seconds."
msgstr ""
#: src/language/generate.ts:28
msgid "Nginx.conf includes conf.d directory"
msgstr ""
#: src/language/generate.ts:29
msgid "Nginx.conf includes sites-enabled directory"
msgstr ""
#: src/language/generate.ts:30
msgid "Nginx.conf includes streams-enabled directory"
msgstr ""
#: src/components/ChatGPT/ChatMessageInput.vue:17
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:111
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:99
@@ -3407,6 +3786,7 @@ msgstr ""
msgid "Please first add credentials in Certification > DNS Credentials, and then select one of the credentialsbelow to request the API of the DNS provider."
msgstr ""
#: src/components/Notification/notifications.ts:194
#: src/language/constants.ts:59
msgid "Please generate new recovery codes in the preferences immediately to prevent lockout."
msgstr ""
@@ -3630,7 +4010,7 @@ msgstr ""
msgid "Receive"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:24
#: src/components/SelfCheck/SelfCheck.vue:23
msgid "Recheck"
msgstr ""
@@ -3711,6 +4091,22 @@ msgstr ""
msgid "Reload nginx failed: {0}"
msgstr ""
#: src/components/Notification/notifications.ts:10
msgid "Reload Nginx on %{node} failed, response: %{resp}"
msgstr ""
#: src/components/Notification/notifications.ts:14
msgid "Reload Nginx on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:9
msgid "Reload Remote Nginx Error"
msgstr ""
#: src/components/Notification/notifications.ts:13
msgid "Reload Remote Nginx Success"
msgstr ""
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:52
msgid "Reload request failed, please check your network connection"
msgstr ""
@@ -3750,22 +4146,58 @@ msgstr ""
msgid "Rename"
msgstr ""
#: src/components/Notification/notifications.ts:78
msgid "Rename %{orig_path} to %{new_path} on %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:82
msgid "Rename %{orig_path} to %{new_path} on %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:77
#: src/language/constants.ts:42
msgid "Rename Remote Config Error"
msgstr ""
#: src/components/Notification/notifications.ts:81
#: src/language/constants.ts:41
msgid "Rename Remote Config Success"
msgstr ""
#: src/components/Notification/notifications.ts:137
#: src/language/constants.ts:56
msgid "Rename Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:141
#: src/language/constants.ts:55
msgid "Rename Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:177
msgid "Rename Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:181
msgid "Rename Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:138
msgid "Rename site %{name} to %{new_name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:142
msgid "Rename site %{name} to %{new_name} on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:178
msgid "Rename stream %{name} to %{new_name} on %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:182
msgid "Rename stream %{name} to %{new_name} on %{node} successfully"
msgstr ""
#: src/views/config/components/Rename.vue:43
msgid "Rename successfully"
msgstr ""
@@ -3842,6 +4274,22 @@ msgstr ""
msgid "Restart Nginx"
msgstr ""
#: src/components/Notification/notifications.ts:18
msgid "Restart Nginx on %{node} failed, response: %{resp}"
msgstr ""
#: src/components/Notification/notifications.ts:22
msgid "Restart Nginx on %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:17
msgid "Restart Remote Nginx Error"
msgstr ""
#: src/components/Notification/notifications.ts:21
msgid "Restart Remote Nginx Success"
msgstr ""
#: src/components/EnvGroupTabs/EnvGroupTabs.vue:72
msgid "Restart request failed, please check your network connection"
msgstr ""
@@ -4049,14 +4497,40 @@ msgstr ""
msgid "Save Directive"
msgstr ""
#: src/components/Notification/notifications.ts:145
#: src/language/constants.ts:48
msgid "Save Remote Site Error"
msgstr ""
#: src/components/Notification/notifications.ts:149
#: src/language/constants.ts:47
msgid "Save Remote Site Success"
msgstr ""
#: src/components/Notification/notifications.ts:185
msgid "Save Remote Stream Error"
msgstr ""
#: src/components/Notification/notifications.ts:189
msgid "Save Remote Stream Success"
msgstr ""
#: src/components/Notification/notifications.ts:146
msgid "Save site %{name} to %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:150
msgid "Save site %{name} to %{node} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:186
msgid "Save stream %{name} to %{node} failed"
msgstr ""
#: src/components/Notification/notifications.ts:190
msgid "Save stream %{name} to %{node} successfully"
msgstr ""
#: src/language/curd.ts:36
msgid "Save successful"
msgstr ""
@@ -4165,7 +4639,7 @@ msgstr ""
msgid "Selector"
msgstr ""
#: src/components/SelfCheck/SelfCheck.vue:16
#: src/components/SelfCheck/SelfCheck.vue:15
#: src/routes/modules/system.ts:19
msgid "Self Check"
msgstr ""
@@ -4297,6 +4771,10 @@ msgstr ""
msgid "Site not found"
msgstr ""
#: src/language/generate.ts:31
msgid "Sites directory exists"
msgstr ""
#: src/routes/modules/sites.ts:19
msgid "Sites List"
msgstr ""
@@ -4428,6 +4906,10 @@ msgstr ""
msgid "Storage Configuration"
msgstr ""
#: src/components/Notification/notifications.ts:26
msgid "Storage configuration validation failed for backup task %{backup_name}, error: %{error}"
msgstr ""
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:120
#: src/views/backup/AutoBackup/components/StorageConfigEditor.vue:54
msgid "Storage Path"
@@ -4455,6 +4937,10 @@ msgstr ""
msgid "Stream not found"
msgstr ""
#: src/language/generate.ts:32
msgid "Streams directory exists"
msgstr ""
#: src/constants/errors/self_check.ts:13
msgid "Streams-available directory not exist"
msgstr ""
@@ -4483,10 +4969,6 @@ msgstr ""
msgid "Sunday"
msgstr ""
#: src/components/SelfCheck/tasks/frontend/sse.ts:14
msgid "Support communication with the backend through the Server-Sent Events protocol. If your Nginx UI is being used via an Nginx reverse proxy, please refer to this link to write the corresponding configuration file: https://nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
#: src/components/SelfCheck/tasks/frontend/websocket.ts:13
msgid "Support communication with the backend through the WebSocket protocol. If your Nginx UI is being used via an Nginx reverse proxy, please refer to this link to write the corresponding configuration file: https://nginxui.com/guide/nginx-proxy-example.html"
msgstr ""
@@ -4528,18 +5010,38 @@ msgstr ""
msgid "Sync Certificate"
msgstr ""
#: src/components/Notification/notifications.ts:62
msgid "Sync Certificate %{cert_name} to %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:66
msgid "Sync Certificate %{cert_name} to %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:61
#: src/language/constants.ts:39
msgid "Sync Certificate Error"
msgstr ""
#: src/components/Notification/notifications.ts:65
#: src/language/constants.ts:38
msgid "Sync Certificate Success"
msgstr ""
#: src/components/Notification/notifications.ts:70
msgid "Sync config %{config_name} to %{env_name} failed"
msgstr ""
#: src/components/Notification/notifications.ts:74
msgid "Sync config %{config_name} to %{env_name} successfully"
msgstr ""
#: src/components/Notification/notifications.ts:69
#: src/language/constants.ts:45
msgid "Sync Config Error"
msgstr ""
#: src/components/Notification/notifications.ts:73
#: src/language/constants.ts:44
msgid "Sync Config Success"
msgstr ""
@@ -4754,6 +5256,10 @@ msgstr ""
msgid "This field should only contain letters, unicode characters, numbers, and -_./:"
msgstr ""
#: src/components/Notification/notifications.ts:94
msgid "This is a test message sent at %{timestamp} from Nginx UI."
msgstr ""
#: src/views/dashboard/NginxDashBoard.vue:175
msgid "This module provides Nginx request statistics, connection count, etc. data. After enabling it, you can view performance statistics"
msgstr ""
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+2 -2
View File
@@ -24,7 +24,7 @@ type GitHubRelease struct {
}
const (
githubAPIURL = "https://api.github.com/repos/go-acme/lego/releases/latest"
githubAPIURL = "https://cloud.nginxui.com/https://api.github.com/repos/go-acme/lego/releases/latest"
configDir = "internal/cert/config"
)
@@ -97,7 +97,7 @@ func getLatestReleaseTag() (string, error) {
// downloadAndExtract downloads the lego repository for a specific tag and extracts it
func downloadAndExtract(tag string) (string, error) {
downloadURL := fmt.Sprintf("https://github.com/go-acme/lego/archive/refs/tags/%s.zip", tag)
downloadURL := fmt.Sprintf("https://cloud.nginxui.com/https://github.com/go-acme/lego/archive/refs/tags/%s.zip", tag)
// Download the file
logger.Infof("Downloading lego repository for tag %s...", tag)
+9 -5
View File
@@ -50,12 +50,16 @@ func main() {
}
// Skip excluded directories
for _, dir := range excludeDirs {
if strings.Contains(path, dir) {
if info.IsDir() {
return filepath.SkipDir
for _, excludeDir := range excludeDirs {
// Check if the path contains the excluded directory
pathParts := strings.Split(filepath.Clean(path), string(filepath.Separator))
for _, part := range pathParts {
if part == excludeDir {
if info.IsDir() {
return filepath.SkipDir
}
return nil
}
return nil
}
}
+9 -5
View File
@@ -45,12 +45,16 @@ func main() {
}
// Skip excluded directories
for _, dir := range excludeDirs {
if strings.Contains(path, dir) {
if info.IsDir() {
return filepath.SkipDir
for _, excludeDir := range excludeDirs {
// Check if the path contains the excluded directory
pathParts := strings.Split(filepath.Clean(path), string(filepath.Separator))
for _, part := range pathParts {
if part == excludeDir {
if info.IsDir() {
return filepath.SkipDir
}
return nil
}
return nil
}
}