mirror of
https://github.com/MHSanaei/3x-ui.git
synced 2026-08-14 07:10:58 +00:00
i18n(panel): migrate hardcoded panel strings to en-US and translate all locales
Surface ~400 hardcoded English labels, tooltips, placeholders, dt/divider text, modal okText/cancelText, and Spin loading from the panel pages (clients/groups/inbounds/nodes/settings/xray/sub/index) into web/translation/en-US.json under existing pages.<page>.* namespaces, with JSX swapped to t(...). Brand and protocol identifiers (TLS, MTU, SNI, NordVPN, Cloudflare WARP, etc.) stay literal. Sync all 12 non-English locales (ar-EG, es-ES, fa-IR, id-ID, ja-JP, pt-BR, ru-RU, tr-TR, uk-UA, vi-VN, zh-CN, zh-TW) to match en-US's structure and translate the 521 new key paths per locale. Every locale file now has 1539 lines, mirroring en-US ordering. Also remove a dead duplicate "info": "Info" key under pages.inbounds that collided with the new pages.inbounds.info.* object. Backend: bulk attach/detach errors in web/service/client.go now route through logger.Warningf (so they appear under /panel/api/server/logs/) instead of only living on the response payload.
This commit is contained in:
+466
-49
@@ -8,15 +8,22 @@
|
||||
"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",
|
||||
@@ -27,7 +34,7 @@
|
||||
"check": "Verificar",
|
||||
"indefinite": "Indefinido",
|
||||
"unlimited": "Ilimitado",
|
||||
"none": "None",
|
||||
"none": "Ninguno",
|
||||
"qrCode": "Código QR",
|
||||
"info": "Más Información",
|
||||
"edit": "Editar",
|
||||
@@ -40,15 +47,15 @@
|
||||
"useIPv4ForHost": "Usar IPv4 para el host",
|
||||
"transmission": "Transmisión",
|
||||
"host": "Host",
|
||||
"path": "Path",
|
||||
"camouflage": "Camuflaje",
|
||||
"path": "Ruta",
|
||||
"camouflage": "Ofuscación",
|
||||
"status": "Estado",
|
||||
"enabled": "Habilitado",
|
||||
"disabled": "Deshabilitado",
|
||||
"depleted": "Agotado",
|
||||
"depletingSoon": "Agotándose",
|
||||
"offline": "fuera de línea",
|
||||
"online": "en línea",
|
||||
"offline": "Sin conexión",
|
||||
"online": "En línea",
|
||||
"domainName": "Nombre de dominio",
|
||||
"monitor": "Listening IP",
|
||||
"certificate": "Certificado Digital",
|
||||
@@ -97,9 +104,10 @@
|
||||
"dashboard": "Estado del Sistema",
|
||||
"inbounds": "Entradas",
|
||||
"clients": "Clientes",
|
||||
"groups": "Grupos",
|
||||
"nodes": "Nodos",
|
||||
"settings": "Configuraciones",
|
||||
"xray": "Ajustes Xray",
|
||||
"settings": "Ajustes del panel",
|
||||
"xray": "Configuración Xray",
|
||||
"apiDocs": "Documentación de la API",
|
||||
"logout": "Cerrar Sesión",
|
||||
"link": "Gestionar",
|
||||
@@ -123,7 +131,7 @@
|
||||
"cpu": "CPU",
|
||||
"logicalProcessors": "Procesadores lógicos",
|
||||
"frequency": "Frecuencia",
|
||||
"swap": "Memoria Virtual",
|
||||
"swap": "Swap",
|
||||
"storage": "Almacenamiento",
|
||||
"memory": "RAM",
|
||||
"threads": "Hilos",
|
||||
@@ -166,7 +174,7 @@
|
||||
"toggleIpVisibility": "Alternar visibilidad de la IP",
|
||||
"overallSpeed": "Velocidad general",
|
||||
"upload": "Subida",
|
||||
"download": "Descarga",
|
||||
"download": "Descargar",
|
||||
"totalData": "Datos totales",
|
||||
"sent": "Enviado",
|
||||
"received": "Recibido",
|
||||
@@ -228,7 +236,7 @@
|
||||
"dontRefresh": "La instalación está en progreso, por favor no actualices esta página.",
|
||||
"logs": "Registros",
|
||||
"config": "Configuración",
|
||||
"backup": "Сopia de Seguridad",
|
||||
"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.",
|
||||
@@ -270,14 +278,14 @@
|
||||
},
|
||||
"protocol": "Protocolo",
|
||||
"port": "Puerto",
|
||||
"portMap": "Puertos de Destino",
|
||||
"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",
|
||||
"resetTraffic": "Restablecer tráfico",
|
||||
"addInbound": "Agregar Entrada",
|
||||
"generalActions": "Acciones Generales",
|
||||
"modifyInbound": "Modificar Entrada",
|
||||
@@ -292,11 +300,29 @@
|
||||
"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",
|
||||
"inboundJsonTitle": "JSON del inbound",
|
||||
"inboundJsonTitle": "JSON de entrada",
|
||||
"deleteClient": "Eliminar cliente",
|
||||
"deleteClientContent": "¿Está seguro de que desea eliminar el cliente?",
|
||||
"resetTrafficContent": "¿Confirmar restablecimiento de tráfico?",
|
||||
@@ -306,7 +332,7 @@
|
||||
"destinationPort": "Puerto de Destino",
|
||||
"targetAddress": "Dirección de Destino",
|
||||
"monitorDesc": "Dejar en blanco por defecto",
|
||||
"meansNoLimit": " = illimitata. (unidad: GB)",
|
||||
"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",
|
||||
@@ -341,6 +367,7 @@
|
||||
"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": "Stream",
|
||||
"securityTab": "Seguridad",
|
||||
"sniffingTab": "Sniffing",
|
||||
@@ -369,7 +396,6 @@
|
||||
},
|
||||
"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.",
|
||||
"info": "Info",
|
||||
"same": "misma",
|
||||
"inboundData": "Datos de entrada",
|
||||
"exportInbound": "Exportación entrante",
|
||||
@@ -406,6 +432,139 @@
|
||||
"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",
|
||||
"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",
|
||||
@@ -416,7 +575,7 @@
|
||||
"tcp": {
|
||||
"version": "Versión",
|
||||
"method": "Método",
|
||||
"path": "Camino",
|
||||
"path": "Ruta",
|
||||
"status": "Estado",
|
||||
"statusDescription": "Descripción de la Situación",
|
||||
"requestHeader": "Encabezado de solicitud",
|
||||
@@ -456,6 +615,20 @@
|
||||
"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)",
|
||||
@@ -465,10 +638,13 @@
|
||||
"password": "Contraseña",
|
||||
"subId": "ID de suscripción",
|
||||
"online": "En línea",
|
||||
"email": "Correo",
|
||||
"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": "Desconectado",
|
||||
"offline": "Sin conexión",
|
||||
"addTitle": "Añadir cliente",
|
||||
"qrCode": "Código QR",
|
||||
"moreInformation": "Más información",
|
||||
@@ -489,11 +665,45 @@
|
||||
"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.",
|
||||
"empty": "Aún no hay clientes — añade uno para empezar.",
|
||||
"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",
|
||||
@@ -505,10 +715,11 @@
|
||||
"delDepletedConfirmTitle": "¿Eliminar clientes agotados?",
|
||||
"delDepletedConfirmContent": "Elimina todos los clientes con cuota agotada o expirados. No se puede deshacer.",
|
||||
"auth": "Auth",
|
||||
"hysteriaAuth": "Auth de Hysteria",
|
||||
"hysteriaAuth": "Hysteria Auth",
|
||||
"uuid": "UUID",
|
||||
"flow": "Flow",
|
||||
"reverseTag": "Reverse tag",
|
||||
"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)",
|
||||
@@ -528,13 +739,51 @@
|
||||
"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": "Desconectado",
|
||||
"offlineNodes": "Sin conexión",
|
||||
"avgLatency": "Latencia media",
|
||||
"name": "Nombre",
|
||||
"namePlaceholder": "p. ej. de-frankfurt-1",
|
||||
@@ -544,7 +793,7 @@
|
||||
"address": "Dirección",
|
||||
"port": "Puerto",
|
||||
"basePath": "Ruta base",
|
||||
"apiToken": "Token de API",
|
||||
"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",
|
||||
@@ -571,7 +820,7 @@
|
||||
"deleteConfirmContent": "Esto detiene la monitorización del nodo. El panel remoto en sí no se ve afectado.",
|
||||
"statusValues": {
|
||||
"online": "En línea",
|
||||
"offline": "Desconectado",
|
||||
"offline": "Sin conexión",
|
||||
"unknown": "Desconocido"
|
||||
},
|
||||
"toasts": {
|
||||
@@ -590,7 +839,7 @@
|
||||
"title": "Configuraciones",
|
||||
"save": "Guardar",
|
||||
"infoDesc": "Cada cambio realizado aquí debe ser guardado. Por favor, reinicie el panel para aplicar los cambios.",
|
||||
"restartPanel": "Reiniciar Panel",
|
||||
"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",
|
||||
@@ -604,7 +853,7 @@
|
||||
"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": "Configuraciones de Bot de Telegram",
|
||||
"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",
|
||||
@@ -615,10 +864,12 @@
|
||||
"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 Raíz de la URL del Panel",
|
||||
"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",
|
||||
@@ -632,9 +883,9 @@
|
||||
"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": "Socks5 Proxy",
|
||||
"telegramProxy": "Proxy SOCKS",
|
||||
"telegramProxyDesc": "Si necesita el proxy Socks5 para conectarse a Telegram. Ajuste su configuración según la guía.",
|
||||
"telegramAPIServer": "API Server de Telegram",
|
||||
"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.",
|
||||
@@ -658,6 +909,8 @@
|
||||
"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",
|
||||
@@ -678,13 +931,13 @@
|
||||
"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 Raíz de la URL de Suscripción",
|
||||
"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": "Encriptar configuraciones",
|
||||
"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.",
|
||||
@@ -693,7 +946,7 @@
|
||||
"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 la API externa sobre cada actualización de tráfico.",
|
||||
"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",
|
||||
@@ -703,6 +956,54 @@
|
||||
"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",
|
||||
@@ -758,6 +1059,9 @@
|
||||
"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.",
|
||||
@@ -790,14 +1094,16 @@
|
||||
"outboundTestUrl": "URL de prueba de outbound",
|
||||
"outboundTestUrlDesc": "URL usada al probar la conectividad del outbound",
|
||||
"Torrent": "Prohibir Uso de BitTorrent",
|
||||
"Inbounds": "Entrante",
|
||||
"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": "Todos",
|
||||
"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",
|
||||
@@ -827,11 +1133,78 @@
|
||||
"inbound": "Entrante",
|
||||
"outbound": "Saliente",
|
||||
"balancer": "Equilibrador",
|
||||
"info": "Información",
|
||||
"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",
|
||||
@@ -846,8 +1219,8 @@
|
||||
"reverse": "Reverso",
|
||||
"domain": "Dominio",
|
||||
"type": "Tipo",
|
||||
"bridge": "puente",
|
||||
"portal": "portal",
|
||||
"bridge": "Bridge",
|
||||
"portal": "Portal",
|
||||
"link": "Enlace",
|
||||
"intercon": "Interconexión",
|
||||
"settings": "Configuración",
|
||||
@@ -860,6 +1233,8 @@
|
||||
"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",
|
||||
@@ -876,6 +1251,16 @@
|
||||
"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": {
|
||||
@@ -892,6 +1277,38 @@
|
||||
"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",
|
||||
@@ -961,7 +1378,7 @@
|
||||
"unknown": "Desconocido",
|
||||
"inbounds": "Entradas",
|
||||
"clients": "Clientes",
|
||||
"offline": "🔴 Desconectado",
|
||||
"offline": "🔴 Sin conexión",
|
||||
"online": "🟢 En línea",
|
||||
"commands": {
|
||||
"unknown": "❗ Comando desconocido",
|
||||
@@ -992,7 +1409,7 @@
|
||||
"2faFailed": "Error de 2FA",
|
||||
"report": "🕰 Informes programados: {{ .RunTime }}\r\n",
|
||||
"datetime": "⏰ Fecha y Hora: {{ .DateTime }}\r\n",
|
||||
"hostname": "💻 Nombre del Host: {{ .Hostname }}\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",
|
||||
@@ -1001,15 +1418,15 @@
|
||||
"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": "📋 Memoria del servidor: {{ .Current }}/{{ .Total }}\r\n",
|
||||
"tcpCount": "🔹 Conteo de TCP: {{ .Count }}\r\n",
|
||||
"udpCount": "🔸 Conteo de UDP: {{ .Count }}\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 de Xray: {{ .State }}\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": "📍 Inbound: {{ .Remark }}\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",
|
||||
@@ -1019,7 +1436,7 @@
|
||||
"lastOnline": "🔙 Última conexión: {{ .Time }}\r\n",
|
||||
"email": "📧 Email: {{ .Email }}\r\n",
|
||||
"upload": "🔼 Subida: ↑{{ .Upload }}\r\n",
|
||||
"download": "🔽 Bajada: ↓{{ .Download }}\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",
|
||||
@@ -1077,7 +1494,7 @@
|
||||
"ipLimit": "🔢 Límite de IP",
|
||||
"setTGUser": "👤 Establecer Usuario de Telegram",
|
||||
"toggle": "🔘 Habilitar / Deshabilitar",
|
||||
"custom": "🔢 Costumbre",
|
||||
"custom": "🔢 Personalizado",
|
||||
"confirmNumber": "✅ Confirmar: {{ .Num }}",
|
||||
"confirmNumberAdd": "✅ Confirmar agregando: {{ .Num }}",
|
||||
"limitTraffic": "🚧 Límite de tráfico",
|
||||
@@ -1089,9 +1506,9 @@
|
||||
"use_default": "🏷️ Usar por defecto",
|
||||
"change_id": "⚙️🔑 ID",
|
||||
"change_password": "⚙️🔑 Contraseña",
|
||||
"change_email": "⚙️📧 Correo electrónico",
|
||||
"change_email": "⚙️📧 Email",
|
||||
"change_comment": "⚙️💬 Comentario",
|
||||
"change_flow": "⚙️🚦 Flujo",
|
||||
"change_flow": "⚙️🚦 Flow",
|
||||
"ResetAllTraffics": "Reiniciar todo el tráfico",
|
||||
"SortedTrafficUsageReport": "Informe de uso de tráfico ordenado"
|
||||
},
|
||||
@@ -1119,4 +1536,4 @@
|
||||
"chooseInbound": "Elige un Inbound"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user