{
  "local_shell": {
    "title": "Seleccionar shell",
    "description": "Elige un shell de terminal local para iniciar. Usa Cmd+T para el shell predeterminado.",
    "available_shells": "Shells disponibles",
    "loading_shells": "Cargando lista de shells...",
    "working_directory": "Directorio de trabajo (opcional)",
    "working_directory_placeholder": "Dejar vacío para usar directorio actual",
    "set_default": "Establecer como predeterminado",
    "cancel": "Cancelar",
    "launch": "Iniciar",
    "launching": "Iniciando...",
    "toast": {
      "load_shells_failed": "Error al cargar shells disponibles",
      "terminal_created": "Terminal local creada",
      "using_shell": "Usando {{shell}}",
      "create_failed": "Error al crear terminal local",
      "detached": "Sesión enviada al fondo",
      "detached_desc": "{{shell}} se está ejecutando en el fondo",
      "detach_failed": "Error al enviar al fondo",
      "attached": "Sesión reanudada",
      "attach_failed": "Error al reanudar la sesión"
    },
    "background": {
      "title": "Sesiones en segundo plano",
      "lines": "líneas",
      "resume": "Reanudar",
      "kill": "Terminar"
    }
  },
  "modals": {
    "jump_server": {
      "title": "Añadir servidor de salto",
      "host": "Host",
      "host_placeholder": "bastion.example.com",
      "port": "Puerto",
      "username": "Usuario",
      "username_placeholder": "jumpuser",
      "authentication": "Autenticación",
      "auth_default_key": "Clave predeterminada",
      "auth_ssh_key": "Clave SSH",
      "auth_password": "Contraseña",
      "auth_agent": "Agente SSH",
      "default_key_desc": "Usar clave SSH predeterminada (~/.ssh/id_rsa, etc.)",
      "key_path": "Ruta de clave",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Examinar",
      "passphrase": "Frase de paso (opcional)",
      "password": "Contraseña",
      "agent_desc": "Usar agente SSH del sistema para autenticación",
      "agent_hint": "Asegúrate de que el agente SSH esté ejecutándose y contenga las claves necesarias",
      "kbi_not_supported_hint": "Los hosts intermedios no admiten keyboard-interactive/2FA por ahora",
      "cancel": "Cancelar",
      "add": "Añadir"
    },
    "root_node": {
      "title": "Añadir nodo raíz",
      "host": "Host",
      "host_placeholder": "nombre de host o IP",
      "port": "Puerto",
      "username": "Usuario",
      "username_placeholder": "root",
      "display_name": "Nombre visible (opcional)",
      "display_name_placeholder": "Mi servidor",
      "auth_method": "Método de autenticación",
      "auth_agent": "Agente SSH",
      "auth_key": "Clave",
      "auth_password": "Contraseña",
      "agent_desc": "Autenticar usando el agente SSH (recomendado)",
      "key_path": "Ruta de clave privada",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Examinar",
      "passphrase": "Frase de paso de clave (opcional)",
      "passphrase_placeholder": "Si la clave está protegida con frase de paso",
      "password": "Contraseña",
      "password_placeholder": "Contraseña SSH",
      "cancel": "Cancelar",
      "adding": "Añadiendo...",
      "add_node": "Añadir nodo"
    },
    "auto_route": {
      "title": "Conexión con ruta automática",
      "description": "Selecciona un servidor destino de tus conexiones guardadas. El sistema calculará automáticamente la ruta óptima de hosts de salto.",
      "loading": "Cargando...",
      "no_connections": "No se encontraron conexiones guardadas",
      "no_connections_hint": "Por favor guarda algunas conexiones primero. El grafo de topología se genera automáticamente desde conexiones guardadas y sus configuraciones de cadena proxy.",
      "select_target": "Seleccionar servidor destino",
      "display_name": "Nombre visible",
      "connection_info": "Info de conexión",
      "authentication": "Autenticación",
      "auth_agent": "Agente SSH",
      "auth_key": "Clave SSH",
      "auth_password_warning": "Contraseña (no soportada en ruta automática)",
      "can_reach": "Puede alcanzar",
      "cancel": "Cancelar",
      "connect": "Conectar",
      "connecting": "Conectando...",
      "connect_failed": "Error de conexión"
    },
    "export": {
      "title": "Exportar configuración a archivo .oxide",
      "close": "Cerrar",
      "select_connections": "Seleccionar conexiones a exportar ({{selected}}/{{total}})",
      "select_all": "Seleccionar todo",
      "deselect_all": "Deseleccionar todo",
      "badge_new": "NUEVO",
      "new_since_last_export": "{{count}} conexión(es) nueva(s) desde la última exportación",
      "no_connections": "No hay conexiones guardadas",
      "section_forwards": "Reenvíos de puertos guardados ({{count}})",
      "no_forwards": "No hay reenvíos de puertos guardados",
      "forwards_owner_notice": "Los reenvíos de puertos guardados seleccionados se exportarán junto con las configuraciones de conexión a las que pertenecen.",
      "description": "Descripción (opcional)",
      "description_placeholder": "ej.: Servidores de produccin",
      "embed_keys": "Incluir claves privadas",
      "embed_keys_description": "Incluir contenido de archivos de claves privadas para copias de seguridad portátiles. Las claves se extraerán a ~/.ssh/imported/ al importar.",
      "include_app_settings": "Incluir ajustes globales",
      "include_app_settings_description": "Exporta la apariencia del terminal, las preferencias de comportamiento y otros ajustes de la aplicación OxideTerm.",
      "app_settings_sections_title": "Secciones de configuración de la aplicación",
      "app_settings_sections_hint": "Elige qué grupos de configuración de la aplicación incluir en el archivo .oxide.",
      "app_settings_include_env_vars": "Incluir variables de entorno del terminal local",
      "app_settings_include_env_vars_description": "Puede contener valores específicos del equipo o sensibles.",
      "app_settings_section_terminal_appearance": "Apariencia del terminal",
      "app_settings_section_terminal_behavior": "Comportamiento del terminal",
      "app_settings_section_file_editor": "Archivos y editor",
      "app_settings_no_sections": "No se seleccionaron secciones de configuración de la aplicación",
      "include_plugin_settings": "Incluir preferencias de plugins",
      "include_plugin_settings_description": "Exporta las preferencias declaradas de los plugins almacenadas en el almacenamiento local de OxideTerm.",
      "include_portable_secrets": "Incluir secretos portátiles",
      "include_portable_secrets_description": "Exporta elementos secretos compatibles con el modo portátil que pueden restaurarse al importar, como claves de proveedores de IA.",
      "section_plugin_by_id": "{{pluginId}} ({{count}} ajuste(s))",
      "no_plugin_settings": "No hay preferencias de plugins para exportar",
      "password": "Contraseña de cifrado *",
      "password_placeholder": "Mínimo 6 caracteres; se recomiendan 12+ con mayúsculas, minúsculas, números y símbolos",
      "confirm_password": "Confirmar contraseña *",
      "confirm_password_placeholder": "Repetir contraseña",
      "security_notice": "🔒 Aviso de seguridad",
      "security_encryption": "Archivo cifrado con ChaCha20-Poly1305, seguridad de grado militar",
      "security_kdf": "Contraseña derivada con Argon2id (256MB, 4 iteraciones)",
      "security_contains": "El archivo contiene las conexiones, redirecciones y frases de paso de claves seleccionadas",
      "security_settings": "Incluir ajustes globales: {{app}}; incluir preferencias de plugins: {{plugin}}",
      "security_portable_secrets": "Incluir secretos portátiles: {{portable}}",
      "security_passwords_excluded": "Las contraseñas guardadas de los servidores nunca se incluyen en el archivo .oxide",
      "security_no_session": "No se incluyen datos de sesión — solo configuración de conexiones",
      "security_keep_safe": "Guarda tu contraseña de cifrado en lugar seguro, no se puede recuperar si se pierde",
      "cancel": "Cancelar",
      "export": "Exportar",
      "exporting": "Exportando...",
      "content_summary_title": "Contenido seleccionado",
      "content_summary_connections": "{{count}} conexión(es)",
      "content_summary_forwards": "{{count}} reenvío(s) guardado(s)",
      "content_summary_app_settings": "Configuración de la aplicación",
      "content_summary_plugin_settings": "{{plugins}} plugin(s), {{count}} ajuste(s)",
      "content_summary_portable_secrets": "Secretos portátiles: {{count}} elemento(s)",
      "content_summary_embed_keys": "Se integrarán las claves privadas SSH",
      "summary_title": "Resumen de exportación",
      "summary_passwords": "{{count}} con contraseña",
      "summary_keys": "{{count}} con clave",
      "summary_agent": "{{count}} con agente",
      "summary_portable_secrets": "Se incluirán {{count}} elemento(s) de secretos portátiles.",
      "warning_passwords_excluded": "{{count}} conexión(es) con autenticación por contraseña se exportarán sin sus contraseñas de servidor guardadas.",
      "warning_missing_keys": "{{count}} archivos de clave no encontrados:",
      "key_size": "Datos de clave totales: {{size}}",
      "stage_reading_keys": "Leyendo claves...",
      "stage_encrypting": "Cifrando...",
      "stage_writing": "Escribiendo archivo...",
      "stage_done": "¡Hecho!",
      "error_select_something": "Por favor selecciona al menos un elemento para exportar",
      "error_select_one": "Por favor selecciona al menos una conexión",
      "error_password_length": "La contraseña debe tener al menos 12 caracteres",
      "error_password_too_short": "La contraseña debe tener al menos 6 caracteres",
      "error_password_mismatch": "Las contraseñas no coinciden",
      "error_password_complexity": "La contraseña debe contener mayúsculas, minúsculas, números y caracteres especiales",
      "password_strength_weak": "Contraseña débil, recomendamos usar 12 caracteres o más con una combinación de mayúsculas, minúsculas, números y símbolos",
      "password_strength_fair": "Aceptable",
      "password_strength_strong": "Fuerte",
      "error_export_failed": "Exportación fallida",
      "success": "Exportación exitosa: {{count}} conexiones guardadas en {{path}}",
      "include_quick_commands": "Include Quick Commands ({{count}})",
      "include_quick_commands_description": "Quick Commands may contain hostnames, paths, or secrets embedded in commands."
    },
    "import": {
      "title": "Importar configuración desde archivo .oxide",
      "close": "Cerrar",
      "select_file": "Seleccionar archivo .oxide",
      "instructions_title": "Instrucciones de importación",
      "instructions_1": "Selecciona un archivo .oxide exportado desde OxideTerm",
      "instructions_2": "Introduce la contraseña de cifrado establecida durante la exportación",
      "instructions_3": "Después del descifrado y la vista previa, puede elegir qué conexiones, grupos de ajustes de la aplicación, preferencias de plugins y reenvíos de puertos importar",
      "instructions_4": "Las frases de paso de clave incluidas se almacenarán de forma segura en el llavero del sistema; las contraseñas guardadas de los servidores no forman parte del archivo",
      "select_all": "Seleccionar todo",
      "deselect_all": "Deseleccionar todo",
      "selected_count": "{{count}} seleccionado(s)",
      "file_info": "Información del archivo",
      "exported_at": "Exportado en:",
      "exported_by": "Exportado por:",
      "description": "Descripción:",
      "contains": "Contiene:",
      "connections_count": "{{count}} conexiones",
      "contains_app_settings": "Ajustes de la aplicación:",
      "contains_app_settings_partial": "Ajustes de la aplicación: después de la vista previa puede elegir qué grupos importar",
      "contains_plugin_settings": "Preferencias de plugins:",
      "contains_portable_secrets": "Secretos portátiles:",
      "plugin_settings_count": "{{count}} elemento(s)",
      "portable_secrets_count": "{{count}} elemento(s)",
      "partial_import_hint": "Después de la vista previa, puede importar parcialmente conexiones, grupos de ajustes de la aplicación, preferencias de plugins y reenvíos de puertos",
      "connection_list": "Lista de conexiones:",
      "password": "Contraseña de descifrado",
      "password_placeholder": "Introduce la contraseña establecida durante la exportación",
      "warning_title": "⚠️ Advertencia",
      "warning_text": "La importación procesará todas las conexiones seleccionadas de una sola vez. La forma de manejar los conflictos de nombre depende de la estrategia de conflicto que elijas abajo.",
      "conflict_strategy": "Estrategia de conflicto",
      "strategy_rename": "Renombrar en caso de conflicto",
      "strategy_skip": "Omitir conflictos",
      "strategy_replace": "Reemplazar existentes",
      "strategy_merge": "Fusionar con existentes",
      "reselect_file": "Reseleccionar archivo",
      "cancel": "Cancelar",
      "preview": "Vista previa",
      "previewing": "Cargando...",
      "stage_parsing": "Analizando archivo...",
      "stage_decrypting": "Descifrando...",
      "stage_analyzing": "Analizando vista previa de importación...",
      "stage_preparing": "Preparando importación...",
      "stage_applying": "Aplicando cambios...",
      "stage_saving": "Guardando datos importados...",
      "stage_done": "¡Listo!",
      "preview_title": "Vista previa de importación",
      "preview_total": "Se importarán {{count}} conexiones",
      "preview_unchanged": "✓ {{count}} conexiones se importarán sin cambios:",
      "preview_will_rename": "{{count}} conexiones serán renombradas debido a conflictos:",
      "preview_will_skip": "Se omitirán {{count}} conexiones debido a conflictos:",
      "preview_will_replace": "{{count}} conexiones reemplazarán conexiones existentes:",
      "preview_will_merge": "{{count}} conexiones se fusionarán con conexiones existentes:",
      "preview_embedded_keys": "Las claves privadas se extraerán a ~/.ssh/imported/",
      "preview_forwards": "Este archivo contiene {{count}} regla(s) de reenvío de puertos (solo informativo, no se aplica automáticamente)",
      "preview_app_settings": "Este archivo también restaurará los ajustes globales de OxideTerm.",
      "preview_plugin_settings": "Este archivo también restaurará {{count}} elemento(s) de preferencias de plugins.",
      "preview_portable_secrets": "Este archivo también contiene {{count}} elemento(s) de secretos portátiles, como claves de proveedores de IA.",
      "section_app_settings": "Ajustes de la aplicación",
      "app_settings_sections_title": "Secciones de configuración ({{count}})",
      "app_settings_legacy_title": "Legacy Application Settings",
      "app_settings_legacy_description": "This file was exported before sectioned settings support. Only full settings import is available.",
      "app_settings_contains_env_vars": "Includes local terminal environment variable names",
      "app_settings_field_recent_shells": "Shells recientes",
      "section_plugin_settings": "Preferencias de plugins ({{count}} plugins)",
      "section_portable_secrets": "Secretos portátiles ({{count}} elementos)",
      "section_forwards": "Reenvíos de puertos guardados ({{count}})",
      "toggle_app_settings": "Importar ajustes de la aplicación",
      "toggle_plugin_settings": "Importar preferencias de plugins",
      "toggle_portable_secrets": "Importar elementos de secretos portátiles",
      "toggle_forwards": "Importar reenvíos de puertos guardados",
      "app_settings_keys": "Claves de nivel superior: {{keys}}",
      "app_settings_view_changes": "Ver cambios",
      "app_settings_hide_changes": "Ocultar cambios",
      "app_settings_diff_title": "Cambios de configuración de nivel superior",
      "app_settings_diff_empty": "No se detectaron diferencias de nivel superior.",
      "app_settings_current": "Actual",
      "app_settings_imported": "Importado",
      "plugin_settings_items": "{{count}} ajuste(s)",
      "back": "Volver",
      "confirm_import": "Confirmar importación",
      "renamed": "⚠️ Renombradas por conflictos: {{count}}",
      "import": "Importar todo",
      "importing": "Importando...",
      "success": "✓ Importación exitosa: {{count}} conexiones",
      "imported_app_settings": "Se restauraron los ajustes globales de OxideTerm.",
      "imported_plugin_settings": "Se restauraron {{count}} elemento(s) de preferencias de plugins.",
      "imported_portable_secrets": "Se restauraron {{count}} elemento(s) de secretos portátiles.",
      "skipped_app_settings": "Ajustes de la aplicación omitidos",
      "skipped_plugin_settings": "Preferencias de plugins omitidas",
      "skipped_portable_secrets": "Secretos portátiles omitidos",
      "skipped_forwards": "Reenvíos de puertos omitidos",
      "skipped": "Omitidas: {{count}}",
      "replaced": "Reemplazadas: {{count}}",
      "merged": "Fusionadas: {{count}}",
      "errors": "Errores:",
      "auto_close": "La ventana se cerrará automáticamente en 2 segundos...",
      "passwords_not_included": "Las contraseñas guardadas de los servidores nunca se incluyen en los archivos .oxide. Es posible que las conexiones con autenticación por contraseña requieran volver a introducir la contraseña más adelante.",
      "error_password": "Contraseña incorrecta, no se puede descifrar el archivo",
      "error_tampered": "Error de verificación del archivo, los datos pueden haber sido manipulados",
      "error_enter_password": "Por favor introduce la contraseña de descifrado",
      "contains_quick_commands": "Quick Commands:",
      "quick_commands_count": "{{count}} command(s)",
      "section_quick_commands": "Quick Commands ({{count}} commands)",
      "toggle_quick_commands": "Import {{categories}} Quick Command group(s). Existing conflicts follow the selected conflict strategy; Replace only replaces conflicting items.",
      "imported_quick_commands": "Imported {{count}} Quick Command item(s).",
      "skipped_quick_commands": "Quick Commands skipped"
    },
    "reconnect": {
      "title": "Reconectar a sesión",
      "description": "Introduce contraseña para reconectar",
      "password": "Contraseña",
      "password_placeholder": "Introduce contraseña SSH",
      "cancel": "Cancelar",
      "reconnect": "Reconectar",
      "connecting": "Conectando..."
    },
    "host_key": {
      "title_unknown": "Clave de host desconocida",
      "title_changed": "⚠️ ¡Clave de host cambiada!",
      "title_error": "Error de conexión",
      "unknown_message": "Esta es la primera vez que se conecta a este host. Por favor, verifique la huella digital antes de continuar.",
      "changed_warning": "Advertencia: ¡La clave del host difiere de la guardada anteriormente! Esto podría significar: 1) El servidor fue reinstalado o cambió su clave; 2) Puede estar bajo un ataque de intermediario (MITM). Verifique con su administrador antes de continuar.",
      "key_type_label": "Tipo de clave",
      "fingerprint_label": "Huella digital SHA256",
      "expected_fingerprint": "Huella digital guardada",
      "actual_fingerprint": "Huella digital actual",
      "confirm_prompt": "Si confirma que el cambio de clave es legítimo, escriba \"{{host}}\" para continuar:",
      "remove_prompt": "Escriba \"{{host}}\" para eliminar la clave de host guardada y volver a comprobar la actual:",
      "actions": {
        "cancel": "Cancelar",
        "trust_once": "Confiar una vez",
        "trust_save": "Confiar y guardar",
        "remove_saved": "Eliminar clave guardada",
        "ok": "Aceptar"
      }
    },
    "save_preset": {
      "title": "Guardar como conexión preestablecida",
      "connection_path": "Ruta de conexión",
      "connection_name": "Nombre de conexión",
      "name_placeholder": "Introduce un nombre para la conexión",
      "notes_title": "⚠️ Notas:",
      "notes_1": "La autenticación usará el agente SSH.",
      "notes_2": "Para otros métodos de autenticación, edita la conexión después de guardar.",
      "notes_3": "Esta conexión estará disponible en la lista de conexiones después de guardar.",
      "error_name_required": "Por favor introduce un nombre de conexión",
      "cancel": "Cancelar",
      "save": "Guardar",
      "saving": "Guardando..."
    },
    "drill_down": {
      "title": "Profundizar a nuevo servidor",
      "description": "Establecer conexión tunelizada desde <host>{{host}}</host>",
      "target_host": "Host destino",
      "target_host_placeholder": "192.168.1.100 o servidor-interno",
      "port": "Puerto",
      "username": "Usuario",
      "username_placeholder": "root",
      "auth_method": "Método de autenticación",
      "auth_agent": "Agente SSH",
      "auth_key": "Clave SSH",
      "auth_password": "Contraseña",
      "agent_desc": "Autenticar usando el agente SSH del sistema.",
      "agent_hint": "Asegúrate de que el agente SSH esté ejecutándose y tenga las claves necesarias cargadas.",
      "key_path": "Ruta de clave",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Examinar",
      "passphrase": "Frase de paso de clave (opcional)",
      "password": "Contraseña",
      "cancel": "Cancelar",
      "connect": "Conectar",
      "connecting": "Conectando..."
    },
    "edit_connection": {
      "title": "Conectar a {{name}}",
      "auth_method": "Método de autenticación",
      "auth_password": "Contraseña",
      "auth_key": "Clave SSH",
      "auth_agent": "Agente SSH",
      "password": "Contraseña",
      "password_placeholder": "Introduce contraseña",
      "key_path": "Ruta de clave SSH",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "passphrase": "Frase de paso (si es necesaria)",
      "passphrase_placeholder": "Frase de paso de clave",
      "agent_desc": "Autenticar usando el agente SSH del sistema",
      "agent_hint": "Asegúrate de que el agente SSH esté ejecutándose y contenga las claves necesarias",
      "group": "Grupo",
      "no_group": "Sin grupo",
      "cancel": "Cancelar",
      "connect": "Conectar",
      "connecting": "Conectando..."
    },
    "kbi": {
      "title": "Autenticación de dos factores",
      "default_instruction": "Por favor responde a la solicitud de autenticación del servidor.",
      "time_remaining": "Tiempo restante: {{seconds}}s",
      "timeout": "Tiempo agotado - la autenticación puede haber expirado",
      "enter_response": "Introduce respuesta",
      "enter_code": "Introduce código",
      "cancel": "Cancelar",
      "continue": "Continuar",
      "verifying": "Verificando..."
    },
    "new_connection": {
      "title": "Nueva conexión",
      "description": "Introduce los detalles para una nueva conexión SSH.",
      "twofa_error": "Error 2FA: {{error}}",
      "name": "Nombre (opcional)",
      "name_placeholder": "Mi servidor",
      "jump_servers_configured": "ⓘ Servidores de salto configurados",
      "target_host": "Host destino",
      "port": "Puerto",
      "target_username": "Usuario destino",
      "authentication": "Autenticación",
      "auth_password": "Contraseña",
      "auth_default_key": "Clave predeterminada",
      "auth_key": "Clave SSH",
      "auth_certificate": "Certificado",
      "auth_agent": "Agente",
      "auth_2fa": "2FA",
      "password": "Contraseña",
      "save_password": "Guardar contraseña en llavero",
      "key_file": "Archivo de clave",
      "key_path_placeholder": "~/.ssh/id_rsa",
      "browse": "Examinar",
      "browse_key": "Seleccionar clave SSH",
      "browse_cert": "Seleccionar certificado SSH",
      "default_key_desc": "Usar clave SSH predeterminada (ej.: ~/.ssh/id_rsa, ~/.ssh/id_ed25519)",
      "agent_desc": "Autenticar usando el agente SSH del sistema",
      "agent_hint": "Asegúrate de que el agente SSH esté ejecutándose y tenga las claves necesarias cargadas",
      "agent_detected": "Agente SSH detectado",
      "agent_not_detected": "Agente SSH no detectado",
      "private_key": "Clave privada",
      "certificate": "Certificado",
      "certificate_placeholder": "~/.ssh/id_ed25519-cert.pub",
      "certificate_hint": "Archivo de certificado OpenSSH (normalmente termina en -cert.pub)",
      "certificate_note": "Esta opción es para certificados firmados por CA de OpenSSH, no para claves SSH normales. Si tienes una clave privada con frase de contraseña, usa la pestaña Clave SSH.",
      "passphrase": "Frase de paso (opcional)",
      "passphrase_placeholder": "Frase de paso de clave si está cifrada",
      "twofa_desc": "Autenticación de dos factores (Keyboard-Interactive)",
      "twofa_hint": "El servidor solicitará credenciales durante la conexión. Usos comunes: códigos TOTP, tokens de hardware, desafío-respuesta.",
      "twofa_warning": "Nota: Las conexiones 2FA no pueden reconectarse automáticamente. Necesitarás reconectar manualmente si la sesión se desconecta.",
      "group": "Grupo",
      "select_group": "Seleccionar grupo",
      "ungrouped": "Sin grupo",
      "create_groups_hint": "Crea grupos en configuración",
      "save_connection": "Guardar conexión para uso futuro",
      "save_connection_hint": "Desactivado por defecto en el primer uso. Su elección se recordará.",
      "agent_forwarding": "Habilitar reenvío de agente SSH",
      "agent_forwarding_hint": "Habilitar solo en servidores de confianza. Un servidor malicioso podría usar tu agente SSH local para autenticarse en otros hosts.",
      "post_connect_command": "Run after connect",
      "post_connect_command_placeholder": "cd /srv/app",
      "post_connect_command_hint": "Optional. Runs once after the interactive shell opens.",
      "proxy_chain": {
        "title": "Cadena de proxy",
        "add_jump": "Añadir servidor de salto",
        "empty": "No hay servidores de salto configurados",
        "jump_server": "Servidor de salto",
        "host": "Host",
        "port": "Puerto",
        "username": "Usuario",
        "auth": "Auth",
        "count": "{{count}} servidores de salto configurados - clic para expandir",
        "configured": "Servidores de salto configurados"
      },
      "cancel": "Cancelar",
      "test": "Probar",
      "testing": "Probando...",
      "test_success": "Conexión exitosa",
      "test_failed": "Prueba de conexión fallida",
      "test_elapsed": "Conectado en {{ms}}ms",
      "test_not_supported_kbi": "La prueba de conexión no es compatible con la autenticación 2FA",
      "test_proxy_chain_not_supported": "El diagnóstico de la cadena de proxy aún no es compatible. Usa Conectar para validar la ruta completa.",
      "test_host_key_changed": "La clave de host ha cambiado. Esperado: {{expected}}. Actual: {{actual}}.",
      "connect": "Conectar",
      "connecting": "Conectando...",
      "connect_failed": "Error de conexión",
      "save_failed": "Error al guardar la conexión"
    },
    "settings": {
      "title": "Configuración",
      "description": "Configuración de la aplicación.",
      "tabs": {
        "terminal": "Terminal (Depuración)",
        "sftp": "Transferencias SFTP",
        "appearance": "Apariencia",
        "connections": "Conexiones",
        "ssh": "Claves SSH",
        "ai": "OxideSens"
      },
      "terminal": {
        "title": "Configuración de terminal",
        "description": "Configura la apariencia y comportamiento del terminal.",
        "font_family": "Familia de fuente",
        "custom_font": "Personalizada...",
        "custom_font_stack": "Lista de fuentes personalizada",
        "custom_font_stack_hint": "Ingrese nombres de fuentes en orden de prioridad, separados por comas",
        "font_preview": "Vista previa de fuente",
        "font_size": "Tamaño de fuente",
        "line_height": "Altura de línea",
        "scrollback": "Líneas de scrollback (frontend)",
        "renderer": "Renderizador",
        "renderer_auto": "Automático (preferir WebGL)",
        "renderer_webgl": "WebGL",
        "renderer_canvas": "Canvas",
        "renderer_hint": "Canvas se recomienda en Windows para mejor estabilidad. Reinicia para aplicar.",
        "cursor_style": "Estilo de cursor",
        "cursor_block": "Bloque",
        "cursor_underline": "Subrayado",
        "cursor_bar": "Barra",
        "cursor_blink": "Parpadeo de cursor"
      },
      "buffer": {
        "title": "Gestión de buffer",
        "description": "Configura el buffer de scrollback del backend para reconexión y búsqueda.",
        "max_lines": "Líneas máximas de buffer",
        "lines_hint": "Las líneas antiguas se descartarán automáticamente cuando se alcance el límite.",
        "new_sessions_only": "Los cambios solo se aplican a las nuevas sesiones.",
        "save_hint": "El contenido del buffer se mantiene en memoria para la búsqueda mientras la sesión siga activa."
      },
      "appearance": {
        "title": "Apariencia",
        "description": "Configuración de UI y disposición.",
        "theme": "Tema",
        "sidebar_collapse": "Contraer barra lateral por defecto"
      },
      "connections": {
        "title": "Valores predeterminados de conexión",
        "description": "Configuración predeterminada para nuevas conexiones.",
        "default_username": "Usuario predeterminado",
        "default_port": "Puerto predeterminado",
        "groups": {
          "title": "Grupos",
          "description": "Gestiona grupos de conexiones.",
          "new_placeholder": "Nombre del nuevo grupo...",
          "add": "Añadir"
        },
        "ssh_config": {
          "title": "Importar desde configuración SSH",
          "description": "Escanea hosts en ~/.ssh/config.",
          "no_hosts": "No se encontraron hosts en ~/.ssh/config",
          "import": "Importar"
        }
      },
      "ssh_keys": {
        "title": "Claves SSH",
        "description": "Gestiona claves SSH locales detectadas en ~/.ssh/",
        "encrypted": "Cifrada",
        "no_keys": "No se encontraron claves en la ubicación predeterminada."
      },
      "ai": {
        "title": "OxideSens",
        "description": "Configura OxideSens en línea con tu propia API.",
        "enable": {
          "title": "Habilitar funciones de IA",
          "shortcut_windows": "Presiona Ctrl+Shift+I en terminal para abrir panel de IA",
          "shortcut_mac": "Presiona Ctrl+I / Cmd+I en terminal para abrir panel de IA"
        },
        "privacy": {
          "title": "🔒 Aviso de privacidad",
          "local_requests": "Todas las solicitudes de IA se inician desde tu máquina local",
          "no_server": "No se utilizan servidores intermediarios",
          "context_only": "Solo el contexto seleccionado se envía a la API",
          "keychain": "La clave API se almacena de forma segura en el llavero del sistema"
        },
        "config": {
          "title": "Configuración de API",
          "description": "Configuración de endpoint compatible con OpenAI.",
          "base_url": "URL base",
          "base_url_placeholder": "https://api.openai.com/v1",
          "base_url_hint": "Funciona con OpenAI, Ollama, OneAPI u otros endpoints compatibles.",
          "model": "Modelo",
          "model_placeholder": "gpt-4o-mini",
          "model_hint": "Identificador de modelo (ej.: gpt-4o-mini, deepseek-chat, llama3.2).",
          "api_key": "Clave API",
          "api_key_configured": "Clave API configurada en llavero",
          "api_key_remove_confirm": "¿Eliminar clave API del llavero?",
          "api_key_placeholder": "sk-...",
          "api_key_hint": "Almacenada en el llavero del sistema, no en disco.",
          "save": "Guardar",
          "saving": "Guardando..."
        },
        "context": {
          "title": "Límites de contexto",
          "description": "Controla cuánto contexto se envía a la IA.",
          "max_chars": "Máximo de caracteres",
          "visible_lines": "Líneas visibles",
          "token_hint": "La estimación de tokens es aproximada (1 token ≈ 4 caracteres para inglés).",
          "chars_2000": "2.000 car. (~500 tokens)",
          "chars_4000": "4.000 car. (~1.000 tokens)",
          "chars_8000": "8.000 car. (~2.000 tokens)",
          "chars_16000": "16.000 car. (~4.000 tokens)",
          "chars_32000": "32.000 car. (~8.000 tokens)",
          "lines_50": "50 líneas",
          "lines_100": "100 líneas",
          "lines_120": "120 líneas",
          "lines_200": "200 líneas"
        },
        "confirm": {
          "title": "Habilitar funciones de IA",
          "intro": "Antes de habilitar las funciones de IA, por favor confirma que entiendes:",
          "point_local": "Todas las solicitudes de IA se inician desde <strong>tu máquina local</strong>",
          "point_no_server": "<strong>No se utilizan servidores intermediarios</strong> por OxideTerm",
          "point_context": "Solo el <strong>contexto seleccionado</strong> se envía a la API configurada",
          "point_responsibility": "Eres responsable de las políticas de datos de tu proveedor de API",
          "cancel": "Cancelar",
          "confirm": "Entendido, habilitar IA"
        }
      },
      "sftp": {
        "title": "Configuración de transferencias SFTP",
        "description": "Configura el comportamiento y rendimiento de transferencias de archivos.",
        "concurrent": {
          "title": "Transferencias simultáneas máximas",
          "hint": "Número máximo de archivos transferidos a la vez. Valores más altos pueden mejorar el rendimiento pero aumentan el uso de memoria.",
          "transfer_count_one": "{{count}} transferencia",
          "transfer_count_other": "{{count}} transferencias"
        },
        "bandwidth": {
          "enable": "Habilitar límite de ancho de banda",
          "limit": "Límite de velocidad (KB/s)",
          "hint": "Establecer a 0 para ilimitado. Valores comunes: 1024 (1 MB/s), 5120 (5 MB/s), 10240 (10 MB/s)."
        },
        "conflict": {
          "title": "Acción predeterminada en conflictos",
          "hint": "Qué hacer cuando un archivo con el mismo nombre ya existe en el destino.",
          "ask": "Preguntar siempre",
          "overwrite": "Sobrescribir siempre",
          "skip": "Omitir siempre",
          "rename": "Conservar ambos (renombrar)"
        }
      },
      "errors": {
        "create_group_failed": "Error al crear grupo: {{error}}",
        "delete_group_failed": "Error al eliminar grupo: {{error}}",
        "import_host_success": "¡\"{{name}}\" importado correctamente como conexión guardada!",
        "import_host_failed": "Error al importar host: {{error}}",
        "save_api_key_failed": "Error al guardar clave API: {{error}}",
        "remove_api_key_failed": "Error al eliminar clave API: {{error}}"
      }
    }
  }
}
