feat: hide some parts of jwt secret and node secret

This commit is contained in:
Jacky 2024-07-24 10:31:25 +08:00
parent 45a136380d
commit 2b6e84ab62
No known key found for this signature in database
GPG key ID: 215C21B10DF38B4D
19 changed files with 637 additions and 403 deletions

1
app/components.d.ts vendored
View file

@ -86,6 +86,7 @@ declare module 'vue' {
PageHeaderPageHeader: typeof import('./src/components/PageHeader/PageHeader.vue')['default']
RouterLink: typeof import('vue-router')['RouterLink']
RouterView: typeof import('vue-router')['RouterView']
SensitiveStringSensitiveString: typeof import('./src/components/SensitiveString/SensitiveString.vue')['default']
SetLanguageSetLanguage: typeof import('./src/components/SetLanguage/SetLanguage.vue')['default']
StdDesignStdDataDisplayStdBatchEdit: typeof import('./src/components/StdDesign/StdDataDisplay/StdBatchEdit.vue')['default']
StdDesignStdDataDisplayStdCurd: typeof import('./src/components/StdDesign/StdDataDisplay/StdCurd.vue')['default']

View file

@ -15,6 +15,7 @@
"@formkit/auto-animate": "^0.8.2",
"@vue/reactivity": "^3.4.33",
"@vue/shared": "^3.4.33",
"@vueuse/components": "^10.11.0",
"@vueuse/core": "^10.11.0",
"@vueuse/integrations": "^10.11.0",
"@xterm/addon-attach": "^0.11.0",

15
app/pnpm-lock.yaml generated
View file

@ -20,6 +20,9 @@ importers:
'@vue/shared':
specifier: ^3.4.33
version: 3.4.33
'@vueuse/components':
specifier: ^10.11.0
version: 10.11.0(vue@3.4.33(typescript@5.3.3))
'@vueuse/core':
specifier: ^10.11.0
version: 10.11.0(vue@3.4.33(typescript@5.3.3))
@ -931,6 +934,9 @@ packages:
'@vue/tsconfig@0.5.1':
resolution: {integrity: sha512-VcZK7MvpjuTPx2w6blwnwZAu5/LgBUtejFOi3pPGQFXQN5Ela03FUtd2Qtg4yWGGissVL0dr6Ro1LfOFh+PCuQ==}
'@vueuse/components@10.11.0':
resolution: {integrity: sha512-ZvLZI23d5ZAtva5fGyYh/jQtZO8l+zJ5tAXyYNqHJZkq1o5yWyqZhENvSv5mfDmN5IuAOp4tq02mRmX/ipFGcg==}
'@vueuse/core@10.11.0':
resolution: {integrity: sha512-x3sD4Mkm7PJ+pcq3HX8PLPBadXCAlSDR/waK87dz0gQE+qJnaaFhc/dZVfJz+IUYzTMVGum2QlR7ImiJQN4s6g==}
@ -3947,6 +3953,15 @@ snapshots:
'@vue/tsconfig@0.5.1': {}
'@vueuse/components@10.11.0(vue@3.4.33(typescript@5.3.3))':
dependencies:
'@vueuse/core': 10.11.0(vue@3.4.33(typescript@5.3.3))
'@vueuse/shared': 10.11.0(vue@3.4.33(typescript@5.3.3))
vue-demi: 0.14.8(vue@3.4.33(typescript@5.3.3))
transitivePeerDependencies:
- '@vue/composition-api'
- vue
'@vueuse/core@10.11.0(vue@3.4.33(typescript@5.3.3))':
dependencies:
'@types/web-bluetooth': 0.0.20

View file

@ -0,0 +1,47 @@
<script setup lang="ts">
import { UseClipboard } from '@vueuse/components'
import { $gettext } from '../../gettext'
const props = defineProps<{
value: string
}>()
const show = ref(false)
const maskedString = computed(() => {
const text = props.value
if (show.value)
return text
if (!text || text.length <= 10)
return '*********'
const start = text.substring(0, Math.floor((text.length - 10) / 2))
const end = text.substring(start.length + 10)
return `${start}**********${end}`
})
function toggleShow() {
show.value = !show.value
}
</script>
<template>
<div>
<span class="mr-2">{{ maskedString }}</span>
<UseClipboard v-slot="{ copy, copied }">
<a
class="mr-2"
@click="copy(value)"
>
{{ copied ? $gettext('Copied') : $gettext('Copy') }}
</a>
</UseClipboard>
<a @click="toggleShow">{{ show ? $gettext('Hide') : $gettext('Show') }}</a>
</div>
</template>
<style scoped lang="less">
</style>

View file

@ -1,27 +1,20 @@
<script setup lang="ts">
import { computed, ref } from 'vue'
const props = defineProps<{
value: string
defineProps<{
generate?: boolean
placeholder?: string
}>()
const emit = defineEmits(['update:value'])
const M_value = computed({
get() {
return props.value
},
set(v) {
emit('update:value', v)
const modelValue = defineModel<string>('value', {
default: () => {
return ''
},
})
const visibility = ref(false)
function handle_generate() {
function handleGenerate() {
visibility.value = true
M_value.value = 'xxxx'
modelValue.value = 'xxxx'
const chars = '0123456789abcdefghijklmnopqrstuvwxyz!@#$%^&*()ABCDEFGHIJKLMNOPQRSTUVWXYZ'
const passwordLength = 12
@ -32,36 +25,38 @@ function handle_generate() {
password += chars.substring(randomNumber, randomNumber + 1)
}
M_value.value = password
modelValue.value = password
}
</script>
<template>
<div>
<AInputGroup compact>
<AInputPassword
v-if="!visibility"
v-model:value="M_value"
v-model:value="modelValue"
:class="{ compact: generate }"
:placeholoder="placeholder"
/>
<AInput
v-else
v-model:value="M_value"
v-model:value="modelValue"
:class="{ compact: generate }"
:placeholoder="placeholder"
/>
<AButton
v-if="generate"
type="primary"
@click="handle_generate"
@click="handleGenerate"
>
{{ $gettext('Generate') }}
</AButton>
</AInputGroup>
</div>
</template>
<style scoped>
.compact {
width: calc(100% - 91px)
<style lang="less" scoped>
:deep(.ant-input-group.ant-input-group-compact) {
display: flex;
}
</style>

View file

@ -42,7 +42,7 @@ msgstr "Action"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr ""
@ -99,7 +99,7 @@ msgstr ""
msgid "Arch"
msgstr ""
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Are you sure you want to remove this directive?"
@ -139,7 +139,7 @@ msgstr "Are you sure you want to remove this directive?"
msgid "Are you sure you want to remove this directive?"
msgstr "Are you sure you want to remove this directive?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Are you sure you want to remove this directive?"
@ -202,11 +202,11 @@ msgstr "Back"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -248,7 +248,7 @@ msgstr "Build with"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr ""
@ -275,7 +275,7 @@ msgstr "Certificate has expired"
msgid "Certificate is valid"
msgstr "Certificate is valid"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Certificate is valid"
@ -376,6 +376,14 @@ msgstr ""
msgid "Content"
msgstr "Content"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr ""
@ -430,7 +438,7 @@ msgstr ""
msgid "Custom"
msgstr ""
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -444,7 +452,7 @@ msgstr "Dashboard"
msgid "Database (Optional, default: database)"
msgstr "Database (Optional, default: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -851,7 +859,7 @@ msgstr ""
msgid "Finished"
msgstr "Finished"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -891,23 +899,27 @@ msgstr "Base information"
msgid "Getting the certificate, please wait..."
msgstr "Getting the certificate, please wait..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "Home"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr ""
@ -919,7 +931,7 @@ msgstr ""
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -991,7 +1003,7 @@ msgstr "Invalid E-mail!"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1014,7 +1026,7 @@ msgstr "Certificate Status"
msgid "Issued certificate successfully"
msgstr "Enabled successfully"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr ""
@ -1146,7 +1158,7 @@ msgstr "Manage Users"
msgid "Managed Certificate"
msgstr "Certificate is valid"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1280,13 +1292,13 @@ msgstr "Saved successfully"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "No"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr ""
@ -1521,7 +1533,7 @@ msgid "Recovered Successfully"
msgstr "Saved successfully"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1533,7 +1545,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1585,7 +1597,7 @@ msgstr ""
msgid "Reloading nginx"
msgstr ""
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1646,7 +1658,7 @@ msgstr ""
msgid "Restarting"
msgstr ""
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
#, fuzzy
msgid "Run Mode"
msgstr "Advance Mode"
@ -1726,7 +1738,7 @@ msgstr "Server error"
msgid "Server Info"
msgstr "Server Info"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Server Info"
@ -1740,7 +1752,7 @@ msgstr "server_name not found in directives"
msgid "server_name parameter is required"
msgstr "server_name parameter is required"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1758,6 +1770,10 @@ msgstr ""
msgid "Setting HTTP01 challenge provider"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "Single Directive"
@ -1891,7 +1907,7 @@ msgstr ""
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr ""
@ -1944,7 +1960,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1959,8 +1975,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
msgid "The url is invalid"
msgstr ""
@ -1996,7 +2012,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -2037,7 +2053,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2178,8 +2194,8 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "Yes"

View file

@ -47,7 +47,7 @@ msgstr "Acción"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Agregar"
@ -102,7 +102,7 @@ msgstr "Token de la API"
msgid "Arch"
msgstr "Arquitectura"
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "¿Está seguro de que quiere borrar?"
@ -139,7 +139,7 @@ msgstr "¿Está seguro de que quiere borrar esta directiva?"
msgid "Are you sure you want to remove this directive?"
msgstr "¿Está seguro de que quiere borrar esta directiva?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "¿Está seguro de que quiere borrar esta directiva?"
@ -201,11 +201,11 @@ msgstr "Volver al Inicio"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -246,7 +246,7 @@ msgstr "Desarrollado con"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr "Directorio CA"
@ -273,7 +273,7 @@ msgstr "El certificado expiró"
msgid "Certificate is valid"
msgstr "El certificado es válido"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "El certificado es válido"
@ -369,6 +369,14 @@ msgstr ""
msgid "Content"
msgstr "Contenido"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "Actualización del kernel"
@ -422,7 +430,7 @@ msgstr "Versión actual"
msgid "Custom"
msgstr "Personalizado"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -436,7 +444,7 @@ msgstr "Panel"
msgid "Database (Optional, default: database)"
msgstr "Base de datos (Opcional, default: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -825,7 +833,7 @@ msgstr "Filtro"
msgid "Finished"
msgstr "Terminado"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Para usuario chino: https://mirror.ghproxy.com/"
@ -861,23 +869,27 @@ msgstr "Obtener error de información de versión"
msgid "Getting the certificate, please wait..."
msgstr "Obteniendo el certificado, por favor espere..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr "Proxy Github"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "Inicio"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr "Puerto de desafío HTTP"
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "Host HTTP"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "Puerto HTTP"
@ -889,7 +901,7 @@ msgstr "HTTP01"
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -960,7 +972,7 @@ msgstr "Válido"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -980,7 +992,7 @@ msgstr "Obtener certificado Comodín"
msgid "Issued certificate successfully"
msgstr "Certificado emitido con éxito"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr "Secreto Jwt"
@ -1105,7 +1117,7 @@ msgstr "Administrar usuarios"
msgid "Managed Certificate"
msgstr "Certificado Administrado"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1233,13 +1245,13 @@ msgstr "Nginx reiniciado con éxito"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "No"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr "Secreto del nodo"
@ -1478,7 +1490,7 @@ msgid "Recovered Successfully"
msgstr "Eliminado con éxito"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1490,7 +1502,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1543,7 +1555,7 @@ msgstr "Recargando"
msgid "Reloading nginx"
msgstr "Recargando Nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1599,7 +1611,7 @@ msgstr "Reiniciar"
msgid "Restarting"
msgstr "Reiniciando"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
msgid "Run Mode"
msgstr "Modo de ejecución"
@ -1677,7 +1689,7 @@ msgstr "Error del servidor"
msgid "Server Info"
msgstr "Información del servidor"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Información del servidor"
@ -1691,7 +1703,7 @@ msgstr "No se encuentra server_name en las directivas"
msgid "server_name parameter is required"
msgstr "Se requiere el parámetro server_name"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1709,6 +1721,10 @@ msgstr "Configuración de variables de entorno"
msgid "Setting HTTP01 challenge provider"
msgstr "Usando el proveedor de desafíos HTTP01"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "Directiva de una sola línea"
@ -1834,7 +1850,7 @@ msgstr "Objetivo"
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "Comando de inicio de terminal"
@ -1886,7 +1902,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1900,8 +1916,8 @@ msgstr ""
"El server_name en la configuración actual debe ser el nombre de dominio que "
"necesita para obtener el certificado, soporta dominios múltiples."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
#, fuzzy
msgid "The url is invalid"
msgstr "La URL no es válida"
@ -1939,7 +1955,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -1984,7 +2000,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2127,8 +2143,8 @@ msgstr "Escribir certificado a disco"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "Si"

View file

@ -44,7 +44,7 @@ msgstr "Action"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Ajouter"
@ -103,7 +103,7 @@ msgstr "Jeton d'API"
msgid "Arch"
msgstr "Arch"
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Etes-vous sûr que vous voulez supprimer ?"
@ -141,7 +141,7 @@ msgstr "Voulez-vous vraiment supprimer cette directive ?"
msgid "Are you sure you want to remove this directive?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Voulez-vous vraiment supprimer cette directive ?"
@ -204,11 +204,11 @@ msgstr "Retour au menu principal"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -250,7 +250,7 @@ msgstr "Build avec"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr ""
@ -277,7 +277,7 @@ msgstr "Le certificat a expiré"
msgid "Certificate is valid"
msgstr "Le certificat est valide"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Le certificat est valide"
@ -376,6 +376,14 @@ msgstr ""
msgid "Content"
msgstr "Contenu"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "Mise à jour du core"
@ -430,7 +438,7 @@ msgstr "Version actuelle"
msgid "Custom"
msgstr "Custom"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -444,7 +452,7 @@ msgstr "Dashboard"
msgid "Database (Optional, default: database)"
msgstr "Base de données (Facultatif, par défaut : database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -854,7 +862,7 @@ msgstr "Filtrer"
msgid "Finished"
msgstr "Finie"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Utilisateur chinois : https://mirror.ghproxy.com/"
@ -892,23 +900,27 @@ msgstr "Erreur d'obtention des informations sur la version"
msgid "Getting the certificate, please wait..."
msgstr "Obtention du certificat, veuillez patienter..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr "Proxy Github"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "Menu principal"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr "Port de challenge HTTP"
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "Host HTTP"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "Port HTTP"
@ -920,7 +932,7 @@ msgstr "HTTP01"
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -992,7 +1004,7 @@ msgstr ""
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1014,7 +1026,7 @@ msgstr "État du certificat"
msgid "Issued certificate successfully"
msgstr "Certificat délivré avec succès"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr "Secret Jwt"
@ -1149,7 +1161,7 @@ msgstr "Gérer les utilisateurs"
msgid "Managed Certificate"
msgstr "Changer de certificat"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1279,13 +1291,13 @@ msgstr "Nginx a redémarré avec succès"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Non"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
#, fuzzy
msgid "Node Secret"
msgstr "Secret Jwt"
@ -1528,7 +1540,7 @@ msgid "Recovered Successfully"
msgstr "Enregistré avec succès"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1540,7 +1552,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1593,7 +1605,7 @@ msgstr "Rechargement"
msgid "Reloading nginx"
msgstr "Rechargement de nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1655,7 +1667,7 @@ msgstr "Redémarrer"
msgid "Restarting"
msgstr "Redémarrage"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
msgid "Run Mode"
msgstr "Mode d'exécution"
@ -1733,7 +1745,7 @@ msgstr "Erreur du serveur"
msgid "Server Info"
msgstr "Informations sur le serveur"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Informations sur le serveur"
@ -1747,7 +1759,7 @@ msgstr "server_name introuvable dans les directives"
msgid "server_name parameter is required"
msgstr "Le paramètre server_name est obligatoire"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1767,6 +1779,10 @@ msgstr "Définition des variables d'environnement"
msgid "Setting HTTP01 challenge provider"
msgstr "Utilisation du fournisseur de challenge HTTP01"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "Directive unique"
@ -1898,7 +1914,7 @@ msgstr ""
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "Commande de démarrage du terminal"
@ -1951,7 +1967,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1967,8 +1983,8 @@ msgstr ""
"dont vous avez besoin pour obtenir le certificat, prendre en charge "
"plusieurs domaines."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
msgid "The url is invalid"
msgstr ""
@ -2007,7 +2023,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -2052,7 +2068,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2194,8 +2210,8 @@ msgstr "Écriture du certificat sur le disque"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "Oui"

View file

@ -46,7 +46,7 @@ msgstr "작업"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "추가"
@ -101,7 +101,7 @@ msgstr "API 토큰"
msgid "Arch"
msgstr "아키텍처"
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "정말 삭제하시겠습니까?"
@ -138,7 +138,7 @@ msgstr "이 지시문을 정말로 제거하시겠습니까?"
msgid "Are you sure you want to remove this directive?"
msgstr "이 지시문을 정말로 제거하시겠습니까?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "이 지시문을 정말로 제거하시겠습니까?"
@ -200,11 +200,11 @@ msgstr "홈으로"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -245,7 +245,7 @@ msgstr "빌드 환경"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr "CA 디렉토리"
@ -272,7 +272,7 @@ msgstr "인증서가 만료되었습니다"
msgid "Certificate is valid"
msgstr "인증서가 유효합니다"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "인증서가 유효합니다"
@ -367,6 +367,14 @@ msgstr ""
msgid "Content"
msgstr "내용"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "코어 업그레이드"
@ -420,7 +428,7 @@ msgstr "현재 버전"
msgid "Custom"
msgstr "사용자 정의"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -434,7 +442,7 @@ msgstr "대시보드"
msgid "Database (Optional, default: database)"
msgstr "데이터베이스 (선택사항, 기본값: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -824,7 +832,7 @@ msgstr "필터"
msgid "Finished"
msgstr "완료됨"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "중국 사용자를 위해: https://mirror.ghproxy.com/"
@ -864,23 +872,27 @@ msgstr "릴리스 정보 가져오기 오류"
msgid "Getting the certificate, please wait..."
msgstr "인증서를 가져오는 중입니다. 잠시 기다려 주세요..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr "Github 프록시"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "홈"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr "HTTP 검증 포트"
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "HTTP 호스트"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "HTTP 포트"
@ -892,7 +904,7 @@ msgstr "HTTP01"
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -965,7 +977,7 @@ msgstr "유효함"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -988,7 +1000,7 @@ msgstr "인증서 상태"
msgid "Issued certificate successfully"
msgstr "성공적으로 활성화됨"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr "Jwt 토큰"
@ -1125,7 +1137,7 @@ msgstr "사용자 관리"
msgid "Managed Certificate"
msgstr "인증서 유효"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1259,13 +1271,13 @@ msgstr "Nginx가 성공적으로 재시작됨"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "아니요"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr "노드 시크릿"
@ -1502,7 +1514,7 @@ msgid "Recovered Successfully"
msgstr "성공적으로 제거됨"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1514,7 +1526,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1568,7 +1580,7 @@ msgstr "리로딩 중"
msgid "Reloading nginx"
msgstr "Nginx 리로딩 중"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1630,7 +1642,7 @@ msgstr "재시작"
msgid "Restarting"
msgstr "재시작 중"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
#, fuzzy
msgid "Run Mode"
msgstr "실행 모드"
@ -1710,7 +1722,7 @@ msgstr "서버 오류"
msgid "Server Info"
msgstr "서버 정보"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Server Info"
@ -1724,7 +1736,7 @@ msgstr "directives에서 server_name을 찾을 수 없습니다"
msgid "server_name parameter is required"
msgstr "server_name 매개변수가 필요합니다"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1742,6 +1754,10 @@ msgstr "환경 변수 설정"
msgid "Setting HTTP01 challenge provider"
msgstr "HTTP01 공급자 설정"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "단일 지시문"
@ -1874,7 +1890,7 @@ msgstr "대상"
msgid "Terminal"
msgstr "터미널"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "터미널 시작 명령"
@ -1927,7 +1943,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1942,8 +1958,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
#, fuzzy
msgid "The url is invalid"
msgstr "유효한 URL이 아닙니다"
@ -1981,7 +1997,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr "팁"
@ -2025,7 +2041,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2172,8 +2188,8 @@ msgstr "인증서를 디스크에 쓰기"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "예"

View file

@ -39,7 +39,7 @@ msgstr ""
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr ""
@ -95,7 +95,7 @@ msgstr ""
msgid "Arch"
msgstr ""
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
msgid "Are you sure to delete this banned IP immediately?"
msgstr ""
@ -129,7 +129,7 @@ msgstr ""
msgid "Are you sure you want to remove this directive?"
msgstr ""
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
msgid "Are you sure you want to remove this item?"
msgstr ""
@ -191,11 +191,11 @@ msgstr ""
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -236,7 +236,7 @@ msgstr ""
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr ""
@ -263,7 +263,7 @@ msgstr ""
msgid "Certificate is valid"
msgstr ""
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
msgid "Certificate Renewal Interval"
msgstr ""
@ -359,6 +359,14 @@ msgstr ""
msgid "Content"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr ""
@ -413,7 +421,7 @@ msgstr ""
msgid "Custom"
msgstr ""
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid "Customize the name of local server to be displayed in the environment indicator."
msgstr ""
@ -425,7 +433,7 @@ msgstr ""
msgid "Database (Optional, default: database)"
msgstr ""
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -822,7 +830,7 @@ msgstr ""
msgid "Finished"
msgstr ""
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -859,23 +867,27 @@ msgstr ""
msgid "Getting the certificate, please wait..."
msgstr ""
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr ""
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr ""
@ -887,7 +899,7 @@ msgstr ""
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid "If the number of login failed attempts from a ip reach the max attempts in ban threshold minutes, the ip will be banned for a period of time."
msgstr ""
@ -954,7 +966,7 @@ msgstr ""
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -974,7 +986,7 @@ msgstr ""
msgid "Issued certificate successfully"
msgstr ""
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr ""
@ -1092,7 +1104,7 @@ msgstr ""
msgid "Managed Certificate"
msgstr ""
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1223,13 +1235,13 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr ""
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr ""
@ -1457,7 +1469,7 @@ msgid "Recovered Successfully"
msgstr ""
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1469,7 +1481,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1518,7 +1530,7 @@ msgstr ""
msgid "Reloading nginx"
msgstr ""
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1572,7 +1584,7 @@ msgstr ""
msgid "Restarting"
msgstr ""
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
msgid "Run Mode"
msgstr ""
@ -1658,7 +1670,7 @@ msgstr ""
msgid "Server Info"
msgstr ""
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
msgid "Server Name"
msgstr ""
@ -1671,7 +1683,7 @@ msgstr ""
msgid "server_name parameter is required"
msgstr ""
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid "Set the recursive nameservers to override the systems nameservers for the step of DNS challenge."
msgstr ""
@ -1687,6 +1699,10 @@ msgstr ""
msgid "Setting HTTP01 challenge provider"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr ""
@ -1808,7 +1824,7 @@ msgstr ""
msgid "Terminal"
msgstr ""
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr ""
@ -1848,7 +1864,7 @@ msgstr ""
msgid "The remote Nginx UI version is not compatible with the local Nginx UI version. To avoid potential errors, please upgrade the remote Nginx UI to match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid "The server name should only contain letters, unicode, numbers, hyphens, dashes, and dots."
msgstr ""
@ -1856,8 +1872,8 @@ msgstr ""
msgid "The server_name in the current configuration must be the domain name you need to get the certificate, supportmultiple domains."
msgstr ""
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
msgid "The url is invalid"
msgstr ""
@ -1892,7 +1908,7 @@ msgstr ""
msgid "This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -1925,7 +1941,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2065,8 +2081,8 @@ msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr ""

View file

@ -42,7 +42,7 @@ msgstr "Действие"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Добавить"
@ -99,7 +99,7 @@ msgstr ""
msgid "Arch"
msgstr ""
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Вы уверены, что хотите удалить?"
@ -139,7 +139,7 @@ msgstr "Вы уверены, что хотите удалить эту дире
msgid "Are you sure you want to remove this directive?"
msgstr "Вы уверены, что хотите удалить эту директиву?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Вы уверены, что хотите удалить эту директиву?"
@ -203,11 +203,11 @@ msgstr "Вернутся"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -250,7 +250,7 @@ msgstr "Собрать с"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr ""
@ -277,7 +277,7 @@ msgstr "Срок действия сертификата истек"
msgid "Certificate is valid"
msgstr "Сертификат действителен"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Сертификат действителен"
@ -378,6 +378,14 @@ msgstr ""
msgid "Content"
msgstr "Содержание"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "Обновление ядра"
@ -432,7 +440,7 @@ msgstr "Текущяя версия"
msgid "Custom"
msgstr "Пользовательский"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -446,7 +454,7 @@ msgstr "Доска"
msgid "Database (Optional, default: database)"
msgstr "База данных (Опционально, по умолчанию: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -856,7 +864,7 @@ msgstr "Фильтр"
msgid "Finished"
msgstr "Готово"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr ""
@ -896,23 +904,27 @@ msgstr "Ошибка получения информации о релизе"
msgid "Getting the certificate, please wait..."
msgstr "Получение сертификата, пожалуйста, подождите..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "Главная"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "Хостинг HTTP"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "Порт HTTP"
@ -924,7 +936,7 @@ msgstr ""
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -998,7 +1010,7 @@ msgstr "Действительный"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1021,7 +1033,7 @@ msgstr "Статус сертификата"
msgid "Issued certificate successfully"
msgstr "Сертификат успешно выдан"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr ""
@ -1154,7 +1166,7 @@ msgstr "Пользователи"
msgid "Managed Certificate"
msgstr "Управление сертификатами"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1289,13 +1301,13 @@ msgstr "Nginx успешно перезапущен"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Нет"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr ""
@ -1532,7 +1544,7 @@ msgid "Recovered Successfully"
msgstr "Успешно сохранено"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1544,7 +1556,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1598,7 +1610,7 @@ msgstr "Перезагружается"
msgid "Reloading nginx"
msgstr "Перезагружается nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1660,7 +1672,7 @@ msgstr "Перезапуск"
msgid "Restarting"
msgstr "Перезапускается"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
#, fuzzy
msgid "Run Mode"
msgstr "Расширенный режим"
@ -1740,7 +1752,7 @@ msgstr "Ошибка сервера"
msgid "Server Info"
msgstr "Информация о сервере"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Информация о сервере"
@ -1754,7 +1766,7 @@ msgstr "server_name не нашел в директивах"
msgid "server_name parameter is required"
msgstr "server_name параметр обязателен"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1772,6 +1784,10 @@ msgstr "Настройка переменных сред"
msgid "Setting HTTP01 challenge provider"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "Одиночная Директива"
@ -1905,7 +1921,7 @@ msgstr ""
msgid "Terminal"
msgstr "Терминал"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "Терминальная команда запуска"
@ -1958,7 +1974,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1973,8 +1989,8 @@ msgstr ""
"Note: The server_name in the current configuration must be the domain name "
"you need to get the certificate."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
#, fuzzy
msgid "The url is invalid"
msgstr "URL-адрес неверный"
@ -2013,7 +2029,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -2054,7 +2070,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2198,8 +2214,8 @@ msgstr "Запись сертификата на диск"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "Да"

View file

@ -42,7 +42,7 @@ msgstr "Hành động"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "Thêm"
@ -99,7 +99,7 @@ msgstr ""
msgid "Arch"
msgstr ""
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "Bạn chắc chắn muốn xóa nó "
@ -139,7 +139,7 @@ msgstr "Bạn chắc chắn muốn xoá directive này ?"
msgid "Are you sure you want to remove this directive?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "Bạn chắc chắn muốn xoá directive này ?"
@ -203,11 +203,11 @@ msgstr "Quay lại"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -250,7 +250,7 @@ msgstr "Xây dựng với"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr ""
@ -277,7 +277,7 @@ msgstr "Chứng chỉ đã hết hạn"
msgid "Certificate is valid"
msgstr "Chứng chỉ SSL hợp lệ"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "Chứng chỉ SSL hợp lệ"
@ -378,6 +378,14 @@ msgstr ""
msgid "Content"
msgstr "Nội dung"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "Cập nhật core"
@ -432,7 +440,7 @@ msgstr "Phiên bản hiện tại"
msgid "Custom"
msgstr "Tuỳ chỉnh"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -446,7 +454,7 @@ msgstr "Bảng điều khiển"
msgid "Database (Optional, default: database)"
msgstr "Tên cơ sở dữ liệu (Tuỳ chọn, Mặc định là: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -857,7 +865,7 @@ msgstr "Lọc"
msgid "Finished"
msgstr "Đã hoàn thành"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "Người dùng Trung Quốc: https://mirror.ghproxy.com/"
@ -898,23 +906,27 @@ msgstr "Nhận lỗi thông tin phát hành"
msgid "Getting the certificate, please wait..."
msgstr "Đang lấy chứng chỉ, vui lòng đợi..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "Trang chủ"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr ""
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr ""
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr ""
@ -926,7 +938,7 @@ msgstr ""
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -1000,7 +1012,7 @@ msgstr "Hợp lệ"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -1023,7 +1035,7 @@ msgstr "Thêm chứng chỉ SSL"
msgid "Issued certificate successfully"
msgstr "Cấp chứng chỉ thành công"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr ""
@ -1155,7 +1167,7 @@ msgstr "Người dùng"
msgid "Managed Certificate"
msgstr ""
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1289,13 +1301,13 @@ msgstr "Restart Nginx thành công"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "Không"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr ""
@ -1534,7 +1546,7 @@ msgid "Recovered Successfully"
msgstr "Xoá thành công"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1546,7 +1558,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr ""
@ -1600,7 +1612,7 @@ msgstr "Đang tải lại"
msgid "Reloading nginx"
msgstr "Tải lại nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1662,7 +1674,7 @@ msgstr "Khởi động lại"
msgid "Restarting"
msgstr "Đang khởi động lại"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
#, fuzzy
msgid "Run Mode"
msgstr "Run Mode"
@ -1742,7 +1754,7 @@ msgstr "Lỗi máy chủ"
msgid "Server Info"
msgstr "Thông tin máy chủ"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "Thông tin máy chủ"
@ -1756,7 +1768,7 @@ msgstr "không tìm thấy server_name trong directives"
msgid "server_name parameter is required"
msgstr "Tham số server_name là bắt buộc"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1775,6 +1787,10 @@ msgstr "Đặt biến môi trường"
msgid "Setting HTTP01 challenge provider"
msgstr "Sử dụng HTTP01 để xác thực SSL"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "Single Directive"
@ -1903,7 +1919,7 @@ msgstr "Mục tiêu"
msgid "Terminal"
msgstr "Terminal"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr ""
@ -1954,7 +1970,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1968,8 +1984,8 @@ msgid ""
msgstr ""
"Lưu ý: server_name trong cấu hình hiện tại phải là tên miền bạn muốn ký SSL."
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
msgid "The url is invalid"
msgstr ""
@ -2005,7 +2021,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -2050,7 +2066,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2197,8 +2213,8 @@ msgstr "Ghi chứng chỉ vào disk"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "Có"

Binary file not shown.

View file

@ -45,7 +45,7 @@ msgstr "操作"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "添加"
@ -99,7 +99,7 @@ msgstr "API Token"
msgid "Arch"
msgstr "架构"
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
msgid "Are you sure to delete this banned IP immediately?"
msgstr "您确定要立即删除这个被禁用的 IP 吗?"
@ -132,7 +132,7 @@ msgstr "您确定要恢复这个项目吗?"
msgid "Are you sure you want to remove this directive?"
msgstr "您确定要删除这条指令?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
msgid "Are you sure you want to remove this item?"
msgstr "您确定要删除这个项目吗?"
@ -192,11 +192,11 @@ msgstr "返回首页"
msgid "Back to list"
msgstr "返回列表"
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr "禁止阈值(分钟)"
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr "禁止 IP 列表"
@ -236,7 +236,7 @@ msgstr "构建基于"
msgid "CA Dir"
msgstr "CA Dir"
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr "CADir"
@ -263,7 +263,7 @@ msgstr "此证书已过期"
msgid "Certificate is valid"
msgstr "此证书有效"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
msgid "Certificate Renewal Interval"
msgstr "证书续期间隔"
@ -357,6 +357,14 @@ msgstr "连接中断,请刷新页面。"
msgid "Content"
msgstr "内容"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr "已拷贝"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr "拷贝"
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "核心升级"
@ -410,7 +418,7 @@ msgstr "当前版本"
msgid "Custom"
msgstr "自定义"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -424,7 +432,7 @@ msgstr "仪表盘"
msgid "Database (Optional, default: database)"
msgstr "数据库 (可选,默认: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr "天"
@ -804,7 +812,7 @@ msgstr "过滤"
msgid "Finished"
msgstr "完成"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "中国用户https://mirror.ghproxy.com/"
@ -840,23 +848,27 @@ msgstr "获取发布信息错误"
msgid "Getting the certificate, please wait..."
msgstr "正在获取证书,请稍等..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr "Github代理"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr "隐藏"
#: src/routes/index.ts:31
msgid "Home"
msgstr "首页"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr "HTTP Challenge 监听端口"
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "HTTP 监听主机"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "HTTP 监听端口"
@ -868,7 +880,7 @@ msgstr "HTTP01"
msgid "If left blank, the default CA Dir will be used."
msgstr "如果留空,则使用默认 CA Dir。"
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -939,7 +951,7 @@ msgstr "无效的"
msgid "Invalid 2FA or recovery code"
msgstr "无效的二步验证码或恢复密码"
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr "二次验证码或恢复代码无效"
@ -959,7 +971,7 @@ msgstr "颁发通配符证书"
msgid "Issued certificate successfully"
msgstr "证书申请成功"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr "Jwt 密钥"
@ -1086,7 +1098,7 @@ msgstr "用户管理"
msgid "Managed Certificate"
msgstr "托管证书"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr "最大尝试次数"
@ -1212,13 +1224,13 @@ msgstr "Nginx 重启成功"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "取消"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr "节点密钥"
@ -1449,7 +1461,7 @@ msgid "Recovered Successfully"
msgstr "恢复成功"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr "恢复"
@ -1461,7 +1473,7 @@ msgstr "恢复代码"
msgid "Recovery Code:"
msgstr "恢复代码:"
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
msgid "Recursive Nameservers"
msgstr "递归域名服务器"
@ -1510,7 +1522,7 @@ msgstr "重载中"
msgid "Reloading nginx"
msgstr "正在重载 Nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr "删除"
@ -1564,7 +1576,7 @@ msgstr "重启"
msgid "Restarting"
msgstr "重启中"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
msgid "Run Mode"
msgstr "运行模式"
@ -1642,7 +1654,7 @@ msgstr "服务器错误"
msgid "Server Info"
msgstr "服务器信息"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
msgid "Server Name"
msgstr "服务器名称"
@ -1655,7 +1667,7 @@ msgstr "未在指令集合中找到 server_name"
msgid "server_name parameter is required"
msgstr "必须为 server_name 指令指明参数"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1673,6 +1685,10 @@ msgstr "正在设置环境变量"
msgid "Setting HTTP01 challenge provider"
msgstr "使用 HTTP01 challenge provider"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr "显示"
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "单行指令"
@ -1794,7 +1810,7 @@ msgstr "目标"
msgid "Terminal"
msgstr "终端"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "终端启动命令"
@ -1846,7 +1862,7 @@ msgstr ""
"远程 Nginx UI 版本与本地 Nginx UI版本不兼容。为避免意料之外的错误请升级远"
"程 Nginx UI使其与本地版本一致。"
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1858,8 +1874,8 @@ msgid ""
"need to get the certificate, supportmultiple domains."
msgstr "当前配置中的 server_name 必须是获取证书所需的域名,支持多个域名。"
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
msgid "The url is invalid"
msgstr "URL无效"
@ -1895,7 +1911,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr "将 %{nodeNames} 上的 Nginx UI 升级或重新安装到 %{version} 版本。"
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr "提示"
@ -1939,7 +1955,7 @@ msgstr "TOTP 是一种使用基于时间的一次性密码算法的双因素身
msgid "Trash"
msgstr "回收站"
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr "需要两步验证"
@ -2075,8 +2091,8 @@ msgstr "正在将证书写入磁盘"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "是的"

View file

@ -47,7 +47,7 @@ msgstr "操作"
#: src/views/domain/ngx_conf/config_template/ConfigTemplate.vue:117
#: src/views/domain/ngx_conf/NgxServer.vue:167
#: src/views/domain/ngx_conf/NgxUpstream.vue:152
#: src/views/preference/BasicSettings.vue:73
#: src/views/preference/BasicSettings.vue:74
#: src/views/stream/StreamList.vue:121
msgid "Add"
msgstr "新增"
@ -104,7 +104,7 @@ msgstr "API Token"
msgid "Arch"
msgstr "架構"
#: src/views/preference/AuthSettings.vue:95
#: src/views/preference/AuthSettings.vue:97
#, fuzzy
msgid "Are you sure to delete this banned IP immediately?"
msgstr "您確定要刪除嗎?"
@ -142,7 +142,7 @@ msgstr "您確定要刪除這條指令嗎?"
msgid "Are you sure you want to remove this directive?"
msgstr "您確定要刪除這條指令嗎?"
#: src/views/preference/BasicSettings.vue:99
#: src/views/preference/BasicSettings.vue:100
#, fuzzy
msgid "Are you sure you want to remove this item?"
msgstr "您確定要刪除這條指令嗎?"
@ -204,11 +204,11 @@ msgstr "返回首頁"
msgid "Back to list"
msgstr ""
#: src/views/preference/AuthSettings.vue:69
#: src/views/preference/AuthSettings.vue:71
msgid "Ban Threshold Minutes"
msgstr ""
#: src/views/preference/AuthSettings.vue:83
#: src/views/preference/AuthSettings.vue:85
msgid "Banned IPs"
msgstr ""
@ -249,7 +249,7 @@ msgstr "構建基於"
msgid "CA Dir"
msgstr ""
#: src/views/preference/BasicSettings.vue:47
#: src/views/preference/BasicSettings.vue:48
msgid "CADir"
msgstr "CADir"
@ -276,7 +276,7 @@ msgstr "此憑證已過期"
msgid "Certificate is valid"
msgstr "此憑證有效"
#: src/views/preference/BasicSettings.vue:55
#: src/views/preference/BasicSettings.vue:56
#, fuzzy
msgid "Certificate Renewal Interval"
msgstr "憑證自動續簽"
@ -375,6 +375,14 @@ msgstr ""
msgid "Content"
msgstr "內容"
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copied"
msgstr ""
#: src/components/SensitiveString/SensitiveString.vue:38
msgid "Copy"
msgstr ""
#: src/views/system/Upgrade.vue:148
msgid "Core Upgrade"
msgstr "核心升級"
@ -429,7 +437,7 @@ msgstr "目前版本"
msgid "Custom"
msgstr "自訂"
#: src/views/preference/BasicSettings.vue:121
#: src/views/preference/BasicSettings.vue:122
msgid ""
"Customize the name of local server to be displayed in the environment "
"indicator."
@ -443,7 +451,7 @@ msgstr "儀表板"
msgid "Database (Optional, default: database)"
msgstr "資料庫 (可選,預設: database)"
#: src/views/preference/BasicSettings.vue:60
#: src/views/preference/BasicSettings.vue:61
msgid "Days"
msgstr ""
@ -838,7 +846,7 @@ msgstr "篩選"
msgid "Finished"
msgstr "完成"
#: src/views/preference/BasicSettings.vue:43
#: src/views/preference/BasicSettings.vue:44
#, fuzzy
msgid "For Chinese user: https://mirror.ghproxy.com/"
msgstr "中國使用者https://mirror.ghproxy.com/"
@ -876,23 +884,27 @@ msgstr "取得發布資訊錯誤"
msgid "Getting the certificate, please wait..."
msgstr "正在取得憑證,請稍候..."
#: src/views/preference/BasicSettings.vue:35
#: src/views/preference/BasicSettings.vue:36
msgid "Github Proxy"
msgstr "Github 代理"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Hide"
msgstr ""
#: src/routes/index.ts:31
msgid "Home"
msgstr "首頁"
#: src/views/preference/BasicSettings.vue:31
#: src/views/preference/BasicSettings.vue:32
msgid "HTTP Challenge Port"
msgstr "HTTP 挑戰埠"
#: src/views/preference/BasicSettings.vue:13
#: src/views/preference/BasicSettings.vue:14
msgid "HTTP Host"
msgstr "HTTP 監聽主機"
#: src/views/preference/BasicSettings.vue:16
#: src/views/preference/BasicSettings.vue:17
msgid "HTTP Port"
msgstr "HTTP 監聽埠"
@ -904,7 +916,7 @@ msgstr "HTTP01"
msgid "If left blank, the default CA Dir will be used."
msgstr ""
#: src/views/preference/AuthSettings.vue:61
#: src/views/preference/AuthSettings.vue:63
msgid ""
"If the number of login failed attempts from a ip reach the max attempts in "
"ban threshold minutes, the ip will be banned for a period of time."
@ -977,7 +989,7 @@ msgstr "無效的郵箱!"
msgid "Invalid 2FA or recovery code"
msgstr ""
#: src/components/OTP/useOTPModal.ts:43
#: src/components/OTP/useOTPModal.ts:60
msgid "Invalid passcode or recovery code"
msgstr ""
@ -999,7 +1011,7 @@ msgstr "憑證狀態"
msgid "Issued certificate successfully"
msgstr "成功頒發憑證"
#: src/views/preference/BasicSettings.vue:22
#: src/views/preference/BasicSettings.vue:23
msgid "Jwt Secret"
msgstr "Jwt Secret"
@ -1129,7 +1141,7 @@ msgstr "管理使用者"
msgid "Managed Certificate"
msgstr "更換憑證"
#: src/views/preference/AuthSettings.vue:75
#: src/views/preference/AuthSettings.vue:77
msgid "Max Attempts"
msgstr ""
@ -1258,13 +1270,13 @@ msgstr "Nginx 重啟成功"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:90
#: src/views/domain/ngx_conf/LocationEditor.vue:71
#: src/views/notification/Notification.vue:70
#: src/views/preference/AuthSettings.vue:97
#: src/views/preference/BasicSettings.vue:101
#: src/views/preference/AuthSettings.vue:99
#: src/views/preference/BasicSettings.vue:102
#: src/views/stream/StreamList.vue:165
msgid "No"
msgstr "取消"
#: src/views/preference/BasicSettings.vue:25
#: src/views/preference/BasicSettings.vue:26
msgid "Node Secret"
msgstr "Node Secret"
@ -1499,7 +1511,7 @@ msgid "Recovered Successfully"
msgstr "儲存成功"
#: src/components/OTP/OTPAuthorization.vue:56
#: src/views/preference/components/TOTP.vue:167
#: src/views/preference/components/TOTP.vue:164
msgid "Recovery"
msgstr ""
@ -1511,7 +1523,7 @@ msgstr ""
msgid "Recovery Code:"
msgstr ""
#: src/views/preference/BasicSettings.vue:68
#: src/views/preference/BasicSettings.vue:69
#, fuzzy
msgid "Recursive Nameservers"
msgstr "網站域名 (server_name)"
@ -1565,7 +1577,7 @@ msgstr "重新載入中"
msgid "Reloading nginx"
msgstr "正在重新載入 Nginx"
#: src/views/preference/AuthSettings.vue:102
#: src/views/preference/AuthSettings.vue:104
msgid "Remove"
msgstr ""
@ -1627,7 +1639,7 @@ msgstr "重新啟動"
msgid "Restarting"
msgstr "正在重新啟動"
#: src/views/preference/BasicSettings.vue:19
#: src/views/preference/BasicSettings.vue:20
msgid "Run Mode"
msgstr "執行模式"
@ -1705,7 +1717,7 @@ msgstr "伺服器錯誤"
msgid "Server Info"
msgstr "伺服器資訊"
#: src/views/preference/BasicSettings.vue:117
#: src/views/preference/BasicSettings.vue:118
#, fuzzy
msgid "Server Name"
msgstr "伺服器資訊"
@ -1719,7 +1731,7 @@ msgstr "在指令中未找到 server_name"
msgid "server_name parameter is required"
msgstr "必須提供 server_name 參數"
#: src/views/preference/BasicSettings.vue:64
#: src/views/preference/BasicSettings.vue:65
msgid ""
"Set the recursive nameservers to override the systems nameservers for the "
"step of DNS challenge."
@ -1739,6 +1751,10 @@ msgstr "設定環境變數中"
msgid "Setting HTTP01 challenge provider"
msgstr "使用 HTTP01 挑戰提供者"
#: src/components/SensitiveString/SensitiveString.vue:41
msgid "Show"
msgstr ""
#: src/views/domain/ngx_conf/directive/DirectiveAdd.vue:51
msgid "Single Directive"
msgstr "單一指令"
@ -1868,7 +1884,7 @@ msgstr "目標"
msgid "Terminal"
msgstr "終端機"
#: src/views/preference/BasicSettings.vue:28
#: src/views/preference/BasicSettings.vue:29
msgid "Terminal Start Command"
msgstr "終端機啟動指令"
@ -1921,7 +1937,7 @@ msgid ""
"match the local version."
msgstr ""
#: src/views/preference/BasicSettings.vue:120
#: src/views/preference/BasicSettings.vue:121
msgid ""
"The server name should only contain letters, unicode, numbers, hyphens, "
"dashes, and dots."
@ -1934,8 +1950,8 @@ msgid ""
"need to get the certificate, supportmultiple domains."
msgstr "注意:目前設定中的 server_name 必須為需要申請憑證的域名。"
#: src/views/preference/BasicSettings.vue:38
#: src/views/preference/BasicSettings.vue:50
#: src/views/preference/BasicSettings.vue:39
#: src/views/preference/BasicSettings.vue:51
#, fuzzy
msgid "The url is invalid"
msgstr "此功能在演示中不可用。"
@ -1974,7 +1990,7 @@ msgid ""
"This will upgrade or reinstall the Nginx UI on %{nodeNames} to %{version}."
msgstr ""
#: src/views/preference/AuthSettings.vue:60
#: src/views/preference/AuthSettings.vue:62
#: src/views/preference/LogrotateSettings.vue:12
msgid "Tips"
msgstr ""
@ -2017,7 +2033,7 @@ msgstr ""
msgid "Trash"
msgstr ""
#: src/components/OTP/useOTPModal.ts:49
#: src/components/OTP/useOTPModal.ts:66
msgid "Two-factor authentication required"
msgstr ""
@ -2158,8 +2174,8 @@ msgstr "將憑證寫入磁碟"
#: src/views/domain/ngx_conf/directive/DirectiveEditorItem.vue:89
#: src/views/domain/ngx_conf/LocationEditor.vue:70
#: src/views/preference/AuthSettings.vue:96
#: src/views/preference/BasicSettings.vue:100
#: src/views/preference/AuthSettings.vue:98
#: src/views/preference/BasicSettings.vue:101
msgid "Yes"
msgstr "是的"

View file

@ -3,6 +3,7 @@ import { inject } from 'vue'
import Draggable from 'vuedraggable'
import { DeleteOutlined, HolderOutlined } from '@ant-design/icons-vue'
import type { Settings } from '@/views/preference/typedef'
import SensitiveString from '@/components/SensitiveString/SensitiveString.vue'
const data: Settings = inject('data') as Settings
const errors: Record<string, Record<string, string>> = inject('errors') as Record<string, Record<string, string>>
@ -20,10 +21,10 @@ const errors: Record<string, Record<string, string>> = inject('errors') as Recor
<p>{{ data.server.run_mode }}</p>
</AFormItem>
<AFormItem :label="$gettext('Jwt Secret')">
<p>{{ data.server.jwt_secret }}</p>
<SensitiveString :value="data.server.jwt_secret" />
</AFormItem>
<AFormItem :label="$gettext('Node Secret')">
<p>{{ data.server.node_secret }}</p>
<SensitiveString :value="data.server.node_secret" />
</AFormItem>
<AFormItem :label="$gettext('Terminal Start Command')">
<p>{{ data.server.start_cmd }}</p>

View file

@ -1,54 +1,13 @@
<script setup lang="ts">
import StdCurd from '@/components/StdDesign/StdDataDisplay/StdCurd.vue'
import user from '@/api/user'
import { datetime } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
import { input, password } from '@/components/StdDesign/StdDataEntry'
import type { Column } from '@/components/StdDesign/types'
const columns: Column[] = [{
title: () => $gettext('Username'),
dataIndex: 'name',
sortable: true,
pithy: true,
edit: {
type: input,
},
search: true,
}, {
title: () => $gettext('Password'),
dataIndex: 'password',
sortable: true,
pithy: true,
edit: {
type: password,
config: {
placeholder: () => $gettext('Leave blank for no change'),
generate: true,
},
},
hiddenInTable: true,
}, {
title: () => $gettext('Created at'),
dataIndex: 'created_at',
customRender: datetime,
sortable: true,
pithy: true,
}, {
title: () => $gettext('Updated at'),
dataIndex: 'updated_at',
customRender: datetime,
sortable: true,
pithy: true,
}, {
title: () => $gettext('Action'),
dataIndex: 'action',
}]
import userColumns from '@/views/user/userColumns'
</script>
<template>
<StdCurd
:title="$gettext('Manage Users')"
:columns="columns"
:columns="userColumns"
:api="user"
/>
</template>

View file

@ -0,0 +1,63 @@
import { Tag } from 'ant-design-vue'
import { h } from 'vue'
import type { Column, JSXElements } from '@/components/StdDesign/types'
import { input, password } from '@/components/StdDesign/StdDataEntry'
import type { customRender } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
import { datetime } from '@/components/StdDesign/StdDataDisplay/StdTableTransformer'
const columns: Column[] = [{
title: () => $gettext('Username'),
dataIndex: 'name',
sortable: true,
pithy: true,
edit: {
type: input,
},
search: true,
}, {
title: () => $gettext('Password'),
dataIndex: 'password',
sortable: true,
pithy: true,
edit: {
type: password,
config: {
placeholder: () => $gettext('Leave blank for no change'),
generate: true,
},
},
hiddenInTable: true,
}, {
title: () => $gettext('2FA'),
dataIndex: 'enabled_2fa',
customRender: (args: customRender) => {
const template: JSXElements = []
const { text } = args
if (text === true || text > 0)
template.push(<Tag color="green">{$gettext('Enabled')}</Tag>)
else
template.push(<Tag color="orange">{$gettext('Disabled')}</Tag>)
return h('div', template)
},
sortable: true,
pithy: true,
}, {
title: () => $gettext('Created at'),
dataIndex: 'created_at',
customRender: datetime,
sortable: true,
pithy: true,
}, {
title: () => $gettext('Updated at'),
dataIndex: 'updated_at',
customRender: datetime,
sortable: true,
pithy: true,
}, {
title: () => $gettext('Action'),
dataIndex: 'action',
}]
export default columns

View file

@ -1,5 +1,7 @@
package model
import "gorm.io/gorm"
type Auth struct {
Model
@ -7,6 +9,7 @@ type Auth struct {
Password string `json:"-"`
Status bool `json:"status" gorm:"default:1"`
OTPSecret []byte `json:"-" gorm:"type:blob"`
Enabled2FA bool `json:"enabled_2fa" gorm:"-"`
}
type AuthToken struct {
@ -15,6 +18,11 @@ type AuthToken struct {
ExpiredAt int64 `json:"expired_at" gorm:"default:0"`
}
func (u *Auth) AfterFind(tx *gorm.DB) error {
u.Enabled2FA = u.EnabledOTP()
return nil
}
func (u *Auth) EnabledOTP() bool {
return len(u.OTPSecret) != 0
}