feat: add proxy option for acme user

This commit is contained in:
Jacky 2024-10-07 12:19:20 +08:00
parent deda31a6e1
commit 46a9ccbdf1
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
17 changed files with 956 additions and 641 deletions

View file

@ -24,9 +24,11 @@ func GetAcmeUser(c *gin.Context) {
func CreateAcmeUser(c *gin.Context) {
cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{
"name": "required",
"email": "required,email",
"ca_dir": "omitempty",
"name": "required",
"email": "required,email",
"ca_dir": "omitempty",
"proxy": "omitempty",
"register_on_startup": "omitempty",
}).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) {
if ctx.Model.CADir == "" {
ctx.Model.CADir = settings.ServerSettings.GetCADir()
@ -41,9 +43,11 @@ func CreateAcmeUser(c *gin.Context) {
func ModifyAcmeUser(c *gin.Context) {
cosy.Core[model.AcmeUser](c).SetValidRules(gin.H{
"name": "omitempty",
"email": "omitempty,email",
"ca_dir": "omitempty",
"name": "omitempty",
"email": "omitempty,email",
"ca_dir": "omitempty",
"proxy": "omitempty",
"register_on_startup": "omitempty",
}).BeforeExecuteHook(func(ctx *cosy.Ctx[model.AcmeUser]) {
if ctx.Model.CADir == "" {
ctx.Model.CADir = settings.ServerSettings.GetCADir()

View file

@ -25,13 +25,13 @@ msgstr "About"
msgid "Access Logs"
msgstr ""
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
#, fuzzy
msgid "ACME User"
msgstr "Username"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -42,8 +42,8 @@ msgstr "Username"
msgid "Action"
msgstr "Action"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -67,8 +67,8 @@ msgstr "Edit Configuration"
msgid "Add Directive Below"
msgstr "Add Directive Below"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "Add Location"
@ -169,7 +169,7 @@ msgstr "Are you sure you want to remove this directive?"
msgid "Are you sure you want to remove this item?"
msgstr "Are you sure you want to remove this directive?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
#, fuzzy
msgid "Are you sure you want to remove this location?"
msgstr "Are you sure you want to remove this directive?"
@ -190,7 +190,7 @@ msgstr ""
msgid "Auth"
msgstr ""
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -215,7 +215,7 @@ msgstr "Auto-renewal disabled for %{name}"
msgid "Auto-renewal enabled for %{name}"
msgstr "Auto-renewal enabled for %{name}"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -227,7 +227,7 @@ msgstr "Back"
msgid "Back Home"
msgstr "Back"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr ""
@ -273,7 +273,7 @@ msgstr ""
msgid "Build with"
msgstr "Build with"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr ""
@ -287,7 +287,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -377,8 +377,8 @@ msgid "Command"
msgstr "Comments"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "Comments"
@ -413,8 +413,8 @@ msgid "Connection lost, please refresh the page."
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "Content"
@ -760,7 +760,7 @@ msgstr "Edit Site"
msgid "Edit Stream"
msgstr "Edit Site"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
#, fuzzy
msgid "Email"
msgstr "Email (*)"
@ -1006,7 +1006,7 @@ msgstr ""
msgid "HTTP01"
msgstr ""
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr ""
@ -1061,7 +1061,7 @@ msgstr ""
msgid "Input the code from the app:"
msgstr ""
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr ""
@ -1079,7 +1079,7 @@ msgstr "Enabled successfully"
msgid "Interval"
msgstr ""
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
#, fuzzy
msgid "Invalid"
msgstr "Invalid E-mail!"
@ -1098,7 +1098,7 @@ msgstr "Invalid E-mail!"
msgid "Invalid folder name"
msgstr ""
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1151,8 +1151,13 @@ msgstr "Leave blank for no change"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Leave blank for no change"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
#, fuzzy
msgid "Leave blank will not change anything"
msgstr "Leave blank for no change"
@ -1171,7 +1176,7 @@ msgstr "License"
msgid "Link Start"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr ""
@ -1195,15 +1200,15 @@ msgstr "Saved successfully"
msgid "Local"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
#, fuzzy
msgid "Log"
msgstr "Login"
@ -1289,7 +1294,7 @@ msgid "Model"
msgstr "Advance Mode"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
#, fuzzy
@ -1305,7 +1310,7 @@ msgstr "Certificate Status"
msgid "Modify Config"
msgstr "Modify Config"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "Modify Mode"
msgstr "Modify Config"
@ -1316,7 +1321,7 @@ msgid "Multi-line Directive"
msgstr "Single Directive"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1411,7 +1416,7 @@ msgstr "Saved successfully"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1475,7 +1480,7 @@ msgstr ""
msgid "Offline"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr ""
@ -1515,7 +1520,7 @@ msgstr ""
msgid "OpenAI"
msgstr ""
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1568,8 +1573,8 @@ msgid "Password (*)"
msgstr "Password (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "Path"
@ -1591,7 +1596,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr ""
@ -1646,6 +1651,10 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/environment/Environment.vue:47
msgid "Please select at least one node to upgrade"
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1682,6 +1691,10 @@ msgstr "Project Team"
msgid "Provider"
msgstr ""
#: src/views/certificate/ACMEUser.vue:48
msgid "Proxy"
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1701,7 +1714,7 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Saved successfully"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr ""
@ -1722,21 +1735,31 @@ msgstr ""
msgid "Regenerate response"
msgstr ""
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr ""
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
#, fuzzy
msgid "Register failed"
msgstr "Enable failed"
#: src/views/certificate/ACMEUser.vue:72
msgid "Register On Startup"
msgstr ""
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "Enabled successfully"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
#, fuzzy
msgid "Register successfully"
msgstr "Enabled successfully"
@ -1745,7 +1768,7 @@ msgstr "Enabled successfully"
msgid "Registering user"
msgstr ""
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr ""
@ -1878,7 +1901,7 @@ msgid "Running"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -2010,22 +2033,22 @@ msgstr "Sites List"
msgid "Sites List"
msgstr "Sites List"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Certificate Status"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Certificate Status"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
#, fuzzy
msgid "SSL Certificate Key Path"
msgstr "Certificate Status"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
#, fuzzy
msgid "SSL Certificate Path"
msgstr "Certificate Status"
@ -2042,7 +2065,7 @@ msgstr "Login"
msgid "Stable"
msgstr "Enabled"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2138,7 +2161,7 @@ msgstr "Certificate is valid"
msgid "Sync Config Success"
msgstr "Certificate is valid"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr ""
@ -2177,11 +2200,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
#, fuzzy
msgid "The input is not a SSL Certificate Key"
msgstr "Certificate Status"
@ -2192,12 +2215,12 @@ msgid ""
"dashes, and dots."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
#, fuzzy
msgid "The path exists, but the file is not a certificate"
msgstr "Certificate Status"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr ""
@ -2250,9 +2273,9 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr ""
@ -2314,11 +2337,11 @@ msgid ""
"password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr ""
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr ""
@ -2333,7 +2356,7 @@ msgstr ""
msgid "Update successfully"
msgstr "Saved successfully"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2348,7 +2371,7 @@ msgstr "Updated at"
msgid "Updated successfully"
msgstr "Saved successfully"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr ""
@ -2379,11 +2402,11 @@ msgstr "Uptime:"
msgid "URL"
msgstr ""
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr ""
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr ""
@ -2404,7 +2427,7 @@ msgstr "Username"
msgid "Username (*)"
msgstr "Username (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2424,11 +2447,11 @@ msgstr ""
msgid "View all notifications"
msgstr "Certificate is valid"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "View Mode"
msgstr "Basic Mode"
@ -2452,6 +2475,13 @@ msgid ""
"Nginx. Are you sure you want to continue?"
msgstr ""
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2466,7 +2496,7 @@ msgid "Writing certificate to disk"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2519,10 +2549,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "Enabled"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Leave blank for no change"
#, fuzzy
#~ msgid "Config Name"
#~ msgstr "Configuration Name"

View file

@ -32,12 +32,12 @@ msgstr "Acerca de"
msgid "Access Logs"
msgstr "Logs de acceso"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr "Usuario ACME"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -48,8 +48,8 @@ msgstr "Usuario ACME"
msgid "Action"
msgstr "Acción"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -72,8 +72,8 @@ msgstr "Agregar configuración"
msgid "Add Directive Below"
msgstr "Añadir directiva a continuación"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "Agregar Ubicación"
@ -163,7 +163,7 @@ msgstr "¿Está seguro de que quiere borrar esta directiva?"
msgid "Are you sure you want to remove this item?"
msgstr "¿Está seguro de que desea eliminar este elemento?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr "¿Está seguro de que quiere borrar esta ubicación?"
@ -183,7 +183,7 @@ msgstr "Intentos"
msgid "Auth"
msgstr "Autenticación"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -208,7 +208,7 @@ msgstr "Renovación automática deshabilitada por %{name}"
msgid "Auto-renewal enabled for %{name}"
msgstr "Renovación automática habilitada por %{name}"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -219,7 +219,7 @@ msgstr "Volver"
msgid "Back Home"
msgstr "Volver al Inicio"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr "Volver a la lista"
@ -263,7 +263,7 @@ msgstr "Actualización por lotes"
msgid "Build with"
msgstr "Desarrollado con"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr "Dir CA"
@ -277,7 +277,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -358,8 +358,8 @@ msgid "Command"
msgstr "Comando"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "Comentarios"
@ -393,8 +393,8 @@ msgid "Connection lost, please refresh the page."
msgstr "Conexión perdida, por favor actualice la página."
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "Contenido"
@ -727,7 +727,7 @@ msgstr "Editar Sitio"
msgid "Edit Stream"
msgstr "Editar Transmisión"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
msgid "Email"
msgstr "Correo"
@ -962,7 +962,7 @@ msgstr "Puerto HTTP"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr "Si se deja en blanco, se utilizará el directorio CA predeterminado."
@ -1023,7 +1023,7 @@ msgstr "Inicializando la actualización del kernel"
msgid "Input the code from the app:"
msgstr "Ingrese el código de la aplicación:"
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr "Ingrese el código de recuperación:"
@ -1040,7 +1040,7 @@ msgstr "Instalación exitosa"
msgid "Interval"
msgstr "Intervalo"
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr "Inválido"
@ -1057,7 +1057,7 @@ msgstr "Nombre de archivo inválido"
msgid "Invalid folder name"
msgstr "Nombre de carpeta inválido"
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr "Código de acceso o código de recuperación inválido"
@ -1107,8 +1107,13 @@ msgstr "Para no modificar dejar en blanco"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Dejar en blanco para el valor predeterminado: https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Para no modificar dejar en blanco"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
msgid "Leave blank will not change anything"
msgstr "Dejarlo en blanco no cambiará nada"
@ -1125,7 +1130,7 @@ msgstr "Licencia"
msgid "Link Start"
msgstr "Iniciar conexión"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr "Lista"
@ -1146,15 +1151,15 @@ msgstr "Cargado con éxito"
msgid "Local"
msgstr "Local"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Ubicación"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Ubicaciones"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
msgid "Log"
msgstr "Registro"
@ -1242,7 +1247,7 @@ msgid "Model"
msgstr "Modelo"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1256,7 +1261,7 @@ msgstr "Modificar Certificado"
msgid "Modify Config"
msgstr "Modificar configuración"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "Modify Mode"
msgstr "Modo Modificar"
@ -1265,7 +1270,7 @@ msgid "Multi-line Directive"
msgstr "Directiva multilínea"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1355,7 +1360,7 @@ msgstr "Nginx reiniciado con éxito"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1418,7 +1423,7 @@ msgstr ""
msgid "Offline"
msgstr "Desconectado"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr "Ok"
@ -1458,7 +1463,7 @@ msgstr "En línea"
msgid "OpenAI"
msgstr "OpenAI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1510,8 +1515,8 @@ msgid "Password (*)"
msgstr "Contraseña (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "Ruta"
@ -1533,7 +1538,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
#, fuzzy
msgid "Please enter the OTP code:"
msgstr "Por favor, ingrese el código 2FA:"
@ -1596,6 +1601,11 @@ msgstr ""
"Tenga en cuenta que las siguientes configuraciones de unidades de tiempo "
"están todas en segundos."
#: src/views/environment/Environment.vue:47
#, fuzzy
msgid "Please select at least one node to upgrade"
msgstr "¡Seleccione al menos un nodo!"
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1631,6 +1641,11 @@ msgstr "Grupo del proyecto"
msgid "Provider"
msgstr "Proveedor"
#: src/views/certificate/ACMEUser.vue:48
#, fuzzy
msgid "Proxy"
msgstr "Proxy de la API"
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1649,7 +1664,7 @@ msgstr "Recuperar"
msgid "Recovered Successfully"
msgstr "Recuperado con éxito"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr "Recuperación"
@ -1670,20 +1685,31 @@ msgstr "Servidores de nombres recursivos"
msgid "Regenerate response"
msgstr "Regenerar respuesta"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr "Registrar"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
msgid "Register failed"
msgstr "Fallo en el registro"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "Esto de registración"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "Registrado con éxito"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
msgid "Register successfully"
msgstr "Registrado con éxito"
@ -1691,7 +1717,7 @@ msgstr "Registrado con éxito"
msgid "Registering user"
msgstr "Registrando Usuario"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr "Esto de registración"
@ -1812,7 +1838,7 @@ msgid "Running"
msgstr "Corriendo"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -1945,19 +1971,19 @@ msgstr "Registros del sitio"
msgid "Sites List"
msgstr "Lista de sitios"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr "Contenido de certificado SSL"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr "Contenido de la llave del certificado SSL"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr "Ruta de la llave del certificado SSL"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr "Ruta del certificado SSL"
@ -1971,7 +1997,7 @@ msgstr "Acceso SSO"
msgid "Stable"
msgstr "Estable"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2066,7 +2092,7 @@ msgstr "Error de Configuración de Sincronización"
msgid "Sync Config Success"
msgstr "Configuración de sincronización exitosa"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr "Sincronizar con"
@ -2106,11 +2132,11 @@ msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
"El nombre del archivo no puede contener los siguientes caracteres: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr "La entrada no es un Certificado SSL"
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr "La entrada no es una clave de certificado SSL"
@ -2122,11 +2148,11 @@ msgstr ""
"El nombre del modelo solo debe contener letras, unicode, números, guiones, "
"rayas y puntos."
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr "La ruta existe, pero el archivo no es un certificado"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr "La ruta existe, pero el archivo no es una clave privada"
@ -2185,9 +2211,9 @@ msgstr "Este elemento de Auto Cert es inválido, elimínelo por favor."
msgid "This certificate is managed by Nginx UI"
msgstr "Este certificado es administrado por Nginx UI"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr "Este campo es obligatorio"
@ -2261,11 +2287,11 @@ msgstr ""
"TOTP es un método de autenticación de dos factores que utiliza un algoritmo "
"de contraseña de un solo uso basado en el tiempo."
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr "Basura"
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr "Se requiere autenticación de dos factores"
@ -2280,7 +2306,7 @@ msgstr "Tipo"
msgid "Update successfully"
msgstr "Actualización exitosa"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2294,7 +2320,7 @@ msgstr "Actualizado a"
msgid "Updated successfully"
msgstr "Actualización exitosa"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "Actualizar"
@ -2323,11 +2349,11 @@ msgstr "Tiempo encendido:"
msgid "URL"
msgstr "URL"
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr "Usar OTP"
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr "Usar código de recuperación"
@ -2347,7 +2373,7 @@ msgstr "Nombre de usuario"
msgid "Username (*)"
msgstr "Nombre de usuario (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2366,11 +2392,11 @@ msgstr "Ver"
msgid "View all notifications"
msgstr "Ver todas las notificaciones"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr "Ver detalles"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "View Mode"
msgstr "Modo de vista"
@ -2397,6 +2423,13 @@ msgstr ""
"Eliminaremos la configuración de HTTPChallenge de este archivo y "
"recargaremos Nginx. ¿Estás seguro de que quieres continuar?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2411,7 +2444,7 @@ msgid "Writing certificate to disk"
msgstr "Escribir certificado a disco"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2484,10 +2517,6 @@ msgstr ""
#~ msgid "The path exists, but the file is not a public key"
#~ msgstr "La ruta existe, pero el archivo no es una clave pública"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Para no modificar dejar en blanco"
#, fuzzy
#~ msgid "Auto Cert is enabled"
#~ msgstr "Certificado automático"

View file

@ -27,13 +27,13 @@ msgstr "À propos"
msgid "Access Logs"
msgstr "Journaux d'accès"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
#, fuzzy
msgid "ACME User"
msgstr "Nom d'utilisateur"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -44,8 +44,8 @@ msgstr "Nom d'utilisateur"
msgid "Action"
msgstr "Action"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -69,8 +69,8 @@ msgstr "Modifier la configuration"
msgid "Add Directive Below"
msgstr "Ajouter une directive"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "Ajouter une localisation"
@ -171,7 +171,7 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?"
msgid "Are you sure you want to remove this item?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr "Voulez-vous vraiment supprimer cette localisation ?"
@ -193,7 +193,7 @@ msgstr ""
msgid "Auth"
msgstr "Autheur"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -218,7 +218,7 @@ msgstr "Renouvellement automatique désactivé pour %{name}"
msgid "Auto-renewal enabled for %{name}"
msgstr "Renouvellement automatique activé pour %{name}"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -229,7 +229,7 @@ msgstr "Retour"
msgid "Back Home"
msgstr "Retour au menu principal"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr ""
@ -275,7 +275,7 @@ msgstr "Mettre à niveau"
msgid "Build with"
msgstr "Build avec"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr ""
@ -289,7 +289,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -378,8 +378,8 @@ msgid "Command"
msgstr "Commentaires"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "Commentaires"
@ -413,8 +413,8 @@ msgid "Connection lost, please refresh the page."
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "Contenu"
@ -760,7 +760,7 @@ msgstr "Modifier le site"
msgid "Edit Stream"
msgstr "Modifier le site"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
#, fuzzy
msgid "Email"
msgstr "Email (*)"
@ -1007,7 +1007,7 @@ msgstr "Port HTTP"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr ""
@ -1064,7 +1064,7 @@ msgstr "Initialisation du programme de mise à niveau du core"
msgid "Input the code from the app:"
msgstr ""
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr ""
@ -1081,7 +1081,7 @@ msgstr "Installé avec succès"
msgid "Interval"
msgstr ""
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr ""
@ -1098,7 +1098,7 @@ msgstr ""
msgid "Invalid folder name"
msgstr ""
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1151,8 +1151,13 @@ msgstr "Laisser vide pour aucun changement"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Laissez vide pour la valeur par défaut : https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Laisser vide pour aucun changement"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
#, fuzzy
msgid "Leave blank will not change anything"
msgstr "Laisser vide pour aucun changement"
@ -1171,7 +1176,7 @@ msgstr "Licence"
msgid "Link Start"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr ""
@ -1195,17 +1200,17 @@ msgstr "Enregistré avec succès"
msgid "Local"
msgstr "Localisation"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#, fuzzy
msgid "Location"
msgstr "Localisation"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
#, fuzzy
msgid "Locations"
msgstr "Localisations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
#, fuzzy
msgid "Log"
msgstr "Connexion"
@ -1291,7 +1296,7 @@ msgid "Model"
msgstr "Mode d'exécution"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1306,7 +1311,7 @@ msgstr "État du certificat"
msgid "Modify Config"
msgstr "Modifier la configuration"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "Modify Mode"
msgstr "Modifier"
@ -1316,7 +1321,7 @@ msgid "Multi-line Directive"
msgstr "Directive multiligne"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1409,7 +1414,7 @@ msgstr "Nginx a redémarré avec succès"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1473,7 +1478,7 @@ msgstr ""
msgid "Offline"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr ""
@ -1513,7 +1518,7 @@ msgstr ""
msgid "OpenAI"
msgstr "OpenAI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1565,8 +1570,8 @@ msgid "Password (*)"
msgstr "Mot de passe (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "Chemin"
@ -1588,7 +1593,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr ""
@ -1650,6 +1655,10 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/environment/Environment.vue:47
msgid "Please select at least one node to upgrade"
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1686,6 +1695,11 @@ msgstr "Groupe de projet"
msgid "Provider"
msgstr "Fournisseur"
#: src/views/certificate/ACMEUser.vue:48
#, fuzzy
msgid "Proxy"
msgstr "Proxy d'API"
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
#, fuzzy
@ -1707,7 +1721,7 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Enregistré avec succès"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr ""
@ -1728,22 +1742,33 @@ msgstr ""
msgid "Regenerate response"
msgstr "Régénérer la réponse"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
#, fuzzy
msgid "Register"
msgstr "Enregistrement de l'utilisateur"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
#, fuzzy
msgid "Register failed"
msgstr "Enregistrement de l'utilisateur"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "Enregistrement de l'utilisateur"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "Activé avec succès"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
#, fuzzy
msgid "Register successfully"
msgstr "Activé avec succès"
@ -1752,7 +1777,7 @@ msgstr "Activé avec succès"
msgid "Registering user"
msgstr "Enregistrement de l'utilisateur"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
#, fuzzy
msgid "Registration Status"
msgstr "Enregistrement de l'utilisateur"
@ -1885,7 +1910,7 @@ msgid "Running"
msgstr "En cours d'éxécution"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -2017,21 +2042,21 @@ msgstr "Journaux du site"
msgid "Sites List"
msgstr "Liste des sites"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
#, fuzzy
msgid "SSL Certificate Content"
msgstr "Contenu de la certification SSL"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
#, fuzzy
msgid "SSL Certificate Key Content"
msgstr "Contenu de la clé de certification SSL"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr "Chemin de la clé du certificat SSL"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr "Chemin du certificat SSL"
@ -2047,7 +2072,7 @@ msgstr "Connexion"
msgid "Stable"
msgstr "Tableau"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2144,7 +2169,7 @@ msgstr "Changer de certificat"
msgid "Sync Config Success"
msgstr "Changer de certificat"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr ""
@ -2183,11 +2208,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Le nom de fichier ne peut pas contenir les caractères suivants : %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
#, fuzzy
msgid "The input is not a SSL Certificate Key"
msgstr "Chemin de la clé du certificat SSL"
@ -2198,12 +2223,12 @@ msgid ""
"dashes, and dots."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
#, fuzzy
msgid "The path exists, but the file is not a certificate"
msgstr "Chemin de la clé du certificat SSL"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr ""
@ -2260,9 +2285,9 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr ""
@ -2328,11 +2353,11 @@ msgid ""
"password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr ""
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr ""
@ -2347,7 +2372,7 @@ msgstr "Type"
msgid "Update successfully"
msgstr "Mis à jour avec succés"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2361,7 +2386,7 @@ msgstr "Mis à jour le"
msgid "Updated successfully"
msgstr "Mis à jour avec succés"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "Mettre à niveau"
@ -2391,11 +2416,11 @@ msgstr "Disponibilité :"
msgid "URL"
msgstr ""
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr ""
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr ""
@ -2416,7 +2441,7 @@ msgstr "Nom d'utilisateur"
msgid "Username (*)"
msgstr "Nom d'utilisateur (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2437,11 +2462,11 @@ msgstr "Voir"
msgid "View all notifications"
msgstr "Certification"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "View Mode"
msgstr "Mode simple"
@ -2467,6 +2492,13 @@ msgstr ""
"Nous allons supprimer la configuration HTTPChallenge de ce fichier et "
"recharger le Nginx. Êtes-vous sûr de vouloir continuer?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2481,7 +2513,7 @@ msgid "Writing certificate to disk"
msgstr "Écriture du certificat sur le disque"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2551,10 +2583,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "Tableau"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Laisser vide pour aucun changement"
#, fuzzy
#~ msgid "Auto Cert is enabled"
#~ msgstr "Auto Cert"

View file

@ -30,12 +30,12 @@ msgstr "대하여"
msgid "Access Logs"
msgstr "접근 로그"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr "ACME 사용자"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -46,8 +46,8 @@ msgstr "ACME 사용자"
msgid "Action"
msgstr "작업"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -70,8 +70,8 @@ msgstr "구성 추가"
msgid "Add Directive Below"
msgstr "아래에 지시문 추가"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "위치 추가"
@ -161,7 +161,7 @@ msgstr "이 지시문을 정말로 제거하시겠습니까?"
msgid "Are you sure you want to remove this item?"
msgstr "이 항목을 제거하시겠습니까?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr "이 위치를 제거하시겠습니까?"
@ -181,7 +181,7 @@ msgstr "시도 횟수"
msgid "Auth"
msgstr "인증"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -206,7 +206,7 @@ msgstr "%{name}에 대한 자동 갱신 비활성화됨"
msgid "Auto-renewal enabled for %{name}"
msgstr "%{name}에 대한 자동 갱신 활성화됨"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -217,7 +217,7 @@ msgstr "뒤로"
msgid "Back Home"
msgstr "홈으로"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr "목록으로 돌아가기"
@ -261,7 +261,7 @@ msgstr "배치 업그레이드"
msgid "Build with"
msgstr "빌드 환경"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr "CA 디렉토리"
@ -275,7 +275,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -358,8 +358,8 @@ msgid "Command"
msgstr "명령어"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "댓글"
@ -393,8 +393,8 @@ msgid "Connection lost, please refresh the page."
msgstr "연결이 끊어졌습니다. 페이지를 새로 고침하세요."
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "내용"
@ -724,7 +724,7 @@ msgstr "사이트 편집"
msgid "Edit Stream"
msgstr "스트림 편집"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
#, fuzzy
msgid "Email"
msgstr "이메일 (*)"
@ -968,7 +968,7 @@ msgstr "HTTP 포트"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr ""
@ -1024,7 +1024,7 @@ msgstr "코어 업그레이더 초기화"
msgid "Input the code from the app:"
msgstr ""
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr ""
@ -1042,7 +1042,7 @@ msgstr "성공적으로 활성화됨"
msgid "Interval"
msgstr "간격"
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
#, fuzzy
msgid "Invalid"
msgstr "유효함"
@ -1061,7 +1061,7 @@ msgstr "Invalid E-mail!"
msgid "Invalid folder name"
msgstr ""
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1114,8 +1114,13 @@ msgstr "변경사항이 없으면 비워두세요"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "기본값을 사용하려면 비워 두세요: https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Leave blank for no change"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
#, fuzzy
msgid "Leave blank will not change anything"
msgstr "변경사항이 없으면 비워두세요"
@ -1134,7 +1139,7 @@ msgstr "라이센스"
msgid "Link Start"
msgstr "링크 시작"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr ""
@ -1158,15 +1163,15 @@ msgstr "성공적으로 저장됨"
msgid "Local"
msgstr "지역"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "위치"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "위치들"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
#, fuzzy
msgid "Log"
msgstr "로그인"
@ -1257,7 +1262,7 @@ msgid "Model"
msgstr "실행 모드"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
#, fuzzy
@ -1273,7 +1278,7 @@ msgstr "인증서 상태"
msgid "Modify Config"
msgstr "설정 수정"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "Modify Mode"
msgstr "설정 수정"
@ -1284,7 +1289,7 @@ msgid "Multi-line Directive"
msgstr "단일 지시문"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1379,7 +1384,7 @@ msgstr "Nginx가 성공적으로 재시작됨"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1443,7 +1448,7 @@ msgstr ""
msgid "Offline"
msgstr "오프라인"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr ""
@ -1483,7 +1488,7 @@ msgstr "온라인"
msgid "OpenAI"
msgstr "오픈AI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1536,8 +1541,8 @@ msgid "Password (*)"
msgstr "비밀번호 (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "경로"
@ -1559,7 +1564,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr ""
@ -1616,6 +1621,11 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr "아래의 시간 설정 단위는 모두 초 단위임을 유의해주세요."
#: src/views/environment/Environment.vue:47
#, fuzzy
msgid "Please select at least one node to upgrade"
msgstr "적어도 하나의 노드를 선택해주세요!"
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1652,6 +1662,11 @@ msgstr "프로젝트 팀"
msgid "Provider"
msgstr "제공자"
#: src/views/certificate/ACMEUser.vue:48
#, fuzzy
msgid "Proxy"
msgstr "API 프록시"
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1671,7 +1686,7 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "성공적으로 제거됨"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr ""
@ -1692,22 +1707,33 @@ msgstr ""
msgid "Regenerate response"
msgstr "응답 재생성"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
#, fuzzy
msgid "Register"
msgstr "사용자 등록 중"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
#, fuzzy
msgid "Register failed"
msgstr "사용자 등록 중"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "사용자 등록 중"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "성공적으로 갱신됨"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
#, fuzzy
msgid "Register successfully"
msgstr "성공적으로 갱신됨"
@ -1716,7 +1742,7 @@ msgstr "성공적으로 갱신됨"
msgid "Registering user"
msgstr "사용자 등록 중"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
#, fuzzy
msgid "Registration Status"
msgstr "사용자 등록 중"
@ -1851,7 +1877,7 @@ msgid "Running"
msgstr "실행 중"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -1983,21 +2009,21 @@ msgstr "사이트 로그"
msgid "Sites List"
msgstr "사이트 목록"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
#, fuzzy
msgid "SSL Certificate Content"
msgstr "인증서 상태"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr "SSL 인증서키 콘텐츠"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
#, fuzzy
msgid "SSL Certificate Key Path"
msgstr "SSL 인증서 키 경로"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
#, fuzzy
msgid "SSL Certificate Path"
msgstr "SSL 인증서 경로"
@ -2014,7 +2040,7 @@ msgstr "SSO 로그인"
msgid "Stable"
msgstr "활성화됨"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2110,7 +2136,7 @@ msgstr "인증서 갱신 오류"
msgid "Sync Config Success"
msgstr "인증서 갱신 성공"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr ""
@ -2149,11 +2175,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "파일 이름은 다음 문자를 포함할 수 없습니다: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr "입력이 SSL 인증서가 아닙니다"
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
#, fuzzy
msgid "The input is not a SSL Certificate Key"
msgstr "Certificate Status"
@ -2164,12 +2190,12 @@ msgid ""
"dashes, and dots."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
#, fuzzy
msgid "The path exists, but the file is not a certificate"
msgstr "Certificate Status"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr "경로는 존재하지만 파일은 개인 키가 아닙니다"
@ -2224,9 +2250,9 @@ msgstr "이 자동 인증 항목이 유효하지 않습니다. 제거해주세
msgid "This certificate is managed by Nginx UI"
msgstr "이 인증서는 Nginx UI에서 관리됩니다"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr "이 필드는 필수입니다"
@ -2291,11 +2317,11 @@ msgid ""
"password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr ""
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr ""
@ -2310,7 +2336,7 @@ msgstr "유형"
msgid "Update successfully"
msgstr "성공적으로 저장되었습니다"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2325,7 +2351,7 @@ msgstr "업데이트됨"
msgid "Updated successfully"
msgstr "성공적으로 저장되었습니다"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "업그레이드"
@ -2356,11 +2382,11 @@ msgstr "가동 시간:"
msgid "URL"
msgstr "URL"
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr ""
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr ""
@ -2381,7 +2407,7 @@ msgstr "사용자 이름"
msgid "Username (*)"
msgstr "사용자 이름 (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2402,12 +2428,12 @@ msgstr "보기"
msgid "View all notifications"
msgstr "Certificate is valid"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#, fuzzy
msgid "View Details"
msgstr "세부 사항"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "View Mode"
msgstr "기본 모드"
@ -2435,6 +2461,13 @@ msgstr ""
"이 파일에서 HTTPChallenge 구성을 제거하고 Nginx를 다시 로드할 예정입니다. 계"
"속하시겠습니까?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2449,7 +2482,7 @@ msgid "Writing certificate to disk"
msgstr "인증서를 디스크에 쓰기"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2527,10 +2560,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "활성화됨"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Leave blank for no change"
#, fuzzy
#~ msgid "Config Name"
#~ msgstr "Configuration Name"

View file

@ -20,12 +20,12 @@ msgid "Access Logs"
msgstr ""
#: src/routes/index.ts:142
#: src/views/certificate/ACMEUser.vue:76
#: src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr ""
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38
@ -38,8 +38,8 @@ msgstr ""
msgid "Action"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -63,8 +63,8 @@ msgstr ""
msgid "Add Directive Below"
msgstr ""
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr ""
@ -156,7 +156,7 @@ msgstr ""
msgid "Are you sure you want to remove this item?"
msgstr ""
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr ""
@ -176,7 +176,7 @@ msgstr ""
msgid "Auth"
msgstr ""
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -201,7 +201,7 @@ msgstr ""
msgid "Auto-renewal enabled for %{name}"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213
#: src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181
@ -215,7 +215,7 @@ msgstr ""
msgid "Back Home"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr ""
@ -260,7 +260,7 @@ msgstr ""
msgid "Build with"
msgstr ""
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr ""
@ -274,7 +274,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -356,8 +356,8 @@ msgid "Command"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr ""
@ -391,8 +391,8 @@ msgid "Connection lost, please refresh the page."
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr ""
@ -724,7 +724,7 @@ msgstr ""
msgid "Edit Stream"
msgstr ""
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
msgid "Email"
msgstr ""
@ -964,7 +964,7 @@ msgstr ""
msgid "HTTP01"
msgstr ""
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr ""
@ -1014,7 +1014,7 @@ msgstr ""
msgid "Input the code from the app:"
msgstr ""
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr ""
@ -1032,7 +1032,7 @@ msgstr ""
msgid "Interval"
msgstr ""
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr ""
@ -1049,7 +1049,7 @@ msgstr ""
msgid "Invalid folder name"
msgstr ""
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1098,8 +1098,12 @@ msgstr ""
msgid "Leave blank for the default: https://api.openai.com/"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
msgid "Leave blank if you don't need this."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
msgid "Leave blank will not change anything"
msgstr ""
@ -1116,7 +1120,7 @@ msgstr ""
msgid "Link Start"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr ""
@ -1137,15 +1141,15 @@ msgstr ""
msgid "Local"
msgstr ""
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr ""
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
msgid "Log"
msgstr ""
@ -1223,7 +1227,7 @@ msgid "Model"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1238,7 +1242,7 @@ msgstr ""
msgid "Modify Config"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "Modify Mode"
msgstr ""
@ -1247,7 +1251,7 @@ msgid "Multi-line Directive"
msgstr ""
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65
@ -1341,7 +1345,7 @@ msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1401,7 +1405,7 @@ msgstr ""
msgid "Offline"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr ""
@ -1441,7 +1445,7 @@ msgstr ""
msgid "OpenAI"
msgstr ""
#: src/components/2FA/Authorization.vue:117
#: src/components/TwoFA/Authorization.vue:117
#: src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1492,8 +1496,8 @@ msgid "Password (*)"
msgstr ""
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr ""
@ -1513,7 +1517,7 @@ msgstr ""
msgid "Please enter a name for the passkey you wish to create and click the OK button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr ""
@ -1561,6 +1565,10 @@ msgstr ""
msgid "Please note that the unit of time configurations below are all in seconds."
msgstr ""
#: src/views/environment/Environment.vue:47
msgid "Please select at least one node to upgrade"
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1598,6 +1606,10 @@ msgstr ""
msgid "Provider"
msgstr ""
#: src/views/certificate/ACMEUser.vue:48
msgid "Proxy"
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1616,7 +1628,7 @@ msgstr ""
msgid "Recovered Successfully"
msgstr ""
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr ""
@ -1637,19 +1649,27 @@ msgstr ""
msgid "Regenerate response"
msgstr ""
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr ""
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid "Register a user or use this account to issue a certificate through an HTTP proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
msgid "Register failed"
msgstr ""
#: src/views/certificate/ACMEUser.vue:72
msgid "Register On Startup"
msgstr ""
#: src/views/preference/components/AddPasskey.vue:26
msgid "Register passkey successfully"
msgstr ""
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
msgid "Register successfully"
msgstr ""
@ -1657,7 +1677,7 @@ msgstr ""
msgid "Registering user"
msgstr ""
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr ""
@ -1772,7 +1792,7 @@ msgid "Running"
msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222
#: src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
@ -1907,19 +1927,19 @@ msgstr ""
msgid "Sites List"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr ""
@ -1934,7 +1954,7 @@ msgstr ""
msgid "Stable"
msgstr ""
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22
#: src/views/environment/envColumns.tsx:78
@ -2017,7 +2037,7 @@ msgstr ""
msgid "Sync Config Success"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr ""
@ -2051,11 +2071,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr ""
@ -2063,11 +2083,11 @@ msgstr ""
msgid "The model name should only contain letters, unicode, numbers, hyphens, dashes, and dots."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr ""
@ -2109,9 +2129,9 @@ msgstr ""
msgid "This certificate is managed by Nginx UI"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr ""
@ -2161,11 +2181,11 @@ msgstr ""
msgid "TOTP is a two-factor authentication method that uses a time-based one-time password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr ""
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr ""
@ -2179,7 +2199,7 @@ msgstr ""
msgid "Update successfully"
msgstr ""
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31
#: src/views/config/ConfigEditor.vue:275
@ -2197,7 +2217,7 @@ msgid "Updated successfully"
msgstr ""
#: src/routes/index.ts:284
#: src/views/environment/Environment.vue:50
#: src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145
#: src/views/system/Upgrade.vue:228
msgid "Upgrade"
@ -2228,11 +2248,11 @@ msgstr ""
msgid "URL"
msgstr ""
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr ""
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr ""
@ -2253,7 +2273,7 @@ msgstr ""
msgid "Username (*)"
msgstr ""
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2272,11 +2292,11 @@ msgstr ""
msgid "View all notifications"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "View Mode"
msgstr ""
@ -2296,6 +2316,10 @@ 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/certificate/ACMEUser.vue:78
msgid "When Enabled, Nginx UI will automatically re-register users upon startup. Generally, do not enable this unless you are in a dev environment and using Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2310,7 +2334,7 @@ msgid "Writing certificate to disk"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"

View file

@ -30,12 +30,12 @@ msgstr "О проекте"
msgid "Access Logs"
msgstr "Журнал доступа"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr "Пользователь ACME"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -46,8 +46,8 @@ msgstr "Пользователь ACME"
msgid "Action"
msgstr "Действие"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -70,8 +70,8 @@ msgstr "Добавить конфигурацию"
msgid "Add Directive Below"
msgstr "Добавить директиву ниже"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "Добавить Location"
@ -162,7 +162,7 @@ msgstr "Вы уверены, что хотите удалить эту дире
msgid "Are you sure you want to remove this item?"
msgstr "Вы уверены, что хотите удалить этот элемент?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
#, fuzzy
msgid "Are you sure you want to remove this location?"
msgstr "Вы уверены, что хотите удалить эту директиву?"
@ -183,7 +183,7 @@ msgstr "Попытки"
msgid "Auth"
msgstr "Авторизация"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -208,7 +208,7 @@ msgstr "Автообновление отключено для %{name}"
msgid "Auto-renewal enabled for %{name}"
msgstr "Автообновление включено для %{name}"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -219,7 +219,7 @@ msgstr "Назад"
msgid "Back Home"
msgstr "Вернуться на главную"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr "Возврат к списку"
@ -264,7 +264,7 @@ msgstr "Пакетное обновление"
msgid "Build with"
msgstr "Собрать с"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr "Директория корневого сертификата"
@ -278,7 +278,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -359,8 +359,8 @@ msgid "Command"
msgstr "Команда"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "Комментарии"
@ -394,8 +394,8 @@ msgid "Connection lost, please refresh the page."
msgstr "Соединение потеряно, пожалуйста, обновите страницу."
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "Содержание"
@ -727,7 +727,7 @@ msgstr "Редактировать Сайт"
msgid "Edit Stream"
msgstr "Редактировать поток"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
msgid "Email"
msgstr "Электронная почта"
@ -961,7 +961,7 @@ msgstr "Порт HTTP"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr "Если оставить пустым, будет использоваться каталог CA по умолчанию."
@ -1022,7 +1022,7 @@ msgstr "Инициализация программы обновления яд
msgid "Input the code from the app:"
msgstr "Введите код из приложения:"
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr "Введите код восстановления:"
@ -1039,7 +1039,7 @@ msgstr "Установка прошла успешно"
msgid "Interval"
msgstr "Интервал"
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr "Недействительно"
@ -1056,7 +1056,7 @@ msgstr "Неверное имя файла"
msgid "Invalid folder name"
msgstr "Недопустимое имя папки"
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr "Неверный пароль или код восстановления"
@ -1106,8 +1106,13 @@ msgstr "Оставьте пустым без изменений"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Оставьте пустым для значения по умолчанию: https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Оставьте пустым без изменений"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
msgid "Leave blank will not change anything"
msgstr "Если оставить пустым, ничего не изменится"
@ -1124,7 +1129,7 @@ msgstr "Лицензия"
msgid "Link Start"
msgstr "Начало ссылки"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr "Список"
@ -1145,15 +1150,15 @@ msgstr "Загружено успешно"
msgid "Local"
msgstr "Локальный"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
msgid "Log"
msgstr "Журнал"
@ -1240,7 +1245,7 @@ msgid "Model"
msgstr "Модель"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1254,7 +1259,7 @@ msgstr "Изменить сертификат"
msgid "Modify Config"
msgstr "Изменить конфигурацию"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "Modify Mode"
msgstr "Изменить режим"
@ -1263,7 +1268,7 @@ msgid "Multi-line Directive"
msgstr "Многострочная директива"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1353,7 +1358,7 @@ msgstr "Nginx успешно перезапущен"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1416,7 +1421,7 @@ msgstr ""
msgid "Offline"
msgstr "Оффлайн"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr "Ок"
@ -1456,7 +1461,7 @@ msgstr "Онлайн"
msgid "OpenAI"
msgstr "OpenAI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1508,8 +1513,8 @@ msgid "Password (*)"
msgstr "Пароль (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "Путь"
@ -1531,7 +1536,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
#, fuzzy
msgid "Please enter the OTP code:"
msgstr "Пожалуйста, введите код 2FA:"
@ -1594,6 +1599,11 @@ msgstr ""
"Обратите внимание, что единица измерения времени в конфигурациях ниже "
"указана в секундах."
#: src/views/environment/Environment.vue:47
#, fuzzy
msgid "Please select at least one node to upgrade"
msgstr "Пожалуйста, выберите хотя бы один узел!"
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1629,6 +1639,10 @@ msgstr "Команда проекта"
msgid "Provider"
msgstr "Провайдер"
#: src/views/certificate/ACMEUser.vue:48
msgid "Proxy"
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1647,7 +1661,7 @@ msgstr "Восстановить"
msgid "Recovered Successfully"
msgstr "Восстановлено успешно"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr "Восстановление"
@ -1668,20 +1682,31 @@ msgstr "Рекурсивные DNS"
msgid "Regenerate response"
msgstr "Восстановить ответ"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr "Регистрация"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
msgid "Register failed"
msgstr "Регистрация не удалась"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "Статус регистрации"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "Зарегистрировано успешно"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
msgid "Register successfully"
msgstr "Зарегистрировано успешно"
@ -1689,7 +1714,7 @@ msgstr "Зарегистрировано успешно"
msgid "Registering user"
msgstr "Регистрация пользователя"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr "Статус регистрации"
@ -1811,7 +1836,7 @@ msgid "Running"
msgstr "Выполняется"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -1944,19 +1969,19 @@ msgstr "Журналы сайта"
msgid "Sites List"
msgstr "Список сайтов"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr "Содержимое SSL-сертификата"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr "Содержимое ключа SSL-сертификата"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr "Путь к ключу SSL-сертификата"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr "Путь к SSL сертификату"
@ -1970,7 +1995,7 @@ msgstr "SSO Вход"
msgid "Stable"
msgstr "Стабильный"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2064,7 +2089,7 @@ msgstr "Ошибка синхронизации конфигурации"
msgid "Sync Config Success"
msgstr "Синхронизация конфигурации успешна"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr "Синхронизировать с"
@ -2103,11 +2128,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "The filename cannot contain the following characters: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr "Входные данные не являются SSL-сертификатом"
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr "Введенные данные не являются ключом SSL сертификата"
@ -2119,11 +2144,11 @@ msgstr ""
"Имя модели должно содержать только буквы, юникод, цифры, дефисы, тире и "
"точки."
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr "Путь существует, но файл не является сертификатом"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr "Путь существует, но файл не является приватным ключом"
@ -2182,9 +2207,9 @@ msgstr "Этот элемент автосертификата недейств
msgid "This certificate is managed by Nginx UI"
msgstr "Этот сертификат находится под управлением Nginx UI"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr "Это поле обязательно для заполнения"
@ -2256,11 +2281,11 @@ msgstr ""
"TOTP — это метод двухфакторной аутентификации, который использует алгоритм "
"одноразового пароля на основе времени."
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr "Корзина"
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr "Требуется двухфакторная аутентификация"
@ -2275,7 +2300,7 @@ msgstr "Тип"
msgid "Update successfully"
msgstr "Успешно обновлено"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2289,7 +2314,7 @@ msgstr "Обновлено в"
msgid "Updated successfully"
msgstr "Успешно обновлено"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "Обновление"
@ -2318,11 +2343,11 @@ msgstr "Аптайм:"
msgid "URL"
msgstr "URL"
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr "Использовать OTP"
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr "Использовать код восстановления"
@ -2342,7 +2367,7 @@ msgstr "Имя пользователя"
msgid "Username (*)"
msgstr "Имя пользователя (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2361,11 +2386,11 @@ msgstr "Просмотр"
msgid "View all notifications"
msgstr "Просмотреть все уведомления"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr "Подробно"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "View Mode"
msgstr "Простой режим"
@ -2393,6 +2418,13 @@ msgstr ""
"Мы удалим конфигурацию HTTPChallenge из этого файла и перезагрузим Nginx. Вы "
"уверены, что хотите продолжить?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2407,7 +2439,7 @@ msgid "Writing certificate to disk"
msgstr "Запись сертификата на диск"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2465,10 +2497,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "Таблица"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Оставьте пустым без изменений"
#, fuzzy
#~ msgid "Auto Cert is enabled"
#~ msgstr "Авто Сертификат"

View file

@ -25,13 +25,13 @@ msgstr "Tác giả"
msgid "Access Logs"
msgstr "Log truy cập"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
#, fuzzy
msgid "ACME User"
msgstr "Người dùng"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -42,8 +42,8 @@ msgstr "Người dùng"
msgid "Action"
msgstr "Hành động"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -67,8 +67,8 @@ msgstr "Sửa cấu hình"
msgid "Add Directive Below"
msgstr "Thêm Directive"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "Thêm Location"
@ -169,7 +169,7 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?"
msgid "Are you sure you want to remove this item?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
#, fuzzy
msgid "Are you sure you want to remove this location?"
msgstr "Bạn chắc chắn muốn xoá location này ?"
@ -191,7 +191,7 @@ msgstr ""
msgid "Auth"
msgstr "Tác giả"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -216,7 +216,7 @@ msgstr "Đã tắt tự động gia hạn SSL cho %{name}"
msgid "Auto-renewal enabled for %{name}"
msgstr "Đã bật tự động gia hạn SSL cho %{name}"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -228,7 +228,7 @@ msgstr "Quay lại"
msgid "Back Home"
msgstr "Quay lại"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr ""
@ -275,7 +275,7 @@ msgstr "Cập nhật"
msgid "Build with"
msgstr "Xây dựng với"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr ""
@ -289,7 +289,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -379,8 +379,8 @@ msgid "Command"
msgstr "Bình luận"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "Bình luận"
@ -415,8 +415,8 @@ msgid "Connection lost, please refresh the page."
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "Nội dung"
@ -765,7 +765,7 @@ msgstr "Sửa trang web"
msgid "Edit Stream"
msgstr "Sửa trang web"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
#, fuzzy
msgid "Email"
msgstr "Email (*)"
@ -1013,7 +1013,7 @@ msgstr ""
msgid "HTTP01"
msgstr ""
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr ""
@ -1070,7 +1070,7 @@ msgstr "Đang khởi tạo trình nâng cấp"
msgid "Input the code from the app:"
msgstr ""
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr ""
@ -1088,7 +1088,7 @@ msgstr "Cài đặt thành công"
msgid "Interval"
msgstr ""
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
#, fuzzy
msgid "Invalid"
msgstr "Hợp lệ"
@ -1107,7 +1107,7 @@ msgstr "E-mail không chính xác!"
msgid "Invalid folder name"
msgstr ""
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1161,8 +1161,13 @@ msgstr "Bỏ trống nếu không thay đổi"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "Bỏ trống để sử dụng địa chỉ mặc định: https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "Bỏ trống nếu không thay đổi"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
#, fuzzy
msgid "Leave blank will not change anything"
msgstr "Bỏ trống nếu không thay đổi"
@ -1181,7 +1186,7 @@ msgstr "Giấy phép"
msgid "Link Start"
msgstr "Liên kết bắt đầu"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr ""
@ -1205,15 +1210,15 @@ msgstr "Lưu thành công"
msgid "Local"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
#, fuzzy
msgid "Log"
msgstr "Log"
@ -1298,7 +1303,7 @@ msgid "Model"
msgstr "Run Mode"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
#, fuzzy
@ -1314,7 +1319,7 @@ msgstr "Sửa chứng chỉ"
msgid "Modify Config"
msgstr "Sửa cấu hình"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "Modify Mode"
msgstr "Sửa"
@ -1325,7 +1330,7 @@ msgid "Multi-line Directive"
msgstr "Single Directive"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1420,7 +1425,7 @@ msgstr "Restart Nginx thành công"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1484,7 +1489,7 @@ msgstr ""
msgid "Offline"
msgstr "Ngoại tuyến"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr ""
@ -1524,7 +1529,7 @@ msgstr "Trực tuyến"
msgid "OpenAI"
msgstr ""
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1577,8 +1582,8 @@ msgid "Password (*)"
msgstr "Mật khẩu (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "Đường dẫn"
@ -1600,7 +1605,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr ""
@ -1659,6 +1664,10 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr "Lưu ý đơn vị cấu hình thời gian bên dưới được tính bằng giây."
#: src/views/environment/Environment.vue:47
msgid "Please select at least one node to upgrade"
msgstr ""
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1695,6 +1704,10 @@ msgstr "Đội ngũ phát triển"
msgid "Provider"
msgstr "Nhà cung cấp"
#: src/views/certificate/ACMEUser.vue:48
msgid "Proxy"
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1714,7 +1727,7 @@ msgstr ""
msgid "Recovered Successfully"
msgstr "Xoá thành công"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr ""
@ -1735,22 +1748,33 @@ msgstr ""
msgid "Regenerate response"
msgstr "Tạo lại câu trả lời"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
#, fuzzy
msgid "Register"
msgstr "Đăng ký người dùng"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
#, fuzzy
msgid "Register failed"
msgstr "Đăng ký người dùng"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "Đăng ký người dùng"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "Gia hạn chứng chỉ SSL"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
#, fuzzy
msgid "Register successfully"
msgstr "Gia hạn chứng chỉ SSL"
@ -1759,7 +1783,7 @@ msgstr "Gia hạn chứng chỉ SSL"
msgid "Registering user"
msgstr "Đăng ký người dùng"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
#, fuzzy
msgid "Registration Status"
msgstr "Đăng ký người dùng"
@ -1894,7 +1918,7 @@ msgid "Running"
msgstr "Running"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -2027,19 +2051,19 @@ msgstr "Logs"
msgid "Sites List"
msgstr "Danh sách Website"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr ""
@ -2054,7 +2078,7 @@ msgstr ""
msgid "Stable"
msgstr "Ổn định"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2150,7 +2174,7 @@ msgstr "Gia hạn chứng chỉ SSL thất bại"
msgid "Sync Config Success"
msgstr "Gia hạn chứng chỉ SSL thành công"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr ""
@ -2189,11 +2213,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "Tên tệp không thể chứa các ký tự sau: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr ""
@ -2203,11 +2227,11 @@ msgid ""
"dashes, and dots."
msgstr ""
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr ""
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr ""
@ -2259,9 +2283,9 @@ msgstr "Mục Chứng chỉ tự động này không hợp lệ, vui lòng xóa
msgid "This certificate is managed by Nginx UI"
msgstr "Chứng chỉ này được quản lý bởi Nginx UI"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr ""
@ -2327,11 +2351,11 @@ msgid ""
"password algorithm."
msgstr ""
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr ""
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr ""
@ -2346,7 +2370,7 @@ msgstr "Loại"
msgid "Update successfully"
msgstr "Cập nhật thành công"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2361,7 +2385,7 @@ msgstr "Ngày cập nhật"
msgid "Updated successfully"
msgstr "Cập nhật thành công"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "Cập nhật"
@ -2392,11 +2416,11 @@ msgstr "Thời gian hoạt động:"
msgid "URL"
msgstr ""
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr ""
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr ""
@ -2417,7 +2441,7 @@ msgstr "Username"
msgid "Username (*)"
msgstr "Username (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2438,12 +2462,12 @@ msgstr "Xem"
msgid "View all notifications"
msgstr "Xem tất cả thông báo"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#, fuzzy
msgid "View Details"
msgstr "Chi tiết"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
#, fuzzy
msgid "View Mode"
msgstr "Cơ bản"
@ -2471,6 +2495,13 @@ msgstr ""
"Chúng tôi sẽ xóa cấu hình HTTPChallenge khỏi tệp này và tải lại Nginx. Bạn "
"có muốn tiếp tục không?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2485,7 +2516,7 @@ msgid "Writing certificate to disk"
msgstr "Ghi chứng chỉ vào disk"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2541,10 +2572,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "Mục lục"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "Bỏ trống nếu không thay đổi"
#, fuzzy
#~ msgid "Config Name"
#~ msgstr "Tên cấu hình"

Binary file not shown.

View file

@ -29,12 +29,12 @@ msgstr "关于"
msgid "Access Logs"
msgstr "访问日志"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr "ACME 用户"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -45,8 +45,8 @@ msgstr "ACME 用户"
msgid "Action"
msgstr "操作"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -69,8 +69,8 @@ msgstr "添加配置"
msgid "Add Directive Below"
msgstr "在下面添加指令"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "添加 Location"
@ -159,7 +159,7 @@ msgstr "您确定要删除这条指令?"
msgid "Are you sure you want to remove this item?"
msgstr "您确定要删除这个项目吗?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr "您确定要删除这个 Location"
@ -179,7 +179,7 @@ msgstr "尝试次数"
msgid "Auth"
msgstr "认证"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr "通过 Passkey 认证"
@ -204,7 +204,7 @@ msgstr "成功关闭 %{name} 自动续签"
msgid "Auto-renewal enabled for %{name}"
msgstr "成功启用 %{name} 自动续签"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -215,7 +215,7 @@ msgstr "返回"
msgid "Back Home"
msgstr "返回首页"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr "返回列表"
@ -259,7 +259,7 @@ msgstr "批量升级"
msgid "Build with"
msgstr "构建基于"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr "CA Dir"
@ -273,7 +273,7 @@ msgstr "无法扫描?使用文本密钥绑定"
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -352,8 +352,8 @@ msgid "Command"
msgstr "命令"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "注释"
@ -387,8 +387,8 @@ msgid "Connection lost, please refresh the page."
msgstr "连接中断,请刷新页面。"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "内容"
@ -714,7 +714,7 @@ msgstr "编辑站点"
msgid "Edit Stream"
msgstr "编辑 Stream"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
msgid "Email"
msgstr "邮箱"
@ -947,7 +947,7 @@ msgstr "HTTP 监听端口"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr "如果留空,则使用默认 CA Dir。"
@ -1003,7 +1003,7 @@ msgstr "初始化核心升级器"
msgid "Input the code from the app:"
msgstr "输入应用程序中的代码:"
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr "输入恢复代码:"
@ -1020,7 +1020,7 @@ msgstr "安装成功"
msgid "Interval"
msgstr "间隔"
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr "无效的"
@ -1037,7 +1037,7 @@ msgstr "文件名无效"
msgid "Invalid folder name"
msgstr "无效文件夹名"
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr "二次验证码或恢复代码无效"
@ -1086,8 +1086,12 @@ msgstr "留空表示不修改"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "留空为默认https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
msgid "Leave blank if you don't need this."
msgstr "如果不需要,请留空。"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
msgid "Leave blank will not change anything"
msgstr "留空不做任何更改"
@ -1104,7 +1108,7 @@ msgstr "开源许可"
msgid "Link Start"
msgstr "链接"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr "列表"
@ -1125,15 +1129,15 @@ msgstr "加载成功"
msgid "Local"
msgstr "本地"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
msgid "Log"
msgstr "日志"
@ -1218,7 +1222,7 @@ msgid "Model"
msgstr "模型"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1232,7 +1236,7 @@ msgstr "修改证书"
msgid "Modify Config"
msgstr "修改配置文件"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "Modify Mode"
msgstr "修改模式"
@ -1241,7 +1245,7 @@ msgid "Multi-line Directive"
msgstr "多行指令"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1331,7 +1335,7 @@ msgstr "Nginx 重启成功"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1392,7 +1396,7 @@ msgstr "某些用户在使用 Firefox 首次访问时OCSP Must Staple 可能
msgid "Offline"
msgstr "离线"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr "确定"
@ -1432,7 +1436,7 @@ msgstr "在线"
msgid "OpenAI"
msgstr "OpenAI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr "或"
@ -1486,8 +1490,8 @@ msgid "Password (*)"
msgstr "密码 (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "路径"
@ -1509,7 +1513,7 @@ msgid ""
"button below."
msgstr "请为您要创建的 Passkey 输入一个名称,然后单击下面的 \"确定 \"按钮。"
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
msgid "Please enter the OTP code:"
msgstr "请输入 OTP"
@ -1564,6 +1568,10 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr "请注意,下面的时间单位配置均以秒为单位。"
#: src/views/environment/Environment.vue:47
msgid "Please select at least one node to upgrade"
msgstr "请至少选择一个节点进行升级"
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1599,6 +1607,10 @@ msgstr "项目团队"
msgid "Provider"
msgstr "提供商"
#: src/views/certificate/ACMEUser.vue:48
msgid "Proxy"
msgstr "代理"
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1617,7 +1629,7 @@ msgstr "恢复"
msgid "Recovered Successfully"
msgstr "恢复成功"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr "恢复"
@ -1638,19 +1650,29 @@ msgstr "递归域名服务器"
msgid "Regenerate response"
msgstr "重新生成响应"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr "注册"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr "注册用户或使用此账户申请证书时通过 HTTP 代理。"
#: src/views/certificate/ACMEUser.vue:98
msgid "Register failed"
msgstr "注册失败"
#: src/views/certificate/ACMEUser.vue:72
msgid "Register On Startup"
msgstr "启动时注册"
#: src/views/preference/components/AddPasskey.vue:26
msgid "Register passkey successfully"
msgstr "Passkey 注册成功"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
msgid "Register successfully"
msgstr "注册成功"
@ -1658,7 +1680,7 @@ msgstr "注册成功"
msgid "Registering user"
msgstr "正在注册用户"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr "注册状态"
@ -1779,7 +1801,7 @@ msgid "Running"
msgstr "运行中"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -1908,19 +1930,19 @@ msgstr "站点列表"
msgid "Sites List"
msgstr "站点列表"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr "SSL 证书内容"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr "SSL 证书密钥内容"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr "SSL证书密钥路径"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr "SSL证书路径"
@ -1934,7 +1956,7 @@ msgstr "SSO 登录"
msgid "Stable"
msgstr "稳定"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2022,7 +2044,7 @@ msgstr "同步配置错误"
msgid "Sync Config Success"
msgstr "同步配置成功"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr "同步到"
@ -2060,11 +2082,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "文件名不能包含以下字符: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr "输入的内容不是 SSL 证书"
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr "输入的内容不是 SSL 证书密钥"
@ -2074,11 +2096,11 @@ msgid ""
"dashes, and dots."
msgstr "模型只能包含字母、Unicode、数字、连词符、破折号和点。"
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr "路径存在,但文件不是证书"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr "路径存在,但文件不是私钥"
@ -2130,9 +2152,9 @@ msgstr "这个证书自动续期项目是无效的,请删除。"
msgid "This certificate is managed by Nginx UI"
msgstr "该证书由 Nginx UI 托管"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr "此字段必填"
@ -2199,11 +2221,11 @@ msgid ""
"password algorithm."
msgstr "TOTP 是一种使用基于时间的一次性密码算法的双因素身份验证方法。"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr "回收站"
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr "需要两步验证"
@ -2217,7 +2239,7 @@ msgstr "类型"
msgid "Update successfully"
msgstr "更新成功"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2231,7 +2253,7 @@ msgstr "修改时间"
msgid "Updated successfully"
msgstr "更新成功"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "升级"
@ -2260,11 +2282,11 @@ msgstr "运行时间:"
msgid "URL"
msgstr "URL"
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr "使用二步验证码"
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr "使用恢复代码"
@ -2284,7 +2306,7 @@ msgstr "用户名"
msgid "Username (*)"
msgstr "用户名 (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2303,11 +2325,11 @@ msgstr "查看"
msgid "View all notifications"
msgstr "查看全部通知"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr "查看详情"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "View Mode"
msgstr "预览模式"
@ -2331,6 +2353,15 @@ msgid ""
msgstr ""
"我们将从这个文件中删除HTTPChallenge的配置并重新加载Nginx。你确定要继续吗"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
"启用后Nginx UI 将在启动时自动重新注册用户。一般情况下,除非在开发环境中使"
"用 Pebble 作为 CA否则不要启用此功能。"
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2345,7 +2376,7 @@ msgid "Writing certificate to disk"
msgstr "正在将证书写入磁盘"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2430,9 +2461,6 @@ msgstr "你的 Passkeys"
#~ msgid "Rename Upstream"
#~ msgstr "重新命名 Upstream"
#~ msgid "Leave blank will not change anything."
#~ msgstr "留空不会有任何变化。"
#~ msgid "Auto Cert is enabled"
#~ msgstr "自动更新已启用"

View file

@ -33,12 +33,12 @@ msgstr "關於"
msgid "Access Logs"
msgstr "存取日誌"
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:76
#: src/routes/index.ts:142 src/views/certificate/ACMEUser.vue:105
#: src/views/certificate/ACMEUserSelector.vue:85
msgid "ACME User"
msgstr "ACME 用戶"
#: src/views/certificate/ACMEUser.vue:59
#: src/views/certificate/ACMEUser.vue:88
#: src/views/certificate/CertificateList/certColumns.tsx:89
#: src/views/certificate/DNSCredential.vue:33
#: src/views/config/configColumns.ts:38 src/views/domain/DomainList.vue:47
@ -49,8 +49,8 @@ msgstr "ACME 用戶"
msgid "Action"
msgstr "操作"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:203
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:204
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:162
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
@ -73,8 +73,8 @@ msgstr "添加配置"
msgid "Add Directive Below"
msgstr "在下方新增指令"
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:138
#: src/views/domain/ngx_conf/LocationEditor.vue:132
#: src/views/domain/ngx_conf/LocationEditor.vue:159
msgid "Add Location"
msgstr "新增 Location"
@ -164,7 +164,7 @@ msgstr "您確定要刪除這條指令嗎?"
msgid "Are you sure you want to remove this item?"
msgstr "您確定要刪除此項目嗎?"
#: src/views/domain/ngx_conf/LocationEditor.vue:68
#: src/views/domain/ngx_conf/LocationEditor.vue:88
msgid "Are you sure you want to remove this location?"
msgstr "您確定要刪除此 Location 嗎?"
@ -184,7 +184,7 @@ msgstr "嘗試次數"
msgid "Auth"
msgstr "身份驗證"
#: src/components/2FA/Authorization.vue:126
#: src/components/TwoFA/Authorization.vue:126
msgid "Authenticate with a passkey"
msgstr ""
@ -209,7 +209,7 @@ msgstr "已關閉 %{name} 的自動續簽"
msgid "Auto-renewal enabled for %{name}"
msgstr "已啟用 %{name} 的自動續簽"
#: src/views/certificate/CertificateEditor.vue:247
#: src/views/certificate/CertificateEditor.vue:249
#: src/views/config/ConfigEditor.vue:213 src/views/config/ConfigList.vue:107
#: src/views/config/ConfigList.vue:181 src/views/domain/DomainEdit.vue:253
#: src/views/nginx_log/NginxLog.vue:168 src/views/stream/StreamEdit.vue:245
@ -220,7 +220,7 @@ msgstr "返回"
msgid "Back Home"
msgstr "返回首頁"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:216
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:217
msgid "Back to list"
msgstr "返回列表"
@ -264,7 +264,7 @@ msgstr "批次升級"
msgid "Build with"
msgstr "構建基於"
#: src/views/certificate/ACMEUser.vue:29
#: src/views/certificate/ACMEUser.vue:35
msgid "CA Dir"
msgstr "CA Dir"
@ -278,7 +278,7 @@ msgstr ""
#: src/components/ChatGPT/ChatGPT.vue:252
#: src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue:55
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:253
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:153
#: src/views/domain/cert/components/ObtainCert.vue:137
#: src/views/domain/components/Deploy.vue:21
@ -357,8 +357,8 @@ msgid "Command"
msgstr "命令"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:106
#: src/views/domain/ngx_conf/LocationEditor.vue:115
#: src/views/domain/ngx_conf/LocationEditor.vue:84
#: src/views/domain/ngx_conf/LocationEditor.vue:105
#: src/views/domain/ngx_conf/LocationEditor.vue:136
#: src/views/domain/ngx_conf/NgxServer.vue:134
msgid "Comments"
msgstr "備註"
@ -392,8 +392,8 @@ msgid "Connection lost, please refresh the page."
msgstr "連接丟失,請重新整理。"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:124
#: src/views/domain/ngx_conf/LocationEditor.vue:96
#: src/views/domain/ngx_conf/LocationEditor.vue:117
#: src/views/domain/ngx_conf/LocationEditor.vue:145
msgid "Content"
msgstr "內容"
@ -719,7 +719,7 @@ msgstr "編輯網站"
msgid "Edit Stream"
msgstr "編輯 Stream"
#: src/views/certificate/ACMEUser.vue:21
#: src/views/certificate/ACMEUser.vue:24
msgid "Email"
msgstr "電子郵件"
@ -953,7 +953,7 @@ msgstr "HTTP 監聽埠"
msgid "HTTP01"
msgstr "HTTP01"
#: src/views/certificate/ACMEUser.vue:37
#: src/views/certificate/ACMEUser.vue:43
msgid "If left blank, the default CA Dir will be used."
msgstr "如果留空,將使用默認的 CA Dir。"
@ -1009,7 +1009,7 @@ msgstr "正在初始化核心升級程式"
msgid "Input the code from the app:"
msgstr "請輸入應用程式中的代碼:"
#: src/components/2FA/Authorization.vue:87
#: src/components/TwoFA/Authorization.vue:87
#: src/views/preference/components/TOTP.vue:171
msgid "Input the recovery code:"
msgstr "輸入恢復碼:"
@ -1026,7 +1026,7 @@ msgstr "安裝成功"
msgid "Interval"
msgstr "間隔"
#: src/views/certificate/ACMEUser.vue:92
#: src/views/certificate/ACMEUser.vue:121
msgid "Invalid"
msgstr "無效"
@ -1043,7 +1043,7 @@ msgstr "無效的檔案名"
msgid "Invalid folder name"
msgstr "無效的資料夾名稱"
#: src/components/2FA/use2FAModal.ts:65
#: src/components/TwoFA/use2FAModal.ts:65
msgid "Invalid passcode or recovery code"
msgstr "無效的密碼或恢復碼"
@ -1093,8 +1093,13 @@ msgstr "留空表示不修改"
msgid "Leave blank for the default: https://api.openai.com/"
msgstr "預設留空https://api.openai.com/"
#: src/views/certificate/CertificateEditor.vue:212
#: src/views/certificate/CertificateEditor.vue:225
#: src/views/certificate/ACMEUser.vue:56
#, fuzzy
msgid "Leave blank if you don't need this."
msgstr "留空表示不修改"
#: src/views/certificate/CertificateEditor.vue:214
#: src/views/certificate/CertificateEditor.vue:227
msgid "Leave blank will not change anything"
msgstr "留空將不會改變任何內容"
@ -1111,7 +1116,7 @@ msgstr "開源授權"
msgid "Link Start"
msgstr "連結開始"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:193
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:194
msgid "List"
msgstr "列表"
@ -1132,15 +1137,15 @@ msgstr "加載成功"
msgid "Local"
msgstr "本機"
#: src/views/domain/ngx_conf/LocationEditor.vue:59
#: src/views/domain/ngx_conf/LocationEditor.vue:69
msgid "Location"
msgstr "Location"
#: src/views/domain/ngx_conf/LocationEditor.vue:43
#: src/views/domain/ngx_conf/LocationEditor.vue:50
msgid "Locations"
msgstr "Locations"
#: src/views/certificate/CertificateEditor.vue:235
#: src/views/certificate/CertificateEditor.vue:237
msgid "Log"
msgstr "日誌"
@ -1224,7 +1229,7 @@ msgid "Model"
msgstr "模型"
#: src/components/ChatGPT/ChatGPT.vue:248
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:531
#: src/views/config/ConfigList.vue:159
msgid "Modify"
@ -1238,7 +1243,7 @@ msgstr "修改憑證"
msgid "Modify Config"
msgstr "修改設定"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "Modify Mode"
msgstr "修改模式"
@ -1247,7 +1252,7 @@ msgid "Multi-line Directive"
msgstr "多行指令"
#: src/views/certificate/ACMEUser.vue:13
#: src/views/certificate/CertificateEditor.vue:152
#: src/views/certificate/CertificateEditor.vue:154
#: src/views/certificate/CertificateList/certColumns.tsx:10
#: src/views/certificate/DNSCredential.vue:11
#: src/views/config/components/Mkdir.vue:65 src/views/config/configColumns.ts:8
@ -1337,7 +1342,7 @@ msgstr "Nginx 重啟成功"
#: src/components/StdDesign/StdDataDisplay/StdTable.vue:575
#: src/views/domain/DomainList.vue:144
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/notification/Notification.vue:38
#: src/views/preference/AuthSettings.vue:104
#: src/views/preference/BasicSettings.vue:101
@ -1398,7 +1403,7 @@ msgstr "OCSP 必須裝訂可能會導致某些用戶在首次使用 Firefox 訪
msgid "Offline"
msgstr "離線"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:254
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:255
#: src/components/StdDesign/StdDataEntry/components/StdSelector.vue:154
msgid "Ok"
msgstr "確定"
@ -1438,7 +1443,7 @@ msgstr "線上"
msgid "OpenAI"
msgstr "OpenAI"
#: src/components/2FA/Authorization.vue:117 src/views/other/Login.vue:256
#: src/components/TwoFA/Authorization.vue:117 src/views/other/Login.vue:256
msgid "Or"
msgstr ""
@ -1490,8 +1495,8 @@ msgid "Password (*)"
msgstr "密碼 (*)"
#: src/views/config/ConfigEditor.vue:262
#: src/views/domain/ngx_conf/LocationEditor.vue:118
#: src/views/domain/ngx_conf/LocationEditor.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:111
#: src/views/domain/ngx_conf/LocationEditor.vue:139
msgid "Path"
msgstr "路徑"
@ -1513,7 +1518,7 @@ msgid ""
"button below."
msgstr ""
#: src/components/2FA/Authorization.vue:75
#: src/components/TwoFA/Authorization.vue:75
#, fuzzy
msgid "Please enter the OTP code:"
msgstr "請輸入多重因素驗證碼:"
@ -1569,6 +1574,11 @@ msgid ""
"Please note that the unit of time configurations below are all in seconds."
msgstr "請注意,以下時間配置單位均為秒。"
#: src/views/environment/Environment.vue:47
#, fuzzy
msgid "Please select at least one node to upgrade"
msgstr "請至少選擇一個節點!"
#: src/views/domain/components/SiteDuplicate.vue:45
#: src/views/stream/components/StreamDuplicate.vue:45
msgid "Please select at least one node!"
@ -1604,6 +1614,11 @@ msgstr "專案團隊"
msgid "Provider"
msgstr "供應商"
#: src/views/certificate/ACMEUser.vue:48
#, fuzzy
msgid "Proxy"
msgstr "API 代理"
#: src/views/dashboard/ServerAnalytic.vue:28
#: src/views/dashboard/ServerAnalytic.vue:378
msgid "Reads"
@ -1622,7 +1637,7 @@ msgstr "恢復"
msgid "Recovered Successfully"
msgstr "恢復成功"
#: src/components/2FA/Authorization.vue:94
#: src/components/TwoFA/Authorization.vue:94
#: src/views/preference/components/TOTP.vue:178
msgid "Recovery"
msgstr "恢復"
@ -1643,20 +1658,31 @@ msgstr "遞迴名稱伺服器"
msgid "Regenerate response"
msgstr "重新產生回應"
#: src/views/certificate/ACMEUser.vue:100
#: src/views/certificate/ACMEUser.vue:129
msgid "Register"
msgstr "註冊"
#: src/views/certificate/ACMEUser.vue:69
#: src/views/certificate/ACMEUser.vue:53
msgid ""
"Register a user or use this account to issue a certificate through an HTTP "
"proxy."
msgstr ""
#: src/views/certificate/ACMEUser.vue:98
msgid "Register failed"
msgstr "註冊失敗"
#: src/views/certificate/ACMEUser.vue:72
#, fuzzy
msgid "Register On Startup"
msgstr "註冊狀態"
#: src/views/preference/components/AddPasskey.vue:26
#, fuzzy
msgid "Register passkey successfully"
msgstr "註冊成功"
#: src/views/certificate/ACMEUser.vue:67
#: src/views/certificate/ACMEUser.vue:96
msgid "Register successfully"
msgstr "註冊成功"
@ -1664,7 +1690,7 @@ msgstr "註冊成功"
msgid "Registering user"
msgstr "註冊使用者中"
#: src/views/certificate/ACMEUser.vue:83
#: src/views/certificate/ACMEUser.vue:112
msgid "Registration Status"
msgstr "註冊狀態"
@ -1785,7 +1811,7 @@ msgid "Running"
msgstr "執行中"
#: src/components/ChatGPT/ChatGPT.vue:251
#: src/views/certificate/CertificateEditor.vue:254
#: src/views/certificate/CertificateEditor.vue:256
#: src/views/config/ConfigEditor.vue:222 src/views/domain/DomainEdit.vue:260
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:120
#: src/views/preference/components/Passkey.vue:136
@ -1914,19 +1940,19 @@ msgstr "網站日誌"
msgid "Sites List"
msgstr "網站列表"
#: src/views/certificate/CertificateEditor.vue:203
#: src/views/certificate/CertificateEditor.vue:205
msgid "SSL Certificate Content"
msgstr "SSL 憑證內容"
#: src/views/certificate/CertificateEditor.vue:216
#: src/views/certificate/CertificateEditor.vue:218
msgid "SSL Certificate Key Content"
msgstr "SSL 憑證金鑰內容"
#: src/views/certificate/CertificateEditor.vue:182
#: src/views/certificate/CertificateEditor.vue:184
msgid "SSL Certificate Key Path"
msgstr "SSL 憑證金鑰路徑"
#: src/views/certificate/CertificateEditor.vue:167
#: src/views/certificate/CertificateEditor.vue:169
msgid "SSL Certificate Path"
msgstr "SSL 憑證路徑"
@ -1940,7 +1966,7 @@ msgstr "SSO 登錄"
msgid "Stable"
msgstr "穩定"
#: src/views/certificate/ACMEUser.vue:42
#: src/views/certificate/ACMEUser.vue:61
#: src/views/certificate/CertificateList/certColumns.tsx:60
#: src/views/domain/DomainList.vue:22 src/views/environment/envColumns.tsx:78
#: src/views/stream/StreamList.vue:22
@ -2028,7 +2054,7 @@ msgstr "同步配置錯誤"
msgid "Sync Config Success"
msgstr "同步配置成功"
#: src/views/certificate/CertificateEditor.vue:196
#: src/views/certificate/CertificateEditor.vue:198
msgid "Sync to"
msgstr "同步到"
@ -2066,11 +2092,11 @@ msgstr ""
msgid "The filename cannot contain the following characters: %{c}"
msgstr "檔名不能包含以下字元: %{c}"
#: src/views/certificate/CertificateEditor.vue:206
#: src/views/certificate/CertificateEditor.vue:208
msgid "The input is not a SSL Certificate"
msgstr "輸入的不是 SSL 憑證"
#: src/views/certificate/CertificateEditor.vue:219
#: src/views/certificate/CertificateEditor.vue:221
msgid "The input is not a SSL Certificate Key"
msgstr "輸入的不是 SSL 憑證金鑰"
@ -2080,11 +2106,11 @@ msgid ""
"dashes, and dots."
msgstr "模型名稱應僅包含字母、Unicode、數字、連字號、破折號和點。"
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:173
msgid "The path exists, but the file is not a certificate"
msgstr "路徑存在,但檔案不是憑證"
#: src/views/certificate/CertificateEditor.vue:186
#: src/views/certificate/CertificateEditor.vue:188
msgid "The path exists, but the file is not a private key"
msgstr "路徑存在,但檔案不是金鑰"
@ -2136,9 +2162,9 @@ msgstr "此自動憑證項目無效,請將其移除。"
msgid "This certificate is managed by Nginx UI"
msgstr "此憑證由 Nginx UI 管理"
#: src/views/certificate/CertificateEditor.vue:155
#: src/views/certificate/CertificateEditor.vue:169
#: src/views/certificate/CertificateEditor.vue:184
#: src/views/certificate/CertificateEditor.vue:157
#: src/views/certificate/CertificateEditor.vue:171
#: src/views/certificate/CertificateEditor.vue:186
msgid "This field is required"
msgstr "此字段為必填項"
@ -2203,11 +2229,11 @@ msgid ""
"password algorithm."
msgstr "TOTP 是一種使用基於時間的一次性密碼算法的多重因素驗證方法。"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:210
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:211
msgid "Trash"
msgstr "垃圾桶"
#: src/components/2FA/use2FAModal.ts:71
#: src/components/TwoFA/use2FAModal.ts:71
msgid "Two-factor authentication required"
msgstr "需要多重因素驗證"
@ -2222,7 +2248,7 @@ msgstr "類型"
msgid "Update successfully"
msgstr "更新成功"
#: src/views/certificate/ACMEUser.vue:53
#: src/views/certificate/ACMEUser.vue:82
#: src/views/certificate/DNSCredential.vue:27
#: src/views/config/configColumns.ts:31 src/views/config/ConfigEditor.vue:275
#: src/views/domain/components/RightSettings.vue:86
@ -2236,7 +2262,7 @@ msgstr "更新時間"
msgid "Updated successfully"
msgstr "更新成功"
#: src/routes/index.ts:284 src/views/environment/Environment.vue:50
#: src/routes/index.ts:284 src/views/environment/Environment.vue:55
#: src/views/system/Upgrade.vue:145 src/views/system/Upgrade.vue:228
msgid "Upgrade"
msgstr "升級"
@ -2265,11 +2291,11 @@ msgstr "運作時間:"
msgid "URL"
msgstr "URL"
#: src/components/2FA/Authorization.vue:107
#: src/components/TwoFA/Authorization.vue:107
msgid "Use OTP"
msgstr "使用一次性密碼"
#: src/components/2FA/Authorization.vue:103
#: src/components/TwoFA/Authorization.vue:103
msgid "Use recovery code"
msgstr "使用恢復碼"
@ -2289,7 +2315,7 @@ msgstr "使用者名稱"
msgid "Username (*)"
msgstr "使用者名稱 (*)"
#: src/views/certificate/ACMEUser.vue:87
#: src/views/certificate/ACMEUser.vue:116
#: src/views/certificate/CertificateList/certColumns.tsx:73
#: src/views/domain/cert/CertInfo.vue:24
msgid "Valid"
@ -2308,11 +2334,11 @@ msgstr "檢視"
msgid "View all notifications"
msgstr "查看所有通知"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:182
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:183
msgid "View Details"
msgstr "查看詳情"
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:269
#: src/components/StdDesign/StdDataDisplay/StdCurd.vue:270
msgid "View Mode"
msgstr "查看模式"
@ -2337,6 +2363,13 @@ msgstr ""
"我們將從該檔案中刪除 HTTPChallenge 設定並重新載入 Nginx 設定檔案。你確定你要"
"繼續嗎?"
#: src/views/certificate/ACMEUser.vue:78
msgid ""
"When Enabled, Nginx UI will automatically re-register users upon startup. "
"Generally, do not enable this unless you are in a dev environment and using "
"Pebble as CA."
msgstr ""
#: src/views/dashboard/ServerAnalytic.vue:27
#: src/views/dashboard/ServerAnalytic.vue:368
msgid "Writes"
@ -2351,7 +2384,7 @@ msgid "Writing certificate to disk"
msgstr "將憑證寫入磁碟"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:69
#: src/views/domain/ngx_conf/LocationEditor.vue:89
#: src/views/preference/AuthSettings.vue:103
#: src/views/preference/BasicSettings.vue:100
msgid "Yes"
@ -2423,10 +2456,6 @@ msgstr ""
#~ msgid "Table"
#~ msgstr "表格"
#, fuzzy
#~ msgid "Leave blank will not change anything."
#~ msgstr "留空表示不修改"
#, fuzzy
#~ msgid "Auto Cert is enabled"
#~ msgstr "自動憑證"

View file

@ -4,7 +4,7 @@ import type { Column } from '@/components/StdDesign/types'
import { StdCurd } from '@/components/StdDesign/StdDataDisplay'
import type { AcmeUser } from '@/api/acme_user'
import acme_user from '@/api/acme_user'
import { input } from '@/components/StdDesign/StdDataEntry'
import { input, switcher } from '@/components/StdDesign/StdDataEntry'
import type { customRender } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
import { datetime } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
@ -16,6 +16,9 @@ const columns: Column[] = [
pithy: true,
edit: {
type: input,
config: {
required: true,
},
},
}, {
title: () => $gettext('Email'),
@ -24,6 +27,9 @@ const columns: Column[] = [
pithy: true,
edit: {
type: input,
config: {
required: true,
},
},
}, {
title: () => $gettext('CA Dir'),
@ -38,6 +44,19 @@ const columns: Column[] = [
},
},
},
}, {
title: () => $gettext('Proxy'),
dataIndex: 'proxy',
hiddenInTable: true,
edit: {
type: input,
hint: $gettext('Register a user or use this account to issue a certificate through an HTTP proxy.'),
config: {
placeholder() {
return $gettext('Leave blank if you don\'t need this.')
},
},
},
}, {
title: () => $gettext('Status'),
dataIndex: ['registration', 'body', 'status'],
@ -49,6 +68,16 @@ const columns: Column[] = [
},
sortable: true,
pithy: true,
}, {
title: () => $gettext('Register On Startup'),
dataIndex: 'register_on_startup',
hiddenInTable: true,
hiddenInDetail: true,
edit: {
type: switcher,
hint: $gettext('When Enabled, Nginx UI will automatically re-register users upon startup. '
+ 'Generally, do not enable this unless you are in a dev environment and using Pebble as CA.'),
},
}, {
title: () => $gettext('Updated at'),
dataIndex: 'updated_at',

View file

@ -62,7 +62,8 @@ func IssueCert(payload *ConfigPayload, logChan chan string, errChan chan error)
// Skip TLS check
if config.HTTPClient != nil {
t, err := transport.NewTransport()
t, err := transport.NewTransport(
transport.WithProxy(user.Proxy))
if err != nil {
return
}

View file

@ -29,6 +29,7 @@ func Boot() {
InitCryptoSecret,
validation.Init,
cache.Init,
RegisterAcmeUser,
}
syncs := []func(){

View file

@ -0,0 +1,21 @@
package kernal
import (
"github.com/0xJacky/Nginx-UI/internal/logger"
"github.com/0xJacky/Nginx-UI/query"
)
func RegisterAcmeUser() {
a := query.AcmeUser
users, _ := a.Where(a.RegisterOnStartup.Is(true)).Find()
for _, user := range users {
err := user.Register()
if err != nil {
logger.Error(err)
}
_, err = a.Where(a.ID.Eq(user.ID)).Updates(user)
if err != nil {
logger.Error(err)
}
}
}

View file

@ -18,11 +18,13 @@ type PrivateKey struct {
type AcmeUser struct {
Model
Name string `json:"name"`
Email string `json:"email"`
CADir string `json:"ca_dir"`
Registration registration.Resource `json:"registration" gorm:"serializer:json"`
Key PrivateKey `json:"-" gorm:"serializer:json"`
Name string `json:"name"`
Email string `json:"email"`
CADir string `json:"ca_dir"`
Registration registration.Resource `json:"registration" gorm:"serializer:json"`
Key PrivateKey `json:"-" gorm:"serializer:json"`
Proxy string `json:"proxy"`
RegisterOnStartup bool `json:"register_on_startup"`
}
func (u *AcmeUser) GetEmail() string {
@ -61,7 +63,8 @@ func (u *AcmeUser) Register() error {
// Skip TLS check
if config.HTTPClient != nil {
t, err := transport.NewTransport()
t, err := transport.NewTransport(
transport.WithProxy(u.Proxy))
if err != nil {
return err
}

View file

@ -37,6 +37,8 @@ func newAcmeUser(db *gorm.DB, opts ...gen.DOOption) acmeUser {
_acmeUser.CADir = field.NewString(tableName, "ca_dir")
_acmeUser.Registration = field.NewField(tableName, "registration")
_acmeUser.Key = field.NewField(tableName, "key")
_acmeUser.Proxy = field.NewString(tableName, "proxy")
_acmeUser.RegisterOnStartup = field.NewBool(tableName, "register_on_startup")
_acmeUser.fillFieldMap()
@ -46,16 +48,18 @@ func newAcmeUser(db *gorm.DB, opts ...gen.DOOption) acmeUser {
type acmeUser struct {
acmeUserDo
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Email field.String
CADir field.String
Registration field.Field
Key field.Field
ALL field.Asterisk
ID field.Int
CreatedAt field.Time
UpdatedAt field.Time
DeletedAt field.Field
Name field.String
Email field.String
CADir field.String
Registration field.Field
Key field.Field
Proxy field.String
RegisterOnStartup field.Bool
fieldMap map[string]field.Expr
}
@ -81,6 +85,8 @@ func (a *acmeUser) updateTableName(table string) *acmeUser {
a.CADir = field.NewString(table, "ca_dir")
a.Registration = field.NewField(table, "registration")
a.Key = field.NewField(table, "key")
a.Proxy = field.NewString(table, "proxy")
a.RegisterOnStartup = field.NewBool(table, "register_on_startup")
a.fillFieldMap()
@ -97,7 +103,7 @@ func (a *acmeUser) GetFieldByName(fieldName string) (field.OrderExpr, bool) {
}
func (a *acmeUser) fillFieldMap() {
a.fieldMap = make(map[string]field.Expr, 9)
a.fieldMap = make(map[string]field.Expr, 11)
a.fieldMap["id"] = a.ID
a.fieldMap["created_at"] = a.CreatedAt
a.fieldMap["updated_at"] = a.UpdatedAt
@ -107,6 +113,8 @@ func (a *acmeUser) fillFieldMap() {
a.fieldMap["ca_dir"] = a.CADir
a.fieldMap["registration"] = a.Registration
a.fieldMap["key"] = a.Key
a.fieldMap["proxy"] = a.Proxy
a.fieldMap["register_on_startup"] = a.RegisterOnStartup
}
func (a acmeUser) clone(db *gorm.DB) acmeUser {