mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-05-31 10:14:15 +00:00
Adds a panel-only `pinnedPeerCertSha256` field on TLS settings with a tags input and a random-hash generator. The hashes ride share links as `pcs` (v2rayN-compatible), Clash sub as `pin-sha256`, and JSON sub as `pinnedPeerCertSha256`, while remaining stripped from the run-config sent to xray-core.
1545 lines
83 KiB
JSON
1545 lines
83 KiB
JSON
{
|
||
"username": "Nombre de Usuario",
|
||
"password": "Contraseña",
|
||
"login": "Acceder",
|
||
"confirm": "Confirmar",
|
||
"cancel": "Cancelar",
|
||
"close": "Cerrar",
|
||
"save": "Guardar",
|
||
"logout": "Cerrar Sesión",
|
||
"create": "Crear",
|
||
"add": "Añadir",
|
||
"remove": "Quitar",
|
||
"update": "Actualizar",
|
||
"copy": "Copiar",
|
||
"copied": "Copiado",
|
||
"more": "más",
|
||
"download": "Descargar",
|
||
"remark": "Notas",
|
||
"enable": "Habilitar",
|
||
"protocol": "Protocolo",
|
||
"search": "Buscar",
|
||
"filter": "Filtrar",
|
||
"all": "Todos",
|
||
"from": "Desde",
|
||
"to": "Hasta",
|
||
"done": "Hecho",
|
||
"loading": "Cargando...",
|
||
"refresh": "Actualizar",
|
||
"clear": "Borrar",
|
||
"second": "Segundo",
|
||
"minute": "Minuto",
|
||
"hour": "Hora",
|
||
"day": "Día",
|
||
"check": "Verificar",
|
||
"indefinite": "Indefinido",
|
||
"unlimited": "Ilimitado",
|
||
"none": "Ninguno",
|
||
"qrCode": "Código QR",
|
||
"info": "Más Información",
|
||
"edit": "Editar",
|
||
"delete": "Eliminar",
|
||
"reset": "Restablecer",
|
||
"noData": "Sin datos",
|
||
"copySuccess": "Copiado exitosamente",
|
||
"sure": "Seguro",
|
||
"encryption": "Encriptación",
|
||
"useIPv4ForHost": "Usar IPv4 para el host",
|
||
"transmission": "Transmisión",
|
||
"host": "Host",
|
||
"path": "Ruta",
|
||
"camouflage": "Ofuscación",
|
||
"status": "Estado",
|
||
"enabled": "Habilitado",
|
||
"disabled": "Deshabilitado",
|
||
"depleted": "Agotado",
|
||
"depletingSoon": "Agotándose",
|
||
"offline": "Sin conexión",
|
||
"online": "En línea",
|
||
"domainName": "Nombre de dominio",
|
||
"monitor": "Listening IP",
|
||
"certificate": "Certificado Digital",
|
||
"fail": "Falló",
|
||
"comment": "Comentario",
|
||
"success": "Éxito",
|
||
"lastOnline": "Última conexión",
|
||
"getVersion": "Obtener versión",
|
||
"install": "Instalar",
|
||
"clients": "Clientes",
|
||
"usage": "Uso",
|
||
"twoFactorCode": "Código",
|
||
"remained": "Restante",
|
||
"security": "Seguridad",
|
||
"secAlertTitle": "Alerta de Seguridad",
|
||
"secAlertSsl": "Esta conexión no es segura. Por favor, evite ingresar información sensible hasta que se active TLS para la protección de datos.",
|
||
"secAlertConf": "Ciertas configuraciones son vulnerables a ataques. Se recomienda reforzar los protocolos de seguridad para prevenir posibles violaciones.",
|
||
"secAlertSSL": "El panel carece de una conexión segura. Por favor, instale un certificado TLS para la protección de datos.",
|
||
"secAlertPanelPort": "El puerto predeterminado del panel es vulnerable. Por favor, configure un puerto aleatorio o específico.",
|
||
"secAlertPanelURI": "La ruta URI predeterminada del panel no es segura. Por favor, configure una ruta URI compleja.",
|
||
"secAlertSubURI": "La ruta URI predeterminada de la suscripción no es segura. Por favor, configure una ruta URI compleja.",
|
||
"secAlertSubJsonURI": "La ruta URI JSON predeterminada de la suscripción no es segura. Por favor, configure una ruta URI compleja.",
|
||
"emptyDnsDesc": "No hay servidores DNS añadidos.",
|
||
"emptyFakeDnsDesc": "No hay servidores Fake DNS añadidos.",
|
||
"emptyBalancersDesc": "No hay balanceadores añadidos.",
|
||
"emptyReverseDesc": "No hay proxies inversos añadidos.",
|
||
"somethingWentWrong": "Algo salió mal",
|
||
"subscription": {
|
||
"title": "Información de suscripción",
|
||
"subId": "ID de suscripción",
|
||
"status": "Estado",
|
||
"downloaded": "Descargado",
|
||
"uploaded": "Subido",
|
||
"expiry": "Caducidad",
|
||
"totalQuota": "Cuota total",
|
||
"individualLinks": "Enlaces individuales",
|
||
"active": "Activo",
|
||
"inactive": "Inactivo",
|
||
"unlimited": "Ilimitado",
|
||
"noExpiry": "Sin caducidad"
|
||
},
|
||
"menu": {
|
||
"theme": "Tema",
|
||
"dark": "Oscuro",
|
||
"ultraDark": "Ultra Oscuro",
|
||
"dashboard": "Estado del Sistema",
|
||
"inbounds": "Entradas",
|
||
"clients": "Clientes",
|
||
"groups": "Grupos",
|
||
"nodes": "Nodos",
|
||
"settings": "Ajustes del panel",
|
||
"xray": "Configuración Xray",
|
||
"apiDocs": "Documentación de la API",
|
||
"logout": "Cerrar Sesión",
|
||
"link": "Gestionar",
|
||
"donate": "Donar"
|
||
},
|
||
"pages": {
|
||
"login": {
|
||
"hello": "Hola",
|
||
"title": "Bienvenido",
|
||
"loginAgain": "El límite de tiempo de inicio de sesión ha expirado. Por favor, inicia sesión nuevamente.",
|
||
"toasts": {
|
||
"invalidFormData": "El formato de los datos de entrada es inválido.",
|
||
"emptyUsername": "Por favor ingresa el nombre de usuario.",
|
||
"emptyPassword": "Por favor ingresa la contraseña.",
|
||
"wrongUsernameOrPassword": "Nombre de usuario, contraseña o código de dos factores incorrecto.",
|
||
"successLogin": "Has iniciado sesión en tu cuenta correctamente."
|
||
}
|
||
},
|
||
"index": {
|
||
"title": "Estado del Sistema",
|
||
"cpu": "CPU",
|
||
"logicalProcessors": "Procesadores lógicos",
|
||
"frequency": "Frecuencia",
|
||
"swap": "Swap",
|
||
"storage": "Almacenamiento",
|
||
"memory": "RAM",
|
||
"threads": "Hilos",
|
||
"xrayStatus": "Xray",
|
||
"stopXray": "Detener",
|
||
"restartXray": "Reiniciar",
|
||
"xraySwitch": "Versión",
|
||
"xrayUpdates": "Actualizaciones de Xray",
|
||
"xraySwitchClick": "Elige la versión a la que deseas cambiar.",
|
||
"xraySwitchClickDesk": "Elige sabiamente, ya que las versiones anteriores pueden no ser compatibles con las configuraciones actuales.",
|
||
"updatePanel": "Actualizar panel",
|
||
"panelUpdateDesc": "Esto actualizará 3X-UI a la última versión y reiniciará el servicio del panel.",
|
||
"currentPanelVersion": "Versión actual del panel",
|
||
"latestPanelVersion": "Última versión del panel",
|
||
"panelUpToDate": "El panel está actualizado",
|
||
"upToDate": "Actualizado",
|
||
"xrayStatusUnknown": "Desconocido",
|
||
"xrayStatusRunning": "En ejecución",
|
||
"xrayStatusStop": "Detenido",
|
||
"xrayStatusError": "Error",
|
||
"xrayErrorPopoverTitle": "Se produjo un error al ejecutar Xray",
|
||
"operationHours": "Tiempo de Funcionamiento",
|
||
"systemHistoryTitle": "Historial del Sistema",
|
||
"charts": "Gráficos",
|
||
"xrayMetricsTitle": "Métricas de Xray",
|
||
"xrayMetricsDisabled": "Endpoint de métricas de Xray no configurado",
|
||
"xrayMetricsHint": "Añade un bloque metrics de nivel superior a la configuración de xray con tag metrics_out y listen 127.0.0.1:11111, luego reinicia xray.",
|
||
"xrayObservatoryEmpty": "Aún no hay datos de Observatory",
|
||
"xrayObservatoryHint": "Añade un bloque observatory a la configuración de xray listando los tags de outbound a sondear, luego reinicia xray.",
|
||
"xrayObservatoryTagPlaceholder": "Seleccionar outbound",
|
||
"xrayObservatoryAlive": "Activo",
|
||
"xrayObservatoryDead": "Caído",
|
||
"xrayObservatoryLastSeen": "Visto por última vez",
|
||
"xrayObservatoryLastTry": "Último intento",
|
||
"trendLast2Min": "Últimos 2 minutos",
|
||
"systemLoad": "Carga del Sistema",
|
||
"systemLoadDesc": "promedio de carga del sistema en los últimos 1, 5 y 15 minutos",
|
||
"connectionCount": "Número de Conexiones",
|
||
"ipAddresses": "Direcciones IP",
|
||
"toggleIpVisibility": "Alternar visibilidad de la IP",
|
||
"overallSpeed": "Velocidad general",
|
||
"upload": "Subida",
|
||
"download": "Descargar",
|
||
"totalData": "Datos totales",
|
||
"sent": "Enviado",
|
||
"received": "Recibido",
|
||
"documentation": "Documentación",
|
||
"xraySwitchVersionDialog": "¿Realmente deseas cambiar la versión de Xray?",
|
||
"xraySwitchVersionDialogDesc": "Esto cambiará la versión de Xray a #version#.",
|
||
"xraySwitchVersionPopover": "Xray se actualizó correctamente",
|
||
"panelUpdateDialog": "¿Deseas actualizar el panel?",
|
||
"panelUpdateDialogDesc": "Esto actualizará 3X-UI a la versión #version# y reiniciará el servicio del panel.",
|
||
"panelUpdateCheckPopover": "Fallo al comprobar actualización del panel",
|
||
"panelUpdateStartedPopover": "Actualización del panel iniciada",
|
||
"geofileUpdateDialog": "¿Realmente deseas actualizar el geofichero?",
|
||
"geofileUpdateDialogDesc": "Esto actualizará el archivo #filename#.",
|
||
"geofilesUpdateDialogDesc": "Esto actualizará todos los archivos.",
|
||
"geofilesUpdateAll": "Actualizar todo",
|
||
"geofileUpdatePopover": "Geofichero actualizado correctamente",
|
||
"customGeoTitle": "GeoSite / GeoIP personalizados",
|
||
"customGeoAdd": "Añadir",
|
||
"customGeoType": "Tipo",
|
||
"customGeoAlias": "Alias",
|
||
"customGeoUrl": "URL",
|
||
"customGeoEnabled": "Activado",
|
||
"customGeoLastUpdated": "Última actualización",
|
||
"customGeoExtColumn": "Enrutamiento (ext:…)",
|
||
"customGeoToastUpdateAll": "Todas las fuentes personalizadas se actualizaron",
|
||
"customGeoActions": "Acciones",
|
||
"customGeoEdit": "Editar",
|
||
"customGeoDelete": "Eliminar",
|
||
"customGeoDownload": "Actualizar ahora",
|
||
"customGeoModalAdd": "Añadir geo personalizado",
|
||
"customGeoModalEdit": "Editar geo personalizado",
|
||
"customGeoModalSave": "Guardar",
|
||
"customGeoDeleteConfirm": "¿Eliminar esta fuente geo personalizada?",
|
||
"customGeoRoutingHint": "En reglas de enrutamiento use la columna de valor como ext:archivo.dat:etiqueta (sustituya la etiqueta).",
|
||
"customGeoInvalidId": "Id de recurso no válido",
|
||
"customGeoAliasesError": "No se pudieron cargar los alias geo personalizados",
|
||
"customGeoValidationAlias": "El alias solo puede contener letras minúsculas, dígitos, - y _",
|
||
"customGeoValidationUrl": "La URL debe comenzar con http:// o https://",
|
||
"customGeoAliasPlaceholder": "a-z 0-9 _ -",
|
||
"customGeoAliasLabelSuffix": " (personalizado)",
|
||
"customGeoToastList": "Lista de geo personalizado",
|
||
"customGeoToastAdd": "Añadir geo personalizado",
|
||
"customGeoToastUpdate": "Actualizar geo personalizado",
|
||
"customGeoToastDelete": "Geofile personalizado «{{ .fileName }}» eliminado",
|
||
"customGeoToastDownload": "Geofile «{{ .fileName }}» actualizado",
|
||
"customGeoErrInvalidType": "El tipo debe ser geosite o geoip",
|
||
"customGeoErrAliasRequired": "El alias es obligatorio",
|
||
"customGeoErrAliasPattern": "El alias contiene caracteres no permitidos",
|
||
"customGeoErrAliasReserved": "Este alias está reservado",
|
||
"customGeoErrUrlRequired": "La URL es obligatoria",
|
||
"customGeoErrInvalidUrl": "La URL no es válida",
|
||
"customGeoErrUrlScheme": "La URL debe usar http o https",
|
||
"customGeoErrUrlHost": "El host de la URL no es válido",
|
||
"customGeoErrDuplicateAlias": "Este alias ya se usa para este tipo",
|
||
"customGeoErrNotFound": "Fuente geo personalizada no encontrada",
|
||
"customGeoErrDownload": "Error de descarga",
|
||
"customGeoErrUpdateAllIncomplete": "No se pudieron actualizar una o más fuentes geo personalizadas",
|
||
"customGeoEmpty": "Aún no hay fuentes geo personalizadas — haz clic en Añadir para crear una",
|
||
"dontRefresh": "La instalación está en progreso, por favor no actualices esta página.",
|
||
"logs": "Registros",
|
||
"config": "Configuración",
|
||
"backup": "Copia de seguridad",
|
||
"backupTitle": "Copia & Restauración",
|
||
"exportDatabase": "Copia de seguridad",
|
||
"exportDatabaseDesc": "Haz clic para descargar un archivo .db que contiene una copia de seguridad de tu base de datos actual en tu dispositivo.",
|
||
"importDatabase": "Restaurar",
|
||
"importDatabaseDesc": "Haz clic para seleccionar y cargar un archivo .db desde tu dispositivo para restaurar tu base de datos desde una copia de seguridad.",
|
||
"importDatabaseSuccess": "La base de datos se ha importado correctamente",
|
||
"importDatabaseError": "Ocurrió un error al importar la base de datos",
|
||
"readDatabaseError": "Ocurrió un error al leer la base de datos",
|
||
"getDatabaseError": "Ocurrió un error al obtener la base de datos",
|
||
"getConfigError": "Ocurrió un error al obtener el archivo de configuración"
|
||
},
|
||
"inbounds": {
|
||
"title": "Entradas",
|
||
"totalDownUp": "Subidas/Descargas Totales",
|
||
"totalUsage": "Uso Total",
|
||
"inboundCount": "Número de Entradas",
|
||
"operate": "Menú",
|
||
"enable": "Habilitar",
|
||
"remark": "Notas",
|
||
"node": "Nodo",
|
||
"deployTo": "Desplegar en",
|
||
"localPanel": "Panel local",
|
||
"fallbacks": {
|
||
"title": "Fallbacks",
|
||
"help": "Cuando una conexión en este inbound no coincide con ningún cliente, redirígela a otro inbound. Elige un hijo abajo y los campos de enrutamiento (SNI / ALPN / Path / xver) se rellenan automáticamente desde su transporte; la mayoría de las configuraciones no necesitan más ajustes. Cada hijo debe escuchar en 127.0.0.1 con security=none.",
|
||
"empty": "Aún no hay fallbacks",
|
||
"add": "Añadir fallback",
|
||
"pickInbound": "Selecciona un inbound",
|
||
"matchAny": "cualquiera",
|
||
"rederive": "Rellenar desde el hijo",
|
||
"rederived": "Rellenado desde el hijo",
|
||
"editAdvanced": "Editar campos de enrutamiento",
|
||
"hideAdvanced": "Ocultar avanzado",
|
||
"quickAddAll": "Añadir todos los elegibles",
|
||
"quickAdded": "Se añadieron {n} fallback(s)",
|
||
"quickAddedNone": "No hay nuevos inbounds elegibles",
|
||
"routesWhen": "Enruta cuando",
|
||
"defaultCatchAll": "Por defecto — captura cualquier otra cosa"
|
||
},
|
||
"protocol": "Protocolo",
|
||
"port": "Puerto",
|
||
"portMap": "Asignación de puertos",
|
||
"traffic": "Tráfico",
|
||
"details": "Detalles",
|
||
"transportConfig": "Transporte",
|
||
"expireDate": "Fecha de Expiración",
|
||
"createdAt": "Creado",
|
||
"updatedAt": "Actualizado",
|
||
"resetTraffic": "Restablecer tráfico",
|
||
"addInbound": "Agregar Entrada",
|
||
"generalActions": "Acciones Generales",
|
||
"modifyInbound": "Modificar Entrada",
|
||
"deleteInbound": "Eliminar Entrada",
|
||
"deleteInboundContent": "¿Confirmar eliminación de entrada?",
|
||
"deleteConfirmTitle": "¿Eliminar el inbound \"{remark}\"?",
|
||
"deleteConfirmContent": "Esto elimina el inbound y todos sus clientes. No se puede deshacer.",
|
||
"resetConfirmTitle": "¿Restablecer el tráfico de \"{remark}\"?",
|
||
"resetConfirmContent": "Restablece los contadores de subida/bajada a 0 para este inbound.",
|
||
"cloneConfirmTitle": "¿Clonar el inbound \"{remark}\"?",
|
||
"cloneConfirmContent": "Crea una copia con un puerto nuevo y una lista de clientes vacía.",
|
||
"delAllClients": "Eliminar todos los clientes",
|
||
"delAllClientsConfirmTitle": "¿Eliminar los {count} clientes de \"{remark}\"?",
|
||
"delAllClientsConfirmContent": "Elimina todos los clientes de este inbound y sus registros de tráfico. El inbound se mantiene. Esto no se puede deshacer.",
|
||
"attachClients": "Asociar clientes a…",
|
||
"addClientsToGroup": "Añadir clientes al grupo…",
|
||
"attachClientsTitle": "Asociar clientes desde «{remark}»",
|
||
"attachClientsDesc": "Asocia los mismos {count} cliente(s) (mismo UUID/contraseña y tráfico compartido) a las entradas seleccionadas. Permanecen también en esta entrada.",
|
||
"attachClientsTargets": "Entradas objetivo",
|
||
"attachClientsNoTargets": "No hay otras entradas compatibles disponibles para asociar.",
|
||
"attachClientsResult": "Asociados {attached}, omitidos {skipped}.",
|
||
"attachClientsResultMixed": "Asociados {attached}, omitidos {skipped}, errores {errors}.",
|
||
"attachClientsSelectLabel": "Clientes para asociar",
|
||
"attachClientsSearchPlaceholder": "Buscar email o comentario",
|
||
"attachClientsStatusDisabled": "Deshabilitado",
|
||
"attachClientsSelectedCount": "{selected} de {total} seleccionado(s)",
|
||
"detachClients": "Desasociar clientes",
|
||
"detachClientsTitle": "Desasociar clientes de «{remark}»",
|
||
"detachClientsDesc": "Quita el cliente o clientes seleccionados solo de esta entrada. Los registros se conservan (usa Delete para eliminar por completo). El origen tiene {count} cliente(s) en total.",
|
||
"detachClientsResult": "Desasociados {detached}, omitidos {skipped}.",
|
||
"detachClientsResultMixed": "Desasociados {detached}, omitidos {skipped}, errores {errors}.",
|
||
"detachClientsSelectLabel": "Clientes para desasociar",
|
||
"exportLinksTitle": "Exportar enlaces del inbound",
|
||
"exportSubsTitle": "Exportar enlaces de suscripción",
|
||
"exportAllLinksTitle": "Exportar todos los enlaces de inbound",
|
||
"exportAllSubsTitle": "Exportar todos los enlaces de suscripción",
|
||
"exportAllLinksFileName": "Todas-las-entradas",
|
||
"exportAllSubsFileName": "Todas-las-entradas-Subs",
|
||
"inboundJsonTitle": "JSON de entrada",
|
||
"deleteClient": "Eliminar cliente",
|
||
"deleteClientContent": "¿Está seguro de que desea eliminar el cliente?",
|
||
"resetTrafficContent": "¿Confirmar restablecimiento de tráfico?",
|
||
"copyLink": "Copiar Enlace",
|
||
"address": "Dirección",
|
||
"network": "Red",
|
||
"destinationPort": "Puerto de Destino",
|
||
"targetAddress": "Dirección de Destino",
|
||
"monitorDesc": "Dejar en blanco por defecto",
|
||
"meansNoLimit": "= Ilimitado. (unidad: GB)",
|
||
"totalFlow": "Flujo Total",
|
||
"leaveBlankToNeverExpire": "Dejar en Blanco para Nunca Expirar",
|
||
"noRecommendKeepDefault": "No hay requisitos especiales para mantener la configuración predeterminada",
|
||
"certificatePath": "Ruta Cert",
|
||
"certificateContent": "Datos Cert",
|
||
"publicKey": "Clave Pública",
|
||
"privatekey": "Clave Privada",
|
||
"clickOnQRcode": "Haz clic en el Código QR para Copiar",
|
||
"client": "Cliente",
|
||
"export": "Exportar Enlaces",
|
||
"clone": "Clonar",
|
||
"cloneInbound": "Clonar Entradas",
|
||
"cloneInboundContent": "Se aplicarán todas las configuraciones de esta entrada, excepto el Puerto, la IP de Escucha y los Clientes, al clon.",
|
||
"cloneInboundOk": "Clonar",
|
||
"resetAllTraffic": "Restablecer Tráfico de Todas las Entradas",
|
||
"resetAllTrafficTitle": "Restablecer tráfico de todas las entradas",
|
||
"resetAllTrafficContent": "¿Estás seguro de que deseas restablecer el tráfico de todas las entradas?",
|
||
"resetInboundClientTraffics": "Restablecer Tráfico de Clientes",
|
||
"resetInboundClientTrafficTitle": "Restablecer todo el tráfico de clientes",
|
||
"resetInboundClientTrafficContent": "¿Estás seguro de que deseas restablecer todo el tráfico para los clientes de esta entrada?",
|
||
"resetAllClientTraffics": "Restablecer Tráfico de Todos los Clientes",
|
||
"resetAllClientTrafficTitle": "Restablecer todo el tráfico de clientes",
|
||
"resetAllClientTrafficContent": "¿Estás seguro de que deseas restablecer todo el tráfico para todos los clientes?",
|
||
"delDepletedClients": "Eliminar Clientes Agotados",
|
||
"delDepletedClientsTitle": "Eliminar clientes agotados",
|
||
"delDepletedClientsContent": "¿Estás seguro de que deseas eliminar todos los clientes agotados?",
|
||
"email": "Email",
|
||
"emailDesc": "Por favor proporciona una dirección de correo electrónico única.",
|
||
"IPLimit": "Límite de IP",
|
||
"IPLimitDesc": "Desactiva la entrada si la cantidad supera el valor ingresado (ingresa 0 para desactivar el límite de IP).",
|
||
"IPLimitlog": "Registro de IP",
|
||
"IPLimitlogDesc": "Registro de historial de IPs (antes de habilitar la entrada después de que haya sido desactivada por el límite de IP, debes borrar el registro).",
|
||
"IPLimitlogclear": "Limpiar el Registro",
|
||
"setDefaultCert": "Establecer certificado desde el panel",
|
||
"setDefaultCertEmpty": "No hay certificado configurado para el panel. Configura uno en Ajustes primero.",
|
||
"streamTab": "Transmisión",
|
||
"securityTab": "Seguridad",
|
||
"sniffingTab": "Inspección",
|
||
"sniffingMetadataOnly": "Solo metadatos",
|
||
"sniffingRouteOnly": "Solo enrutamiento",
|
||
"sniffingIpsExcluded": "IPs excluidas",
|
||
"sniffingDomainsExcluded": "Dominios excluidos",
|
||
"decryption": "Descifrado",
|
||
"encryption": "Cifrado",
|
||
"vlessAuthX25519": "Autenticación X25519",
|
||
"vlessAuthMlkem768": "Autenticación ML-KEM-768",
|
||
"vlessAuthCustom": "Personalizado",
|
||
"vlessAuthSelected": "Seleccionado: {auth}",
|
||
"advanced": {
|
||
"title": "Secciones JSON del inbound",
|
||
"subtitle": "JSON completo del inbound y editores específicos para settings, sniffing y streamSettings.",
|
||
"all": "Todo",
|
||
"allHelp": "Objeto inbound completo con todos los campos en un solo editor.",
|
||
"settings": "Ajustes",
|
||
"settingsHelp": "Envoltorio del bloque settings de Xray:",
|
||
"sniffing": "Sniffing",
|
||
"sniffingHelp": "Envoltorio del bloque sniffing de Xray:",
|
||
"stream": "Stream",
|
||
"streamHelp": "Envoltorio del bloque stream de Xray:",
|
||
"jsonErrorPrefix": "JSON avanzado"
|
||
},
|
||
"telegramDesc": "Por favor, proporciona el ID de Chat de Telegram. (usa el comando '/id' en el bot) o ({'@'}userinfobot)",
|
||
"subscriptionDesc": "Puedes encontrar tu enlace de suscripción en Detalles, también puedes usar el mismo nombre para varias configuraciones.",
|
||
"same": "misma",
|
||
"inboundData": "Datos de entrada",
|
||
"exportInbound": "Exportación entrante",
|
||
"import": "Importar",
|
||
"importInbound": "Importar un entrante",
|
||
"periodicTrafficResetTitle": "Reset de Tráfico",
|
||
"periodicTrafficResetDesc": "Reiniciar automáticamente el contador de tráfico en intervalos especificados",
|
||
"lastReset": "Último reinicio",
|
||
"periodicTrafficReset": {
|
||
"never": "Nunca",
|
||
"daily": "Diariamente",
|
||
"weekly": "Semanalmente",
|
||
"monthly": "Mensualmente",
|
||
"hourly": "Cada hora"
|
||
},
|
||
"toasts": {
|
||
"obtain": "Recibir",
|
||
"updateSuccess": "La actualización fue exitosa",
|
||
"logCleanSuccess": "El registro ha sido limpiado",
|
||
"inboundsUpdateSuccess": "Entradas actualizadas correctamente",
|
||
"inboundUpdateSuccess": "Entrada actualizada correctamente",
|
||
"inboundCreateSuccess": "Entrada creada correctamente",
|
||
"inboundDeleteSuccess": "Entrada eliminada correctamente",
|
||
"inboundClientAddSuccess": "Cliente(s) de entrada añadido(s)",
|
||
"inboundClientDeleteSuccess": "Cliente de entrada eliminado",
|
||
"inboundClientUpdateSuccess": "Cliente de entrada actualizado",
|
||
"delDepletedClientsSuccess": "Todos los clientes con tráfico agotado fueron eliminados",
|
||
"resetAllClientTrafficSuccess": "Todo el tráfico del cliente ha sido reiniciado",
|
||
"resetAllTrafficSuccess": "Todo el tráfico ha sido reiniciado",
|
||
"resetInboundClientTrafficSuccess": "El tráfico ha sido reiniciado",
|
||
"resetInboundTrafficSuccess": "El tráfico de entrada ha sido reiniciado",
|
||
"trafficGetError": "Error al obtener los tráficos",
|
||
"getNewX25519CertError": "Error al obtener el certificado X25519.",
|
||
"getNewmldsa65Error": "Error al obtener el certificado mldsa65.",
|
||
"getNewVlessEncError": "Error al obtener el certificado VlessEnc."
|
||
},
|
||
"form": {
|
||
"moveUp": "Subir",
|
||
"moveDown": "Bajar",
|
||
"addAll": "Añadir todo",
|
||
"addAllFallbackTooltip": "Añade una fila de fallback para cada entrada elegible aún no conectada",
|
||
"peers": "Peers",
|
||
"addPeer": "Añadir peer",
|
||
"keepAlive": "Keep-alive",
|
||
"autoSystemRoutesTooltip": "Solo Windows. Los CIDR se añaden automáticamente a la tabla de enrutamiento del sistema para que el tráfico coincidente pase por TUN.",
|
||
"autoOutboundsInterface": "Interfaz de salidas automática",
|
||
"autoOutboundsInterfaceTooltip": "Interfaz física para tráfico de salida. Usa 'auto' para detectar; se habilita automáticamente cuando se establece Auto system routes.",
|
||
"rewriteAddress": "Reescribir dirección",
|
||
"rewritePort": "Reescribir puerto",
|
||
"allowedNetwork": "Red permitida",
|
||
"followRedirect": "Seguir redirección",
|
||
"accounts": "Cuentas",
|
||
"allowTransparent": "Permitir transparente",
|
||
"encryptionMethod": "Método de cifrado",
|
||
"visionTestseed": "Vision testseed",
|
||
"version": "Versión",
|
||
"udpIdleTimeout": "UDP idle timeout (s)",
|
||
"masquerade": "Masquerade",
|
||
"type": "Tipo",
|
||
"upstreamUrl": "URL Upstream",
|
||
"rewriteHost": "Reescribir Host",
|
||
"skipTlsVerify": "Saltar verificación TLS",
|
||
"directory": "Directorio",
|
||
"statusCode": "Código de estado",
|
||
"body": "Body",
|
||
"headers": "Cabeceras",
|
||
"proxyProtocol": "Proxy Protocol",
|
||
"requestVersion": "Versión de petición",
|
||
"requestMethod": "Método de petición",
|
||
"requestPath": "Ruta de petición",
|
||
"requestHeaders": "Cabeceras de petición",
|
||
"responseVersion": "Versión de respuesta",
|
||
"responseStatus": "Estado de respuesta",
|
||
"responseReason": "Razón de respuesta",
|
||
"responseHeaders": "Cabeceras de respuesta",
|
||
"heartbeatPeriod": "Periodo de heartbeat",
|
||
"serviceName": "Nombre de servicio",
|
||
"authority": "Authority",
|
||
"multiMode": "Multi Mode",
|
||
"maxBufferedUpload": "Máx. subida en búfer",
|
||
"maxUploadSize": "Tamaño máx. de subida (Byte)",
|
||
"streamUpServer": "Stream-Up Server",
|
||
"serverMaxHeaderBytes": "Máx. bytes cabecera servidor",
|
||
"paddingBytes": "Bytes de Padding",
|
||
"uplinkHttpMethod": "Método HTTP Uplink",
|
||
"paddingObfsMode": "Modo obfs de Padding",
|
||
"paddingKey": "Padding Key",
|
||
"paddingHeader": "Padding Header",
|
||
"paddingPlacement": "Ubicación de Padding",
|
||
"paddingMethod": "Método de Padding",
|
||
"sessionPlacement": "Session Placement",
|
||
"sessionKey": "Session Key",
|
||
"sequencePlacement": "Sequence Placement",
|
||
"sequenceKey": "Sequence Key",
|
||
"uplinkDataPlacement": "Uplink Data Placement",
|
||
"uplinkDataKey": "Uplink Data Key",
|
||
"noSseHeader": "Sin cabecera SSE",
|
||
"ttiMs": "TTI (ms)",
|
||
"uplinkMbps": "Subida (MB/s)",
|
||
"downlinkMbps": "Bajada (MB/s)",
|
||
"cwndMultiplier": "Multiplicador CWND",
|
||
"maxSendingWindow": "Máx. ventana de envío",
|
||
"externalProxy": "Proxy externo",
|
||
"sniPlaceholder": "SNI (por defecto = host)",
|
||
"fingerprint": "Fingerprint",
|
||
"defaultOption": "Por defecto",
|
||
"routeMark": "Route Mark",
|
||
"tcpKeepAliveInterval": "TCP Keep Alive Interval",
|
||
"tcpKeepAliveIdle": "TCP Keep Alive Idle",
|
||
"tcpMaxSeg": "TCP Max Seg",
|
||
"tcpUserTimeout": "TCP User Timeout",
|
||
"tcpWindowClamp": "TCP Window Clamp",
|
||
"tcpFastOpen": "TCP Fast Open",
|
||
"multipathTcp": "Multipath TCP",
|
||
"penetrate": "Penetrate",
|
||
"v6Only": "Solo V6",
|
||
"tcpCongestion": "TCP Congestion",
|
||
"dialerProxy": "Dialer Proxy",
|
||
"trustedXForwardedFor": "X-Forwarded-For de confianza",
|
||
"addressPortStrategy": "Estrategia dirección+puerto",
|
||
"tryDelayMs": "Retraso de intento (ms)",
|
||
"prioritizeIPv6": "Priorizar IPv6",
|
||
"interleave": "Interleave",
|
||
"maxConcurrentTry": "Máx. intentos simultáneos",
|
||
"customSockopt": "Sockopt personalizado",
|
||
"addCustomOption": "Añadir opción personalizada",
|
||
"serverNameIndication": "SNI",
|
||
"cipherSuites": "Cipher Suites",
|
||
"autoOption": "Auto",
|
||
"minMaxVersion": "Versión mín/máx",
|
||
"rejectUnknownSni": "Rechazar SNI desconocido",
|
||
"disableSystemRoot": "Deshabilitar System Root",
|
||
"sessionResumption": "Reanudación de sesión",
|
||
"oneTimeLoading": "Carga única",
|
||
"usageOption": "Opción de uso",
|
||
"buildChain": "Construir cadena",
|
||
"echKey": "ECH key",
|
||
"echConfig": "Config ECH",
|
||
"pinnedPeerCertSha256": "SHA-256 del cert. del par fijado",
|
||
"pinnedPeerCertSha256Tip": "Hashes SHA-256 codificados en Base64 del certificado del par. Solo en el panel — no se escribe en la config xray del servidor, pero se incluye en los enlaces para que los clientes puedan fijar el certificado.",
|
||
"pinnedPeerCertSha256Placeholder": "hash(es) base64, separados por comas",
|
||
"generateRandomPin": "Generar hash aleatorio",
|
||
"getNewEchCert": "Obtener nuevo cert ECH",
|
||
"show": "Mostrar",
|
||
"xver": "Xver",
|
||
"target": "Objetivo",
|
||
"maxTimeDiff": "Máx. diferencia de tiempo (ms)",
|
||
"minClientVer": "Mín. versión cliente",
|
||
"maxClientVer": "Máx. versión cliente",
|
||
"shortIds": "Short IDs",
|
||
"spiderX": "SpiderX",
|
||
"getNewCert": "Obtener nuevo cert",
|
||
"mldsa65Seed": "mldsa65 Seed",
|
||
"mldsa65Verify": "mldsa65 Verify",
|
||
"getNewSeed": "Obtener nuevo Seed"
|
||
},
|
||
"info": {
|
||
"mode": "Modo",
|
||
"grpcServiceName": "grpc serviceName",
|
||
"grpcMultiMode": "grpc multiMode",
|
||
"interfaceName": "Nombre de interfaz",
|
||
"mtu": "MTU",
|
||
"gateway": "Gateway",
|
||
"dns": "DNS",
|
||
"outboundsInterface": "Interfaz de salidas",
|
||
"autoSystemRoutes": "Rutas del sistema automáticas",
|
||
"followRedirect": "FollowRedirect",
|
||
"auth": "Auth",
|
||
"noKernelTun": "TUN sin kernel",
|
||
"keepAlive": "Keep alive",
|
||
"peerNumber": "Peer {n}",
|
||
"peerNumberConfig": "Config Peer {n}"
|
||
},
|
||
"stream": {
|
||
"general": {
|
||
"request": "Pedido",
|
||
"response": "Respuesta",
|
||
"name": "Nombre",
|
||
"value": "Valor"
|
||
},
|
||
"tcp": {
|
||
"version": "Versión",
|
||
"method": "Método",
|
||
"path": "Ruta",
|
||
"status": "Estado",
|
||
"statusDescription": "Descripción de la Situación",
|
||
"requestHeader": "Encabezado de solicitud",
|
||
"responseHeader": "Encabezado de respuesta"
|
||
}
|
||
}
|
||
},
|
||
"clients": {
|
||
"add": "Añadir cliente",
|
||
"edit": "Editar cliente",
|
||
"submitAdd": "Añadir cliente",
|
||
"submitEdit": "Guardar cambios",
|
||
"clientCount": "Número de clientes",
|
||
"bulk": "Añadir en lote",
|
||
"copyFromInbound": "Copiar clientes desde inbound",
|
||
"copyToInbound": "Copiar clientes a",
|
||
"copySelected": "Copiar selección",
|
||
"copySource": "Origen",
|
||
"copyEmailPreview": "Vista previa del correo resultante",
|
||
"copySelectSourceFirst": "Selecciona primero un inbound de origen.",
|
||
"copyResult": "Resultado de la copia",
|
||
"copyResultSuccess": "Copiado correctamente",
|
||
"copyResultNone": "Nada que copiar: no hay clientes seleccionados o el origen está vacío",
|
||
"copyResultErrors": "Errores de copia",
|
||
"copyFlowLabel": "Flow para clientes nuevos (VLESS)",
|
||
"copyFlowHint": "Se aplica a todos los clientes copiados. Déjalo vacío para omitir.",
|
||
"selectAll": "Seleccionar todo",
|
||
"clearAll": "Limpiar todo",
|
||
"method": "Método",
|
||
"first": "Primero",
|
||
"last": "Último",
|
||
"ipLog": "Registro de IP",
|
||
"prefix": "Prefijo",
|
||
"postfix": "Sufijo",
|
||
"delayedStart": "Iniciar tras el primer uso",
|
||
"expireDays": "Duración",
|
||
"days": "Día(s)",
|
||
"renew": "Renovación automática",
|
||
"renewDesc": "Renovación automática tras la expiración. (0 = desactivado) (unidad: día)",
|
||
"searchPlaceholder": "Buscar email, comentario, sub ID, UUID, contraseña, auth…",
|
||
"filterTitle": "Filtrar clientes",
|
||
"clearAllFilters": "Limpiar todo",
|
||
"sortOldest": "Más antiguos",
|
||
"sortNewest": "Más recientes",
|
||
"sortRecentlyUpdated": "Recientemente actualizados",
|
||
"sortRecentlyOnline": "Recientemente en línea",
|
||
"sortEmailAZ": "Email A→Z",
|
||
"sortEmailZA": "Email Z→A",
|
||
"sortMostTraffic": "Mayor tráfico",
|
||
"sortHighestRemaining": "Mayor restante",
|
||
"sortExpiringSoonest": "Caducidad más próxima",
|
||
"has": "Tiene",
|
||
"hasNot": "No tiene",
|
||
"title": "Clientes",
|
||
"actions": "Acciones",
|
||
"totalGB": "Total enviado/recibido (GB)",
|
||
"expiryTime": "Expiración",
|
||
"addClients": "Añadir clientes",
|
||
"limitIp": "Límite de IP",
|
||
"password": "Contraseña",
|
||
"subId": "ID de suscripción",
|
||
"online": "En línea",
|
||
"email": "Email",
|
||
"group": "Grupo",
|
||
"groupDesc": "Etiqueta lógica para agrupar clientes relacionados (p. ej. equipo, cliente, región). Filtrable desde la barra de herramientas.",
|
||
"groupPlaceholder": "p. ej. customer-a",
|
||
"comment": "Comentario",
|
||
"traffic": "Tráfico",
|
||
"offline": "Sin conexión",
|
||
"addTitle": "Añadir cliente",
|
||
"qrCode": "Código QR",
|
||
"moreInformation": "Más información",
|
||
"delete": "Eliminar",
|
||
"reset": "Restablecer tráfico",
|
||
"editTitle": "Editar cliente",
|
||
"client": "Cliente",
|
||
"enabled": "Habilitado",
|
||
"remaining": "Restante",
|
||
"duration": "Duración",
|
||
"attachedInbounds": "Inbounds asociados",
|
||
"selectInbound": "Selecciona uno o más inbounds",
|
||
"noSubId": "Este cliente no tiene subId, no hay enlace compartible.",
|
||
"noLinks": "No hay enlaces compartibles — asocia primero este cliente a un inbound con protocolo válido.",
|
||
"link": "Enlace",
|
||
"resetNotPossible": "Asocia primero este cliente a un inbound.",
|
||
"general": "General",
|
||
"resetAllTraffics": "Restablecer tráfico de todos los clientes",
|
||
"resetAllTrafficsTitle": "¿Restablecer tráfico de todos los clientes?",
|
||
"resetAllTrafficsContent": "El contador de subida/bajada de cada cliente vuelve a cero. Las cuotas y la expiración no se modifican. Esta acción no se puede deshacer.",
|
||
"deleteConfirmTitle": "¿Eliminar al cliente {email}?",
|
||
"deleteConfirmContent": "Esto elimina al cliente de cada inbound asociado y descarta su registro de tráfico. No se puede deshacer.",
|
||
"deleteSelected": "Eliminar ({count})",
|
||
"adjustSelected": "Ajustar ({count})",
|
||
"subLinksSelected": "Enlaces sub ({count})",
|
||
"addToGroupTitle": "Añadir {count} cliente(s) a un grupo",
|
||
"addToGroupTooltip": "Selecciona un grupo existente o escribe un nombre nuevo. Usa Ungroup para quitar clientes de su grupo actual.",
|
||
"addToGroupPlaceholder": "Nombre del grupo",
|
||
"addToGroupSuccessToast": "Se añadieron {count} cliente(s) a {group}",
|
||
"ungroupSuccessToast": "Grupo limpiado de {count} cliente(s)",
|
||
"ungroup": "Desagrupar",
|
||
"ungroupConfirmTitle": "¿Quitar {count} cliente(s) de su grupo?",
|
||
"ungroupConfirmContent": "Limpia la etiqueta de grupo en cada cliente seleccionado. Los clientes se conservan (usa Delete para eliminarlos por completo).",
|
||
"addToGroup": "Añadir al grupo",
|
||
"attach": "Asociar",
|
||
"adjust": "Ajustar",
|
||
"subLinks": "Enlaces sub",
|
||
"selectedCount": "{count} seleccionado(s)",
|
||
"attachSelected": "Asociar ({count})",
|
||
"attachToInboundsTitle": "Asociar {count} cliente(s) a entrada(s)",
|
||
"attachToInboundsDesc": "Asocia los {count} cliente(s) seleccionados (mismo UUID/contraseña y tráfico compartido) a las entradas elegidas. Mantienen sus asociaciones existentes.",
|
||
"attachToInboundsTargets": "Entradas objetivo",
|
||
"attachToInboundsNoTargets": "No hay entradas multiusuario disponibles para asociar.",
|
||
"detachSelected": "Desasociar ({count})",
|
||
"detach": "Desasociar",
|
||
"detachFromInboundsTitle": "Desasociar {count} cliente(s) de entrada(s)",
|
||
"detachFromInboundsDesc": "Quita los {count} cliente(s) seleccionados de las entradas elegidas. Las parejas donde el cliente no estaba asociado se omiten silenciosamente. Los registros de los clientes se conservan (usa Delete para eliminar por completo).",
|
||
"detachFromInboundsTargets": "Entradas para desasociar",
|
||
"detachFromInboundsNoTargets": "No hay entradas multiusuario disponibles.",
|
||
"detachFromInboundsResult": "Desasociados {detached}, omitidos {skipped}.",
|
||
"detachFromInboundsResultMixed": "Desasociados {detached}, omitidos {skipped}, errores {errors}.",
|
||
"subLinksTitle": "Enlaces sub ({count})",
|
||
"subLinkColumn": "URL de suscripción",
|
||
"subJsonLinkColumn": "URL JSON de suscripción",
|
||
"subLinksCopyAll": "Copiar todo",
|
||
"subLinksCopiedAll": "Copiados {count} enlace(s)",
|
||
"subLinksEmpty": "Ninguno de los clientes seleccionados tiene ID de suscripción.",
|
||
"subLinksDisabled": "El servicio de suscripción está deshabilitado.",
|
||
"subLinksDisabledHint": "Habilita la suscripción en Ajustes del panel → Suscripción para generar enlaces.",
|
||
"bulkDeleteConfirmTitle": "¿Eliminar {count} clientes?",
|
||
"bulkDeleteConfirmContent": "Cada cliente seleccionado se elimina de los inbounds asociados y se descarta su registro de tráfico. No se puede deshacer.",
|
||
"bulkAdjustTitle": "Ajustar {count} clientes",
|
||
"bulkAdjustHint": "Los valores positivos extienden, los negativos reducen. Los clientes con expiración o tráfico ilimitado se omiten para ese campo.",
|
||
"bulkAdjustNothing": "Establece días o tráfico antes de aplicar.",
|
||
"addDays": "Añadir días",
|
||
"addTrafficGB": "Añadir tráfico (GB)",
|
||
"delDepleted": "Eliminar agotados",
|
||
"delDepletedConfirmTitle": "¿Eliminar clientes agotados?",
|
||
"delDepletedConfirmContent": "Elimina todos los clientes con cuota agotada o expirados. No se puede deshacer.",
|
||
"auth": "Auth",
|
||
"hysteriaAuth": "Hysteria Auth",
|
||
"uuid": "UUID",
|
||
"flow": "Flow",
|
||
"vmessSecurity": "Seguridad VMess",
|
||
"reverseTag": "Etiqueta inversa",
|
||
"reverseTagPlaceholder": "Reverse tag opcional",
|
||
"telegramId": "ID de usuario de Telegram",
|
||
"telegramIdPlaceholder": "ID numérico de usuario de Telegram (0 = ninguno)",
|
||
"created": "Creado",
|
||
"updated": "Actualizado",
|
||
"ipLimit": "Límite de IP",
|
||
"toasts": {
|
||
"deleted": "Cliente eliminado",
|
||
"trafficReset": "Tráfico restablecido",
|
||
"allTrafficsReset": "Tráfico de todos los clientes restablecido",
|
||
"bulkDeleted": "{count} clientes eliminados",
|
||
"bulkDeletedMixed": "{ok} eliminados, {failed} fallidos",
|
||
"bulkCreated": "{count} clientes creados",
|
||
"bulkCreatedMixed": "{ok} creados, {failed} fallidos",
|
||
"bulkAdjusted": "{count} clientes ajustados",
|
||
"bulkAdjustedMixed": "{ok} ajustados, {skipped} omitidos",
|
||
"delDepleted": "{count} clientes agotados eliminados"
|
||
}
|
||
},
|
||
"groups": {
|
||
"title": "Grupos",
|
||
"name": "Nombre",
|
||
"clientCount": "Clientes en el grupo",
|
||
"totalGroups": "Total de grupos",
|
||
"totalGroupedClients": "Clientes con grupo",
|
||
"emptyGroups": "Grupos vacíos",
|
||
"addGroup": "Añadir grupo",
|
||
"createSuccess": "Grupo «{name}» creado.",
|
||
"rename": "Renombrar",
|
||
"renameTitle": "Renombrar {name}",
|
||
"renameCollision": "Ya existe un grupo llamado «{name}».",
|
||
"renameSuccess": "Grupo renombrado en {count} cliente(s).",
|
||
"deleteConfirmTitle": "¿Eliminar el grupo {name}?",
|
||
"deleteConfirmContent": "Esto elimina el grupo y limpia su etiqueta de {count} cliente(s). Los clientes en sí no se eliminan.",
|
||
"deleteSuccess": "Grupo limpiado de {count} cliente(s).",
|
||
"resetTraffic": "Restablecer tráfico",
|
||
"resetConfirmTitle": "¿Restablecer tráfico del grupo {name}?",
|
||
"resetConfirmContent": "Esto pone a cero up/down para los {count} cliente(s) de este grupo.",
|
||
"resetSuccess": "Tráfico restablecido en {count} cliente(s).",
|
||
"adjustSuccess": "Ajustados {count} cliente(s) en {name}.",
|
||
"emptyForAction": "Este grupo aún no tiene clientes.",
|
||
"deleteGroupOnly": "Eliminar grupo (conservar clientes)",
|
||
"deleteClients": "Eliminar clientes del grupo",
|
||
"deleteClientsConfirmTitle": "¿Eliminar todos los clientes en {name}?",
|
||
"deleteClientsConfirmContent": "Esto elimina permanentemente {count} cliente(s) junto con sus registros de tráfico. La etiqueta de grupo también se limpia. Esto no se puede deshacer.",
|
||
"deleteClientsSuccess": "Eliminados {count} cliente(s).",
|
||
"deleteClientsMixed": "{ok} eliminados, {failed} omitidos",
|
||
"addToGroup": "Añadir clientes…",
|
||
"addToGroupTitle": "Añadir clientes al grupo «{name}»",
|
||
"addToGroupDesc": "Selecciona clientes para añadir a este grupo. Mantienen sus asociaciones de entrada existentes; solo cambia la etiqueta de grupo. Los clientes que ya están en este grupo no se muestran.",
|
||
"addToGroupEmpty": "No hay otros clientes disponibles para añadir.",
|
||
"addToGroupResult": "Añadidos {count} cliente(s) a {name}.",
|
||
"removeFromGroup": "Quitar clientes…",
|
||
"removeFromGroupTitle": "Quitar clientes del grupo «{name}»",
|
||
"removeFromGroupDesc": "Selecciona miembros para quitar de este grupo. Los clientes se conservan (usa «Eliminar clientes del grupo» para eliminarlos por completo).",
|
||
"removeFromGroupResult": "Quitados {count} cliente(s) de {name}."
|
||
},
|
||
"nodes": {
|
||
"title": "Nodos",
|
||
"addNode": "Agregar nodo",
|
||
"editNode": "Editar nodo",
|
||
"totalNodes": "Total de nodos",
|
||
"onlineNodes": "En línea",
|
||
"offlineNodes": "Sin conexión",
|
||
"avgLatency": "Latencia media",
|
||
"name": "Nombre",
|
||
"namePlaceholder": "p. ej. de-frankfurt-1",
|
||
"addressPlaceholder": "panel.example.com o 1.2.3.4",
|
||
"remark": "Notas",
|
||
"scheme": "Esquema",
|
||
"address": "Dirección",
|
||
"port": "Puerto",
|
||
"basePath": "Ruta base",
|
||
"apiToken": "Token API",
|
||
"apiTokenPlaceholder": "Token desde la página de Configuración del panel remoto",
|
||
"apiTokenHint": "El panel remoto expone su token de API en Configuración → Token de API.",
|
||
"regenerate": "Regenerar token",
|
||
"regenerateConfirm": "Regenerar invalida el token actual. Cualquier panel central que lo use perderá el acceso hasta que se actualice. ¿Continuar?",
|
||
"allowPrivateAddress": "Permitir dirección privada",
|
||
"allowPrivateAddressHint": "Habilitar solo para nodos en una red privada o VPN.",
|
||
"enable": "Habilitado",
|
||
"status": "Estado",
|
||
"cpu": "CPU",
|
||
"mem": "Memoria",
|
||
"uptime": "Tiempo activo",
|
||
"latency": "Latencia",
|
||
"lastHeartbeat": "Último latido",
|
||
"xrayVersion": "Versión de Xray",
|
||
"panelVersion": "Versión del panel",
|
||
"actions": "Acciones",
|
||
"probe": "Sondear ahora",
|
||
"testConnection": "Probar conexión",
|
||
"connectionOk": "Conexión correcta ({ms} ms)",
|
||
"connectionFailed": "Conexión fallida",
|
||
"never": "nunca",
|
||
"justNow": "ahora mismo",
|
||
"deleteConfirmTitle": "¿Eliminar el nodo \"{name}\"?",
|
||
"deleteConfirmContent": "Esto detiene la monitorización del nodo. El panel remoto en sí no se ve afectado.",
|
||
"statusValues": {
|
||
"online": "En línea",
|
||
"offline": "Sin conexión",
|
||
"unknown": "Desconocido"
|
||
},
|
||
"toasts": {
|
||
"list": "Error al cargar los nodos",
|
||
"obtain": "Error al cargar el nodo",
|
||
"add": "Agregar nodo",
|
||
"update": "Actualizar nodo",
|
||
"delete": "Eliminar nodo",
|
||
"deleted": "Nodo eliminado",
|
||
"test": "Probar conexión",
|
||
"fillRequired": "El nombre, la dirección, el puerto y el token de API son obligatorios",
|
||
"probeFailed": "Sondeo fallido"
|
||
}
|
||
},
|
||
"settings": {
|
||
"title": "Configuraciones",
|
||
"save": "Guardar",
|
||
"infoDesc": "Cada cambio realizado aquí debe ser guardado. Por favor, reinicie el panel para aplicar los cambios.",
|
||
"restartPanel": "Reiniciar panel",
|
||
"restartPanelDesc": "¿Está seguro de que desea reiniciar el panel? Haga clic en Aceptar para reiniciar después de 3 segundos. Si no puede acceder al panel después de reiniciar, por favor, consulte la información de registro del panel en el servidor.",
|
||
"restartPanelSuccess": "El panel se reinició correctamente",
|
||
"actions": "Acciones",
|
||
"resetDefaultConfig": "Restablecer a Configuración Predeterminada",
|
||
"panelSettings": "Configuraciones del Panel",
|
||
"securitySettings": "Configuraciones de Seguridad",
|
||
"securityWarnings": "Advertencias de seguridad",
|
||
"panelExposed": "Es posible que su panel esté expuesto:",
|
||
"warnHttp": "El panel se sirve por HTTP sin cifrar — configure TLS para producción.",
|
||
"warnDefaultPort": "El puerto por defecto 2053 es conocido — cámbielo a uno aleatorio.",
|
||
"warnDefaultBasePath": "La ruta base por defecto \"/\" es conocida — cámbiela a una ruta aleatoria.",
|
||
"warnDefaultSubPath": "La ruta de suscripción por defecto \"/sub/\" es conocida — cámbiela.",
|
||
"warnDefaultJsonPath": "La ruta de suscripción JSON por defecto \"/json/\" es conocida — cámbiela.",
|
||
"TGBotSettings": "Bot de Telegram",
|
||
"panelListeningIP": "IP de Escucha del Panel",
|
||
"panelListeningIPDesc": "Dejar en blanco por defecto para monitorear todas las IPs.",
|
||
"panelListeningDomain": "Dominio de Escucha del Panel",
|
||
"panelListeningDomainDesc": "Dejar en blanco por defecto para monitorear todos los dominios e IPs.",
|
||
"panelPort": "Puerto del Panel",
|
||
"panelPortDesc": "El puerto utilizado para mostrar este panel.",
|
||
"publicKeyPath": "Ruta del Archivo de Clave Pública del Certificado del Panel",
|
||
"publicKeyPathDesc": "Complete con una ruta absoluta que comience con.",
|
||
"privateKeyPath": "Ruta del Archivo de Clave Privada del Certificado del Panel",
|
||
"privateKeyPathDesc": "Complete con una ruta absoluta que comience con.",
|
||
"panelUrlPath": "Ruta URI",
|
||
"panelUrlPathDesc": "Debe empezar con '/' y terminar con.",
|
||
"pageSize": "Tamaño de paginación",
|
||
"pageSizeDesc": "Defina el tamaño de página para la tabla de entradas. Establezca 0 para desactivar",
|
||
"panelProxy": "Proxy de red del panel",
|
||
"panelProxyDesc": "Enruta las peticiones salientes del propio panel (actualizaciones de geo, comprobaciones de versión de Xray/panel, Telegram) a través de este proxy para sortear el filtrado de GitHub/Telegram en el servidor. Acepta socks5:// o http(s)://, p. ej. una entrada SOCKS local de Xray. Deja vacío para conexión directa.",
|
||
"remarkModel": "Modelo de observación y carácter de separación",
|
||
"datepicker": "selector de fechas",
|
||
"datepickerPlaceholder": "Seleccionar fecha",
|
||
"datepickerDescription": "El tipo de calendario selector especifica la fecha de vencimiento",
|
||
"sampleRemark": "Observación de muestra",
|
||
"oldUsername": "Nombre de Usuario Actual",
|
||
"currentPassword": "Contraseña Actual",
|
||
"newUsername": "Nuevo Nombre de Usuario",
|
||
"newPassword": "Nueva Contraseña",
|
||
"telegramBotEnable": "Habilitar bot de Telegram",
|
||
"telegramBotEnableDesc": "Conéctese a las funciones de este panel a través del bot de Telegram.",
|
||
"telegramToken": "Token de Telegram",
|
||
"telegramTokenDesc": "Debe obtener el token del administrador de bots de Telegram {'@'}botfather.",
|
||
"telegramProxy": "Proxy SOCKS",
|
||
"telegramProxyDesc": "Si necesita el proxy Socks5 para conectarse a Telegram. Ajuste su configuración según la guía.",
|
||
"telegramAPIServer": "Servidor API de Telegram",
|
||
"telegramAPIServerDesc": "El servidor API de Telegram a utilizar. Déjelo en blanco para utilizar el servidor predeterminado.",
|
||
"telegramChatId": "IDs de Chat de Telegram para Administradores",
|
||
"telegramChatIdDesc": "IDs de Chat múltiples separados por comas. Use {'@'}userinfobot o use el comando '/id' en el bot para obtener sus IDs de Chat.",
|
||
"telegramNotifyTime": "Hora de Notificación del Bot de Telegram",
|
||
"telegramNotifyTimeDesc": "Usar el formato de tiempo de Crontab.",
|
||
"tgNotifyBackup": "Respaldo de Base de Datos",
|
||
"tgNotifyBackupDesc": "Incluir archivo de respaldo de base de datos con notificación de informe.",
|
||
"tgNotifyLogin": "Notificación de Inicio de Sesión",
|
||
"tgNotifyLoginDesc": "Muestra el nombre de usuario, dirección IP y hora cuando alguien intenta iniciar sesión en su panel.",
|
||
"sessionMaxAge": "Edad Máxima de Sesión",
|
||
"sessionMaxAgeDesc": "La duración de una sesión de inicio de sesión (unidad: minutos).",
|
||
"expireTimeDiff": "Umbral de Expiración para Notificación",
|
||
"expireTimeDiffDesc": "Reciba notificaciones sobre la expiración de la cuenta antes del umbral (unidad: días).",
|
||
"trafficDiff": "Umbral de Tráfico para Notificación",
|
||
"trafficDiffDesc": "Reciba notificaciones sobre el agotamiento del tráfico antes de alcanzar el umbral (unidad: GB).",
|
||
"tgNotifyCpu": "Umbral de Alerta de Porcentaje de CPU",
|
||
"tgNotifyCpuDesc": "Reciba notificaciones si el uso de la CPU supera este umbral (unidad: %).",
|
||
"timeZone": "Zona Horaria",
|
||
"timeZoneDesc": "Las tareas programadas se ejecutan de acuerdo con la hora en esta zona horaria.",
|
||
"subSettings": "Suscripción",
|
||
"subEnable": "Habilitar Servicio",
|
||
"subEnableDesc": "Función de suscripción con configuración separada.",
|
||
"subJsonEnable": "Habilitar/Deshabilitar el endpoint de suscripción JSON de forma independiente.",
|
||
"subJsonEnableTitle": "Suscripción JSON",
|
||
"subClashEnableTitle": "Suscripción Clash / Mihomo",
|
||
"subTitle": "Título de la Suscripción",
|
||
"subTitleDesc": "Título mostrado en el cliente VPN",
|
||
"subSupportUrl": "URL de soporte",
|
||
"subSupportUrlDesc": "Enlace de soporte técnico mostrado en el cliente VPN",
|
||
"subProfileUrl": "URL del perfil",
|
||
"subProfileUrlDesc": "Un enlace a tu sitio web mostrado en el cliente VPN",
|
||
"subAnnounce": "Anuncio",
|
||
"subAnnounceDesc": "El texto del anuncio mostrado en el cliente VPN",
|
||
"subEnableRouting": "Habilitar enrutamiento",
|
||
"subEnableRoutingDesc": "Configuración global para habilitar el enrutamiento en el cliente VPN. (Solo para Happ)",
|
||
"subRoutingRules": "Reglas de enrutamiento",
|
||
"subRoutingRulesDesc": "Reglas de enrutamiento globales para el cliente VPN. (Solo para Happ)",
|
||
"subListen": "Listening IP",
|
||
"subListenDesc": "Dejar en blanco por defecto para monitorear todas las IPs.",
|
||
"subPort": "Puerto de Suscripción",
|
||
"subPortDesc": "El número de puerto para el servicio de suscripción debe estar sin usar en el servidor.",
|
||
"subCertPath": "Ruta del Archivo de Clave Pública del Certificado de Suscripción",
|
||
"subCertPathDesc": "Complete con una ruta absoluta que comience con '/'",
|
||
"subKeyPath": "Ruta del Archivo de Clave Privada del Certificado de Suscripción",
|
||
"subKeyPathDesc": "Complete con una ruta absoluta que comience con '/'",
|
||
"subPath": "Ruta URI",
|
||
"subPathDesc": "Debe empezar con '/' y terminar con '/'",
|
||
"subDomain": "Dominio de Escucha",
|
||
"subDomainDesc": "Dejar en blanco por defecto para monitorear todos los dominios e IPs.",
|
||
"subUpdates": "Intervalos de Actualización de Suscripción",
|
||
"subUpdatesDesc": "Horas de intervalo entre actualizaciones en la aplicación del cliente.",
|
||
"subEncrypt": "Codificar",
|
||
"subEncryptDesc": "Encriptar las configuraciones devueltas en la suscripción.",
|
||
"subShowInfo": "Mostrar información de uso",
|
||
"subShowInfoDesc": "Mostrar tráfico restante y fecha después del nombre de configuración.",
|
||
"subEmailInRemark": "Incluir Email en el nombre",
|
||
"subEmailInRemarkDesc": "Incluir el correo del cliente en el nombre del perfil de suscripción.",
|
||
"subURI": "URI de proxy inverso",
|
||
"subURIDesc": "Cambiar el URI base de la URL de suscripción para usar detrás de los servidores proxy",
|
||
"externalTrafficInformEnable": "Informe de tráfico externo",
|
||
"externalTrafficInformEnableDesc": "Informar a una API externa en cada actualización de tráfico.",
|
||
"externalTrafficInformURI": "URI de información de tráfico externo",
|
||
"externalTrafficInformURIDesc": "Las actualizaciones de tráfico se envían a este URI.",
|
||
"restartXrayOnClientDisable": "Reiniciar Xray tras desactivación automática",
|
||
"restartXrayOnClientDisableDesc": "Cuando un cliente se desactive automáticamente por vencimiento o límite de tráfico, reiniciar Xray.",
|
||
"fragment": "Fragmentación",
|
||
"fragmentDesc": "Habilitar la fragmentación para el paquete de saludo de TLS",
|
||
"fragmentSett": "Configuración de Fragmentación",
|
||
"noisesDesc": "Activar Sonidos",
|
||
"noisesSett": "Configuración de Sonidos",
|
||
"trustedProxyCidrs": "CIDR de proxy de confianza",
|
||
"trustedProxyCidrsDesc": "IP/CIDR separados por coma que pueden establecer las cabeceras de host, proto e IP del cliente reenviadas.",
|
||
"ldap": {
|
||
"enable": "Habilitar sincronización LDAP",
|
||
"host": "Host LDAP",
|
||
"port": "Puerto LDAP",
|
||
"useTls": "Usar TLS (LDAPS)",
|
||
"bindDn": "Bind DN",
|
||
"passwordConfigured": "Configurada; deja en blanco para mantener la contraseña actual.",
|
||
"passwordUnconfigured": "No configurada.",
|
||
"passwordPlaceholder": "Configurada — introduce un nuevo valor para reemplazar",
|
||
"baseDn": "Base DN",
|
||
"userFilter": "Filtro de usuario",
|
||
"userAttr": "Atributo de usuario (username/email)",
|
||
"vlessField": "Atributo flag VLESS",
|
||
"flagField": "Atributo flag genérico (opcional)",
|
||
"flagFieldDesc": "Si se establece, sobrescribe el flag VLESS — p. ej. shadowInactive.",
|
||
"truthyValues": "Valores truthy",
|
||
"truthyValuesDesc": "Separados por coma; por defecto: true,1,yes,on",
|
||
"invertFlag": "Invertir flag",
|
||
"invertFlagDesc": "Habilita cuando el atributo significa «deshabilitado» (p. ej. shadowInactive).",
|
||
"syncSchedule": "Programación de sincronización",
|
||
"syncScheduleDesc": "Cadena tipo cron, p. ej. @every 1m",
|
||
"inboundTags": "Etiquetas de entradas",
|
||
"inboundTagsDesc": "Entradas en las que la sincronización LDAP puede auto-crear o auto-eliminar clientes.",
|
||
"noInbounds": "No se encontraron entradas. Crea una en Entradas primero.",
|
||
"autoCreate": "Crear clientes automáticamente",
|
||
"autoDelete": "Eliminar clientes automáticamente",
|
||
"defaultTotalGb": "Total por defecto (GB)",
|
||
"defaultExpiryDays": "Caducidad por defecto (días)",
|
||
"defaultIpLimit": "Límite IP por defecto"
|
||
},
|
||
"subFormats": {
|
||
"packets": "Paquetes",
|
||
"length": "Longitud",
|
||
"interval": "Intervalo",
|
||
"maxSplit": "Máx. división",
|
||
"noises": "Ruidos",
|
||
"noiseItem": "Ruido №{n}",
|
||
"type": "Tipo",
|
||
"packet": "Paquete",
|
||
"delayMs": "Retraso (ms)",
|
||
"applyTo": "Aplicar a",
|
||
"addNoise": "+ Ruido",
|
||
"concurrency": "Concurrencia",
|
||
"xudpConcurrency": "Concurrencia xudp",
|
||
"xudpUdp443": "xudp UDP 443"
|
||
},
|
||
"mux": "Mux",
|
||
"muxDesc": "Transmite múltiples flujos de datos independientes dentro de un flujo de datos establecido.",
|
||
"muxSett": "Configuración Mux",
|
||
"direct": "Conexión Directa",
|
||
"directDesc": "Establece conexiones directas con dominios o rangos de IP de un país específico.",
|
||
"notifications": "Notificaciones",
|
||
"certs": "Certificados",
|
||
"externalTraffic": "Tráfico Externo",
|
||
"dateAndTime": "Fecha y Hora",
|
||
"proxyAndServer": "Proxy y Servidor",
|
||
"intervals": "Intervalos",
|
||
"information": "Información",
|
||
"language": "Idioma",
|
||
"telegramBotLanguage": "Idioma del Bot de Telegram",
|
||
"security": {
|
||
"admin": "Credenciales de administrador",
|
||
"twoFactor": "Autenticación de dos factores",
|
||
"twoFactorEnable": "Habilitar 2FA",
|
||
"twoFactorEnableDesc": "Añade una capa adicional de autenticación para mayor seguridad.",
|
||
"twoFactorModalSetTitle": "Activar autenticación de dos factores",
|
||
"twoFactorModalDeleteTitle": "Desactivar autenticación de dos factores",
|
||
"twoFactorModalSteps": "Para configurar la autenticación de dos factores, sigue estos pasos:",
|
||
"twoFactorModalFirstStep": "1. Escanea este código QR en la aplicación de autenticación o copia el token cerca del código QR y pégalo en la aplicación",
|
||
"twoFactorModalSecondStep": "2. Ingresa el código de la aplicación",
|
||
"twoFactorModalRemoveStep": "Ingresa el código de la aplicación para eliminar la autenticación de dos factores.",
|
||
"twoFactorModalChangeCredentialsTitle": "Cambiar credenciales",
|
||
"twoFactorModalChangeCredentialsStep": "Ingrese el código de la aplicación para cambiar las credenciales del administrador.",
|
||
"twoFactorModalSetSuccess": "La autenticación de dos factores se ha establecido con éxito",
|
||
"twoFactorModalDeleteSuccess": "La autenticación de dos factores se ha eliminado con éxito",
|
||
"twoFactorModalError": "Código incorrecto",
|
||
"show": "Mostrar",
|
||
"hide": "Ocultar",
|
||
"apiTokenNew": "Nuevo token",
|
||
"apiTokenName": "Nombre",
|
||
"apiTokenNamePlaceholder": "por ejemplo central-panel-a",
|
||
"apiTokenNameRequired": "El nombre es obligatorio",
|
||
"apiTokenEmpty": "Aún no hay tokens — crea uno para autenticar bots o paneles remotos.",
|
||
"apiTokenDeleteWarning": "Cualquier cliente que use este token dejará de autenticarse inmediatamente."
|
||
},
|
||
"toasts": {
|
||
"modifySettings": "Los parámetros han sido modificados.",
|
||
"getSettings": "Ocurrió un error al obtener los parámetros.",
|
||
"modifyUserError": "Ocurrió un error al cambiar las credenciales del administrador.",
|
||
"modifyUser": "Has cambiado exitosamente las credenciales del administrador.",
|
||
"originalUserPassIncorrect": "Nombre de usuario o contraseña original incorrectos",
|
||
"userPassMustBeNotEmpty": "El nuevo nombre de usuario y la nueva contraseña no pueden estar vacíos",
|
||
"getOutboundTrafficError": "Error al obtener el tráfico saliente",
|
||
"resetOutboundTrafficError": "Error al reiniciar el tráfico saliente"
|
||
}
|
||
},
|
||
"xray": {
|
||
"title": "Xray Configuración",
|
||
"save": "Guardar configuración",
|
||
"restart": "Reiniciar Xray",
|
||
"restartSuccess": "Xray se ha reiniciado correctamente",
|
||
"restartOutputTitle": "Salida del reinicio de Xray",
|
||
"restartConfirmTitle": "¿Reiniciar xray?",
|
||
"restartConfirmContent": "Recarga el servicio xray con la configuración guardada.",
|
||
"stopSuccess": "Xray se ha detenido correctamente",
|
||
"restartError": "Ocurrió un error al reiniciar Xray.",
|
||
"stopError": "Ocurrió un error al detener Xray.",
|
||
"basicTemplate": "Perfil Básico",
|
||
"advancedTemplate": "Perfil Avanzado",
|
||
"generalConfigs": "Configuraciones Generales",
|
||
"generalConfigsDesc": "Estas opciones proporcionarán ajustes generales.",
|
||
"logConfigs": "Registro",
|
||
"logConfigsDesc": "Los registros pueden afectar la eficiencia de su servidor. Se recomienda habilitarlos sabiamente solo en caso de sus necesidades.",
|
||
"blockConfigsDesc": "Estas opciones evitarán que los usuarios se conecten a protocolos y sitios web específicos.",
|
||
"basicRouting": "Enrutamiento Básico",
|
||
"blockConnectionsConfigsDesc": "Estas opciones bloquearán el tráfico según el país solicitado específico.",
|
||
"directConnectionsConfigsDesc": "Una conexión directa asegura que el tráfico específico no sea enrutado a través de otro servidor.",
|
||
"blockips": "Bloquear IPs",
|
||
"blockdomains": "Bloquear Dominios",
|
||
"directips": "IPs Directas",
|
||
"directdomains": "Dominios Directos",
|
||
"ipv4Routing": "Enrutamiento IPv4",
|
||
"ipv4RoutingDesc": "Estas opciones solo enrutarán a los dominios objetivo a través de IPv4.",
|
||
"warpRouting": "Enrutamiento WARP",
|
||
"warpRoutingDesc": "Precaución: Antes de usar estas opciones, instale WARP en modo de proxy socks5 en su servidor siguiendo los pasos en el GitHub del panel. WARP enrutará el tráfico a los sitios web a través de los servidores de Cloudflare.",
|
||
"nordRouting": "Enrutamiento NordVPN",
|
||
"nordRoutingDesc": "Estas opciones enrutarán el tráfico basado en un destino específico a través de NordVPN.",
|
||
"Template": "Plantilla de Configuración de Xray",
|
||
"TemplateDesc": "Genera el archivo de configuración final de Xray basado en esta plantilla.",
|
||
"FreedomStrategy": "Configurar Estrategia para el Protocolo Freedom",
|
||
"FreedomStrategyDesc": "Establece la estrategia de salida de la red en el Protocolo Freedom.",
|
||
"RoutingStrategy": "Configurar Estrategia de Enrutamiento de Dominios",
|
||
"RoutingStrategyDesc": "Establece la estrategia general de enrutamiento para la resolución de DNS.",
|
||
"outboundTestUrl": "URL de prueba de outbound",
|
||
"outboundTestUrlDesc": "URL usada al probar la conectividad del outbound",
|
||
"Torrent": "Prohibir Uso de BitTorrent",
|
||
"Inbounds": "Entradas",
|
||
"InboundsDesc": "Cambia la plantilla de configuración para aceptar clientes específicos.",
|
||
"Outbounds": "Salidas",
|
||
"Balancers": "Equilibradores",
|
||
"balancerTagRequired": "La etiqueta es obligatoria",
|
||
"balancerSelectorRequired": "Elige al menos una salida",
|
||
"OutboundsDesc": "Cambia la plantilla de configuración para definir formas de salida para este servidor.",
|
||
"Routings": "Reglas de enrutamiento",
|
||
"RoutingsDesc": "¡La prioridad de cada regla es importante!",
|
||
"completeTemplate": "Todo",
|
||
"logLevel": "Nivel de registro",
|
||
"logLevelDesc": "El nivel de registro para registros de errores, que indica la información que debe registrarse.",
|
||
"accessLog": "Registro de acceso",
|
||
"accessLogDesc": "La ruta del archivo para el registro de acceso. El valor especial 'ninguno' deshabilita los registros de acceso",
|
||
"errorLog": "Registro de Errores",
|
||
"errorLogDesc": "La ruta del archivo para el registro de errores. El valor especial 'none' desactiva los registros de errores.",
|
||
"dnsLog": "Registro DNS",
|
||
"dnsLogDesc": "Si habilitar los registros de consulta DNS",
|
||
"maskAddress": "Enmascarar Dirección",
|
||
"maskAddressDesc": "Máscara de dirección IP, cuando se habilita, reemplazará automáticamente la dirección IP que aparece en el registro.",
|
||
"statistics": "Estadísticas",
|
||
"statsInboundUplink": "Estadísticas de Subida de Entrada",
|
||
"statsInboundUplinkDesc": "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de entrada.",
|
||
"statsInboundDownlink": "Estadísticas de Bajada de Entrada",
|
||
"statsInboundDownlinkDesc": "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de entrada.",
|
||
"statsOutboundUplink": "Estadísticas de Subida de Salida",
|
||
"statsOutboundUplinkDesc": "Habilita la recopilación de estadísticas para el tráfico ascendente de todos los proxies de salida.",
|
||
"statsOutboundDownlink": "Estadísticas de Bajada de Salida",
|
||
"statsOutboundDownlinkDesc": "Habilita la recopilación de estadísticas para el tráfico descendente de todos los proxies de salida.",
|
||
"rules": {
|
||
"first": "Primero",
|
||
"last": "Último",
|
||
"up": "Arriba",
|
||
"down": "Abajo",
|
||
"source": "Fuente",
|
||
"dest": "Destino",
|
||
"inbound": "Entrante",
|
||
"outbound": "Saliente",
|
||
"balancer": "Equilibrador",
|
||
"info": "Info",
|
||
"add": "Agregar Regla",
|
||
"edit": "Editar Regla",
|
||
"useComma": "Elementos separados por comas"
|
||
},
|
||
"routing": {
|
||
"dragToReorder": "Arrastra para reordenar"
|
||
},
|
||
"ruleForm": {
|
||
"sourceIps": "IPs de origen",
|
||
"sourcePort": "Puerto de origen",
|
||
"vlessRoute": "Ruta VLESS",
|
||
"attributes": "Atributos",
|
||
"value": "Valor",
|
||
"user": "Usuario",
|
||
"inboundTags": "Etiquetas de entradas",
|
||
"outboundTag": "Etiqueta de salida",
|
||
"balancerTag": "Etiqueta de balanceador",
|
||
"balancerTagTooltip": "Enruta el tráfico a través de uno de los balanceadores configurados"
|
||
},
|
||
"outboundForm": {
|
||
"tagDuplicate": "Etiqueta ya usada por otra salida",
|
||
"tagRequired": "La etiqueta es obligatoria",
|
||
"tagPlaceholder": "etiqueta-única",
|
||
"localIpPlaceholder": "IP local",
|
||
"addressRequired": "La dirección es obligatoria",
|
||
"portRequired": "El puerto es obligatorio",
|
||
"optional": "opcional",
|
||
"udpOverTcp": "UDP sobre TCP",
|
||
"uotVersion": "Versión UoT",
|
||
"inboundTag": "Etiqueta de entrada",
|
||
"inboundTagPlaceholder": "etiqueta de entrada usada en reglas de enrutamiento",
|
||
"responseType": "Tipo de respuesta",
|
||
"rewriteNetwork": "Reescribir red",
|
||
"unchanged": "(sin cambios)",
|
||
"unchangedAddress": "(sin cambios) p. ej. 1.1.1.1",
|
||
"rules": "Reglas",
|
||
"ruleN": "Regla {n}",
|
||
"action": "Acción",
|
||
"redirect": "Redirect",
|
||
"fragment": "Fragment",
|
||
"finalRules": "Reglas finales",
|
||
"overrideXrayPrivateIp": "Sobrescribir el bloqueo de IP privada por defecto de Xray",
|
||
"blockDelay": "Retraso de bloqueo (ms)",
|
||
"reverseSniffing": "Sniffing inverso",
|
||
"workers": "Workers",
|
||
"reserved": "Reservado",
|
||
"minUploadInterval": "Intervalo mín. de subida (ms)",
|
||
"maxUploadSizeBytes": "Tamaño máx. de subida (bytes)",
|
||
"uplinkChunkSize": "Tamaño de chunk Uplink",
|
||
"noGrpcHeader": "Sin cabecera gRPC",
|
||
"maxConcurrency": "Máx. concurrencia",
|
||
"maxConnections": "Máx. conexiones",
|
||
"maxReuseTimes": "Máx. reutilizaciones",
|
||
"maxRequestTimes": "Máx. peticiones",
|
||
"maxReusableSecs": "Máx. segundos reutilizables",
|
||
"keepAlivePeriod": "Periodo keep alive",
|
||
"authPassword": "Contraseña de auth",
|
||
"visionTestpre": "Vision testpre",
|
||
"serverNamePlaceholder": "nombre del servidor",
|
||
"verifyPeerName": "Verificar nombre del peer",
|
||
"pinnedSha256": "SHA256 pinned",
|
||
"shortId": "Short ID",
|
||
"sockopts": "Sockopts",
|
||
"keepAliveInterval": "Intervalo keep alive",
|
||
"markFwmark": "Mark (fwmark)",
|
||
"interface": "Interfaz",
|
||
"ipv6Only": "Solo IPv6",
|
||
"acceptProxyProtocol": "Aceptar proxy protocol",
|
||
"tcpUserTimeoutMs": "TCP user timeout (ms)",
|
||
"tcpKeepAliveIdleS": "TCP keep-alive idle (s)"
|
||
},
|
||
"outbound": {
|
||
"addOutbound": "Agregar salida",
|
||
"addReverse": "Agregar reverso",
|
||
"editOutbound": "Editar salida",
|
||
"editReverse": "Editar reverso",
|
||
"reverseTag": "Etiqueta Reverso",
|
||
"reverseTagDesc": "Etiqueta de salida del proxy inverso simple VLESS. Dejar vacío para deshabilitar. Cuando se establece, las conexiones de este cliente pueden usarse como túnel de proxy inverso.",
|
||
"reverseTagPlaceholder": "etiqueta de salida (vacío para deshabilitar)",
|
||
"tag": "Etiqueta",
|
||
"tagDesc": "etiqueta única",
|
||
"address": "Dirección",
|
||
"reverse": "Reverso",
|
||
"domain": "Dominio",
|
||
"type": "Tipo",
|
||
"bridge": "Bridge",
|
||
"portal": "Portal",
|
||
"link": "Enlace",
|
||
"intercon": "Interconexión",
|
||
"settings": "Configuración",
|
||
"accountInfo": "Información de la Cuenta",
|
||
"outboundStatus": "Estado de Salida",
|
||
"sendThrough": "Enviar a través de",
|
||
"test": "Probar",
|
||
"testResult": "Resultado de la prueba",
|
||
"testing": "Probando conexión...",
|
||
"testSuccess": "Prueba exitosa",
|
||
"testFailed": "Prueba fallida",
|
||
"testError": "Error al probar la salida",
|
||
"testModeTooltip": "TCP: sonda rápida solo de dial. HTTP: petición completa a través de xray.",
|
||
"testAll": "Probar todo",
|
||
"nordvpn": "NordVPN",
|
||
"accessToken": "Token de acceso",
|
||
"country": "País",
|
||
"server": "Servidor",
|
||
"city": "Ciudad",
|
||
"allCities": "Todas las ciudades",
|
||
"privateKey": "Clave privada",
|
||
"load": "Carga"
|
||
},
|
||
"balancer": {
|
||
"addBalancer": "Agregar equilibrador",
|
||
"editBalancer": "Editar balanceador",
|
||
"balancerStrategy": "Estrategia",
|
||
"balancerSelectors": "Selectores",
|
||
"tag": "Etiqueta",
|
||
"tagDesc": "etiqueta única",
|
||
"tagDuplicate": "Etiqueta ya usada por otro balanceador",
|
||
"tagPlaceholder": "etiqueta única de balanceador",
|
||
"selector": "Selector",
|
||
"fallback": "Fallback",
|
||
"expected": "Esperado",
|
||
"expectedPlaceholder": "número óptimo de nodos",
|
||
"maxRtt": "Máx. RTT",
|
||
"tolerance": "Tolerancia",
|
||
"baselines": "Baselines",
|
||
"costs": "Costs",
|
||
"balancerDesc": "No es posible utilizar balancerTag y outboundTag al mismo tiempo. Si se utilizan al mismo tiempo, sólo funcionará outboundTag."
|
||
},
|
||
"wireguard": {
|
||
"secretKey": "Llave secreta",
|
||
"publicKey": "Llave pública",
|
||
"allowedIPs": "IP permitidas",
|
||
"endpoint": "Punto final",
|
||
"psk": "Clave precompartida",
|
||
"domainStrategy": "Estrategia de dominio"
|
||
},
|
||
"tun": {
|
||
"nameDesc": "El nombre de la interfaz TUN. El valor predeterminado es 'xray0'",
|
||
"mtuDesc": "Unidad Máxima de Transmisión. El tamaño máximo de los paquetes de datos. El valor predeterminado es 1500",
|
||
"userLevel": "Nivel de Usuario",
|
||
"userLevelDesc": "Todas las conexiones realizadas a través de este entrada utilizarán este nivel de usuario. El valor predeterminado es 0"
|
||
},
|
||
"nord": {
|
||
"accessToken": "Access token",
|
||
"privateKey": "Clave privada",
|
||
"noServers": "No se encontraron servidores para el país seleccionado",
|
||
"noPublicKey": "El servidor seleccionado no anuncia una clave pública NordLynx.",
|
||
"outboundAdded": "Salida NordVPN añadida",
|
||
"outboundUpdated": "Salida NordVPN actualizada"
|
||
},
|
||
"warp": {
|
||
"licenseError": "No se pudo establecer la licencia WARP.",
|
||
"fetchFirst": "Obtén primero la configuración WARP.",
|
||
"createAccount": "Crear cuenta WARP",
|
||
"accessToken": "Access token",
|
||
"deviceId": "ID del dispositivo",
|
||
"licenseKey": "Clave de licencia",
|
||
"privateKey": "Clave privada",
|
||
"deleteAccount": "Eliminar cuenta",
|
||
"settings": "Ajustes",
|
||
"licenseKeyLabel": "Clave de licencia WARP / WARP+",
|
||
"key": "Clave",
|
||
"keyPlaceholder": "clave WARP+ de 26 caracteres",
|
||
"accountInfo": "Información de cuenta",
|
||
"deviceName": "Nombre del dispositivo",
|
||
"deviceModel": "Modelo del dispositivo",
|
||
"deviceEnabled": "Dispositivo habilitado",
|
||
"accountType": "Tipo de cuenta",
|
||
"role": "Rol",
|
||
"warpPlusData": "Datos WARP+",
|
||
"quota": "Cuota",
|
||
"usage": "Uso",
|
||
"addOutbound": "Añadir salida"
|
||
},
|
||
"dns": {
|
||
"enable": "Habilitar DNS",
|
||
"enableDesc": "Habilitar servidor DNS incorporado",
|
||
"tag": "Etiqueta de Entrada DNS",
|
||
"tagDesc": "Esta etiqueta estará disponible como una etiqueta de entrada en las reglas de enrutamiento.",
|
||
"clientIp": "IP del cliente",
|
||
"clientIpDesc": "Se utiliza para notificar al servidor la ubicación IP especificada durante las consultas DNS",
|
||
"disableCache": "Desactivar caché",
|
||
"disableCacheDesc": "Desactiva el almacenamiento en caché de DNS",
|
||
"disableFallback": "Desactivar respaldo",
|
||
"disableFallbackDesc": "Desactiva las consultas DNS de respaldo",
|
||
"disableFallbackIfMatch": "Desactivar respaldo si coincide",
|
||
"disableFallbackIfMatchDesc": "Desactiva las consultas DNS de respaldo cuando se acierta en la lista de dominios coincidentes del servidor DNS",
|
||
"enableParallelQuery": "Habilitar consulta paralela",
|
||
"enableParallelQueryDesc": "Habilitar consultas DNS paralelas a múltiples servidores para una resolución más rápida",
|
||
"strategy": "Estrategia de Consulta",
|
||
"strategyDesc": "Estrategia general para resolver nombres de dominio",
|
||
"add": "Agregar Servidor",
|
||
"edit": "Editar Servidor",
|
||
"domains": "Dominios",
|
||
"expectIPs": "IPs esperadas",
|
||
"unexpectIPs": "IPs inesperadas",
|
||
"useSystemHosts": "Usar Hosts del sistema",
|
||
"useSystemHostsDesc": "Usar el archivo hosts de un sistema instalado",
|
||
"serveStale": "Servir caducados",
|
||
"serveStaleDesc": "Devolver resultados caducados de la caché mientras se actualiza en segundo plano",
|
||
"serveExpiredTTL": "TTL de caducados",
|
||
"serveExpiredTTLDesc": "Validez (segundos) de las entradas caducadas en la caché; 0 = nunca caduca",
|
||
"timeoutMs": "Tiempo de espera (ms)",
|
||
"skipFallback": "Omitir respaldo",
|
||
"finalQuery": "Consulta final",
|
||
"hosts": "Hosts",
|
||
"hostsAdd": "Agregar Host",
|
||
"hostsEmpty": "No hay Hosts definidos",
|
||
"hostsDomain": "Dominio (ej. domain:example.com)",
|
||
"hostsValues": "IP o dominio — escribe y presiona Enter",
|
||
"usePreset": "Usar plantilla",
|
||
"dnsPresetTitle": "Plantillas DNS",
|
||
"dnsPresetFamily": "Familiar",
|
||
"clearAll": "Eliminar todos",
|
||
"clearAllTitle": "¿Eliminar todos los servidores DNS?",
|
||
"clearAllConfirm": "Esto eliminará todos los servidores DNS de la lista. No se puede deshacer."
|
||
},
|
||
"fakedns": {
|
||
"add": "Agregar DNS Falso",
|
||
"edit": "Editar DNS Falso",
|
||
"ipPool": "Subred del grupo de IP",
|
||
"poolSize": "Tamaño del grupo"
|
||
}
|
||
}
|
||
},
|
||
"tgbot": {
|
||
"keyboardClosed": "❌ Teclado cerrado!",
|
||
"noResult": "❗ ¡Sin resultados!",
|
||
"noQuery": "❌ ¡Consulta no encontrada! ¡Por favor, use el comando nuevamente!",
|
||
"wentWrong": "❌ ¡Algo salió mal!",
|
||
"noIpRecord": "❗ ¡No hay registro de IP!",
|
||
"noInbounds": "❗ ¡No se encontraron entradas!",
|
||
"unlimited": "♾ Ilimitado (Restablecer)",
|
||
"add": "Añadir",
|
||
"month": "Mes",
|
||
"months": "Meses",
|
||
"day": "Día",
|
||
"days": "Días",
|
||
"hours": "Horas",
|
||
"minutes": "Minutos",
|
||
"unknown": "Desconocido",
|
||
"inbounds": "Entradas",
|
||
"clients": "Clientes",
|
||
"offline": "🔴 Sin conexión",
|
||
"online": "🟢 En línea",
|
||
"commands": {
|
||
"unknown": "❗ Comando desconocido",
|
||
"pleaseChoose": "👇 Por favor elige:\r\n",
|
||
"help": "🤖 ¡Bienvenido a este bot! Está diseñado para ofrecerte datos específicos del servidor y te permite hacer modificaciones según sea necesario.\r\n\r\n",
|
||
"start": "👋 Hola <i>{{ .Firstname }}</i>.\r\n",
|
||
"welcome": "🤖 Bienvenido al bot de gestión de <b>{{ .Hostname }}</b>.\r\n",
|
||
"status": "✅ ¡El bot está bien!",
|
||
"usage": "❗ ¡Por favor proporciona un texto para buscar!",
|
||
"getID": "🆔 Tu ID: <code>{{ .ID }}</code>",
|
||
"helpAdminCommands": "Para reiniciar Xray Core:\r\n<code>/restart</code>\r\n\r\nPara buscar un correo electrónico de cliente:\r\n<code>/usage [Correo electrónico]</code>\r\n\r\nPara buscar entradas (con estadísticas de cliente):\r\n<code>/inbound [Observación]</code>\r\n\r\nID de Chat de Telegram:\r\n<code>/id</code>",
|
||
"helpClientCommands": "Para buscar estadísticas, utiliza el siguiente comando:\r\n<code>/usage [Correo electrónico]</code>\r\n\r\nID de Chat de Telegram:\r\n<code>/id</code>",
|
||
"restartUsage": "\r\n\r\n<code>/restart</code>",
|
||
"restartSuccess": "✅ ¡Operación exitosa!",
|
||
"restartFailed": "❗ Error en la operación.\r\n\r\n<code>Error: {{ .Error }}</code>.",
|
||
"xrayNotRunning": "❗ Xray Core no está en ejecución.",
|
||
"startDesc": "Mostrar el menú principal",
|
||
"helpDesc": "Ayuda del bot",
|
||
"statusDesc": "Comprobar el estado del bot",
|
||
"idDesc": "Mostrar tu ID de Telegram"
|
||
},
|
||
"messages": {
|
||
"cpuThreshold": "🔴 El uso de CPU {{ .Percent }}% es mayor que el umbral {{ .Threshold }}%",
|
||
"selectUserFailed": "❌ ¡Error al seleccionar usuario!",
|
||
"userSaved": "✅ Usuario de Telegram guardado.",
|
||
"loginSuccess": "✅ Has iniciado sesión en el panel con éxito.\r\n",
|
||
"loginFailed": "❗️ Falló el inicio de sesión en el panel.\r\n",
|
||
"2faFailed": "Error de 2FA",
|
||
"report": "🕰 Informes programados: {{ .RunTime }}\r\n",
|
||
"datetime": "⏰ Fecha y Hora: {{ .DateTime }}\r\n",
|
||
"hostname": "💻 Host: {{ .Hostname }}\r\n",
|
||
"version": "🚀 Versión de X-UI: {{ .Version }}\r\n",
|
||
"xrayVersion": "📡 Versión de Xray: {{ .XrayVersion }}\r\n",
|
||
"ipv6": "🌐 IPv6: {{ .IPv6 }}\r\n",
|
||
"ipv4": "🌐 IPv4: {{ .IPv4 }}\r\n",
|
||
"ip": "🌐 IP: {{ .IP }}\r\n",
|
||
"ips": "🔢 IPs:\r\n{{ .IPs }}\r\n",
|
||
"serverUpTime": "⏳ Tiempo de actividad del servidor: {{ .UpTime }} {{ .Unit }}\r\n",
|
||
"serverLoad": "📈 Carga del servidor: {{ .Load1 }}, {{ .Load2 }}, {{ .Load3 }}\r\n",
|
||
"serverMemory": "📋 RAM: {{ .Current }}/{{ .Total }}\r\n",
|
||
"tcpCount": "🔹 TCP: {{ .Count }}\r\n",
|
||
"udpCount": "🔸 UDP: {{ .Count }}\r\n",
|
||
"traffic": "🚦 Tráfico: {{ .Total }} (↑{{ .Upload }},↓{{ .Download }})\r\n",
|
||
"xrayStatus": "ℹ️ Estado: {{ .State }}\r\n",
|
||
"username": "👤 Nombre de usuario: {{ .Username }}\r\n",
|
||
"reason": "❗️ Motivo: {{ .Reason }}\r\n",
|
||
"time": "⏰ Hora: {{ .Time }}\r\n",
|
||
"inbound": "📍 Entrada: {{ .Remark }}\r\n",
|
||
"port": "🔌 Puerto: {{ .Port }}\r\n",
|
||
"expire": "📅 Fecha de Vencimiento: {{ .Time }}\r\n",
|
||
"expireIn": "📅 Vence en: {{ .Time }}\r\n",
|
||
"active": "💡 Activo: {{ .Enable }}\r\n",
|
||
"enabled": "🚨 Habilitado: {{ .Enable }}\r\n",
|
||
"online": "🌐 Estado de conexión: {{ .Status }}\r\n",
|
||
"lastOnline": "🔙 Última conexión: {{ .Time }}\r\n",
|
||
"email": "📧 Email: {{ .Email }}\r\n",
|
||
"upload": "🔼 Subida: ↑{{ .Upload }}\r\n",
|
||
"download": "🔽 Descarga: ↓{{ .Download }}\r\n",
|
||
"total": "📊 Total: ↑↓{{ .UpDown }} / {{ .Total }}\r\n",
|
||
"TGUser": "👤 Usuario de Telegram: {{ .TelegramID }}\r\n",
|
||
"exhaustedMsg": "🚨 Agotado {{ .Type }}:\r\n",
|
||
"exhaustedCount": "🚨 Cantidad de Agotados {{ .Type }}:\r\n",
|
||
"onlinesCount": "🌐 Clientes en línea: {{ .Count }}\r\n",
|
||
"disabled": "🛑 Desactivado: {{ .Disabled }}\r\n",
|
||
"depleteSoon": "🔜 Se agotará pronto: {{ .Deplete }}\r\n\r\n",
|
||
"backupTime": "🗄 Hora de la Copia de Seguridad: {{ .Time }}\r\n",
|
||
"refreshedOn": "\r\n📋🔄 Actualizado en: {{ .Time }}\r\n\r\n",
|
||
"yes": "✅ Sí",
|
||
"no": "❌ No",
|
||
"received_id": "🔑📥 ID actualizado.",
|
||
"received_password": "🔑📥 Contraseña actualizada.",
|
||
"received_email": "📧📥 Correo electrónico actualizado.",
|
||
"received_comment": "💬📥 Comentario actualizado.",
|
||
"id_prompt": "🔑 ID predeterminado: {{ .ClientId }}\n\nIntroduce tu ID.",
|
||
"pass_prompt": "🔑 Contraseña predeterminada: {{ .ClientPassword }}\n\nIntroduce tu contraseña.",
|
||
"email_prompt": "📧 Correo electrónico predeterminado: {{ .ClientEmail }}\n\nIntroduce tu correo electrónico.",
|
||
"comment_prompt": "💬 Comentario predeterminado: {{ .ClientComment }}\n\nIntroduce tu comentario.",
|
||
"inbound_client_data_id": "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 ID: {{ .ClientId }}\n📧 Correo: {{ .ClientEmail }}\n📊 Tráfico: {{ .ClientTraffic }}\n📅 Fecha de expiración: {{ .ClientExp }}\n🌐 Límite de IP: {{ .IpLimit }}\n💬 Comentario: {{ .ClientComment }}\n\n¡Ahora puedes agregar al cliente a la entrada!",
|
||
"inbound_client_data_pass": "🔄 Entrada: {{ .InboundRemark }}\n\n🔑 Contraseña: {{ .ClientPass }}\n📧 Correo: {{ .ClientEmail }}\n📊 Tráfico: {{ .ClientTraffic }}\n📅 Fecha de expiración: {{ .ClientExp }}\n🌐 Límite de IP: {{ .IpLimit }}\n💬 Comentario: {{ .ClientComment }}\n\n¡Ahora puedes agregar al cliente a la entrada!",
|
||
"cancel": "❌ ¡Proceso cancelado! \n\nPuedes /start de nuevo en cualquier momento. 🔄",
|
||
"error_add_client": "⚠️ Error:\n\n {{ .error }}",
|
||
"using_default_value": "Está bien, me quedaré con el valor predeterminado. 😊",
|
||
"incorrect_input": "Tu entrada no es válida.\nLas frases deben ser continuas sin espacios.\nEjemplo correcto: aaaaaa\nEjemplo incorrecto: aaa aaa 🚫",
|
||
"AreYouSure": "¿Estás seguro? 🤔",
|
||
"SuccessResetTraffic": "📧 Correo: {{ .ClientEmail }}\n🏁 Resultado: ✅ Éxito",
|
||
"FailedResetTraffic": "📧 Correo: {{ .ClientEmail }}\n🏁 Resultado: ❌ Fallido \n\n🛠️ Error: [ {{ .ErrorMessage }} ]",
|
||
"FinishProcess": "🔚 Proceso de reinicio de tráfico finalizado para todos los clientes."
|
||
},
|
||
"buttons": {
|
||
"closeKeyboard": "❌ Cerrar Teclado",
|
||
"cancel": "❌ Cancelar",
|
||
"cancelReset": "❌ Cancelar Reinicio",
|
||
"cancelIpLimit": "❌ Cancelar Límite de IP",
|
||
"confirmResetTraffic": "✅ ¿Confirmar Reinicio de Tráfico?",
|
||
"confirmClearIps": "✅ ¿Confirmar Limpiar IPs?",
|
||
"confirmRemoveTGUser": "✅ ¿Confirmar Eliminar Usuario de Telegram?",
|
||
"confirmToggle": "✅ ¿Confirmar habilitar/deshabilitar usuario?",
|
||
"dbBackup": "Obtener Copia de Seguridad de BD",
|
||
"serverUsage": "Uso del Servidor",
|
||
"getInbounds": "Obtener Entradas",
|
||
"depleteSoon": "Pronto se Agotará",
|
||
"clientUsage": "Obtener Uso",
|
||
"onlines": "Clientes en línea",
|
||
"commands": "Comandos",
|
||
"refresh": "🔄 Actualizar",
|
||
"clearIPs": "❌ Limpiar IPs",
|
||
"removeTGUser": "❌ Eliminar Usuario de Telegram",
|
||
"selectTGUser": "👤 Seleccionar Usuario de Telegram",
|
||
"selectOneTGUser": "👤 Selecciona un usuario de telegram:",
|
||
"resetTraffic": "📈 Reiniciar Tráfico",
|
||
"resetExpire": "📅 Cambiar fecha de Vencimiento",
|
||
"ipLog": "🔢 Registro de IP",
|
||
"ipLimit": "🔢 Límite de IP",
|
||
"setTGUser": "👤 Establecer Usuario de Telegram",
|
||
"toggle": "🔘 Habilitar / Deshabilitar",
|
||
"custom": "🔢 Personalizado",
|
||
"confirmNumber": "✅ Confirmar: {{ .Num }}",
|
||
"confirmNumberAdd": "✅ Confirmar agregando: {{ .Num }}",
|
||
"limitTraffic": "🚧 Límite de tráfico",
|
||
"getBanLogs": "Registros de prohibición",
|
||
"allClients": "Todos los Clientes",
|
||
"addClient": "Añadir cliente",
|
||
"submitDisable": "Enviar como deshabilitado ☑️",
|
||
"submitEnable": "Enviar como habilitado ✅",
|
||
"use_default": "🏷️ Usar por defecto",
|
||
"change_id": "⚙️🔑 ID",
|
||
"change_password": "⚙️🔑 Contraseña",
|
||
"change_email": "⚙️📧 Email",
|
||
"change_comment": "⚙️💬 Comentario",
|
||
"change_flow": "⚙️🚦 Flow",
|
||
"ResetAllTraffics": "Reiniciar todo el tráfico",
|
||
"SortedTrafficUsageReport": "Informe de uso de tráfico ordenado"
|
||
},
|
||
"answers": {
|
||
"successfulOperation": "✅ ¡Exitosa!",
|
||
"errorOperation": "❗ Error en la Operación.",
|
||
"getInboundsFailed": "❌ Error al obtener las entradas",
|
||
"getClientsFailed": "❌ No se pudo obtener los clientes.",
|
||
"canceled": "❌ {{ .Email }} : Operación cancelada.",
|
||
"clientRefreshSuccess": "✅ {{ .Email }} : Cliente actualizado exitosamente.",
|
||
"IpRefreshSuccess": "✅ {{ .Email }} : IPs actualizadas exitosamente.",
|
||
"TGIdRefreshSuccess": "✅ {{ .Email }} : Usuario de Telegram del cliente actualizado exitosamente.",
|
||
"resetTrafficSuccess": "✅ {{ .Email }} : Tráfico reiniciado exitosamente.",
|
||
"setTrafficLimitSuccess": "✅ {{ .Email }} : Límite de Tráfico guardado exitosamente.",
|
||
"expireResetSuccess": "✅ {{ .Email }} : Días de vencimiento reiniciados exitosamente.",
|
||
"resetIpSuccess": "✅ {{ .Email }} : Límite de IP {{ .Count }} guardado exitosamente.",
|
||
"clearIpSuccess": "✅ {{ .Email }} : IPs limpiadas exitosamente.",
|
||
"getIpLog": "✅ {{ .Email }} : Obtener Registro de IP.",
|
||
"getUserInfo": "✅ {{ .Email }} : Obtener Información de Usuario de Telegram.",
|
||
"removedTGUserSuccess": "✅ {{ .Email }} : Usuario de Telegram eliminado exitosamente.",
|
||
"enableSuccess": "✅ {{ .Email }} : Habilitado exitosamente.",
|
||
"disableSuccess": "✅ {{ .Email }} : Deshabilitado exitosamente.",
|
||
"askToAddUserId": "¡No se encuentra su configuración!\r\nPor favor, pídale a su administrador que use su ChatID de usuario de Telegram en su(s) configuración(es).\r\n\r\nSu ChatID de usuario: <code>{{ .TgUserID }}</code>",
|
||
"chooseClient": "Elige un Cliente para Inbound {{ .Inbound }}",
|
||
"chooseInbound": "Elige un Inbound"
|
||
}
|
||
}
|
||
}
|