{ "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 {{ .Firstname }}.\r\n", "welcome": "🤖 Bienvenido al bot de gestión de {{ .Hostname }}.\r\n", "status": "✅ ¡El bot está bien!", "usage": "❗ ¡Por favor proporciona un texto para buscar!", "getID": "🆔 Tu ID: {{ .ID }}", "helpAdminCommands": "Para reiniciar Xray Core:\r\n/restart\r\n\r\nPara buscar un correo electrónico de cliente:\r\n/usage [Correo electrónico]\r\n\r\nPara buscar entradas (con estadísticas de cliente):\r\n/inbound [Observación]\r\n\r\nID de Chat de Telegram:\r\n/id", "helpClientCommands": "Para buscar estadísticas, utiliza el siguiente comando:\r\n/usage [Correo electrónico]\r\n\r\nID de Chat de Telegram:\r\n/id", "restartUsage": "\r\n\r\n/restart", "restartSuccess": "✅ ¡Operación exitosa!", "restartFailed": "❗ Error en la operación.\r\n\r\nError: {{ .Error }}.", "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: {{ .TgUserID }}", "chooseClient": "Elige un Cliente para Inbound {{ .Inbound }}", "chooseInbound": "Elige un Inbound" } } }