{
  "title": "Seguridad y aprobaciones",
  "allowlist": "Lista de herramientas permitidas (predeterminada de solo lectura; las de alto riesgo necesitan aprobación humana)",
  "llmUntrusted": "La salida de LLM siempre no es confiable y nunca debe ejecutarse directamente",
  "pending": "Aprobaciones pendientes",
  "runSysInfo": "Ejecute sys.info",
  "none": "No hay aprobaciones pendientes",
  "pillPending": "{{count}} pendiente",
  "pillReady": "Listo",
  "pill2faOff": "2FA desactivado",
  "stat2fa": "2FA",
  "statApi": "API",
  "statApiSessions": "Sesiones API",
  "revokeOtherTitle": "Cerrar sesión {{n}} otras sesiones",
  "statSsh": "SSH",
  "statSshValue": "{{keys}} llaves · {{auth}} autorizado",
  "statSshHint": "Identidades salientes/claves de inicio de sesión autorizadas",
  "statPending": "Pendiente",
  "on": "En",
  "off": "Apagado",
  "output": "Producción",
  "tabAccount": "mi seguridad",
  "tabApiKeys": "Claves API",
  "tabSsh": "SSH",
  "tabApprovals": "Aprobaciones",
  "tabAllowlist": "Herramientas del agente",
  "apiTokenOnce": "Token API (se muestra una vez):",
  "copiedToken": "Token copiado",
  "totpTitle": "Dos factores (TOTP)",
  "totpStatus": "Estado:",
  "totpEnabled": "Activado",
  "totpEnrolledUnconfirmed": "En progreso: escanear y confirmar",
  "totpNotSet": "No establecido",
  "totpLead": "El inicio de sesión requiere un código de aplicación de 6 dígitos.",
  "totpWhy1": "Las contraseñas robadas por sí solas no pueden iniciar sesión sin el código de la aplicación",
  "totpWhy2": "Las acciones sensibles pueden volver a solicitar TOTP (incremento)",
  "totpWhy3": "Funciona con Google Authenticator, Authy, NordPass, 1Password y más",
  "totpAppsHint": "Aplicaciones sugeridas: Google Authenticator, Authy, Microsoft Authenticator, NordPass, 1Password",
  "totpStepsLabel": "Pasos de configuración",
  "totpStepReauth": "Verificar contraseña",
  "totpStepScan": "Escanear QR / ingresar clave",
  "totpStepConfirm": "Confirmar código de 6 dígitos",
  "totpStepBackup": "Guardar códigos de recuperación",
  "totpScanTitle": "Escanear código QR",
  "totpScanHint": "Abra su aplicación de autenticación → Agregar cuenta → Escanee este QR.",
  "totpManualTitle": "O ingrese la clave manualmente",
  "totpManualHint": "Si no puede escanear, elija la entrada manual en la aplicación y pegue este secreto Base32.",
  "totpShowOtpauth": "Mostrar otpauth:// URL (avanzado)",
  "totpQrAlt": "Código QR de configuración TOTP",
  "totpQrFailed": "No se pudo representar el QR: use la clave secreta a continuación",
  "totpSecretCopied": "secreto copiado",
  "hideSecret": "Ocultar secreto",
  "showSecret": "Mostrar secreto",
  "totpEnabledDesc": "Activado.",
  "totpRecoveryRemaining": "{{n}} quedan códigos de recuperación",
  "totpResetSummary": "Restablecer o desactivar 2FA...",
  "totpResetHint": "Restablecer emite un nuevo QR/secreto (las entradas antiguas de la aplicación dejan de funcionar)",
  "totpDisableCodeHint": "Código de aplicación de 6 dígitos o código de recuperación",
  "disable2fa": "Desactivar 2FA",
  "totpDisabledOk": "Autenticación de dos factores desactivada",
  "reauthPassword": "Escriba la contraseña otra vez",
  "reauthPasswordHint": "Iniciar/restablecer 2FA requiere contraseña nuevamente (protección de sesión robada)",
  "reauthPasswordRequired": "Ingrese su contraseña de inicio de sesión primero",
  "needCurrentPassword": "Introduzca primero la contraseña actual",
  "passwordMin8": "La nueva contraseña debe tener al menos 8 caracteres",
  "totpSecretGenerated": "Secreto listo: escanea el QR o copia la clave, luego ingresa el código de 6 dígitos de la aplicación",
  "reset2fa": "Restablecer 2FA",
  "start2fa": "Configurar 2FA",
  "secretLabel": "Secreto:",
  "confirmCode": "Código de 6 dígitos de la aplicación",
  "confirmCodeHint": "Después de escanear, ingrese los 6 dígitos que se muestran actualmente en su autenticador.",
  "confirmCodeInvalid": "Ingrese un código de verificación de 6 dígitos",
  "totpEnabledSaveCodes": "2FA habilitado: guarde los códigos de recuperación a continuación ahora (se muestran una vez)",
  "confirmEnable": "Confirmar y habilitar",
  "recoveryCodesHint": "Los códigos de recuperación se muestran solo una vez",
  "copiedRecoveryCodes": "Códigos de recuperación copiados",
  "downloadRecovery": "Descargar .txt",
  "recoveryDownloaded": "Archivo de códigos de recuperación descargado",
  "copyAll": "Copiar todo",
  "savedClose": "Los he guardado - listo",
  "sessionsTitle": "Sesiones",
  "sessionsDesc": "",
  "revokeOtherSessions": "Cerrar sesión en otros dispositivos",
  "revokedOtherSessions": "Cerrado sesión {{count}} otras sesiones",
  "noSessions": "No hay sesiones activas",
  "currentSession": "este dispositivo",
  "revoke": "desconectar",
  "passkeyTitle": "Clave de acceso/WebAuthn",
  "passkeyDesc": "",
  "passkeyRegistered": "Clave de acceso registrada",
  "webauthnFailed": "WebAuthn falló",
  "webauthnUnsupported": "Esta página no tiene API WebAuthn. En Brave/Chrome/Firefox evita los modos restringidos; use un administrador de contraseñas si es necesario y abra el panel en un dominio a través de HTTPS.",
  "webauthnInsecureContext": "Esta página no es un contexto seguro ({{origin}}). Los navegadores requieren HTTPS o localhost para las claves de acceso, no relacionadas con Brave/NordPass. Abra https://su-dominio en su lugar.",
  "webauthnIpHost": "Abriste el panel vía IP ({{origin}}). WebAuthn prohíbe IP como ID de RP, por lo que Brave/NordPass fallará. Vincula un dominio + HTTPS (por ejemplo, https://panel.example.com) y vuelve a intentarlo.",
  "webauthnEnvOk": "Clave de acceso lista ({{origin}})",
  "webauthnEnvCurrent": "Página actual: {{origin}}",
  "webauthnCancelled": "Cancelado o agotado el tiempo. Intentar otra vez.",
  "webauthnUnavailableHint": "La clave de acceso necesita dominio HTTPS +.",
  "registerPasskey": "Registrar clave de acceso",
  "noPasskey": "Sin clave de acceso",
  "passkeyVerifyOk": "Clave de acceso verificada (paso realizado)",
  "verifyFailed": "La verificación falló",
  "verifyWithPasskey": "Verificar con clave de acceso (paso a paso)",
  "passkeyHint": "Para un paso adelante de alto riesgo; necesita dominio HTTPS +.",
  "devicesTitle": "Dispositivos/copia de seguridad",
  "devicesDesc": "",
  "viewTrustedDevices": "Ver dispositivos confiables",
  "trustedDevicesCount": "Dispositivos confiables: {{count}}",
  "revokeAllDevices": "Revocar todos los dispositivos",
  "revokedAllDevices": "Todos los dispositivos de confianza revocados",
  "export2faBackup": "Exportar copia de seguridad cifrada 2FA",
  "fail2banSnippetMsg": "Fragmentos de fail2ban: {{written}} — {{notes}}",
  "generatefail2ban": "Generar fragmentos de fail2ban",
  "generateFail2ban": "Generar fragmentos fail2ban",
  "adminPolicyTitle": "Política de administrador 2FA",
  "adminPolicyDesc": "",
  "requireAdmin2fa": "Requerir administrador 2FA",
  "strictAdmin2fa": "Estricto: bloquear el inicio de sesión sin 2FA",
  "confirmTotpPolicy": "Confirmar TOTP (al cambiar de política)",
  "confirmTotpPolicyHint": "Es necesario intensificar las políticas propicias",
  "totp6digitPlaceholder": "código de 6 dígitos",
  "policyUpdated": "Política de seguridad actualizada",
  "savePolicy": "Guardar política",
  "recentProbe": "Sondeo reciente",
  "apiKeysTitle": "Claves de acceso API",
  "apiKeysDesc": "",
  "createKey": "+ Crear clave",
  "colName": "Nombre",
  "colPrefix": "Prefijo",
  "colCreated": "Creado",
  "apiKeysEmpty": "Aún no hay claves API",
  "apiKeysEmptyHint": "Crear desde la barra de herramientas; luego llame a la API con el token de portador",
  "approve": "Aprobar",
  "allowlistTitle": "Herramientas del agente ({{count}})",
  "allowlistEmpty": "No hay herramientas en el catálogo",
  "totpStatusLoadFailed": "No se pudo cargar el estado de 2FA",
  "createApiKeyTitle": "Crear clave API",
  "createApiKeyDesc": "El token completo se muestra solo una vez después de la creación.",
  "createKeyBtn": "Crear clave",
  "apiKeyNameHint": "Fácil de reconocer, p. CI/secuencia de comandos de respaldo",
  "apiKeyScope": "Alcance",
  "apiKeyScopeHint": "lectura = solo lectura (sin mutación completa)",
  "scopeFull": "completo (API completa)",
  "scopeRead": "leer (solo lectura)",
  "apiKey2faHint": "Si 2FA está activado, la creación de una clave requiere un código de verificación (paso a paso).",
  "apiKeyCreated": "Clave API creada",
  "export2faBackupTitle": "Exportar copia de seguridad 2FA",
  "createApiKeyStepUp": "Crear clave API · paso a paso",
  "enterTotpCode": "Ingrese el código TOTP actual",
  "export": "Exportar",
  "backupCopied": "Copia de seguridad cifrada copiada al portapapeles (almacenar sin conexión)",
  "digit6Placeholder": "código de 6 dígitos",
  "ssh": {
    "workspaceTitle": "Espacio de trabajo SSH",
    "workspaceDesc": "Elige un trabajo primero",
    "subOutbound": "ID salientes",
    "subOutboundHint": "Claves privadas para panel/proyecto saliente",
    "subLogin": "autenticación de inicio de sesión",
    "subLoginHint": "¿Quién puede usar SFTP/SSH?",
    "sub2fa": "Iniciar sesión 2FA",
    "sub2faHint": "SSH TOTP (≠ panel 2FA)",
    "subSshd": "sistema sshd",
    "subSshdHint": "Configuración SFTP del usuario del proyecto",
    "jobOutboundTitle": "Conectar saliente",
    "jobOutboundDesc": "Crear claves de identidad salientes · panel peer/proyecto git",
    "jobLoginTitle": "Permitir inicio de sesión entrante",
    "jobLoginDesc": "Registrar claves públicas para el proyecto de inicio · claves_autorizadas",
    "job2faTitle": "El inicio de sesión SSH necesita 2FA",
    "job2faDesc": "TOTP de usuario de Linux (separado del panel 2FA)",
    "jobSshdTitle": "Habilitar sistema SFTP",
    "jobSshdDesc": "Instalar fragmentos de sshd Match (usuarios del proyecto)",
    "purposePanel": "Panel a otros hosts",
    "purposeUser": "Usuario del proyecto saliente",
    "purposeUnbound": "Propósito no establecido",
    "purposePanelHint": "Par del clúster, scp de respaldo, sondas remotas",
    "purposeUserHint": "Usuario del proyecto Linux git/scp/scripts",
    "purposeDefaultHint": "Enlazar más tarde",
    "statusStored": "almacenado",
    "statusInstalled": "En disco",
    "statusVerified": "Verificado",
    "statusMissing": "Falta en el disco",
    "statusRetired": "Jubilado",
    "statusError": "Error",
    "actionInstall": "escribir en el disco",
    "actionTest": "Conexión de prueba",
    "actionCopyPub": "Copiar clave pública",
    "pipelineStored": "almacenado",
    "pipelineInstalled": "En disco",
    "pipelineVerified": "Verificado",
    "progressAria": "Progreso",
    "loginTitle": "Autorización de inicio de sesión (claves públicas)",
    "loginDesc": "¿Quién puede entrar?",
    "loginAdd": "Agregar clave pública de inicio de sesión",
    "loginEmpty": "Aún no hay claves públicas de inicio de sesión",
    "loginEmptyHint": "Pegue una clave pública de CI o computadora portátil, vincúlese a un usuario del proyecto para SFTP/SSH (necesita un fragmento de sshd)",
    "loginAddFirst": "Agregar la primera clave pública de inicio de sesión",
    "boundProject": "Proyecto",
    "unboundProject": "Ningún proyecto",
    "loginRemoved": "Clave pública eliminada",
    "remove": "Eliminar",
    "loginModalTitle": "Autorizar una clave pública",
    "loginModalDesc": "Después de seleccionar un proyecto, la clave se escribe en ese usuario de Linux home/",
    "addAuth": "Agregar autorización",
    "selectOption": "- Seleccionar -",
    "publicKey": "Clave pública",
    "publicKeyHint": "Pegar línea completa, p.e. ssh-ed25519 AAAA… comentario",
    "commentOptional": "Comentario (opcional)",
    "commentPlaceholder": "computadora portátil / CI",
    "loginNeedProject": "Primero crea un proyecto. El enlace funciona mejor cuando el usuario del sistema está listo.",
    "loginNeedPub": "Seleccione un proyecto y pegue una clave pública que comience con ssh-",
    "loginNoProjects": "Sin proyectos. Autorice a un usuario de Linux existente (root/tester) a continuación. Escribir /root/.ssh necesita YSK_EXECUTE=1.",
    "loginLinuxHint": "Se utiliza cuando no hay proyecto. Ejemplo: root o tester.",
    "loginAdded": "Agregado",
    "sshdTitle": "Usuario del proyecto SFTP (sshd)",
    "sshdDesc": "Permitir que ysks_* / ysk_* proyecten usuarios SFTP con claves públicas",
    "sshdStep1": "Agregue claves públicas en autenticación de inicio de sesión para proyectos",
    "sshdStep2": "Obtenga una vista previa e instale fragmentos de coincidencia del sistema aquí",
    "sshdStep3": "La instalación necesita derechos de ejecución del sistema; intentará recargar sshd",
    "sshdPreview": "Vista previa de configuración",
    "loadingSnippet": "(Cargando…)",
    "reloadedCopied": "Recargado; fragmento copiado al portapapeles",
    "reloadAndCopy": "Recargar y copiar",
    "installedOk": "Instalado",
    "installToSystem": "Instalar en el sistema",
    "sshdManualHint": "Si la ejecución está bloqueada, ejecute el plano de control con privilegios o coloque el fragmento debajo",
    "outboundTitle": "Claves de identidad salientes",
    "outboundDesc": "Claves privadas cifradas en el plano de control",
    "outboundAdd": "Agregar identidad saliente",
    "filterActive": "Activo",
    "filterPanel": "Panel",
    "filterUser": "Usuario del proyecto",
    "filterRetired": "Jubilado",
    "filterAll": "Todo",
    "searchIdentity": "Buscar nombre o huella digital…",
    "searchIdentityAria": "Buscar identidades",
    "identityCount": "{{count}} identidades",
    "identityList": "Identidades",
    "outboundEmpty": "Aún no hay identidades salientes",
    "outboundEmptyFilter": "No hay elementos coincidentes",
    "outboundEmptyHint": "Cree una clave en ~30 segundos: elija el propósito → nombre → listo. Úselo para peer/backup/git.",
    "outboundEmptyFilterHint": "Intente cambiar los filtros o borrar la búsqueda",
    "outboundAddFirst": "Agregar la primera identidad saliente",
    "userPrefix": "Usuario {{user}}",
    "createFailed": "Error al crear",
    "identityCreatedOnce": "Identidad creada (la clave privada se muestra una vez)",
    "writtenToDisk": "Escrito en el disco",
    "cannotWriteNeedExecute": "No se puede escribir en el sistema: habilitar ejecución (YSK_EXECUTE)",
    "notDone": "No completado",
    "installFailed": "La instalación falló",
    "testPassed": "Conexión correcta",
    "testFailed": "La conexión falló",
    "testError": "Prueba fallida",
    "copiedPubPaste": "Clave pública copiada: péguela en las claves_autorizadas del par o en la clave de implementación de Git",
    "deletedNamed": "Eliminado \"{{name}}\"",
    "rotated": "Rotado: clave antigua retirada, clave nueva creada",
    "detailStatus": "Estado",
    "detailPurpose": "Objetivo",
    "detailLinuxUser": "usuario de linux",
    "detailDiskPath": "Ruta del disco",
    "detailLastTest": "última prueba",
    "suggestFlow": "Sugerido: almacenar → escribir disco → poner clave pública en el par → probar conexión",
    "suggestFlowPrefix": "Sugerido: almacenar → escribir disco → poner",
    "suggestFlowSuffix": "en peer → prueba de conexión",
    "publicKeyStrong": "clave pública",
    "copiedPub": "Clave pública copiada",
    "allowLocalLogin": "Permitir el inicio de sesión local con esta clave",
    "localLoginOk": "Clave pública agregada a la autorización de inicio de sesión local",
    "testingConnection": "Probando conexión…",
    "rotateKey": "Girar clave",
    "wizStepPurpose": "¿Para qué es esta clave?",
    "wizStepProject": "¿Qué proyecto?",
    "wizStepPanelConfirm": "Confirmar salida del panel",
    "wizStepName": "Nombre y opciones",
    "wizStepPurposeDesc": "Elija el propósito para alinear la lista y la ruta de instalación",
    "wizStepProjectDesc": "La clave se vincula al usuario de Linux y al hogar de ese proyecto.",
    "wizStepPanelDesc": "La clave privada permanece en secretos del plano de control para scp/ssh para otros hosts",
    "wizStepNameDesc": "Nombre para reconocimiento; las opciones avanzadas pueden esperar",
    "prevStep": "Atrás",
    "nextStep": "Próximo",
    "createIdentity": "Crear identidad",
    "purposePanelTitle": "Panel a otros hosts",
    "purposePanelSub": "Pares de clúster, copia de seguridad remota, sondas",
    "purposePanelRec": "Recomendado para la mayoría de las operaciones administrativas",
    "purposeUserTitle": "Usuario del proyecto saliente",
    "purposeUserSub": "git pull, guión del proyecto scp",
    "purposeUserPath": "Escribe proyecto home/.ssh",
    "selectProject": "— Seleccionar proyecto —",
    "noProjectsHint": "Aún no hay proyectos: primero cree un proyecto y un usuario del sistema",
    "afterCreatePub": "Después de crear, coloque el",
    "afterCreatePubMid": "en el host de destino",
    "afterCreatePubEnd": "y luego use Probar conexión.",
    "privKeyStayLocal": "La clave privada permanece en este plano de control; nunca en listas o registros.",
    "displayName": "Nombre para mostrar",
    "displayNameHint": "p.ej. producción entre pares, myapp-git",
    "algorithm": "Algoritmo",
    "algoSuggested": "Recomendado",
    "algoLegacy": "Sistemas heredados",
    "installImmediately": "Escribir en el disco inmediatamente después de crear",
    "installImmediatelyHint": "(necesita ejecución del sistema; de lo contrario, se le indicará que no se puede aplicar)",
    "savePrivTitle": "Guardar clave privada ahora",
    "savePrivDesc": "Después del cierre, la clave privada completa no se volverá a mostrar",
    "copiedPriv": "Clave privada copiada",
    "copyPriv": "Copiar clave privada",
    "nextInstallDisk": "Siguiente: escribir en el disco",
    "savedCloseBtn": "Guardado - cerrar",
    "privKeyOnce": "Clave privada (solo esta vez)",
    "privSavedConfirm": "Guardé la clave privada de forma segura (administrador de contraseñas/copia de seguridad sin conexión)",
    "testConnTitle": "Conexión de prueba",
    "testConnDesc": "Pruebe ssh... true con esta identidad. El éxito sólo significa que este objetivo es alcanzable.",
    "startTest": "Iniciar prueba",
    "testTarget": "Objetivo",
    "testTargetHint": "Formatear usuario@host o usuario@host:puerto",
    "deleteIdentityTitle": "¿Eliminar identidad?",
    "rotateKeyTitle": "¿Girar clave?",
    "deleteIdentityDesc": "Elimine \"{{name}}\" e intente eliminar el archivo de clave privada en el disco",
    "rotateKeyDesc": "\"{{name}}\" se retirará y se creará una nueva clave. Actualizar las claves_autorizadas del par.",
    "rotate": "Girar",
    "enrollStatusSecret": "Secreto generado",
    "enrollStatusConfirmed": "Aplicación confirmada",
    "enrollStatusWritten": "Escrito a casa",
    "enrollStatusRetired": "Jubilado",
    "needProjectOrUser": "Seleccione un proyecto o ingrese un nombre de usuario de Linux",
    "enrollFailed": "La inscripción falló",
    "totpGenerated": "TOTP solo SSH generado (separado del panel 2FA a menos que sincronice)",
    "confirmed": "Confirmado",
    "codeWrong": "código incorrecto",
    "gaWritten": "Escribió .google_authenticator",
    "needExecute": "Necesita que el sistema ejecute habilitado",
    "ssh2faTitle": "Segundo factor de inicio de sesión SSH",
    "ssh2faDesc": "Protege el inicio de sesión ssh para usuarios de Linux",
    "ssh2faStep1": "Inscribir TOTP para un usuario de Linux (escanear QR)",
    "ssh2faStep2": "Confirmar el código de 6 dígitos de la aplicación",
    "ssh2faStep3": "Escribir archivo de inicio",
    "ssh2faStep4": "Instale el módulo PAM y combine fragmentos (abajo)",
    "pkgLabel": "Paquete {{name}}",
    "pkgStatus": "Paquete {{status}}",
    "pamStatus": "PAM {{status}}",
    "kbdStatus": "sshd teclado interactivo {{status}}",
    "light": {
      "green": "OK",
      "yellow": "controlar",
      "red": "desaparecido"
    },
    "enrollForUser": "Inscribir SSH 2FA para el usuario",
    "ssh2faEmpty": "Ningún usuario de Linux tiene SSH 2FA todavía",
    "ssh2faEmptyHint": "Prefiere iniciar sesión con clave primero;",
    "startEnroll": "Iniciar inscripción",
    "fromPanelBadge": "Igual que el panel",
    "enterCode": "Introduce el código",
    "rewriteHome": "Reescribir el archivo de inicio",
    "writeHome": "escribir a casa",
    "retiredOk": "Jubilado",
    "retire": "Retirarse",
    "pamTitle": "Sistema: PAM / sshd (manual o aplicar cuando esté permitido)",
    "pamDesc": "nullok evita bloquear usuarios sin archivos. Se requiere archivo escrito ≠ TOTP.",
    "pamSnippet": "Fragmento de PAM (combinar en /etc/pam.d/sshd)",
    "sshdHint": "sugerencias sshd",
    "rescueUsers": "Rescatar usuarios (separados por comas, nunca en coincidencia estricta)",
    "strictPreview": "Vista previa de coincidencia estricta (clave pública+TOTP, contraseña desactivada)",
    "copiedPam": "Fragmento de PAM copiado",
    "copyPam": "Copiar PAM",
    "applyStrict": "Aplicar estricto al sistema",
    "pamPkgHint": "Paquete:",
    "pamRescueHint": ". Mantenga al menos un administrador de rescate sin un archivo 2FA (raíz predeterminada).",
    "enrollModalTitle": "Inscribir SSH 2FA",
    "enrollModalDesc": "Predeterminado: secreto independiente (no compartido con el panel)",
    "generateShowSecret": "Generar y mostrar secreto",
    "projectSuggested": "Proyecto (recomendado)",
    "orManualUser": "— o ingrese el usuario manualmente —",
    "linuxUser": "usuario de linux",
    "advancedSharePanel": "Avanzado: use el secreto TOTP del operador del panel actual (escriba COMPARTIDO para confirmar)",
    "setupAuthTitle": "Configurar autenticador",
    "setupAuthDesc": "Escanee o ingrese el secreto, luego confirme con el código de 6 dígitos de la aplicación",
    "later": "Más tarde",
    "confirmCodeBtn": "Confirmar código",
    "secretBase32": "Secreto (base32)",
    "copiedSecret": "secreto copiado",
    "copySecret": "Copiar secreto",
    "scanThenCode": "Si ya es escaneado, ingrese el código actual de 6 dígitos.",
    "verifyCode": "Código de verificación",
    "applyStrictStepUp": "Aplicar estricto · intensificar",
    "enterPanelTotp": "Ingrese el código TOTP del panel actual",
    "applyBtn": "Aplicar",
    "appliedOk": "Aplicado",
    "sharePanelTitle": "¿Compartir secreto TOTP del panel?",
    "sharePanelDesc": "Alto riesgo. Escribe COMPARTIDO para confirmar.",
    "confirmString": "Cadena de confirmación",
    "enableShare": "Habilitar compartir",
    "invalidPub": "Pegue una línea completa de clave pública OpenSSH (ssh-ed25519 / ssh-rsa / ecdsa…).",
    "dryRunOk": "Vista previa lista. Revise el contenido abajo.",
    "strictDryRun": "Vista previa del modo estricto",
    "errorNoDetail": "Prueba fallida (sin detalles)",
    "strictBlocked": "El paquete o PAM no está listo; no se puede aplicar Strict.",
    "privCloseWithoutAck": "Cerrado. La clave privada no se volverá a mostrar; generar uno nuevo si no lo guardaste."
  },
  "sessionsActive": "Sesiones activas",
  "sessionsOther": "Otros dispositivos",
  "sessionsHint": "",
  "noSessionsHint": "Cuando inicies sesión nuevamente, este dispositivo aparecerá aquí.",
  "sessionOtherBadge": "Otro",
  "sessionThisDevice": "estas aqui",
  "sessionDeviceOn": "{{browser}} en {{os}}",
  "sessionIpUnknown": "IP desconocida",
  "sessionLastActive": "Último activo {{when}}",
  "sessionStarted": "Iniciado sesión {{when}}",
  "sessionIdShort": "ID {{id}}…",
  "sessionJustNow": "En este momento",
  "sessionMinAgo": "{{n}} hace minutos",
  "sessionHourAgo": "Hace {{n}} horas",
  "sessionDayAgo": "Hace {{n}} d",
  "revokeSessionTitle": "¿Cerrar sesión en este dispositivo?",
  "revokeSessionDesc": "Finalice la sesión para {{device}} ({{ip}}). Ese dispositivo deberá iniciar sesión nuevamente.",
  "revokeOthersTitle": "¿Cerrar sesión en todos los demás dispositivos?",
  "revokeOthersDesc": "Esto finalizará {{count}} otras sesiones. Su navegador actual permanece conectado.",
  "sessionRevoked": "Sesión cerrada",
  "mySecurityHint": "",
  "policyTotpHint": "Política del sitio: cada administrador debe habilitar su propio 2FA (QR individual)",
  "requireUser2fa": "Exigir 2FA a todos los usuarios del panel",
  "changePasswordTitle": "Cambiar la contraseña de inicio de sesión",
  "currentPassword": "Contraseña actual",
  "newPassword": "Nueva contraseña",
  "confirmNewPassword": "Confirmar nueva contraseña",
  "passwordMismatch": "Las contraseñas nuevas no coinciden.",
  "changePassword": "Cambiar contraseña",
  "passwordChanged": "Contraseña actualizada.",
  "strictNeedsEnrolled": "Al menos un administrador debe tener 2FA antes de activar Strict.",
  "policyTotpNeedSelf": "Active 2FA en esta cuenta primero; si no, no se puede rellenar el código de confirmación.",
  "policyNoTotpHint": "This account has no 2FA yet — saving policy does not need a TOTP. Set up 2FA above if you want to require it for others.",
  "policyNeedSelf2fa": "Primero habilite 2FA en esta cuenta, luego confirme con un código TOTP",
  "revokeAllDevicesTitle": "Revocar todos los dispositivos recordados: usted y otros administradores deben verificar 2FA nuevamente",
  "sessionCli": "CLI",
  "sessionApi": "API",
  "fail2banSnippetTitle": "Fragmento fail2ban",
  "fail2banSnippetEmpty": "No se escribió ningún fragmento.",
  "trustedDevicesTitle": "Dispositivos de confianza",
  "noTrustedDevices": "No hay dispositivos de confianza.",
  "strictConfirmTitle": "¿Activar 2FA Strict?",
  "strictConfirmDesc": "Los usuarios sin 2FA no podrán iniciar sesión. Confirme que ya tiene TOTP o Passkey.",
  "revokeDevicesTitle": "¿Revocar dispositivos de confianza?",
  "revokeDevicesDesc": "Los navegadores recordados volverán a pedir 2FA.",
  "approvalsHint": "Las aprobaciones aparecen cuando una herramienta de alto riesgo necesita un segundo operador. Configure permisos en Usuarios → Permisos.",
  "allowlistReadonly": "Catálogo de herramientas del agente (solo lectura). Las capacidades se configuran en Usuarios → Permisos.",
  "colTool": "Herramienta",
  "colAllowed": "Permitido",
  "colRisk": "Riesgo",
  "colApproval": "Aprobación",
  "risk": {
    "low": "Bajo",
    "medium": "Medio",
    "high": "Alto",
    "critical": "Crítico"
  },
  "confirmDeleteApiKey": "¿Eliminar esta clave API?",
  "confirmDeleteApiKeyDesc": "“{{name}}” dejará de autenticarse. Esto no se puede deshacer."
}
