{
  "levels": {
    "low": {
      "label": "OK",
      "verb": "Sistema estable",
      "hint": "Mantenga la protección diaria"
    },
    "elevated": {
      "label": "Elevado",
      "verb": "Anomalías vistas",
      "hint": "Cambie a seguridad y observe las IP sospechosas"
    },
    "under_attack": {
      "label": "Bajo ataque",
      "verb": "Probablemente bajo ataque",
      "hint": "Aplicar preajuste de ataque bajo + prohibición masiva"
    },
    "critical": {
      "label": "Crítico",
      "verb": "Amenaza severa",
      "hint": "Considere la posibilidad de una emergencia; asegúrese de estar en la lista blanca"
    }
  },
  "presetsWhen": {
    "daily": "Día a día",
    "hardened": "Escanear / bruto",
    "under_attack": "inundación L7",
    "emergency": "Último recurso"
  },
  "note": {
    "notApplied": "No aplicado en el host (necesita root + YSK_EXECUTE=1): guardado en la configuración del panel",
    "nginxWritten": "Escribió el archivo del panel de límite de velocidad de Nginx",
    "f2bWritten": "Escribí la configuración del panel fail2ban",
    "hintDropped": "Se omitió la sugerencia de protección interna",
    "nginxLimits": "Escribirá un fragmento de límite de velocidad de Nginx"
  },
  "rel": {
    "justNow": "En este momento",
    "minutesAgo": "{{n}} hace minutos",
    "hoursAgo": "Hace {{n}} horas"
  },
  "apiUnreachable": "No se puede acceder a la API (el proxy web/backend puede estar inactivo)",
  "geoipLoadFailed": "No se pudo cargar GeoIP",
  "loadFailed": "Error de carga",
  "previewDone": "Vista previa realizada (no escrita)",
  "presetApplied": "Preajuste de protección aplicado",
  "manualBan": "Prohibición manual",
  "banSent": "Ban enviado para {{ip}}",
  "quickSelectBan": "Prohibición de selección rápida",
  "bulkBan": "Prohibición masiva {{count}}",
  "autoBanStatus": "Prohibición automática: {{onOff}} · {{mode}} · {{method}}",
  "autoBanUpdated": "Prohibición automática actualizada",
  "automationMaster": "Maestro de automatización: {{onOff}}",
  "autoPresetStatus": "Preajuste automático: {{onOff}}",
  "autoBanAutomation": "Prohibición automática: {{onOff}} ({{mode}})",
  "automationSaved": "Configuración de automatización guardada",
  "statFirewall": "Cortafuegos",
  "statSuspects": "IP sospechosas",
  "statSuspectsSplit": "{{actionable}} procesable / {{total}} listado",
  "suspectActionableCount": "IP procesables {{count}}",
  "scoreBasisHint": "La puntuación de amenazas utiliza firewall, volumen de prohibición de fail2ban y señales de tasa de solicitudes; no es el mismo recuento que la lista de sospechosos de inteligencia.",
  "statAutoBan": "Prohibición automática",
  "statApply": "Aplicar el sistema",
  "statActiveBans": "Prohibiciones activas",
  "statPreset": "Programar",
  "threatPill": "Amenaza {{label}} · puntuación {{score}}",
  "reprobed": "Re-sondeado",
  "loadingStatus": "Cargando estado de protección…",
  "tabs": {
    "command": "Respuesta",
    "automation": "Automatización",
    "bans": "Prohibiciones",
    "geo": "acceso IP",
    "stack": "Pila",
    "intel": "Intel",
    "about": "Acerca de"
  },
  "reapply": "Aplicar de nuevo",
  "nginxLimits": "Límites de velocidad de Nginx",
  "notWritten": "No escrito",
  "modeValue": {
    "normal": "Normal",
    "degraded": "Degradado",
    "ddos-protection": "Protección DDoS",
    "offline": "Desconectado"
  },
  "mode": "Modo",
  "controlPlane": "Plano de control",
  "canApply": "puede aplicar",
  "needRoot": "Necesita raíz",
  "writeOnly": "Escribir solo archivo",
  "autoRunning": "Ejecutando · cada {{sec}}s · prohibiciones esta hora {{n}}",
  "autoOffManual": "Apagado: solo manual",
  "lastTick": "· último {{t}}",
  "nextTick": "· siguiente {{t}}",
  "on": "En",
  "off": "Apagado",
  "open": "Abierto",
  "ranAutomationTick": "Ejecutó un tick de automatización",
  "escalateHardened": "Puntaje ≥ endurecido",
  "escalateAttack": "Bajo ataque ≥ puntuación",
  "deescalateDaily": "Volver al diario < puntuación",
  "zeroOff": "0 de descuento",
  "holdAfterEscalate": "Espera mínima después de escalar",
  "min5": "5 minutos",
  "min15": "15 minutos",
  "min30": "30 minutos",
  "hour1": "1 hora",
  "hour2": "2 horas",
  "hour6": "6 horas",
  "presetOrCustom": "Preestablecido/personalizado",
  "autoBanMode": "Modo de prohibición automática",
  "soft": "Suave",
  "normal": "Normal",
  "aggressive": "Agresivo",
  "custom": "Costumbre",
  "method": "Método",
  "banMethod": "Método de prohibición",
  "both": "Ambos",
  "scoreGte": "Puntuación ≥",
  "hitsGte": "Solicitar visitas ≥",
  "hits429Gte": "429 visitas relacionadas ≥",
  "scanHitsGte": "Impactos de ruta de escaneo ≥",
  "cooldown": "Enfriarse",
  "maxPerHour": "máximo por hora",
  "scanInterval": "Intervalo de escaneo",
  "schedulerDefault": "programador predeterminado 120s",
  "collapse": "Colapsar",
  "expand": "Expandir",
  "step": "Paso",
  "mechanism": "Mecanismo",
  "youCanTune": "puedes sintonizar",
  "probe": "Sonda",
  "probeSignals": "WAN/tasa de solicitud/TCP/f2b/UFW",
  "escalateThreshold": "Umbral de escalada",
  "emergency": "Emergencia",
  "neverAuto": "Nunca automático",
  "manualEmergency": "EMERGENCIA Manual",
  "signalNetworkDown": "WAN abajo",
  "signalHighReq": "Alta tasa de solicitudes",
  "signalDdos": "Heurística DDoS",
  "signalTcp": "Conexiones TCP",
  "signalUfwOff": "UFW desactivado",
  "signalF2bBans": "recuento de prohibiciones de fail2ban",
  "weightHint": "{{label}} peso 0–3",
  "detected": "(detectado)",
  "notSet": "(no establecido)",
  "zonesComma": "Zonas (separadas por comas)",
  "underAttackRequested": "Bajo ataque solicitado",
  "underAttackCleared": "Borrar UA solicitada",
  "autoBanOpen": "En · {{mode}} · esta hora {{n}}/{{max}}",
  "autoBanClosed": "Desactivado: manual/solo lista",
  "pausedNoExecute": "· pausado (sin EJECUTAR)",
  "circuitOpen": "· circuito abierto",
  "autoBanModeLabel": "Modo de prohibición automática",
  "scanned": "escaneado",
  "bulkOps": "Acciones masivas",
  "fromAccessLog": "Desde el registro de acceso · prohibición masiva o con un clic",
  "noSuspectIps": "No hay IP sospechosas por ahora",
  "noSuspectDesc": "Aparece cuando se ve tráfico scan/429. Ampliar para prohibición manual.",
  "whitelistPlus": "Lista blanca + {{ip}}",
  "whitelistAdded": "Agregado a la lista blanca",
  "activeBansTitle": "Prohibiciones activas ({{count}})",
  "activeBansDesc": "Agregado de protección · desbanear a través de API de defensa (igual que el cliente fail2ban)",
  "source": "Fuente",
  "unbanned": "no prohibido",
  "noBans": "Sin prohibiciones",
  "noBansDesc": "Las prohibiciones se muestran aquí",
  "collapseQuickAdd": "Contraer adición rápida",
  "quickAddOne": "Agregar uno rápidamente",
  "removeItem": "Quitar {{w}}",
  "updated": "Actualizado",
  "ipOrCidr": "IPv4/IPv6 o CIDR",
  "autoBanWhitelistAdded": "Agregado a la lista blanca de prohibición automática",
  "added": "Agregado",
  "banIpPlaceholder": "IPv4 o IPv6 para prohibir",
  "reason": "Razón",
  "scanBrute": "Escanear / bruto",
  "noSignals": "Aún no hay señales",
  "pressReprobe": "Presione volver a sondear",
  "points": "puntos",
  "noTopIps": "Aún no hay IP principales",
  "topIpsAfterLog": "Se muestra después de que existen registros",
  "noManagedVhost": "Sin vhost administrado",
  "afterPresetMarker": "Aplicar marcador de inyección preestablecido",
  "injected": "YSK_DEFENSE inyectado",
  "notInjected": "No inyectado",
  "noEvents": "Aún no hay eventos",
  "eventsAfterOps": "Aparecer después de aplicar/prohibir",
  "geoipUpdated": "Base de datos GeoIP actualizada",
  "dbReady": "Base de datos lista",
  "stale": "Duro",
  "older7d": ">7 días",
  "freshnessNa": "n / A",
  "freshnessMissing": "Sin base de datos",
  "freshnessStale": "Duro",
  "freshnessFresh": "Actual",
  "lastSuccess": "Último éxito",
  "downloaded": "Descargado",
  "missing": "Desaparecido",
  "geoMode": "Modo de acceso geográfico",
  "denyList": "Lista de denegación",
  "allowListHighRisk": "Lista de permitidos · alto riesgo",
  "autoUpdateDb": "Actualizar base de datos automáticamente",
  "countriesSelected": "Países ({{n}} seleccionados)",
  "searchCountry": "Buscar nombre chino o ISO",
  "countryPlaceholder": "China/CN",
  "regionsSelected": "Regiones ({{n}} seleccionadas)",
  "regionsHint": "De países seleccionados; personalizado CN-GD OK",
  "pickCountryFirst": "Elija los países primero para reducir la lista",
  "customRegion": "Personalizado, p.e. CN-GD",
  "regionPlaceholder": "Guangdong / California / Tokio",
  "continentsSelected": "Continentes ({{n}} seleccionado)",
  "continentsHint": "Continentes opcionales",
  "continentPlaceholder": "Asia/UE",
  "asnsSelected": "ASN del proveedor ({{n}} seleccionado)",
  "asnsHint": "Nube/ISP; ASN personalizado OK",
  "customAsn": "ASN personalizado, p. 13335",
  "asnPlaceholder": "Cloudflare/ISP",
  "cityExample": "p.ej. CN|Shenzhen o Estados Unidos|Ashburn",
  "policySaved": "Política guardada · países {{c}} · regiones {{r}} · ASN {{a}}",
  "ipPolicySaved": "Política de acceso IP guardada",
  "nginxGeoWritten": "Escribió un fragmento geográfico de nginx",
  "ipAddress": "dirección IP",
  "lookupPlaceholder": "IPv4 o IPv6 para buscar",
  "wouldBlock": "Bloquearía · {{reason}} · {{matched}}",
  "wouldAllow": "Permitir · {{reason}}",
  "lookupDone": "Búsqueda realizada",
  "item": "Campo",
  "value": "Valor",
  "country": "País",
  "region": "Región",
  "city": "Ciudad",
  "continent": "Continente",
  "coords": "Coordenadas",
  "provider": "Proveedor",
  "policy": "Política",
  "block": "Bloquear",
  "allow": "Permitir",
  "matched": "emparejado",
  "applyStricterTitle": "¿Aplicar ajustes preestablecidos más estrictos?",
  "applyStricterDesc": "Puede habilitar la prohibición automática. Confirme que su IP esté en la lista blanca.",
  "confirmEmergencyTitle": "Confirmar preajuste de emergencia",
  "confirmEmergencyDesc": "Límites de tarifas extremadamente de emergencia. Confirme la lista blanca y escriba EMERGENCIA.",
  "confirmString": "Confirmar cadena",
  "applyEmergency": "Aplicar emergencia",
  "sectionPreset": "Preajustes",
  "sectionAutoPreset": "① Preajuste automático",
  "sectionAutoBan": "② Prohibición automática",
  "unban": "Desbanear",
  "ban": "Prohibición",
  "banConfirmTitle": "¿Prohibir {{ip}}?",
  "banConfirmMethod": "Método: {{method}}",
  "banConfirmUntilUnban": "Permanece prohibido hasta que lo desbanques (o hasta que expire el fail2ban).",
  "banConfirmDesc": "Esta IP será bloqueada en el host. Confirme que no es un panel actual o una dirección de sesión.",
  "wlRemovedUndo": "Se eliminó {{ip}} de la lista de permitidos. Deshacer en 5 segundos.",
  "undo": "Deshacer",
  "banSelectedConfirmTitle": "¿Prohibir {{count}} IP seleccionadas?",
  "banSelectedConfirmDesc": "Estas direcciones se bloquearán en el host: {{ips}}",
  "save": "Ahorrar",
  "yes": "Sí",
  "no": "No",
  "oneClickSuggested": "Aplicar preajuste sugerido",
  "stackApply": "Aplicar pila de protección (UFW, fail2ban, preestablecido)",
  "stackApplyDone": "Se solicita la aplicación de la pila de protección",
  "stackApplyHint": "Esto habilita UFW y aplica fail2ban más el valor preestablecido sugerido. Confirme que no se bloqueará en un panel remoto.",
  "viewPresets": "Ver ajustes preestablecidos",
  "suspectIpsCount": "IP sospechosas {{count}}",
  "goBans": "Ir a prohibiciones",
  "singleEntryPrefix": "Partida simple:",
  "singleEntryBody": " ",
  "emergencyNeverAuto": "emergencia nunca auto",
  "writeOnlyBanner": "Solo escritura: la aplicación del sistema necesita EXECUTE=1 y root.",
  "readiness": "Preparación",
  "goTo": "Abierto",
  "presetGuide": "",
  "active": "Activo",
  "recommended": "sugerido",
  "useCarefully": "Precaución",
  "preview": "Avance",
  "stackToolsSee": "Apilar herramientas en la pestaña Apilar ·",
  "readinessCheck": "verificación de preparación",
  "automationMasterLabel": "Interruptor maestro de automatización",
  "runOneTick": "Ejecute un tic ahora",
  "suggestEmergencyBanner": "Puntuación muy alta: el sistema sugiere una emergencia pero no se aplicará automáticamente. Confirme en la pestaña Respuesta.",
  "autoPresetDesc": "Cambio automático diario/endurecido/bajo ataque por puntuación. Emergencia nunca automática.",
  "allowDeescalate": "Permitir desescalada automática",
  "autoBanThresholdHint": "umbrales de llenado suaves/normales/agresivos;",
  "sectionMechanism": "③ Cómo funciona",
  "lastNotes": "Último: {{notes}}",
  "sectionWeights": "④ Pesos de señal (0–3)",
  "weightsDesc": "Predeterminado 1;",
  "needCfToken": "Necesita el entorno CF_API_TOKEN",
  "cfOnEscalate": ". Puede llamar a la API cuando se escala a bajo ataque o aplicación manual.",
  "ufwOnlyCf": "Bajo ataque: UFW solo permite rangos CF (+SSH)",
  "ufwOnlyCfHint": "Restablece UFW solo a las IP de Cloudflare; necesita derechos de cambio de sistema.",
  "saveZones": "Guardar zonas",
  "uaNow": "Bajo ataque ahora",
  "uaClear": "Claro (→ alto)",
  "stackRoleNote": "UFW y fail2ban son páginas de herramientas bajo Protección (no navegación de nivel superior). La barra lateral mantiene solo esta página.",
  "fwUfwTitle": "Cortafuegos UFW",
  "fwStats": "Política portuaria · permanente DENEGAR · permitir {{allow}} · denegar {{deny}}",
  "fwRulesProfiles": "Reglas y perfiles de la UFW",
  "f2bStats": "Registrar prohibiciones temporales · {{jails}} cárceles · prohibido {{banned}}",
  "jailsWhitelistPolicy": "Cárceles · lista blanca · política",
  "divisionTitle": "División del trabajo",
  "divisionUfw": "UFW = qué puertos se abren, IP permanente denegada",
  "divisionF2b": "fail2ban = prohibición temporal después del escaneo de registros",
  "divisionDefense": "Esta página = orquestación de ataques (valores preestablecidos + prohibición automática + sospechosos)",
  "autoBanLabel": "Prohibición automática",
  "scanOnce": "Escanear una vez",
  "selectedIps": "{{count}} IP(s) seleccionadas",
  "banSelected": "Prohibición seleccionada",
  "suspectIps": "IP sospechosas",
  "selectAll": "Seleccionar todo",
  "alreadyBanned": "Prohibido",
  "whitelist": "Lista blanca",
  "bansWorkflow": "Respuesta: lista de sospechosos → prohibir/desprohibir. Política carcelaria, ignoreip, ciclo de vida del servicio:",
  "f2bTool": "herramienta fail2ban",
  "noSecondJail": "(Aquí no hay un segundo editor de la cárcel).",
  "autoBanWhitelistTitle": "Lista blanca de prohibición automática",
  "autoBanWhitelistDesc": "Exenciones de protección de prohibición automática (sincroniza fail2ban ignoreip",
  "ufwOff": "UFW (apagado)",
  "ufwOffHint": "UFW no está activo: fail2ban es el objetivo utilizable.",
  "whitelistSyncHint": "{{n}} entradas del panel · fail2ban ignoreip sync: {{sync}}",
  "whitelistSyncOn": "en",
  "whitelistSyncOff": "desactivado (las listas pueden diferir)",
  "ignoreipWhitelist": "ignorar la lista blanca de IP",
  "notSetSuggestAdmin": "No configurado (agregue su IP de administrador)",
  "moreItems": "… {{n}} más · ver la lista blanca de fail2ban",
  "add": "Agregar",
  "manualBanTitle": "Prohibición manual",
  "methodFollows": "El método sigue la selección anterior (fail2ban / UFW)",
  "preferSuspectList": "Normalmente la lista de sospechosos es suficiente.",
  "threatSignals": "Señales de amenaza",
  "scoreSource": "Fuentes de puntuación · pesos ajustables",
  "accessAuthSample": "acceso + muestras de autenticación",
  "fullLogsAt": "Registros completos de nginx/auth:",
  "logCenter": "Centro de registro",
  "colScore": "Puntaje",
  "colHits": "Impactos",
  "col429": "429",
  "topIpsTitle": "IP principales",
  "hitsCount": "{{n}} impactos",
  "sampleWindowHint": "Los recuentos son de la ventana de muestras access + auth actual, no del archivo de registro completo.",
  "banShort": "Prohibición",
  "vhostLimits": "Límites de velocidad de Vhost",
  "eventStream": "Flujo de eventos",
  "eventKind": {
    "preset": "Programar",
    "auto_preset": "Preajuste automático",
    "cloudflare_ua": "Llamarada de nube",
    "ban": "Prohibición",
    "unban": "Desbanear"
  },
  "hours48": "48 horas",
  "geoipDb": "Base de datos GeoIP",
  "refreshStatus": "Actualizar estado",
  "updateDbNow": "Actualizar base de datos ahora",
  "geoipSourceHint": "Utiliza la base de datos GeoIP local de forma predeterminada; token de información IP opcional.",
  "retry": "Rever",
  "loadingGeoip": "Cargando estado de GeoIP…",
  "nextScheduledUpdate": "Próxima actualización programada: {{at}}",
  "statusNotLoaded": "Estado no cargado",
  "load": "Carga",
  "accessPolicy": "Política de acceso",
  "enable": "Permitir",
  "freeGranularity": "Máximo gratuito: país + región + ASN; ciudad opcional (predeterminado desactivado, menor precisión). Proveedor = ASN. La lista blanca siempre está exenta. Haga clic en el chip para eliminarlo.",
  "allowListDanger": "El modo de lista permitida es de alto riesgo: las IP públicas que no figuran en la lista (incluidas las geográficas desconocidas) están bloqueadas. Asegúrese de que la IP del administrador esté en la lista blanca de páginas prohibidas.",
  "dailySchedule": "Horario diario",
  "cityPolicy": "Política de la ciudad (confianza baja · opcional)",
  "useCityAccess": "Utilice la ciudad para acceder",
  "cityPolicyHint": "La precisión de la ciudad de DB gratuita es limitada",
  "noCitiesYet": "Aún no hay ciudades",
  "savePolicy": "Guardar política",
  "applyNginxSnippet": "Aplicar fragmento de Nginx",
  "nginxSnippetHint": "El bloqueo HTTP necesita el módulo nginx geoip2.",
  "testIp": "IP de prueba",
  "lookup": "Buscar",
  "plusCountry": "+ país {{v}}",
  "plusRegion": "+ región {{v}}",
  "plusCity": "+ ciudad {{v}}",
  "lastTickPrefix": "· último {{t}}",
  "nextTickPrefix": "· siguiente {{t}}",
  "cannotBanSelf": "No se puede bloquear {{ip}} — es el anfitrión, su IP de inicio o ignoreip",
  "selfIp": "este anfitrión",
  "selfHostIp": "IP del host",
  "selfLoginIp": "Su IP de inicio de sesión",
  "showZeroScore": "Mostrar puntuación 0",
  "hideZeroScore": "Ocultar puntuación 0",
  "geoDraftOnly": "La política está apagada: Guardar solo deja un borrador. Nginx no aplica hasta que la active.",
  "geoNeedDb": "Faltan bases de datos GeoIP: actualice primero los archivos MMDB",
  "uaNeedZones": "Establece primero una zona de Cloudflare",
  "selectAllCountriesWarn": "¿Seleccionar todos los países en lista de bloqueo? Puede bloquear este anfitrión y su país de inicio.",
  "badgeRecommendPreset": "Se recomienda un preajuste más fuerte para la amenaza actual",
  "badgeAutomationOn": "La automatización está activa",
  "badgeBanCount": "Bloqueos activos",
  "badgeGeoOn": "La política de acceso Geo está activa",
  "badgeGeoNotReady": "La base GeoIP no está lista",
  "badgeIntelSignals": "Señales que suman puntuación ahora",
  "signalActive": "Activo",
  "signalInactive": "Inactivo",
  "signalJails": "{{n}} cárcel(es)",
  "dbReadyHint": "Hay archivos MMDB",
  "dbNotReadyHint": "Descargue primero una base GeoIP",
  "staleHint": "Si la última actualización correcta tiene más de 7 días",
  "draftBadge": "Borrador",
  "banIsSelf": "Esta IP coincide con la fuente del panel actual o con este host.",
  "banNotSelf": "Esta IP no es la fuente actual del panel.",
  "geoSourceLocal": "Biblioteca GeoIP local (sapics + DB-IP)",
  "nginxPreviewHint": "Fragmento de Nginx que este ajuste preestablecido escribiría (solo vista previa):"
}
