{
  "terminal": {
    "local": {
      "title": "Terminal local",
      "shell": "Shell: {{shell}}",
      "shell_unknown": "Desconocido",
      "session_ended": "Sesión terminada",
      "exit_code": "El proceso terminó con código {{code}}",
      "process_terminated": "Proceso terminado"
    },
    "search": {
      "visible_buffer": "Buffer visible",
      "deep_history": "Historial profundo",
      "deep_history_tooltip": "Buscar en todo el historial de sesión (más allá del scrollback)",
      "placeholder_active": "Search visible terminal...",
      "placeholder_deep": "Search full history...",
      "searching": "Buscando...",
      "searching_archived": "{{count}} coincidencias hasta ahora ({{ms}}ms), buscando en el historial archivado...",
      "error": "Error",
      "no_results_history": "Sin resultados en historial",
      "matches_count": "{{count}} coincidencias ({{ms}}ms)",
      "no_results": "Sin resultados",
      "matches_exceeded": "{{count}}+ coincidencias",
      "previous_match": "Coincidencia anterior (Shift+Enter)",
      "next_match": "Siguiente coincidencia (Enter)",
      "search_full_history": "Search full history (Enter)",
      "search_button": "Buscar",
      "close": "Cerrar (Esc)",
      "case_sensitive": "Distinguir mayúsculas",
      "regex": "Usar expresión regular",
      "whole_word": "Palabra completa",
      "click_to_jump": "Clic para ir a coincidencia",
      "line_number": "Línea {{line}}",
      "recent_match": "Reciente",
      "archived_match": "Archivado",
      "archived_preview": "Vista previa del archivo",
      "showing_first": "Mostrando primeras 100 de {{total}}",
      "partial_results": "Resultados parciales: no se pudieron buscar algunos fragmentos archivados.",
      "no_matches_in_history": "No se encontraron coincidencias en el historial de sesión",
      "visible_terminal": "Visible terminal",
      "full_history": "Full history",
      "visible_terminal_hint": "Search the main terminal visible scrollback.",
      "full_history_hint": "Search backend hot history and archived excerpts. Results open in Scrollback Viewer.",
      "results_map": "Results map",
      "results_map_hint": "Click to jump"
    },
    "ai": {
      "title": "OxideSens",
      "api_key_required": "Se requiere clave API",
      "api_key_hint": "Configura tu clave API en Configuración → IA para usar esta función.",
      "context": "Contexto:",
      "context_selection": "Selección",
      "context_visible": "Visible",
      "context_none": "Ninguno",
      "tokens_estimate": "~{{count}} tokens",
      "prompt_placeholder": "Pregunta a la IA sobre comandos...",
      "inline_placeholder": "Pedir comando a la IA...",
      "selection_placeholder": "Preguntando sobre selección...",
      "to_send": "enviar",
      "to_insert": "insertar",
      "to_run": "ejecutar",
      "generating": "Generando...",
      "regenerate": "Reintentar",
      "send_shortcut": "Enviar",
      "close_shortcut": "Cerrar",
      "copy": "Copiar",
      "copied": "Copiado",
      "insert": "Insertar",
      "execute": "Ejecutar"
    },
    "paste": {
      "title": "Múltiples líneas detectadas ({{count}} líneas)",
      "more_lines": "... {{count}} líneas más",
      "confirm": "Confirmar",
      "cancel": "Cancelar",
      "paste": "Pegar"
    },
    "ssh": {
      "initialized": "OxideTerm inicializado",
      "connecting": "Conectando a {{user}}@{{host}}...",
      "connected": "Conectado.",
      "reconnecting": "Reconectando a {{user}}@{{host}}...",
      "reconnected": "¡Reconexión exitosa!",
      "connection_closed": "Conexión cerrada.",
      "connection_closed_code": "Conexión cerrada (código: {{code}})",
      "ws_error": "Error WebSocket: {{error}}",
      "ws_reconnect_error": "Error de reconexión WebSocket",
      "ws_establish_failed": "Error al establecer WebSocket: {{error}}",
      "server_error": "Error del servidor: {{error}}",
      "no_ws_url": "No hay URL WebSocket disponible para la sesión.",
      "connection_lost": "[OxideTerm] Conexión perdida. Reconectando...",
      "connection_lost_reconnect": "[OxideTerm] Conexión SSH perdida. Por favor reconecte.",
      "attempting_reconnect": "[OxideTerm] Intentando reconectar...",
      "link_restored": "[OxideTerm] Enlace restaurado. Sesión de shell reiniciada.",
      "connection_failed": "[OxideTerm] Conexión fallida permanentemente.",
      "history_match": "Coincidencia en historial (línea {{line}})",
      "buffer_empty": "⚠ Buffer vacío - mostrando snapshot en caché:",
      "buffer_rotated": "⚠ Buffer rotado - contexto en vivo puede no coincidir. Mostrando caché + actual:",
      "cached_match": "Coincidencia en caché:",
      "current_line": "Línea actual en índice {{index}}:",
      "fetch_context_failed": "⚠ Error al obtener contexto - mostrando snapshot en caché:"
    },
    "trzsz": {
      "select_upload_directory_title": "Seleccionar carpeta para subir",
      "select_upload_directory_description": "Elige el directorio local que debe enviarse mediante trzsz.",
      "select_upload_files_title": "Seleccionar archivos para subir",
      "select_upload_files_description": "Elige uno o más archivos locales para esta transferencia trzsz.",
      "select_download_directory_title": "Elegir dónde guardar las descargas",
      "select_download_directory_description": "Selecciona una carpeta local para los archivos trzsz entrantes.",
      "cancelled_title": "Transferencia cancelada",
      "cancelled_description": "La transferencia trzsz se canceló antes de completarse.",
      "completed_title": "Transferencia completada",
      "completed_description": "La transferencia trzsz se completó correctamente.",
      "failed_title": "Transferencia fallida",
      "failed_description": "OxideTerm no pudo completar la transferencia trzsz.",
      "connection_lost_title": "Transferencia interrumpida por pérdida de conexión",
      "connection_lost_description": "La conexión SSH cambió mientras había una transferencia trzsz activa. Vuelve a iniciar la transferencia después de reconectarte.",
      "partial_cleanup_title": "Limpieza de la transferencia incompleta",
      "partial_cleanup_description": "No se pudo limpiar por completo el estado temporal de la transferencia. Puedes seguir usando el terminal, pero pueden quedar archivos de transferencia obsoletos.",
      "version_mismatch_title": "Incompatibilidad del protocolo trzsz",
      "version_mismatch_description": "El runtime remoto de trzsz es incompatible con esta compilación de OxideTerm.",
      "path_invalid_title": "Ruta de descarga rechazada",
      "path_invalid_description": "OxideTerm bloqueó esta transferencia trzsz porque la ruta seleccionada no era válida o estaba fuera de la raíz de descargas aprobada.",
      "symlink_not_supported_title": "Transferencia de enlaces simbólicos no compatible",
      "symlink_not_supported_description": "OxideTerm no escribe enlaces simbólicos a través del bridge trzsz actual.",
      "conflict_detected_title": "Conflicto de archivos detectado",
      "conflict_detected_description": "Ya existe un archivo o carpeta con el mismo nombre en el destino.",
      "directory_not_allowed_title": "Transferencia de directorios deshabilitada",
      "directory_not_allowed_description": "La configuración actual del terminal no permite transferencias de directorios trzsz.",
      "max_file_count_title": "Se seleccionaron demasiados archivos",
      "max_file_count_description": "Esta transferencia incluye {{selected}} archivos, lo que supera el límite configurado de {{max}}.",
      "max_total_bytes_title": "Se superó el límite de tamaño de transferencia",
      "max_total_bytes_description": "Esta transferencia requiere {{selected}}, lo que supera el límite configurado de {{max}}.",
      "disabled_title": "trzsz no está habilitado",
      "disabled_description": "El servidor remoto inició una transferencia trzsz, pero la transferencia de archivos en banda está deshabilitada. Habilítala en Configuración → Terminal para usar trzsz."
    },
    "standby": {
      "connection_lost": "Conexión perdida",
      "reconnecting": "Reconectando...",
      "input_locked": "Entrada bloqueada durante reconexión"
    },
    "disconnected": {
      "message": "Conexión desconectada",
      "retry": "Reconectar"
    },
    "pane": {
      "split_horizontal": "Dividir horizontal",
      "split_vertical": "Dividir vertical",
      "close_pane": "Cerrar panel",
      "max_panes_reached": "Máximo de paneles alcanzado ({{max}})",
      "focus_next": "Siguiente panel",
      "focus_previous": "Panel anterior",
      "cannot_close_last": "No se puede cerrar el último panel",
      "ssh_split_coming_soon": "División de terminal SSH próximamente"
    },
    "typeLocal": "LOCAL",
    "typeSsh": "SSH",
    "mouse_mode_hint": "⇧ Shift + Arrastrar para seleccionar",
    "broadcast": {
      "broadcast_input": "Entrada de difusión",
      "select_targets": "Seleccionar destinos",
      "select_all": "Seleccionar todo",
      "deselect_all": "Deseleccionar todo",
      "no_targets": "No hay otros terminales disponibles",
      "target_count": "{{count}} destino(s)",
      "local_terminal": "Terminal local",
      "enabled": "Difusión activada",
      "disabled": "Difusión desactivada",
      "current": "Actual"
    },
    "recording": {
      "start": "Grabar sesión",
      "stop": "Detener grabación",
      "pause": "Pausar grabación",
      "resume": "Reanudar grabación",
      "discard": "Descartar grabación",
      "save": "Guardar grabación",
      "recording": "GRAB",
      "paused": "PAUSADO",
      "elapsed": "{{time}}",
      "events": "{{count}} eventos",
      "confirm_stop_title": "¿Detener grabación?",
      "confirm_stop_message": "¿Guardar la grabación como archivo asciicast (.cast)?",
      "confirm_discard_title": "¿Descartar grabación?",
      "confirm_discard_message": "Esto descartará la grabación actual. Esta acción no se puede deshacer.",
      "saved": "Grabación guardada",
      "open_cast": "Abrir archivo Cast",
      "security_warning": "Las grabaciones pueden contener datos sensibles (contraseñas, tokens). Verifique antes de compartir.",
      "player": {
        "title": "Reproductor Cast",
        "play": "Reproducir",
        "pause": "Pausar",
        "speed": "Velocidad",
        "seek": "Buscar",
        "duration": "Duración",
        "search": "Buscar en grabación...",
        "no_results": "No se encontraron resultados",
        "matches": "{{count}} coincidencias",
        "jump_to": "Ir a coincidencia",
        "loading": "Construyendo instantáneas...",
        "dimensions": "{{cols}}×{{rows}}",
        "close": "Cerrar reproductor"
      }
    },
    "encoding_hint": {
      "title": "Terminal output may use another encoding",
      "description": "OxideTerm detected garbled text while using UTF-8. You can try {{encodings}}; nothing will change unless you choose one.",
      "use_encoding": "Use {{encoding}}"
    },
    "command_bar": {
      "command": "Command",
      "command_mode": "Command mode",
      "command_placeholder": "Run commands",
      "run_command": "Run command",
      "local_shell": "Local shell",
      "remote_shell": "Remote shell",
      "all_targets": "all",
      "recording": "REC",
      "source_runtime": "history",
      "source_local_history": "local",
      "source_ai_ledger": "AI",
      "source_history": "history",
      "source_command": "command",
      "source_option": "option",
      "source_path": "path",
      "source_ai": "AI",
      "group_history": "History",
      "group_command": "Command",
      "group_option": "Option",
      "group_path": "Path",
      "group_quick_commands": "Quick Commands",
      "source_quick_command": "quick"
    },
    "command_selection": {
      "actions": "Command selection actions",
      "copy": "Copy",
      "copy_title": "Copy command output"
    },
    "scrollback_viewer": {
      "title": "Scrollback Viewer",
      "open": "Open Scrollback Viewer",
      "live_hint": "Showing live scrollback. Archived matches open as excerpts.",
      "stats": "{{current}} live / {{total}} total · max {{max}} · {{memory}} MB",
      "search_placeholder": "Search live and archived history...",
      "search": "Search",
      "case_sensitive": "Case sensitive",
      "regex": "Regular expression",
      "whole_word": "Whole word",
      "previous_match": "Previous match",
      "next_match": "Next match",
      "refresh": "Refresh",
      "clear": "Clear scrollback",
      "close": "Close",
      "empty_title": "No live scrollback yet",
      "empty_description": "Terminal output will appear here after it scrolls into the buffer.",
      "loading_line": "Loading...",
      "matches": "Matches",
      "live_buffer_badge": "Live buffer",
      "archive_badge": "Archive",
      "line_number": "Line {{line}}",
      "archive_excerpt": "Archive excerpt",
      "clear_confirm_title": "Clear current scrollback buffer?",
      "clear_confirm_description": "Archived history is not removed.",
      "clear_confirm_action": "Clear scrollback",
      "minimap": "History minimap",
      "limited_live_hint": "Showing the latest {{shown}} live scrollback lines out of {{available}} available. Use full-history search/archive excerpts for older output."
    },
    "quick_commands": {
      "title": "Quick Commands",
      "open": "Quick Commands",
      "close": "Close Quick Commands",
      "search_placeholder": "Search quick commands...",
      "add": "Add",
      "edit": "Edit",
      "delete": "Delete",
      "run": "Run",
      "save": "Save",
      "cancel": "Cancel",
      "empty_search": "No matching quick commands",
      "empty_category": "No quick commands in this category",
      "name_placeholder": "Name",
      "command_placeholder": "Command",
      "description_placeholder": "Description",
      "host_pattern_placeholder": "Host pattern, e.g. *.prod",
      "confirm_title": "Run quick command?",
      "confirm_description": "Run: {{command}}",
      "confirm_risky_description": "This command may be destructive or sensitive. Run: {{command}}",
      "toast_executed": "Quick command sent",
      "add_group": "Add group",
      "edit_group": "Edit group",
      "delete_group": "Delete group",
      "save_group": "Save group",
      "group_name_placeholder": "Group name",
      "icon_terminal": "Terminal",
      "icon_server": "Server",
      "icon_folder": "Folder",
      "icon_docker": "Docker",
      "icon_zap": "Custom"
    }
  }
}
