♻️ refactor(view): System and Auth Control

This commit is contained in:
web
2025-08-04 08:58:57 -07:00
committed by speakeloudest
parent 9ba3ec40d6
commit 97aa24ba8e
333 changed files with 13905 additions and 9399 deletions
-16
View File
@@ -1,16 +0,0 @@
{
"clientId": "ID de Servicio",
"clientIdDescription": "ID de servicio de Apple, lo puedes obtener en el Portal de Desarrolladores de Apple",
"clientSecret": "Clave Privada",
"clientSecretDescription": "El contenido de la clave privada (archivo .p8) utilizado para la autenticación con Apple",
"enable": "Habilitar",
"enableDescription": "Después de habilitarlo, los usuarios pueden iniciar sesión con su ID de Apple",
"keyId": "ID de clave",
"keyIdDescription": "El ID de tu clave privada del Portal de Desarrolladores de Apple",
"redirectUri": "URL de redirección",
"redirectUriDescription": "Por favor, completa la dirección API de la URL redirigida después de pasar exitosamente la autenticación de Apple. No uses / al final.",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitoso",
"teamId": "ID del equipo",
"teamIdDescription": "ID de Equipo de Desarrolladores de Apple"
}
+188 -56
View File
@@ -1,14 +1,149 @@
{
"invite": {
"commissionFirstTimeOnly": "Comisión Solo por la Primera Compra",
"commissionFirstTimeOnlyDescription": "Cuando está habilitado, la comisión se genera solo en el primer pago del invitador; puedes configurar usuarios individuales en la gestión de usuarios",
"enableForcedInvite": "Habilitar Invitación Forzada",
"enableForcedInviteDescription": "Cuando está habilitado, solo los usuarios invitados pueden registrarse",
"inputPlaceholder": "Ingresar",
"inviteCommissionPercentage": "Porcentaje de Comisión por Invitación",
"inviteCommissionPercentageDescription": "Proporción de distribución de comisión global por defecto; puedes configurar proporciones individuales en la gestión de usuarios",
"inviteSettings": "Configuración de Invitaciones",
"saveSuccess": "Guardado Exitoso"
"apple": {
"clientId": "ID de Servicio",
"clientIdDescription": "ID de servicio de Apple, lo puedes obtener en el Portal de Desarrolladores de Apple",
"clientSecret": "Clave Privada",
"clientSecretDescription": "El contenido de la clave privada (archivo .p8) utilizado para la autenticación con Apple",
"description": "Autenticar usuarios con cuentas de Apple",
"enable": "Habilitar",
"enableDescription": "Después de habilitarlo, los usuarios pueden iniciar sesión con su ID de Apple",
"keyId": "ID de clave",
"keyIdDescription": "El ID de tu clave privada del Portal de Desarrolladores de Apple",
"redirectUri": "URL de redirección",
"redirectUriDescription": "Por favor, completa la dirección API de la URL redirigida después de pasar exitosamente la autenticación de Apple. No uses / al final.",
"teamId": "ID del equipo",
"teamIdDescription": "ID de Equipo de Desarrolladores de Apple",
"title": "Inicio de sesión con Apple"
},
"common": {
"cancel": "Cancelar",
"save": "Guardar",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitosamente"
},
"communicationMethods": "Communication Methods",
"device": {
"blockVirtualMachine": "Bloquear Máquina Virtual",
"blockVirtualMachineDescription": "Cuando está habilitado, se evitará que los dispositivos se ejecuten en máquinas virtuales o emuladores",
"communicationKey": "Clave de Comunicación",
"communicationKeyDescription": "La clave de comunicación se utiliza para la comunicación segura entre dispositivos y servidores",
"description": "Autenticar usuarios con identificadores de dispositivos",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se admiten múltiples identificadores de dispositivos como IMEI/IDFA/IDFV/AndroidID/dirección Mac para iniciar sesión y registrarse",
"enableSecurity": "Habilitar Cifrado de Comunicación",
"enableSecurityDescription": "Cuando está habilitado, la comunicación entre dispositivos y servidores será cifrada",
"showAds": "Mostrar Anuncios",
"showAdsDescription": "Cuando está habilitado, se mostrarán anuncios en los dispositivos",
"title": "Autenticación de Dispositivos"
},
"deviceAuthMethods": "Device Authentication Methods",
"email": {
"basicSettings": "Configuraciones Básicas",
"description": "Autenticar usuarios con direcciones de correo electrónico",
"emailSuffixWhitelist": "Lista Blanca de Sufijos de Correo Electrónico",
"emailSuffixWhitelistDescription": "Cuando está habilitado, solo los correos electrónicos con sufijos en la lista pueden registrarse",
"emailVerification": "Verificación de Correo Electrónico",
"emailVerificationDescription": "Cuando esté habilitado, los usuarios deberán verificar su correo electrónico",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se activarán las funciones de registro por correo electrónico, inicio de sesión, vinculación y desvinculación.",
"expirationEmailTemplate": "Plantilla de Aviso de Expiración",
"expirationTemplate": "Aviso de Expiración",
"inputPlaceholder": "Ingresa valor...",
"logs": "Registros",
"logsDescription": "Ver historial de correos enviados y su estado",
"maintenanceEmailTemplate": "Plantilla de Aviso de Mantenimiento",
"maintenanceTemplate": "Aviso de Mantenimiento",
"sendFailure": "No se pudo enviar el correo electrónico de prueba, por favor verifica la configuración.",
"sendSuccess": "Correo de prueba enviado exitosamente.",
"sendTestEmail": "Enviar correo de prueba",
"sendTestEmailDescription": "Envía un correo electrónico de prueba para verificar la configuración.",
"senderAddress": "Dirección del Remitente",
"senderAddressDescription": "La dirección de correo electrónico predeterminada utilizada para enviar correos electrónicos.",
"smtpAccount": "Cuenta SMTP",
"smtpAccountDescription": "La cuenta de correo electrónico utilizada para la autenticación.",
"smtpEncryptionMethod": "Método de Cifrado SMTP",
"smtpEncryptionMethodDescription": "Elija si desea habilitar el cifrado SSL/TLS.",
"smtpPassword": "Contraseña SMTP",
"smtpPasswordDescription": "La contraseña para la cuenta SMTP.",
"smtpServerAddress": "Dirección del Servidor SMTP",
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos electrónicos.",
"smtpServerPort": "Puerto del Servidor SMTP",
"smtpServerPortDescription": "Especifique el puerto utilizado para conectarse al servidor SMTP.",
"smtpSettings": "Configuraciones SMTP",
"templateVariables": {
"code": {
"description": "Código de verificación de 6 dígitos",
"title": "Código de Verificación"
},
"expire": {
"description": "Tiempo de validez del código de verificación (minutos)",
"title": "Período de Validez"
},
"expireDate": {
"description": "Fecha de expiración del servicio, recuerda a los usuarios cuándo expira el servicio",
"title": "Fecha de Expiración"
},
"maintenanceDate": {
"description": "Fecha de mantenimiento del sistema, muestra la fecha de inicio del mantenimiento",
"title": "Fecha de Mantenimiento"
},
"maintenanceTime": {
"description": "Tiempo estimado de mantenimiento, muestra el período o duración del mantenimiento",
"title": "Duración del Mantenimiento"
},
"siteLogo": {
"description": "URL de la imagen del logo del sitio web",
"title": "Logo del Sitio"
},
"siteName": {
"description": "Nombre actual del sitio web",
"title": "Nombre del Sitio"
},
"title": "Variables de Plantilla de Correo",
"type": {
"conditionalSyntax": "Soporta sintaxis condicional para cambiar contenido según el tipo",
"description": "Identificador de tipo de correo, 1 para código de verificación de registro, otros para código de verificación de restablecimiento de contraseña",
"title": "Tipo de Correo"
}
},
"title": "Autenticación por Correo Electrónico",
"trafficExceedEmailTemplate": "Plantilla de Aviso de Límite de Tráfico",
"trafficTemplate": "Límite de Tráfico",
"verifyEmailTemplate": "Plantilla de Correo de Verificación",
"verifyTemplate": "Correo de Verificación",
"whitelistSuffixes": "Sufijos de Lista Blanca",
"whitelistSuffixesDescription": "Utilizado para la verificación de correo electrónico durante el registro; uno por línea",
"whitelistSuffixesPlaceholder": "Ingresa los sufijos de correo electrónico, uno por línea"
},
"facebook": {
"clientId": "ID de Cliente",
"clientIdDescription": "ID de la aplicación de Facebook desde la Consola de Desarrolladores de Facebook",
"clientSecret": "Secreto del Cliente",
"clientSecretDescription": "Secreto de la aplicación de Facebook desde la Consola de Desarrolladores de Facebook",
"description": "Autenticar usuarios con cuentas de Facebook",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, los usuarios pueden iniciar sesión con su cuenta de Facebook",
"title": "Inicio de sesión con Facebook"
},
"github": {
"clientId": "ID de Cliente de GitHub",
"clientIdDescription": "El ID de cliente de la configuración de tu aplicación OAuth de GitHub",
"clientSecret": "Secreto del Cliente de GitHub",
"clientSecretDescription": "El secreto del cliente de la configuración de tu aplicación OAuth de GitHub",
"description": "Autenticar usuarios con cuentas de GitHub",
"enable": "Habilitar la autenticación de GitHub",
"enableDescription": "Permitir a los usuarios iniciar sesión con sus cuentas de GitHub",
"title": "Inicio de sesión con GitHub"
},
"google": {
"clientId": "ID de Cliente",
"clientIdDescription": "ID de cliente de Google OAuth 2.0 desde la Consola de Google Cloud",
"clientSecret": "Secreto del Cliente",
"clientSecretDescription": "Secreto del cliente de Google OAuth 2.0 desde la Consola de Google Cloud",
"description": "Autenticar usuarios con cuentas de Google",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, los usuarios pueden iniciar sesión con su cuenta de Google",
"title": "Inicio de sesión con Google"
},
"log": {
"content": "Contenido",
@@ -23,52 +158,49 @@
"to": "Destinatario",
"updatedAt": "Actualizado En"
},
"register": {
"day": "Día",
"hour": "Hora",
"ipRegistrationLimit": "Límite de Registro por IP",
"ipRegistrationLimitDescription": "Cuando está habilitado, las IP que cumplan con los requisitos de la regla serán restringidas para registrarse; ten en cuenta que la determinación de IP puede causar problemas debido a CDNs o proxies de frontend",
"minute": "Minuto",
"month": "Mes",
"noLimit": "Sin Límite",
"penaltyTime": "Tiempo de Penalización (minutos)",
"penaltyTimeDescription": "Los usuarios deben esperar a que expire el tiempo de penalización antes de registrarse nuevamente",
"registerSettings": "Configuración de Registro",
"registrationLimitCount": "Conteo de Límite de Registro",
"registrationLimitCountDescription": "Habilitar penalización después de alcanzar el límite de registro",
"saveSuccess": "Guardado Exitoso",
"stopNewUserRegistration": "Detener Registro de Nuevos Usuarios",
"stopNewUserRegistrationDescription": "Cuando está habilitado, nadie puede registrarse",
"trialDuration": "Duración de la Prueba",
"trialRegistration": "Registro de Prueba",
"trialRegistrationDescription": "Habilitar registro de prueba; modifica primero el paquete de prueba y la duración",
"trialSubscribePlan": "Plan de Suscripción de Prueba",
"trialSubscribePlanDescription": "Selecciona el plan de suscripción de prueba",
"year": "Año"
"phone": {
"accessLabel": "Acceso",
"applyPlatform": "Aplicar Plataforma",
"description": "Autenticar usuarios con números de teléfono",
"enable": "Habilitar",
"enableTip": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación del teléfono móvil",
"endpointLabel": "Punto final",
"logs": "Registros",
"logsDescription": "Ver historial de mensajes SMS enviados y su estado",
"phoneNumberLabel": "Número de Teléfono",
"placeholders": {
"template": "Su código de verificación es {code}, válido por 5 minutos"
},
"platform": "Plataforma de SMS",
"platformConfigTip": "Por favor, complete la configuración proporcionada de {key}",
"platformTip": "Por favor, seleccione la plataforma de SMS",
"secretLabel": "Secreto",
"sendFailed": "Envío Fallido",
"sendSuccess": "Envío Exitoso",
"settings": "Configuración",
"signNameLabel": "Nombre de firma",
"template": "Plantilla de SMS",
"templateCodeLabel": "Código de plantilla",
"templateTip": "Por favor, completa la plantilla de SMS, mantén {code} en el medio, de lo contrario la función de SMS no funcionará",
"testSms": "Enviar SMS de Prueba",
"testSmsPhone": "Ingrese número de teléfono",
"testSmsTip": "Envía un SMS de prueba para verificar tu configuración",
"title": "Autenticación por Teléfono",
"updateSuccess": "Actualización Exitosa",
"whitelistAreaCode": "Código de área en lista blanca",
"whitelistAreaCodeTip": "Por favor ingrese los códigos de área en la lista blanca, ej., 1, 852, 886, 888",
"whitelistValidation": "Verificación de lista blanca",
"whitelistValidationTip": "Cuando está habilitado, solo los códigos de área en la lista blanca pueden enviar SMS"
},
"verify": {
"inputPlaceholder": "Ingresar",
"loginVerificationCode": "Código de Verificación de Inicio de Sesión",
"loginVerificationCodeDescription": "Verificación humana durante el inicio de sesión",
"registrationVerificationCode": "Código de Verificación de Registro",
"registrationVerificationCodeDescription": "Verificación humana durante el registro",
"resetPasswordVerificationCode": "Código de Verificación para Restablecer Contraseña",
"resetPasswordVerificationCodeDescription": "Verificación humana durante el restablecimiento de contraseña",
"saveSuccess": "Guardado Exitoso",
"turnstileSecretDescription": "Clave secreta de Turnstile proporcionada por Cloudflare",
"turnstileSiteKeyDescription": "Clave del sitio de Turnstile proporcionada por Cloudflare",
"verifySettings": "Configuración de Verificación"
},
"verify-code": {
"dailyLimit": "Límite Diario",
"dailyLimitDescription": "Número máximo de códigos de verificación que se pueden enviar por día",
"expireTime": "Tiempo de Expiración",
"expireTimeDescription": "Tiempo de expiración del código de verificación (segundos)",
"interval": "Intervalo de Envío",
"intervalDescription": "Intervalo mínimo entre el envío de códigos de verificación (segundos)",
"saveSuccess": "Guardado Exitoso",
"second": "segundos",
"times": "veces",
"verifyCodeSettings": "Configuración del Código de Verificación"
"socialAuthMethods": "Social Authentication Methods",
"telegram": {
"clientId": "ID del Bot",
"clientIdDescription": "ID del Bot de Telegram, lo puedes obtener de @BotFather",
"clientSecret": "Token del Bot",
"clientSecretDescription": "Token del Bot de Telegram, lo puedes obtener de @BotFather",
"description": "Autenticar usuarios con cuentas de Telegram",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación de teléfonos móviles",
"title": "Inicio de sesión con Telegram"
}
}
-14
View File
@@ -1,14 +0,0 @@
{
"blockVirtualMachine": "Bloquear Máquina Virtual",
"blockVirtualMachineDescription": "Cuando está habilitado, se evitará que los dispositivos se ejecuten en máquinas virtuales o emuladores",
"communicationKey": "Clave de Comunicación",
"communicationKeyDescription": "La clave de comunicación se utiliza para la comunicación segura entre dispositivos y servidores",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se admiten múltiples identificadores de dispositivos como IMEI/IDFA/IDFV/AndroidID/dirección Mac para iniciar sesión y registrarse",
"enableSecurity": "Habilitar Cifrado de Comunicación",
"enableSecurityDescription": "Cuando está habilitado, la comunicación entre dispositivos y servidores será cifrada",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitoso",
"showAds": "Mostrar Anuncios",
"showAdsDescription": "Cuando está habilitado, se mostrarán anuncios en los dispositivos"
}
-49
View File
@@ -1,49 +0,0 @@
{
"emailBasicConfigDescription": "Configura los ajustes del servidor SMTP y las opciones de verificación de correo electrónico",
"emailLogsDescription": "Ver el historial de correos electrónicos enviados y su estado",
"emailSuffixWhitelist": "Lista Blanca de Sufijos de Correo Electrónico",
"emailSuffixWhitelistDescription": "Cuando está habilitado, solo los correos electrónicos con sufijos en la lista pueden registrarse",
"emailVerification": "Verificación de Correo Electrónico",
"emailVerificationDescription": "Cuando esté habilitado, los usuarios deberán verificar su correo electrónico",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se activarán las funciones de registro por correo electrónico, inicio de sesión, vinculación y desvinculación.",
"expiration_email_template": "Plantilla de Aviso de Vencimiento",
"expiration_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
"failed": "Fallido",
"inputPlaceholder": "Ingresa valor...",
"logs": "Registros",
"maintenance_email_template": "Plantilla de Aviso de Mantenimiento",
"maintenance_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
"recipient": "Destinatario",
"saveFailed": "Error al guardar la configuración",
"saveSuccess": "Configuración guardada exitosamente.",
"sendFailure": "No se pudo enviar el correo electrónico de prueba, por favor verifica la configuración.",
"sendSuccess": "Correo de prueba enviado exitosamente.",
"sendTestEmail": "Enviar correo de prueba",
"sendTestEmailDescription": "Envía un correo electrónico de prueba para verificar la configuración.",
"senderAddress": "Dirección del Remitente",
"senderAddressDescription": "La dirección de correo electrónico predeterminada utilizada para enviar correos electrónicos.",
"sent": "Enviado",
"sentAt": "Enviado A",
"settings": "Configuraciones",
"smtpAccount": "Cuenta SMTP",
"smtpAccountDescription": "La cuenta de correo electrónico utilizada para la autenticación.",
"smtpEncryptionMethod": "Método de Cifrado SMTP",
"smtpEncryptionMethodDescription": "Elija si desea habilitar el cifrado SSL/TLS.",
"smtpPassword": "Contraseña SMTP",
"smtpPasswordDescription": "La contraseña para la cuenta SMTP.",
"smtpServerAddress": "Dirección del Servidor SMTP",
"smtpServerAddressDescription": "Especifique la dirección del servidor utilizada para enviar correos electrónicos.",
"smtpServerPort": "Puerto del Servidor SMTP",
"smtpServerPortDescription": "Especifique el puerto utilizado para conectarse al servidor SMTP.",
"status": "Estado",
"subject": "Asunto",
"template": "Plantilla",
"traffic_exceed_email_template": "Plantilla de Notificación de Exceso de Tráfico",
"traffic_exceed_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
"verify_email_template": "Plantilla de Correo Electrónico de Verificación",
"verify_email_templateDescription": "Los marcadores de posición {after}.variable{before} serán reemplazados con datos reales. Asegúrate de mantener estas variables.",
"whitelistSuffixes": "Sufijos de Lista Blanca",
"whitelistSuffixesDescription": "Utilizado para la verificación de correo electrónico durante el registro; uno por línea",
"whitelistSuffixesPlaceholder": "Ingresa los sufijos de correo electrónico, uno por línea"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID de Cliente",
"clientIdDescription": "ID de la aplicación de Facebook desde la Consola de Desarrolladores de Facebook",
"clientSecret": "Secreto del Cliente",
"clientSecretDescription": "Secreto de la aplicación de Facebook desde la Consola de Desarrolladores de Facebook",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, los usuarios pueden iniciar sesión con su cuenta de Facebook",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitoso"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID de Cliente de GitHub",
"clientIdDescription": "El ID de cliente de la configuración de tu aplicación OAuth de GitHub",
"clientSecret": "Secreto del Cliente de GitHub",
"clientSecretDescription": "El secreto del cliente de la configuración de tu aplicación OAuth de GitHub",
"enable": "Habilitar la autenticación de GitHub",
"enableDescription": "Permitir a los usuarios iniciar sesión con sus cuentas de GitHub",
"saveFailed": "Error al guardar la configuración de GitHub",
"saveSuccess": "Configuración de GitHub guardada exitosamente"
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID de Cliente",
"clientIdDescription": "ID de cliente de Google OAuth 2.0 desde la Consola de Google Cloud",
"clientSecret": "Secreto del Cliente",
"clientSecretDescription": "Secreto del cliente de Google OAuth 2.0 desde la Consola de Google Cloud",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, los usuarios pueden iniciar sesión con su cuenta de Google",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitoso"
}
-32
View File
@@ -1,32 +0,0 @@
{
"accessLabel": "Acceso",
"applyPlatform": "Aplicar Plataforma",
"enable": "Habilitar",
"enableTip": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación del teléfono móvil",
"endpointLabel": "Punto final",
"logs": "Registros",
"phoneNumberLabel": "Número de Teléfono",
"placeholders": {
"template": "Su código de verificación es {code}, válido por 5 minutos",
"templateCode": "Ingrese el código de la plantilla"
},
"platform": "Plataforma de SMS",
"platformConfigTip": "Por favor, complete la configuración proporcionada de {key}",
"platformTip": "Por favor, seleccione la plataforma de SMS",
"secretLabel": "Secreto",
"sendFailed": "Envío Fallido",
"sendSuccess": "Envío Exitoso",
"settings": "Configuración",
"signNameLabel": "Nombre de firma",
"template": "Plantilla de SMS",
"templateCodeLabel": "Código de plantilla",
"templateTip": "Por favor, completa la plantilla de SMS, mantén {code} en el medio, de lo contrario la función de SMS no funcionará",
"testSms": "Enviar SMS de Prueba",
"testSmsPhone": "Ingrese número de teléfono",
"testSmsTip": "Envía un SMS de prueba para verificar tu configuración",
"updateSuccess": "Actualización Exitosa",
"whitelistAreaCode": "Código de área en lista blanca",
"whitelistAreaCodeTip": "Por favor ingrese los códigos de área en la lista blanca, ej., 1, 852, 886, 888",
"whitelistValidation": "Verificación de lista blanca",
"whitelistValidationTip": "Cuando está habilitado, solo los códigos de área en la lista blanca pueden enviar SMS"
}
+6
View File
@@ -8,9 +8,12 @@
"createRule": "Agregar Regla",
"createSuccess": "Regla creada con éxito",
"createdAt": "Creado En",
"default": "Predeterminado",
"defaultRule": "Regla Predeterminada",
"delete": "Eliminar",
"deleteSuccess": "Regla eliminada con éxito",
"deleteWarning": "¿Está seguro de que desea eliminar esta regla? Esta acción no se puede deshacer.",
"direct": "Directo",
"downloadTemplate": "Descargar Plantilla",
"edit": "Editar",
"editRule": "Editar Regla",
@@ -29,11 +32,14 @@
"noValidRules": "No se encontraron reglas válidas",
"pleaseUploadFile": "Por favor, suba un archivo YAML",
"preview": "Vista Previa",
"reject": "Rechazar",
"rulesFormat": "Formato de regla: tipo de regla, contenido de coincidencia, [política], donde la política es opcional.\nSi no se especifica la política, se utilizará automáticamente el nombre del grupo de reglas actual. Ejemplos:",
"rulesLabel": "Contenido de la Regla",
"searchRule": "Buscar nombre de regla",
"selectTags": "Seleccionar etiquetas de nodo",
"selectType": "Seleccionar tipo de regla",
"tags": "Etiquetas de Nodo",
"tagsLabel": "Etiquetas de Nodo",
"type": "Tipo de Regla",
"updateSuccess": "Regla actualizada con éxito"
}
+100 -75
View File
@@ -33,21 +33,22 @@
"description": "Descripción",
"edit": "Editar",
"editNodeGroup": "Editar grupo de nodos",
"form": {
"cancel": "Cancelar",
"confirm": "Confirmar",
"description": "Descripción",
"name": "Nombre"
},
"name": "Nombre",
"title": "Lista de grupos de nodos",
"updatedAt": "Fecha de actualización"
},
"groupForm": {
"cancel": "Cancelar",
"confirm": "Confirmar",
"description": "Descripción",
"name": "Nombre"
},
"node": {
"abnormal": "Anormal",
"actions": "Acciones",
"address": "Dirección",
"all": "Todo",
"basicInfo": "Información Básica",
"cancel": "Cancelar",
"confirm": "Confirmar",
"confirmDelete": "¿Estás seguro de que deseas eliminar?",
@@ -59,96 +60,120 @@
"delete": "Eliminar",
"deleteSuccess": "Eliminación exitosa",
"deleteWarning": "Después de eliminar, los datos no se podrán recuperar. Proceda con precaución.",
"detail": "Detalle",
"disabled": "Deshabilitado",
"disk": "Disco",
"edit": "Editar",
"editNode": "Editar nodo",
"enable": "Habilitar",
"form": {
"allowInsecure": "Permitir inseguro",
"cancel": "Cancelar",
"city": "Ciudad",
"confirm": "Confirmar",
"country": "País",
"edit": "Editar",
"editSecurity": "Editar configuración de seguridad",
"enableTLS": "Habilitar TLS",
"encryptionMethod": "Método de encriptación",
"flow": "Algoritmo de control de flujo",
"groupId": "Grupo de Nodo",
"hopInterval": "Intervalo de salto",
"hopPorts": "Puertos de salto",
"hopPortsPlaceholder": "Varios puertos separados por comas",
"name": "Nombre",
"obfsPassword": "Contraseña de ofuscación",
"obfsPasswordPlaceholder": "Dejar en blanco para no ofuscar",
"path": "Ruta",
"pleaseSelect": "Por favor seleccione",
"port": "Puerto del servidor",
"protocol": "Protocolo",
"relayHost": "Dirección de retransmisión",
"relayMode": "Modo de retransmisión",
"relayModeOptions": {
"all": "Todos",
"none": "Ninguno",
"random": "Aleatorio"
},
"relayPort": "Puerto de retransmisión",
"relayPrefix": "Prefijo de retransmisión",
"remarks": "Comentarios",
"security": "Seguridad",
"securityConfig": "Configuración de seguridad",
"security_config": {
"fingerprint": "Huella digital",
"privateKey": "Clave privada",
"privateKeyPlaceholder": "Dejar en blanco para generar automáticamente",
"publicKey": "Clave pública",
"publicKeyPlaceholder": "Dejar en blanco para generar automáticamente",
"serverAddress": "Dirección del servidor",
"serverAddressPlaceholder": "Dirección objetivo de REALITY, por defecto usa SNI",
"serverName": "Nombre del servidor (SNI)",
"serverNamePlaceholder": "Obligatorio para REALITY, debe coincidir con el backend",
"serverPort": "Puerto del servidor",
"serverPortPlaceholder": "Puerto objetivo de REALITY, por defecto 443",
"shortId": "ID corto",
"shortIdPlaceholder": "Dejar en blanco para generar automáticamente",
"sni": "Indicación de nombre del servidor (SNI)"
},
"selectEncryptionMethod": "Seleccionar método de encriptación",
"selectNodeGroup": "Seleccionar grupo de nodos",
"selectProtocol": "Seleccionar protocolo",
"selectRelayMode": "Seleccionar modo de retransmisión",
"serverAddr": "Dirección del servidor",
"serverKey": "Clave del Servidor",
"serverName": "Nombre del servicio",
"speedLimit": "Límite de velocidad",
"speedLimitPlaceholder": "Sin límite",
"tags": "Etiquetas",
"tagsPlaceholder": "Usa Enter o coma (,) para ingresar múltiples etiquetas",
"trafficRatio": "Tasa de tráfico",
"transport": "Protocolo de transporte",
"transportConfig": "Configuración del protocolo de transporte",
"transportHost": "Dirección del servicio de transporte",
"transportPath": "Ruta de transporte",
"transportServerName": "Nombre del servicio de transporte"
},
"enabled": "Habilitado",
"expireTime": "Tiempo de Expiración",
"hide": "Ocultar",
"id": "ID",
"ipAddresses": "Direcciones IP",
"lastUpdated": "Última actualización",
"location": "Ubicación",
"memory": "Memoria",
"name": "Nombre",
"noData": "--",
"node": "Nodo",
"nodeDetail": "Detalle del Nodo",
"nodeGroup": "Grupo de nodos",
"nodeStatus": "Estado del Nodo",
"normal": "Normal",
"onlineCount": "Número de personas en línea",
"onlineUsers": "Usuarios en línea",
"protocol": "Protocolo",
"rate": "Tasa",
"relay": "Retransmisión",
"serverAddr": "Dirección del servidor",
"speedLimit": "Límite de velocidad",
"status": "Estado",
"subscribeId": "ID de Suscripción",
"subscribeName": "Nombre de Suscripción",
"subscription": "Suscripción",
"tags": "Etiquetas",
"trafficRatio": "Tasa de tráfico",
"trafficUsage": "Uso de Tráfico",
"type": "Tipo",
"updateSuccess": "Actualización exitosa",
"updatedAt": "Fecha de actualización"
"updatedAt": "Fecha de actualización",
"userAccount": "Cuenta de Usuario",
"userDetail": "Detalle del Usuario",
"userId": "ID de Usuario"
},
"nodeForm": {
"allowInsecure": "Permitir Inseguro",
"cancel": "Cancelar",
"city": "Ciudad",
"confirm": "Confirmar",
"congestionController": "Controlador de Congestión",
"country": "País",
"disableSni": "Deshabilitar SNI",
"edit": "Editar",
"editSecurity": "Editar Configuración de Seguridad",
"enableTLS": "Habilitar TLS",
"encryptionMethod": "Método de Cifrado",
"fingerprint": "Huella Digital",
"flow": "Algoritmo de Control de Flujo",
"groupId": "Grupo de Nodos",
"hopInterval": "Intervalo de Salto",
"hopPorts": "Puertos de Salto",
"hopPortsPlaceholder": "Separe múltiples puertos con comas",
"name": "Nombre",
"obfsPassword": "Contraseña de Ofuscación",
"obfsPasswordPlaceholder": "Deje en blanco para no ofuscar",
"path": "Ruta",
"pleaseSelect": "Por Favor Seleccione",
"port": "Puerto del Servidor",
"protocol": "Protocolo",
"reduceRtt": "Reducir RTT",
"relayHost": "Host de Relevo",
"relayMode": "Modo de Relevo",
"relayPort": "Puerto de Relevo",
"relayPrefix": "Prefijo de Relevo",
"remarks": "Observaciones",
"security": "Seguridad",
"securityConfig": "Configuración de Seguridad",
"selectEncryptionMethod": "Seleccionar Método de Cifrado",
"selectNodeGroup": "Seleccionar Grupo de Nodos",
"selectProtocol": "Seleccionar Protocolo",
"selectRelayMode": "Seleccionar Modo de Relevo",
"serverAddr": "Dirección del Servidor",
"serverKey": "Clave del Servidor",
"serverName": "Nombre del Servicio",
"speedLimit": "Límite de Velocidad",
"speedLimitPlaceholder": "Ilimitado",
"tags": "Etiquetas",
"tagsPlaceholder": "Use Enter o coma (,) para ingresar múltiples etiquetas",
"trafficRatio": "Tasa de Tráfico",
"transport": "Configuración del Protocolo de Transporte",
"transportConfig": "Configuración del Protocolo de Transporte",
"transportHost": "Dirección del Servidor de Transporte",
"transportPath": "Ruta de Transporte",
"transportServerName": "Nombre del Servidor de Transporte",
"udpRelayMode": "Modo de Relevo UDP"
},
"relayModeOptions": {
"all": "Todos",
"none": "Ninguno",
"random": "Aleatorio"
},
"securityConfig": {
"fingerprint": "Huella Digital",
"privateKey": "Clave Privada",
"privateKeyPlaceholder": "Deje en blanco para auto-generación",
"publicKey": "Clave Pública",
"publicKeyPlaceholder": "Deje en blanco para auto-generación",
"serverAddress": "Dirección del Servidor",
"serverAddressPlaceholder": "Dirección de destino REALITY, por defecto usando SNI",
"serverName": "Nombre del Servidor (SNI)",
"serverNamePlaceholder": "REALITY requerido, consistente con el backend",
"serverPort": "Puerto del Servidor",
"serverPortPlaceholder": "Puerto de destino REALITY, por defecto 443",
"shortId": "ID Corto",
"shortIdPlaceholder": "Deje en blanco para auto-generación",
"sni": "Indicación de Nombre del Servidor (SNI)"
},
"tabs": {
"node": "Nodo",
+93 -12
View File
@@ -1,28 +1,77 @@
{
"authSettings": "Configuración de Autenticación",
"basicSettings": "Configuración Básica",
"common": {
"cancel": "Cancelar",
"save": "Guardar Configuración",
"saveFailed": "Error al Guardar",
"saveSuccess": "Guardado Exitoso"
},
"currency": {
"accessKey": "Clave de acceso",
"accessKeyDescription": "https://exchangerate.host proporciona una clave API gratuita para tasas de cambio",
"accessKeyDescription": "{url} proporciona una clave API gratuita para tasas de cambio",
"accessKeyPlaceholder": "Ingrese la clave de API",
"currencySymbol": "Símbolo de moneda",
"currencySymbolDescription": "Solo para fines de visualización, cambiarlo alterará todas las unidades monetarias en el sistema",
"currencySymbolPlaceholder": "$",
"currencyUnit": "Unidad monetaria",
"currencyUnitDescription": "Solo para fines de visualización, cambiarlo alterará todas las unidades monetarias en el sistema",
"saveSuccess": "Guardado exitosamente"
"currencyUnitPlaceholder": "USD",
"description": "Configurar unidades de moneda, símbolos y ajustes de API de tipo de cambio",
"title": "Configuración de Moneda"
},
"privacy-policy": {
"saveSuccess": "Guardado exitoso",
"invite": {
"description": "Configurar la invitación de usuarios y ajustes de recompensas por referidos",
"forcedInvite": "Requerir Invitación para Registrarse",
"forcedInviteDescription": "Cuando está habilitado, los usuarios deben registrarse a través de un enlace de invitación",
"inputPlaceholder": "Por favor ingrese",
"onlyFirstPurchase": "Solo Recompensa por Primera Compra",
"onlyFirstPurchaseDescription": "Cuando está habilitado, los referidores solo reciben recompensas por la primera compra de los usuarios referidos",
"referralPercentage": "Porcentaje de Recompensa por Referido",
"referralPercentageDescription": "Porcentaje de recompensa otorgada a los referidores",
"saveFailed": "Error al Guardar",
"saveSuccess": "Guardado Exitoso",
"title": "Configuración de Invitaciones"
},
"privacyPolicy": {
"description": "Editar y gestionar el contenido de la política de privacidad",
"title": "Política de Privacidad"
},
"register": {
"day": "día(s)",
"defaultSubscribe": "Suscripción Predeterminada",
"defaultSubscribeDescription": "Plan de suscripción predeterminado para nuevos usuarios",
"description": "Configurar ajustes relacionados con el registro de usuarios",
"inputPlaceholder": "Por favor ingrese",
"ipRegistrationLimit": "Límite de Registro por IP",
"ipRegistrationLimitDescription": "Limitar el número de registros desde una sola dirección IP",
"registrationLimitCount": "Conteo de Límite de Registro",
"registrationLimitCountDescription": "Número de registros permitidos por IP dentro del período límite",
"registrationLimitExpire": "Período de Límite",
"registrationLimitExpireDescription": "Duración del límite de registro por IP",
"saveFailed": "Error al Guardar",
"saveSuccess": "Guardado Exitoso",
"selectPlaceholder": "Por favor seleccione",
"stopNewUserRegistration": "Detener Registro de Nuevos Usuarios",
"stopNewUserRegistrationDescription": "Cuando está habilitado, el registro de nuevos usuarios estará deshabilitado",
"title": "Configuración de Registro",
"trialDay": "Días de Prueba",
"trialDayDescription": "Días de prueba otorgados a nuevos usuarios al registrarse",
"trialFlow": "Tráfico de Prueba",
"trialFlowDescription": "Tráfico de prueba otorgado a nuevos usuarios al registrarse"
},
"site": {
"customData": "Datos Personalizados",
"customDataDescription": "Datos Personalizados, utilizados para datos personalizados del sitio",
"customHtml": "HTML personalizado",
"customHtmlDescription": "Código HTML personalizado que se inyectará al final de la etiqueta body del sitio.",
"description": "Configurar información básica del sitio, logo, dominio y otros ajustes",
"keywords": "Palabras clave",
"keywordsDescription": "Utilizado para propósitos de SEO",
"keywordsPlaceholder": "palabra1, palabra2, palabra3",
"logo": "LOGO",
"logoDescription": "Usado para mostrar la ubicación donde se debe exhibir el LOGO",
"logoPlaceholder": "Por favor, ingresa la URL del LOGO, no termines con '/'",
"saveSuccess": "Guardado exitosamente",
"siteDesc": "Descripción del sitio",
"siteDescDescription": "Usado para mostrar la ubicación donde se debe exhibir la descripción del sitio",
"siteDescPlaceholder": "Por favor, ingresa la descripción del sitio",
@@ -31,15 +80,47 @@
"siteDomainPlaceholder": "Por favor, ingresa la dirección del dominio, múltiples dominios deben estar en líneas separadas",
"siteName": "Nombre del sitio",
"siteNameDescription": "Usado para mostrar la ubicación donde se debe exhibir el nombre del sitio",
"siteNamePlaceholder": "Por favor, ingresa el nombre del sitio"
},
"tabs": {
"currency": "Moneda",
"site": "Sitio",
"tos": "Términos del servicio"
"siteNamePlaceholder": "Por favor, ingresa el nombre del sitio",
"title": "Configuración del Sitio"
},
"siteSettings": "Configuración del Sitio",
"tos": {
"saveSuccess": "Guardado exitoso",
"description": "Editar y gestionar el contenido de los términos de servicio",
"title": "Términos del servicio"
},
"userSecuritySettings": "Usuario y Seguridad",
"verify": {
"description": "Configurar CAPTCHA Turnstile y ajustes de verificación",
"enableLoginVerify": "Habilitar Verificación en Inicio de Sesión",
"enableLoginVerifyDescription": "Cuando está habilitado, los usuarios deben pasar la verificación humana durante el inicio de sesión",
"enablePasswordVerify": "Habilitar Verificación en Restablecimiento de Contraseña",
"enablePasswordVerifyDescription": "Cuando está habilitado, los usuarios deben pasar la verificación humana durante el restablecimiento de contraseña",
"enableRegisterVerify": "Habilitar Verificación en Registro",
"enableRegisterVerifyDescription": "Cuando está habilitado, los usuarios deben pasar la verificación humana durante el registro",
"inputPlaceholder": "Por favor ingrese",
"saveFailed": "Error al Guardar",
"saveSuccess": "Guardado Exitoso",
"title": "Verificación de Seguridad",
"turnstileSecret": "Clave Secreta Turnstile",
"turnstileSecretDescription": "Clave secreta Turnstile de Cloudflare para verificación en el backend",
"turnstileSecretPlaceholder": "Ingrese la clave secreta Turnstile",
"turnstileSiteKey": "Clave del Sitio Turnstile",
"turnstileSiteKeyDescription": "Clave del sitio Turnstile de Cloudflare para verificación en el frontend",
"turnstileSiteKeyPlaceholder": "Ingrese la clave del sitio Turnstile"
},
"verifyCode": {
"dailyLimit": "Límite de Envío Diario",
"dailyLimitDescription": "Número máximo de códigos de verificación que cada usuario puede enviar por día",
"description": "Configurar reglas y límites para el envío de códigos de verificación por correo electrónico",
"expireTime": "Validez del Código de Verificación",
"expireTimeDescription": "Período de validez de los códigos de verificación (segundos)",
"inputPlaceholder": "Por favor ingrese",
"interval": "Intervalo de Envío",
"intervalDescription": "Intervalo mínimo entre dos envíos de códigos de verificación (segundos)",
"saveFailed": "Error al Guardar",
"saveSuccess": "Guardado Exitoso",
"seconds": "segundos",
"times": "vez(es)",
"title": "Configuración del Código de Verificación"
}
}
-10
View File
@@ -1,10 +0,0 @@
{
"clientId": "ID del Bot",
"clientIdDescription": "ID del Bot de Telegram, lo puedes obtener de @BotFather",
"clientSecret": "Token del Bot",
"clientSecretDescription": "Token del Bot de Telegram, lo puedes obtener de @BotFather",
"enable": "Habilitar",
"enableDescription": "Después de habilitar, se activarán las funciones de registro, inicio de sesión, vinculación y desvinculación de teléfonos móviles",
"saveFailed": "Error al guardar",
"saveSuccess": "Guardado exitoso"
}