{
  "account": "Cuenta",
  "accountLinkedSuccessfully": "Cuenta {provider} {id} vinculada correctamente.",
  "accountUnlinked": "Cuenta {provider} desvinculada.",
  "actionFailed": "Acción fallida: {error}",
  "actionsTitle": "Acciones",
  "activeAgentState": "activo: {agent}",
  "activeAgentSwitchTitle": "Volver al asistente",
  "activeAgentTitle": "Activo: {agent} — clic para volver",
  "activeAgents": "Agentes activos",
  "activeForwards": "Forwards activos:\n{lines}",
  "activeLoopsHeader": "Bucles activos:",
  "add": "Añadir",
  "addAgent": "Añadir agente",
  "addAgentToConversation": "Añadir agente a la conversación",
  "addInstance": "Agregar instancia",
  "addTheme": "Añadir tema",
  "addToConversation": "Añadir a la conversación",
  "agent": "Agente",
  "agentBtwUsage": "Uso: /agent btw @<nombre|ALL> <pregunta>",
  "agentConfigUpdated": "Configuración de {agent} actualizada.",
  "agentHooks": "Agent Hooks",
  "agentHooksDesc": "Bindings de hooks de conversación",
  "agentCreateConvUsage": "Uso: /agent create-conv @<nombre> \"<prompt>\"",
  "agentCreated": "Agente creado.",
  "agentDeleteUsage": "Uso: /agent delete @<nombre>",
  "agentDeleted": "Agente '{name}' eliminado.",
  "agentDisabled": "Agente desactivado.",
  "agentEnabled": "Agente activado.",
  "agentHasNoAssignedSkills": "El agente **{agent}** no tiene skills asignadas.",
  "agentMapping": "Mapeo de agentes",
  "agentMsgTargetUsage": "Uso: /agent msg {target} <mensaje>",
  "agentMsgUsage": "Uso: /agent msg @<nombre|ALL> <mensaje>",
  "agentNotFound": "Agente '{name}' no encontrado.",
  "agentOverride": "Override de agente",
  "agentPromoted": "Agente promovido.",
  "agentRenamed": "El agente \"{real}\" se mostrará como \"{nick}\".",
  "agentRepository": "Repositorio de agentes",
  "agentRequired": "Se requiere un agente.",
  "agentSelected": "Agente '{name}' seleccionado. Los mensajes van ahora a {name}.",
  "agentSelectedPending": "Agente '{name}' seleccionado (se activará con el primer mensaje).",
  "agentSetnameUsage": "Uso: /agent setname @<realname> [apodo]  (omite apodo para resetear)",
  "agentSkillsTitle": "Skills para “{agent}”",
  "agentSkillsUpdated": "Skills actualizados para {agent}: {details}.",
  "agentUsage": "Uso: /agent list | create | create-conv | select | delete | msg | disable | enable | promote | setname",
  "agents": "Agentes",
  "agentsHeader": "**Agentes:**",
  "agentsListTitle": "Agentes ({state}):\n{lines}",
  "all": "Todo",
  "allAgents": "todos los agentes",
  "allAgentsInConversation": "Todos los agentes ya están en esta conversación",
  "allImageServicePreferencesCleared": "Se borraron todas las preferencias de servicio de imagen.",
  "availableToTools": "disponible para herramientas",
  "allMemories": "Todas las memorias",
  "allTypes": "Todos los tipos",
  "allVideoServicePreferencesCleared": "Se borraron todas las preferencias de servicio de vídeo.",
  "allowLocal": "Permitir local",
  "alsoRewindUserFiles": "Revertir también archivos del usuario (vía checkpoints)",
  "analyzing": "Analizando...",
  "analyzingConversation": "Analizando conversación…",
  "analyzingRecentUserMessages": "Analizando {limit} mensajes recientes del usuario...",
  "applyGlobally": "Aplicar globalmente",
  "applyToConversation": "Aplicar a la conversación",
  "approve": "Aprobar",
  "approveStep": "Aprobar paso",
  "assign": "Asignar",
  "assignPlan": "Asignar plan",
  "assignStepTitle": "Asignar paso {n}",
  "assignStepToAgent": "Asignar paso a un agente",
  "assignTitle": "Asignar {name} a un agente",
  "assignTo": "Asignar a...",
  "assignToAgentMenu": "Asignar a agente...",
  "assignedList": "Asignados: {items}",
  "atLeastOneAgentRequired": "Se requiere al menos un agente.",
  "attachTitle": "Adjuntar archivos",
  "audio": "Audio",
  "audioDesc": "Reenviar audio desde el relay (sin escritorio)",
  "audioNoToken": "La fuente de audio está disponible pero no se devolvió token de capacidad.",
  "audioPreviewFailed": "Error en previsualización de audio: {error}",
  "audioStreamingFrom": "Audio transmitido desde {relay}.",
  "audioTabClosed": "Pestaña de audio cerrada.",
  "audioTabTitle": "Audio ({relay})",
  "audioTitleRelay": "Audio — {relay}",
  "audioUnavailable": "No hay audio disponible en este relay.",
  "authorizeInRelayBrowser": "Autoriza en el navegador que se abre en el relay...",
  "autoGeneratedIfEmpty": "Autogenerado si está vacío",
  "autoSummarizer": "auto",
  "autoconvDisabledFor": "Auto-conversación desactivada para {agent}.",
  "autoconvEnabledFor": "Auto-conversación activada para {agent} ({freq}).",
  "autoconvFrequencyPrompt": "Frecuencia (ej. 6/1m, 2-3/h, 1/2h):",
  "autoconvOff": "Autoconv off",
  "autoconvOnMenu": "Autoconv on...",
  "available": "Disponible",
  "availableCommands": "Comandos disponibles:",
  "availableRelays": "Relays disponibles:",
  "availableToolsForCall": "Herramientas disponibles para /call:",
  "backToReport": "Volver al informe",
  "binaryFile": "Archivo binario: /workspace/{path}",
  "blocked": "Bloqueado",
  "botLabel": "Bot: {bot}",
  "branchAPrompt": "Rama A:",
  "branchBPrompt": "Rama B:",
  "branchComparisonHeader": "Comparación de ramas: {a} vs {b}",
  "branchCreated": "Rama creada: {name}",
  "branchDeleted": "Rama eliminada: {name}",
  "branchNamePrompt": "Nombre de la rama:",
  "branchTitle": "Rama: {branch}",
  "broadcastFirst": "Inicie una conversación antes de emitir a todos.",
  "broadcasting": "Broadcast en curso...",
  "btwUsage": "Uso: /btw [@agent] <pregunta> (por defecto agente seleccionado)",
  "bugAgentRequired": "BUG: nombre de agente requerido para select",
  "bugNoAgentSelected": "BUG: ningún agente seleccionado (selectedAgent vacío)",
  "buildingProjectGraph": "Construyendo grafo del proyecto...",
  "cacheReadWrite": "caché: {read} leídos, {write} escritos",
  "cachedRenderingsPurged": "{n} renderizado(s) en caché purgado(s)",
  "callingTool": "🔧 Llamando herramienta: {tool}",
  "cancel": "Cancelar",
  "cancelThisAgent": "Cancelar este agente",
  "cancelled": "[Cancelado]",
  "cancelling": "Cancelando...",
  "ccInteractiveTerminal": "Tmux de agente",
  "ccInteractiveTerminalDesc": "Adjuntar al tmux del agente seleccionado",
  "ccInteractiveTerminalNoLive": "No hay ninguna sesion tmux interactiva activa para el agente seleccionado.",
  "ccInteractiveTerminalNoAgent": "Selecciona un agente antes de abrir su tmux.",
  "chatTitle": "Chat",
  "chooseCCInteractiveTerminal": "Elegir tmux Claude Code",
  "chooseRelay": "Elegir relay",
  "claudeCredentialsUsage": "Uso: /claude-login-credentials <service_name> <credentials_json>",
  "claudeRelayUsage": "Uso: /claude-login-relay <service_name> [relay_name]",
  "claudeRemoveUsage": "Uso: /cls remove <index> [@service]",
  "claudeUsage": "Uso: /cls @<service> | /cls pool | /cls reset | /cls remove <N>",
  "cliSessionReusedTitle": "{cli} reutilizado (duración {lived}, reutilización n.º {count})",
  "clickFullSize": "Haz clic para ver en tamaño completo",
  "clientOwner": "cliente",
  "close": "Cerrar",
  "codeNoRelayUsage": "No hay relay conectado. Uso: /code <nombre_relay>",
  "codeServerClosed": "Code-server cerrado.",
  "codeServerStartedLoading": "code-server iniciado. Cargando editor...",
  "commandShort.1": "Mostrar comandos disponibles o ayuda detallada de un comando",
  "commandShort.10": "Atajo para crear un skill",
  "commandShort.11": "Listar todos los recursos (agentes, skills, servidores MCP)",
  "commandShort.12": "Activar un recurso para esta conversación",
  "commandShort.13": "Desactivar un recurso de esta conversación",
  "commandShort.14": "Compartir un recurso con otra conversación",
  "commandShort.15": "Login a Claude Code vía servidor (noVNC)",
  "commandShort.16": "Login a Claude Code vía relay",
  "commandShort.17": "Configurar credenciales Claude Code desde .credentials.json",
  "commandShort.18": "Abrir pestaña de terminal en un relay",
  "commandShort.19": "Abrir pestaña VS Code (code-server) en un relay",
  "commandShort.2": "Enviar un mensaje a un agente o tarea en ejecución",
  "commandShort.20": "Reenviar audio desde relay (sin escritorio)",
  "commandShort.21": "Abrir escritorio virtual (VNC) en un relay",
  "commandShort.22": "Reenviar un puerto de un relay al servidor web",
  "commandShort.23": "Gestionar bindings relay de esta conversación",
  "commandShort.24": "Gestionar servicios LLM y externos",
  "commandShort.25": "Gestionar revisiones programadas",
  "commandShort.26": "Cambiar servicio LLM de un agente en esta conversación",
  "commandShort.27": "Interrumpir un agente — pedir respuesta inmediata",
  "commandShort.28": "Forzar parada de un agente — cancelación inmediata, sin respuesta",
  "commandShort.29": "Reiniciar contexto desde los últimos N mensajes (pred. 5, 0 = vacío)",
  "commandShort.3": "Pregunta lateral a un agente (atajo para /agent btw)",
  "commandShort.30": "Resumir contexto a N tokens y reiniciar desde resumen",
  "commandShort.31": "Pedir a un agente continuar desde donde se detuvo",
  "commandShort.32": "Compactar contexto (resumir mensajes antiguos)",
  "commandShort.33": "Reconstruir contexto desde todo el historial",
  "commandShort.34": "Ver contexto LLM",
  "commandShort.35": "Mostrar/ocultar panel de archivos",
  "commandShort.36": "Mostrar/ocultar panel de flows",
  "commandShort.37": "Mostrar/ocultar panel de tareas programadas",
  "commandShort.38": "Listar herramientas disponibles",
  "commandShort.39": "Mostrar métricas de ejecución de herramientas",
  "commandShort.4": "Llamar una herramienta directamente",
  "commandShort.40": "Mostrar estadísticas de uso de tokens",
  "commandShort.41": "Gestionar memorias de agente",
  "commandShort.42": "Knowledge Graph — ver, añadir e invalidar triples",
  "commandShort.43": "Diario de agente (observaciones, decisiones, aprendizajes)",
  "commandShort.44": "Instalar herramienta personalizada",
  "commandShort.45": "Desinstalar herramienta personalizada",
  "commandShort.46": "Vincular/desvincular cuentas externas",
  "commandShort.47": "Guardar secreto cifrado",
  "commandShort.48": "Listar secretos guardados",
  "commandShort.49": "Guardar variable en texto claro",
  "commandShort.5": "Gestionar servicio de generación de vídeo",
  "commandShort.50": "Listar variables guardadas",
  "commandShort.51": "Previsualizar archivo (imagen, PDF, texto, código)",
  "commandShort.52": "Mostrar uso de tokens y coste estimado por agente",
  "commandShort.53": "Auto-conversación — agentes contribuyen autónomamente",
  "commandShort.54": "Iniciar nueva conversación",
  "commandShort.55": "Listar/cambiar conversaciones",
  "commandShort.56": "Mostrar mensajes de conversación",
  "commandShort.57": "Exportar conversación",
  "commandShort.58": "Renombrar conversación actual",
  "commandShort.59": "Eliminar conversación",
  "commandShort.6": "Crear, asignar y gestionar tareas de agente",
  "commandShort.60": "Eliminar mensaje por índice",
  "commandShort.61": "Buscar mensajes en conversación actual",
  "commandShort.62": "Cambiar modelo LLM",
  "commandShort.63": "Gestionar flows de datos",
  "commandShort.64": "Gestionar prompts",
  "commandShort.65": "Ejecutar comando shell vía relay",
  "commandShort.66": "Mostrar diff git",
  "commandShort.67": "Copiar última respuesta al portapapeles",
  "commandShort.68": "Pegar contenido del portapapeles",
  "commandShort.69": "Subir archivo",
  "commandShort.7": "Gestionar servicio de generación de imagen",
  "commandShort.70": "Ver y gestionar planes",
  "commandShort.71": "Vigilar cambios en archivo",
  "commandShort.72": "Limpiar adjuntos pendientes",
  "commandShort.73": "Limpiar pantalla del chat",
  "commandShort.74": "Limpiar archivos FileStore",
  "commandShort.75": "Cambios paralelos en múltiples archivos",
  "commandShort.76": "Diagnosticar problemas de sesión",
  "commandShort.77": "Ejecutar prompt en intervalo recurrente",
  "commandShort.78": "Reautenticar",
  "commandShort.79": "Grafo de proyecto — ver estructura del código",
  "commandShort.8": "Gestionar agentes IA",
  "commandShort.9": "Gestionar skills (plantillas de prompt de una vez)",
  "commitsAhead": "Commits por delante: {count}",
  "commitsBehind": "Commits por detrás: {count}",
  "compacting": "Compactando",
  "compactingAgent": "Compactando ({agent})",
  "compactionFailed": "Error de compactación: {error}",
  "confidence": "Confianza",
  "confidenceBreakdown": "Desglose de confianza",
  "configureAgentTitle": "Configurar {agent}",
  "configureAvailability": "Configurar disponibilidad",
  "configureBindings": "Configurar bindings",
  "configureConversationMenu": "Configurar en conversación...",
  "confirmDelete": "¿Eliminar esta conversación? No se puede deshacer.",
  "connError": "Error de conexión: {msg}",
  "connected": "Conectado",
  "connectionsCount": "{n} conexiones",
  "connectionsHeading": "Conexiones ({n})",
  "containerKilled": "✅ Contenedor detenido: {target}",
  "containerized": "Contenerizado",
  "containers": "Contenedores",
  "containersDesc": "Listar y gestionar contenedores Docker",
  "context": "Contexto",
  "contextAdd": "Añadir mensaje",
  "contextAddSharedRequired": "Cambie a Shared o a un contexto de agente antes de añadir mensajes de contexto.",
  "contextCancel": "Cancelar",
  "contextCcSession": "Sesión CC",
  "contextCodexSession": "Sesión Codex",
  "contextCompactedStatus": "{agent}: {before} mensajes → {after} mensajes (~{tokens} tokens)",
  "contextContent": "Contenido",
  "contextDelete": "Eliminar",
  "contextDeleteConfirm": "¿Eliminar este mensaje?",
  "contextDeleteContextConfirm": "¿Eliminar todo el contexto \"{name}\"? No se puede deshacer.",
  "contextDeleteContextTitle": "Eliminar este contexto por completo",
  "contextDeleteSelected": "Eliminar selección",
  "contextDeleted": "Contexto \"{name}\" eliminado.",
  "contextDesc": "Ver la ventana de contexto LLM",
  "contextDiverged": "divergido",
  "contextEdit": "Editar",
  "contextExpandTitle": "Haz clic para expandir el mensaje completo",
  "contextExpectedArray": "se esperaba un array",
  "contextGauge": "indicador de contexto",
  "contextGaugeTitle": "Contexto {used}k/{max}k ({pct}%)",
  "contextGeminiSession": "Sesión Gemini",
  "contextInvalidJson": "JSON inválido",
  "contextInvalidate": "Invalidar",
  "contextInvalidateRuntimeConfirm": "¿Invalidar la sesión runtime \"{name}\"? Esto forzará una sesión nueva en el próximo turno.",
  "contextInvalidateRuntimeTitle": "Invalidar esta sesión runtime",
  "contextLoadOlder": "▼ Cargar anteriores ({shown} de {total})",
  "contextMessageNotFoundRefresh": "Mensaje no encontrado - actualice el contexto",
  "contextMessages": "{n} mensajes",
  "contextMode": "Modo de contexto",
  "contextModeFull": "Conversación completa",
  "contextModeIsolated": "Aislado",
  "contextModeLast10": "Últimos 10 mensajes",
  "contextModeLast20": "Últimos 20 mensajes",
  "contextModeLast50": "Últimos 50 mensajes",
  "contextModeSummary2000": "Resumen ~2000 tokens",
  "contextModeSummary4000": "Resumen ~4000 tokens",
  "contextOpBusy": "Operación de contexto en curso, por favor espere...",
  "contextOperationFailed": "Error en la operación de contexto: {error}",
  "contextReadonly": "El contexto de sesión runtime es de solo lectura",
  "contextReplaceAll": "Reemplazar todo (JSON)",
  "contextReplaceConfirm": "¿Reemplazar todo el contexto?",
  "contextRestarting": "Reiniciando",
  "contextRole": "Rol",
  "contextSave": "Guardar",
  "contextSaved": "Contexto guardado ({n} mensajes, ~{tokens} tokens)",
  "contextSelectedCount": "{n} seleccionado(s)",
  "contextShared": "Shared",
  "contextSynced": "sincronizado",
  "contextTitle": "Contexto LLM",
  "contextTokens": "~{n} tokens",
  "contextTranscript": "Transcript",
  "contextTranscriptReplaceBlocked": "El transcript no se puede reemplazar desde el editor de contexto.",
  "contextUsageMessages": "mensajes",
  "contextUsageSource": "fuente",
  "contextUsageUpdated": "actualizado",
  "continueFromLast": "Continúa desde donde lo dejaste.",
  "continuing": "Continuando investigación...",
  "convThemeLabel": "Tema de conversación",
  "conversation": "Conversación",
  "conversationCostUsd": "Coste de la conversación: ${cost}",
  "conversationAgentHooks": "Agent Hooks de conversación",
  "conversationDefaults": "Valores predeterminados de conversación",
  "conversationDeletedShort": "Eliminada {id}",
  "conversationShort": "conv",
  "conversationToolsMcpAvailability": "Disponibilidad Tools / MCP de conversación",
  "conversations": "Conversaciones",
  "copiedCharsToClipboard": "{n} caracteres copiados al portapapeles.",
  "copy": "Copiar",
  "copyFailed": "Error al copiar: {error}",
  "copyMsgId": "Copiar id del mensaje",
  "copyToConversation": "Copiar a conversación",
  "copyToFileStore": "Copiar a FileStore",
  "copyToGlobal": "Copiar a global",
  "copyToUser": "Copiar a usuario",
  "costNotConfigured": "coste: no configurado",
  "create": "Crear",
  "createNew": "Crear",
  "createNewAgent": "Crear agente",
  "createNewAgentHook": "Crear hook de agente",
  "createNewDefinitionRepository": "Crear nueva definición {type} en repositorio",
  "createNewTool": "Crear herramienta",
  "createPlan": "Crear plan",
  "credentialsPoolHeader": "Pool de credenciales ({count}):",
  "cssOrZipPackage": "Paquete CSS o ZIP",
  "cssOverride": "Override CSS",
  "current": "actual",
  "currentBranchLabel": "actual",
  "currentTaskLimits": "Actual: coste=${cost}, reprogramaciones={reschedules}",
  "currentTitle": "Actual",
  "cut": "Cortar",
  "daysAgo": "hace {n}d",
  "defaultAgentTitle": "Agente predeterminado",
  "defaultExecutionMode": "Modo de ejecución predeterminado",
  "defaultForAgent": "Predeterminado para {agent}",
  "defaultRelay": "Relay predeterminado",
  "definition": "Definición",
  "definitionRequired": "Definición *",
  "definitionTemplate": "Plantilla de definición",
  "delete": "Eliminar",
  "shareLink": "Compartir enlace",
  "makePrivate": "Hacer privado",
  "shareLinkCopied": "Enlace público copiado al portapapeles",
  "shareLinkReady": "Enlace público: {url}",
  "shareFailed": "Error al compartir: {error}",
  "madePrivate": "El archivo ahora es privado",
  "deleteBranch": "Eliminar rama",
  "deleteBranchConfirm": "¿Eliminar la rama \"{name}\"? Esta acción no se puede deshacer.",
  "deleteConv": "Eliminar conversación",
  "deleteCredentialConfirm": "¿Eliminar credencial #{index}?",
  "deleteDefinitionMenu": "Eliminar definición",
  "deleteDesc": "Eliminar esta conversación",
  "deleteFailed": "Error al eliminar: {error}",
  "deleteFailedUnknown": "Error al eliminar: desconocido",
  "deleteFileConfirm": "¿Eliminar \"{name}\"? No se puede deshacer.",
  "deleteItemsConfirm": "¿Eliminar {label}? No se puede deshacer.",
  "deleteSelected": "Eliminar selección",
  "deleteParamConfirm": "¿Eliminar {type} '{key}' ({scope})?",
  "deleteServiceConfirm": "¿Eliminar servicio '{id}'?",
  "deleteThemeConfirm": "¿Eliminar el tema {theme}?",
  "deleteVoiceClone": "Eliminar clon de voz",
  "deleteVoiceConfirm": "¿Eliminar clon de voz \"{name}\"?\n\nEsto elimina en cascada:\n  • el provider voice_id (paradigma A)\n  • el audio de referencia\n  • todos los TTS renderizados en caché",
  "clearFileStore": "Vaciar FileStore",
  "clearFileStoreConfirm": "¿Eliminar todos los archivos de FileStore de esta conversación?",
  "deploy": "Desplegar",
  "deployFlow": "Desplegar flow",
  "deployFlowFromTemplate": "Desplegar flow desde plantilla",
  "deployScope": "Ámbito de despliegue",
  "deploymentSchemaLoadFailed": "Error al cargar el esquema de despliegue: {error}",
  "description": "Descripción",
  "desktop": "Escritorio",
  "desktopDesc": "Abrir escritorio virtual (VNC) en el relay",
  "desktopLower": "escritorio",
  "desktopNoRelayUsage": "No hay relay conectado. Uso: /desktop <nombre_relay>",
  "desktopNoUrl": "El escritorio está listo pero el servidor no devolvió una URL",
  "desktopReady": "Escritorio listo.",
  "desktopStopUsage": "No hay escritorio activo que detener. Uso: /desktop stop [relay_id]",
  "desktopStopped": "Escritorio detenido.",
  "desktopTabClosed": "Pestaña de escritorio cerrada (el escritorio sigue ejecutándose). Use /desktop stop para detenerlo.",
  "desktopTabTitle": "Escritorio ({relay})",
  "diaryEntryAdded": "Entrada del diario añadida: {result}",
  "diaryEntryPlaceholder": "Entrada de diario...",
  "diaryFor": "Diario de {agent} ({n} entradas):\n{lines}",
  "diaryTitle": "Diario — {agent}",
  "disconnected": "Desconectado",
  "docker": "Docker",
  "dockerContainersHeader": "**Contenedores Docker** ({n}):\n",
  "dockerRoot": "Raíz Docker",
  "dockerSandboxed": "Docker (sandbox)",
  "done": "Hecho",
  "download": "Descargar",
  "downloadZip": "Descargar como zip",
  "downloadZipTitle": "Descargar directorio como zip",
  "dynamicToolsHeader": "Herramientas dinámicas:",
  "edgesForQuery": "{n} enlaces para \"{query}\"",
  "edit": "Editar",
  "editDefinitionMenu": "Editar definición...",
  "editLimits": "Editar límites",
  "editLimitsTitle": "Editar límites — {id}",
  "editParamTitle": "Editar {type}: {key}",
  "editServiceTitle": "Editar servicio: ",
  "editWithEllipsis": "Editar...",
  "emptyDirectory": "Directorio vacío",
  "emptyResponse": "(El agente terminó sin producir una respuesta)",
  "enabled": "Activado",
  "ended": "terminado",
  "endedTitle": "Terminado",
  "entities": "Entidades",
  "entriesCount": "{n} entradas",
  "error": "Error",
  "events": "Eventos",
  "errorMessage": "Error: {error}",
  "errorWithMessage": "Error: {error}",
  "exec.approval_title": "Aprobación de comando requerida",
  "exec.approve": "Aprobar",
  "exec.deny": "Denegar",
  "exec.working_dir": "Directorio de trabajo",
  "execute": "Ejecutar",
  "executeActionConfirm": "¿Ejecutar {action}?",
  "executionMode": "Modo de ejecución",
  "expired": "expirado",
  "expires": "Expira",
  "expiresLabel": "expira: {value}",
  "explicitSummarizer": "explícito",
  "export": "Exportar",
  "exportDesc": "Exportar conversación",
  "exportFailed": "Error al exportar: {error}",
  "exported": "Conversación exportada.",
  "exportedFile": "Exportado: {file}",
  "exporting": "Exportando...",
  "exportingWithImages": "Exportando con imágenes...",
  "failed": "Error: {error}",
  "failPolicy": "Política de error",
  "failedAddTriple": "Error al añadir triple: {error}",
  "failedInvalidate": "Error al invalidar: {error}",
  "failedLoadDiary": "Error al cargar diario: {error}",
  "failedLoadKg": "Error al cargar triples KG: {error}",
  "failedLoadKgStats": "Error al cargar stats KG: {error}",
  "failedLoadMemories": "Error al cargar memorias: {error}",
  "failedReadFile": "Error al leer /workspace/{path}: {error}",
  "failedSendAgent": "Error al enviar al agente: {error}",
  "failedToClear": "Error al borrar",
  "failedToCreateConversation": "Error al crear la conversación",
  "failedToListAgents": "Error al listar agentes",
  "failedToListRelays": "Error al listar relays: {error}",
  "failedToLoadFiles": "Error al cargar archivos",
  "failedToLoadSchedules": "Error al cargar tareas programadas",
  "failedToOpenTerminal": "Error al abrir terminal: {error}",
  "failedToSetImageService": "Error al definir el servicio de imagen",
  "failedToSetVideoService": "Error al definir el servicio de vídeo",
  "failedToUpdateTechnicalGrouping": "Error al actualizar el agrupamiento técnico: {error}",
  "failedWithError": "Error: {error}",
  "fieldMustBeValidJson": "{field} debe ser JSON válido",
  "filters": "Filtros",
  "file": "Archivo",
  "fileDate": "Fecha",
  "fileExplorer": "Explorador de archivos",
  "fileExplorerDesc": "Explorar el sistema de archivos del relay",
  "fileName": "Nombre",
  "fileRewindError": "Reversión de archivos: {error}",
  "fileSize": "Tamaño",
  "fileStoreDeleted": "FileStore: {n} archivo(s) eliminado(s){scope}",
  "fileTooLarge": "Archivo muy grande: {name} ({size}MB, máx 10MB)",
  "fileTtlLabel": "Archivos",
  "fileType": "Tipo",
  "fileUploadUnavailable": "La carga de archivos no está disponible. Arrastre archivos al chat.",
  "files": "Archivos",
  "filesDesc": "Archivos de conversación",
  "filesRewindSummary": "Archivos: {restored} restaurados, {deleted} eliminados",
  "filesStillUploading": "Todavía hay archivos subiendo, espera...",
  "filesUploadingWait": "Archivos aún subiendo, espere...",
  "filterTriples": "Filtrar triples...",
  "flowActionDone": "{action} terminado",
  "flowConfigurationUpdated": "Configuración del flow actualizada para {id}",
  "flowConfigureLocalService": "Configurar servicio local",
  "flowDeployed": "Desplegado: {id} ({scope})",
  "flowDeployConfirm": "¿Desplegar la plantilla de flow '{id}' en el ámbito {scope}?",
  "flowEditParameters": "Editar parámetros del flow",
  "flowEditParamsMenu": "Editar parámetros...",
  "flowGraphOpenFailed": "No se pudo abrir el grafo del flow: {error}",
  "flowIndependentNoDependencies": "Flow independiente - sin dependencias de ejecución.",
  "flowLoadingParameters": "Cargando parámetros...",
  "flowMoveToConversationScope": "Mover a conversación",
  "flowMoveToPackage": "Mover a paquete...",
  "flowMoveToPackageConfirm": "¿Mover la plantilla de flow '{id}' al paquete '{package}'?",
  "flowMoveToPackagePrompt": "Nombre del paquete (actual: {current})",
  "flowMoveToUserScope": "Mover a usuario",
  "flowNoParameters": "No hay parámetros de flow.",
  "flowOneShotTriggers": "Triggers one-shot a ejecutar",
  "flowSelectOneShotTrigger": "Selecciona al menos un trigger one-shot.",
  "flowPromoteToUser": "Promover a usuario",
  "flowPromotedToUser": "Flow '{id}' promovido al ámbito de usuario",
  "flowPromotedToUserScope": "Flow '{id}' promovido al scope de usuario",
  "flowRequiresConversationContext": "Este flow requiere contexto de conversación.",
  "flowRequiresUserContext": "Este flow requiere contexto de usuario.",
  "flowStart": "Iniciar",
  "flowStartMenu": "Iniciar...",
  "flowStarted": "Flow '{id}' iniciado",
  "flowStatusHeader": "Flow {name} [{status}]:",
  "flowStop": "Detener",
  "flowStopped": "Flow '{id}' detenido",
  "flowTemplatesHeader": "Plantillas de flow:",
  "flowTemplateDeleted": "Plantilla de flow '{id}' eliminada.",
  "flowTemplateDeleteConfirm": "¿Eliminar la plantilla de flow '{id}'?",
  "flowTemplateMovedToPackage": "Plantilla de flow '{id}' movida al paquete '{package}'.",
  "flowTemplateMovedToScope": "Plantilla de flow '{id}' movida al ámbito {scope}.",
  "flowTemplateMoveScopeConfirm": "¿Mover la plantilla de flow '{id}' al ámbito {scope}?",
  "flowUndeploy": "Retirar despliegue",
  "flowUndeployConfirm": "¿Retirar el flow '{id}'?",
  "flowUndeployed": "Flow '{id}' retirado",
  "flowViewGraph": "Ver grafo",
  "flows": "Flows",
  "flowsHeader": "Flows:",
  "flowsRepository": "Repositorio de flows",
  "folderActive": "Carpeta local: {name}",
  "folderOpen": "Abrir carpeta local",
  "folderUnsupported": "Su navegador no soporta la File System Access API (use Chrome o Edge)",
  "forceStopping": "Forzando parada de {agent}...",
  "forkFailed": "Error al hacer fork: {error}",
  "forkedConversation": "Fork → {id}",
  "formatLabel": "formato: {format}",
  "fullscreenTitle": "Pantalla completa (Escape para salir)",
  "global": "Global",
  "globalLower": "global",
  "globalOnly": "Solo global",
  "globalThemeTitle": "Tema global del chat",
  "groupTechnicalDisabledTitle": "Agrupar detalles técnicos. Haz clic para agrupar herramientas y razonamiento en bloques plegables, y recargar la conversación.",
  "groupTechnicalEnabledTitle": "Los detalles técnicos están agrupados. Haz clic para desactivar el agrupamiento y recargar la conversación.",
  "viewMenuTitle": "Opciones de visualización",
  "viewGroupTechnical": "Agrupar detalles técnicos",
  "viewGroupTasks": "Agrupar mensajes de task",
  "viewGroupDelegates": "Agrupar mensajes de delegate",
  "helpCallHint": "Escriba /help call <toolname> para ver detalles de parámetros.",
  "helpCommandHint": "Escriba /help <command> para ver la documentación detallada.",
  "hoursAgo": "hace {n}h",
  "httpErrorWithStatus": "Error {status}: {error}",
  "imagePastedFromClipboard": "Imagen pegada desde el portapapeles.",
  "imageServicePreferenceClearedFor": "Preferencia de servicio de imagen borrada para {agent}.",
  "imageServiceSetFor": "Servicio de imagen \"{service}\" definido para {target}.",
  "imageServicesAvailable": "Servicios de imagen disponibles:",
  "import": "Importar",
  "importConversation": "Importar conversación",
  "importFailed": "Error al importar: {error}",
  "importSuccess": "Conversación importada correctamente",
  "imported": "Importada",
  "importedAgentsCount": "Agentes importados ({n})",
  "importedConversationTitle": "Conversación importada",
  "importing": "Importando...",
  "inProgress": "En curso",
  "install": "Instalar",
  "installFailed": "Error al instalar: {error}",
  "installService": "Instalar servicio",
  "installToolInstructions": "Para instalar una herramienta, arrastra un archivo .py al chat o pega el código con:\n/install filename.py\n```python\n# tu código aquí\n```",
  "installing": "Instalando...",
  "installingToolFrom": "Instalando herramienta desde {file}...",
  "instanceAlreadyExists": "La instancia \"{name}\" ya existe.",
  "instanceName": "Nombre de instancia",
  "instanceNameRequired": "Nombre de instancia *",
  "instanceNameRequiredMessage": "Se requiere el nombre de instancia.",
  "instanceParameters": "Parámetros de instancia",
  "interruptEscape": "Interrumpiendo {agent}... (pulse Escape otra vez para forzar parada)",
  "interruptingAgent": "Interrumpiendo {agent}...",
  "interruptingAgentImmediateResponse": "Interrumpiendo a {agent} — solicitando respuesta inmediata...",
  "interruptingAllAgents": "Interrumpiendo todos los agentes...",
  "interruptingTask": "Interrumpiendo tarea {task} ({agent})...",
  "intervalOptionalOverride": "Intervalo (override opcional)",
  "invalidJsonInParameters": "JSON inválido en parámetros: {error}",
  "invalidJsonMessage": "JSON inválido: {error}",
  "invalidScheduleDateFormat": "Formato de fecha inválido. Use YYYYMMDDHHmmss",
  "invalidate": "Invalidar",
  "invalidateTripleConfirm": "¿Invalidar este triple? Se marcará como terminado.",
  "itemsCount": "{n} elemento(s)",
  "itemsLabel": "{n} elementos",
  "itemsSelected": "{n} seleccionado(s)",
  "iterProgress": "↻ [{agent}] iter {i} · ronda {r}/{mr} · {t} herram.",
  "iterStatus": "[{agent}] iter {i} · ronda {r}/{mr} · {t} herram.",
  "justNow": "ahora mismo",
  "key": "Clave",
  "keyRequired": "La clave es obligatoria",
  "kgRequired": "Sujeto, predicado y objeto son obligatorios.",
  "kgStats": "{entities} entidades, {triples} triples, {current} actuales",
  "kgStatsTitle": "**Stats Knowledge Graph**",
  "kgTripleAdded": "Triple KG añadido: {subject} → {predicate} → {object}",
  "kill": "Detener",
  "killBackgroundTask": "Matar tarea en segundo plano",
  "killed": "Matada",
  "killingContainers": "✅ Deteniendo {n} contenedor(es)...",
  "knowledgeGraph": "Knowledge Graph",
  "languageEn": "Inglés",
  "languageEs": "Español",
  "languageFr": "Francés",
  "languageTitle": "Idioma",
  "learnFailed": "Learn falló: {error}",
  "liveSpeechStartTitle": "Leer mensajes del agente en directo",
  "liveSpeechStopTitle": "Detener lectura en directo",
  "speechInputStartTitle": "Dictar y enviar",
  "speechInputStopTitle": "Detener grabación",
  "speechInputChooseService": "Elegir servicio de dictado",
  "limitsOptional": "Límites (opcional)",
  "link": "Vincular",
  "linkFilesystem": "Vincular filesystem",
  "linkRelay": "Vincular relay",
  "linkSummarizer": "Vincular summarizer",
  "linkedAccounts": "Cuentas vinculadas",
  "linkedAccountsHeader": "Cuentas vinculadas:",
  "linkedRelaysDefaultHint": "Vinculados ★ = predeterminado",
  "linkingRelay": "Vinculando relay {relay}...",
  "liveSpeechChooseService": "Elegir servicio de voz",
  "llmServiceRequired": "Servicio LLM *",
  "llmServiceRequiredMessage": "Se requiere el servicio LLM.",
  "loadError": "Error al cargar la conversación",
  "loading": "Cargando...",
  "loadingCredentials": "Cargando credenciales...",
  "loadingDeploymentSchema": "Cargando esquema de despliegue...",
  "loadingNode": "Cargando nodo...",
  "loadingParameters": "Cargando parámetros...",
  "loadingReport": "Cargando informe...",
  "loadingTemplates": "Cargando plantillas...",
  "local": "local",
  "localHostMachine": "Local (máquina host)",
  "localRoot": "Raíz local",
  "localScreen": "pantalla local",
  "localScreenReady": "Pantalla local lista.",
  "location": "Ubicación",
  "logTitle": "📋 Registro {id}:\n{lines}",
  "loginAlreadyInProgress": "Inicio de sesión ya en curso...",
  "loginCount": "{n} login(s)",
  "loginError": "Error de login: {error}",
  "loginSuccessful": "¡{title} correcto!",
  "loginTitle": "Login",
  "loginViaRelay": "Iniciar sesión vía relay",
  "loginViaServer": "Login vía servidor",
  "logout": "Cerrar sesión",
  "loopNotFound": "Bucle no encontrado: {key}",
  "loopStartFailed": "Error al iniciar bucle",
  "loopStarted": "Bucle iniciado: cada {interval}s — {prompt}\nClave: {key}",
  "loopStopped": "Bucle detenido: {key}",
  "manageSkillsMenu": "Gestionar skills...",
  "manualSchedule": "programación manual",
  "markDone": "Marcar como hecho",
  "matchesFound": "{n} coincidencia(s) encontrada(s):",
  "maxBudget": "Presupuesto máx.",
  "maxIterations": "Iteraciones máx.",
  "maxIterationsAgentLoop": "Iteraciones máx. (bucle agente)",
  "maxReschedules": "Reprogramaciones máx.",
  "maxTotalTime": "Tiempo total máx.",
  "maxTurnTime": "Tiempo máx. por turno",
  "mcpRepository": "Repositorio MCP",
  "mcpServers": "Servidores MCP",
  "mcpServersHeader": "**Servidores MCP:**",
  "memories": "Memorias",
  "memoriesDesc": "Ver memorias del agente",
  "memoriesFor": "Memorias de {agent}",
  "memoryAdded": "Memoria añadida (id: {id}, agente: {agent})",
  "memoryDeleteConfirm": "¿Eliminar esta memoria?",
  "memoryDeleted": "Memoria {id} eliminada.",
  "memoryIdNotFound": "Memoria {id} no encontrada.",
  "memoryNotFound": "Memoria no encontrada.",
  "memoryTextPlaceholder": "Texto de memoria...",
  "memoryUpdated": "Memoria actualizada.",
  "messageDeleted": "Mensaje {index} eliminado",
  "messageSentTask": "Mensaje enviado a tarea {task}",
  "messagesInBranch": "Mensajes en {branch}: {count}",
  "messagesLoaded": "{n} mensaje(s) cargado(s).",
  "minutesAgo": "hace {n}m",
  "missingCredentialsJson": "Falta JSON de credenciales. Pegue el contenido de .credentials.json",
  "missingItem": "{value} (faltante)",
  "modelOverride": "Override de modelo",
  "modelUpdated": "Modelo actualizado",
  "mountedInRelays": "montado en relays",
  "modified": "Modificado",
  "moreCount": "{n} más",
  "mostConnectedNodes": "Nodos más conectados",
  "msgTargetUsage": "Uso: /msg {target} <mensaje>",
  "msgUsage": "Uso: /msg [@agent|@t_taskid] <mensaje> (por defecto agente seleccionado)",
  "multipleRelaysAvailable": "Hay varios relays disponibles. Especifique uno:\n{relays}",
  "mute": "Silenciar",
  "muteAudioTitle": "Silenciar audio",
  "name": "Nombre",
  "nameRequired": "El nombre es obligatorio",
  "needTwoBranchesToCompare": "Se necesitan al menos 2 ramas para comparar.",
  "neighbors": "Vecinos",
  "newChat": "+ Nuevo",
  "newConv": "Nueva conversación iniciada.",
  "newConversation": "Nueva conversación",
  "newFile": "Nuevo archivo",
  "newFilePrompt": "Nombre del nuevo archivo:",
  "newFolder": "Nueva carpeta",
  "newFolderPrompt": "Nombre de la nueva carpeta:",
  "newParamTitle": "Nuevo {type}",
  "newResourceTitle": "Nuevo {type}",
  "no": "No",
  "noAccountLinkFound": "No se encontró vínculo {provider}.",
  "noActiveDockerContainers": "No hay contenedores Docker activos.",
  "noActiveLoops": "No hay bucles activos",
  "noActivePlans": "No hay planes activos.",
  "noActivePortForwards": "No hay port forwards activos.",
  "noActiveTerminal": "No hay terminal activa para cerrar.",
  "noAgentOption": "Ningún agente",
  "noAgentSelected": "Ningún agente seleccionado.",
  "noAgentSelectedSelectFirst": "Ningún agente seleccionado. Seleccione primero un agente.",
  "noAgents": "No hay agentes en esta conversación.",
  "noAgentsAvailable": "No hay agentes disponibles.",
  "noAgentsDefinedUsage": "No hay agentes definidos. Use /agent create para agregar uno.",
  "noAudioTabOpen": "No hay pestaña de audio abierta.",
  "noBranchesToDelete": "No hay ramas para eliminar (solo existe la rama actual).",
  "noChanges": "Sin cambios.",
  "noCommitsFound": "No se encontraron commits.",
  "noConfigurableParametersForServiceType": "No hay parámetros configurables para este tipo de servicio.",
  "noConnectedRelay": "No hay relay conectado.",
  "noConnectionsFound": "No se encontraron conexiones.",
  "noConnectionsFoundFor": "No se encontraron conexiones para: {query}",
  "noContainersToKill": "No hay contenedores que detener.",
  "noContext": "Sin contexto disponible.",
  "noConv": "No hay conversación activa.",
  "noConversationsHint": "Aún no hay conversaciones. Haz clic en + Nuevo para empezar.",
  "noCredentialsInPool": "No hay credenciales en el pool.",
  "noCredentialsSaved": "No hay credenciales guardadas.",
  "noDeployedFlows": "No hay flows desplegados.",
  "noDiaryEntries": "No hay entradas de diario.",
  "noDiaryEntriesFor": "No hay entradas de diario para {agent}.",
  "noDynamicToolsInstalled": "No hay herramientas dinámicas instaladas. Usa /install para añadir una.",
  "noFilesInConversation": "No hay archivos en esta conversación.",
  "noFilesystemServices": "No hay servicios filesystem disponibles",
  "noFlowTemplates": "No hay plantillas de flow.",
  "noForwardFor": "No hay forward para {relay}:{port} — añádalo primero.",
  "noImageServicesDeployed": "No hay servicios de generación de imagen desplegados.",
  "noInsightsExtracted": "No se extrajeron insights.",
  "noLinkedAccounts": "No hay cuentas vinculadas",
  "noLogEntriesFor": "No hay entradas de registro para {id}",
  "noMatches": "Sin resultados",
  "noMatchesFound": "No se encontraron coincidencias.",
  "noMcpServers": "No hay servidores MCP definidos",
  "noMemoriesFound": "No se encontraron memorias.",
  "noMemoriesFoundTryDifferent": "No se encontraron memorias. Prueba otra consulta.",
  "noMemoriesStored": "No hay memorias guardadas.",
  "noOtherBranches": "No hay otras ramas.",
  "noPrompts": "No hay prompts",
  "noReasonGiven": "sin motivo indicado",
  "noReasonParen": "(sin motivo)",
  "noRelayConnected": "No hay relay conectado.",
  "noRelayUseCredentials": "No hay relay conectado. Use \"Set credentials\" en su lugar.",
  "noRelaysAvailable": "No hay relays disponibles.",
  "noRelaysAvailableConnectFirst": "No hay relays disponibles. Conecte primero un relay (PawCode o extensión VS Code).",
  "noRelaysLinked": "No hay relays vinculados",
  "noRemoteFilesystemsAvailable": "No hay servicios filesystem disponibles para vincular",
  "noRemoteFilesystemsLinked": "No hay filesystems vinculados",
  "noReportAvailable": "No hay informe disponible.",
  "noResourcesDefinedUsage": "No hay recursos definidos. Use /agent create, /add-skill, etc.",
  "noResourcesHint": "No hay recursos. Use [+] o /agent create, /task create",
  "noResponsesToCopy": "No hay respuestas para copiar.",
  "noScheduleToCancel": "No hay programación para cancelar.",
  "noScheduledRechecks": "No hay revisiones programadas para esta conversación.",
  "noScheduledTasks": "No hay tareas programadas.",
  "noServiceTypesAvailable": "No hay tipos de servicio disponibles.",
  "noServicesInstalled": "No hay servicios instalados",
  "noServicesInstalledUsage": "No hay servicios instalados. Use /service install <type> <name> [key=val,...] para agregar uno.",
  "noSkills": "No hay skills.",
  "noSkillsAvailableCreateHint": "No hay skills disponibles. Cree skills con /skill o manage_resource.",
  "noSkillsCreateFirst": "No hay skills definidos. Cree uno primero con /add-skill.",
  "noSkillsDefined": "No hay skills definidos",
  "noSkillsUsage": "No hay skills definidos. Use /add-skill <nombre> <prompt>",
  "noSummarizerEffective": "No hay summarizer vinculado",
  "noSummarizerServices": "No hay servicios summarizer disponibles",
  "noTaskDefinitions": "No hay definiciones de tarea",
  "noTaskDefinitionsOrRunning": "No hay definiciones de tarea ni tareas en ejecución.",
  "noTaskInstancesForDefinition": "No hay instancias de tarea para la definición \"{name}\"",
  "noTasksRunning": "No hay tareas en ejecución",
  "noThemes": "No hay temas",
  "noTokenUsageRecorded": "Todavía no hay uso de tokens registrado.",
  "noToolNameFound": "No se encontró el nombre de la herramienta",
  "noTriplesFound": "No se encontraron triples.",
  "noUsageDataFound": "No se encontraron datos de uso.",
  "noVideoServicesDeployed": "No hay servicios de generación de vídeo desplegados.",
  "noVoices": "No hay clones de voz. Usa clone_voice para registrar uno.",
  "none": "Ninguno",
  "noneSelected": "ninguno seleccionado",
  "notSet": "Sin definir",
  "object": "Objeto",
  "ok": "OK",
  "onlyResponsesAvailable": "Solo hay {n} respuestas disponibles.",
  "open": "Abrir",
  "openingCCInteractiveTerminal": "Abriendo tmux de Claude Code interactive para {agent}...",
  "openingTerminalOn": "Abriendo terminal en {relay}{mode}...",
  "optionalDescription": "Descripción opcional",
  "overdue": "atrasado",
  "overrideConversationDefaultsFor": "Override de valores de conversación para @{agent}",
  "pageTitle": "PawFlow Agent Chat",
  "parameters": "Parámetros",
  "parametersMustBeValidJson": "Los parámetros deben ser JSON válido",
  "parseErrorHelpCall": "Error de análisis: {error}\nEscribe /help call <toolname> para ver los parámetros.",
  "pasteCredentialsJson": "Pega aquí el contenido de .credentials.json...",
  "pasteFailed": "Error al pegar: {error}",
  "pasteHere": "Pegar aquí ({n})",
  "pause": "Pausar",
  "pendingAttachmentsCleared": "Adjuntos pendientes limpiados.",
  "permissionApproveEdits": "Aprobar ediciones",
  "permissionAuto": "Auto",
  "permissionDefault": "Predeterminado",
  "permissionModeTitle": "Modo de permisos de herramientas",
  "permissionReadOnly": "Solo lectura",
  "placeholder": "Escribe un mensaje... (Enter para enviar, Shift+Enter para nueva línea)",
  "placeholderDisabled": "Crea primero una conversación (haz clic en + Nuevo)",
  "plan": "plan",
  "planApproved": "Plan aprobado",
  "planAssignedTo": "Plan asignado a {agent}{steps}",
  "planCancelled": "Plan cancelado",
  "planCreated": "Plan creado: {title}",
  "planDeleted": "Plan eliminado",
  "planStepsDone": "{done}/{total} hechas",
  "planTitle": "Plan",
  "planTitleAndStepRequired": "Se requiere un título y al menos un paso.",
  "planTitlePlaceholder": "Título del plan",
  "plans": "Planes",
  "plansDesc": "Ver planes activos",
  "plansHeader": "**Planes:**",
  "platform": "Plataforma",
  "portForwardAdded": "Port forward añadido: {relay}:{port} → {url}",
  "portForwardOpenUsage": "Uso: /port-forward open <relay_id> <port>",
  "portForwardRemoveUsage": "Uso: /port-forward remove <relay_id> <ext_port>",
  "portForwardRemoved": "Port forward eliminado.",
  "portForwardUsage": "Uso: /port-forward <add|remove|list|open> [relay_id] [port] [ext_port]",
  "portPrompt": "Puerto a reenviar desde {relay}:",
  "predicate": "Predicado",
  "preview": "Vista previa",
  "previewReferenceAudio": "Previsualizar audio de referencia",
  "priority": "Prioridad",
  "primaryAgent": "Agente principal",
  "processExited": "Proceso terminado",
  "projectGraph": "Grafo del proyecto",
  "projectGraphBuildFailed": "Error al construir: {error}",
  "projectGraphDesc": "Construir / explorar el grafo del código",
  "projectGraphEmptyBuildHint": "Aún no hay grafo de proyecto. Pulse Build para indexar el código.",
  "projectGraphErrorStatus": "Error — {error}",
  "projectGraphMissingUseBuild": "Aún no hay grafo de proyecto. Use /graph build primero.",
  "projectGraphNodeLoadFailed": "Error al cargar nodo: {error}",
  "projectGraphQueryFailed": "Error en la consulta: {error}",
  "projectGraphQueryHeader": "Consulta de grafo \"{question}\" ({n} enlaces):",
  "projectGraphReportFailed": "Error del informe: {error}",
  "projectGraphReportLoadFailed": "Error al cargar informe: {error}",
  "projectGraphSkipped": "Omitido — {reason}",
  "promptLibraryTitle": "Biblioteca de prompts",
  "promptPaste": "Pegar",
  "promptsListFailed": "Error al listar prompts: {error}",
  "promptsRepository": "Repositorio de prompts",
  "promote": "Promover",
  "providerCredentials": "Credenciales de {provider}",
  "providerVoiceFreed": "provider voice_id liberado",
  "ready": "Listo",
  "rebuildFailed": "Error al reconstruir: {error}",
  "rebuilding": "Reconstruyendo contexto desde la conversación completa...",
  "rebuildingAgent": "Reconstruyendo ({agent})",
  "rebuildingClean": "Contexto = conversación completa (sin compactación)...",
  "rebuildingShort": "Reconstruyendo",
  "rebuilt": "Contexto reconstruido: {action} ({before} → {after} mensajes, ~{tokens} tokens)",
  "rebuiltClean": "Contexto con conversación completa: {messages} mensajes, ~{tokens} tokens.",
  "recheck": "revisión",
  "reconnecting": "Reconectando...",
  "refAudioPurged": "audio de referencia purgado",
  "refresh": "Actualizar",
  "refreshDesc": "Recargar conversación",
  "refreshFromDisk": "Recargar desde disco",
  "refreshing": "Actualizando...",
  "rejectStep": "Rechazar paso",
  "rejectionReasonPrompt": "Motivo del rechazo:",
  "relayBrowserAuthorizeHint": "Debería abrirse una ventana del navegador en la máquina del relay. Autoriza allí.",
  "relayId": "ID del relay",
  "relaySupportsBothModes": "El relay {relay} soporta ambos modos.",
  "relayTitle": "Relay: {id}",
  "relays": "Relays",
  "reloadFromDisk": "Recargar desde disco",
  "remoteFilesystems": "Filesystem",
  "remove": "Quitar",
  "removeFromConversation": "Quitar de la conversación",
  "removeLastAgentConfirm": "¿Quitar el último agente de esta conversación?",
  "removeVerifier": "Quitar verificador",
  "removedList": "Quitados: {items}",
  "rename": "Renombrar",
  "renameFailed": "Error al renombrar: {error}",
  "renameVoiceClone": "Renombrar clon de voz",
  "renameVoicePrompt": "Renombrar clon de voz \"{name}\" a:",
  "renamedTo": "Renombrado a: {title}",
  "readMessage": "Leer este mensaje",
  "reply": "Responder",
  "reset": "Restablecer",
  "resetToPending": "Restablecer a pendiente",
  "resourceActivated": "{type} \"{name}\" activado en esta conversación.",
  "resourceCopiedToScope": "{type} '{name}' copiado a {scope}.",
  "resourceCreated": "{type} '{name}' creado.",
  "resourceDeleteConfirm": "¿Eliminar {type} '{name}' de {scope}?",
  "resourceDeleted": "{type} '{name}' eliminado.",
  "resourceDeactivated": "{type} \"{name}\" desactivado.",
  "resourceUpdated": "{type} '{name}' actualizado.",
  "resources": "Recursos",
  "restart": "Reiniciar",
  "restartAudioTitle": "Reiniciar transmisión de audio",
  "restartCliTitle": "Reiniciar {cli} (matar sesión caliente)",
  "restartFromHere": "Reiniciar desde aquí",
  "restartFromHereConfirm": "¿Reiniciar la conversación desde este mensaje? Se eliminarán los mensajes posteriores y todos los contextos de agentes.",
  "restartEmpty": "Contexto vaciado — inicio limpio (solo system prompt).",
  "restartFrom": "Contexto reiniciado — {n} últimos mensajes conservados.",
  "resultsCount": "{n} resultados",
  "resume": "Reanudar",
  "resumeUsage": "Uso: /resume @<agent|ALL>",
  "resumed": "Conversación resumida ({n} mensajes → {len} caracteres). El próximo mensaje parte del resumen.",
  "resuming": "Resumiendo conversación a ~{n} tokens...",
  "rewindFilesRiskWarning": "Riesgoso: intentará restaurar archivos modificados por agentes en el relay. Puede fallar si los archivos se cambiaron externamente.",
  "risk.high": "Alto",
  "risk.low": "Bajo",
  "risk.medium": "Medio",
  "rollback": "Rollback",
  "rollbackConversation": "Rollback de conversación",
  "rolledBackTo": "Rollback a {hash} realizado",
  "rollingBackTo": "Haciendo rollback a {hash}...",
  "runInBackground": "Ejecutar en segundo plano",
  "runningInBackground": "Ejecutándose en segundo plano",
  "saveCredentials": "Guardar credenciales",
  "saved": "Guardado.",
  "saving": "Guardando...",
  "scheduleAdded": "Programación añadida: {date}",
  "scheduleCancelled": "Programación cancelada.",
  "scheduledRechecksHeader": "Revisiones programadas:",
  "scheduledTasks": "Tareas programadas",
  "scheduledTasksDesc": "Ver comprobaciones programadas",
  "scope": "Scope",
  "scrollBottomTitle": "Ir al final",
  "scrollTopTitle": "Ir arriba",
  "searchNodesEdges": "Buscar nodos/aristas...",
  "searchPlaceholder": "Buscar...",
  "searchResults": "Resultados de búsqueda",
  "searching": "Buscando...",
  "secret": "secreto",
  "secretAddUsage": "Uso: /add-secret &lt;nombre&gt; &lt;valor&gt;",
  "secretAdded": "Secreto \"{name}\" almacenado de forma segura. Use ${{ref}} en flujos, o get_secret(\"{short}\") en scripts.",
  "secretListEmpty": "No hay secretos almacenados.",
  "secretListTitle": "Sus secretos:",
  "secrets": "Secretos",
  "select": "Seleccionar",
  "selectAgent": "Seleccionar agente",
  "selectAgentConfigure": "Seleccione un agente para configurar",
  "selectAgentDetails": "Seleccione un agente para ver detalles",
  "selectAgentOverride": "Seleccione un agente para configurar overrides.",
  "selectDefinitionAddAgents": "Seleccione una definición para agregar agentes",
  "selectDefinitionFirst": "Seleccione primero una definición.",
  "selectDefinitionOption": "Seleccionar definición...",
  "selectVerifierAgent": "Seleccionar agente verificador",
  "selectedFor": "seleccionado para: {agents}",
  "send": "Enviar",
  "sending": "Enviando...",
  "serverOwner": "servidor",
  "serviceCategory.3d": "3D",
  "serviceCategory.ai": "IA y LLM",
  "serviceCategory.audio": "Audio",
  "serviceCategory.auth": "Autenticación",
  "serviceCategory.automation": "Automatización",
  "serviceCategory.cache": "Caché",
  "serviceCategory.data": "Datos",
  "serviceCategory.filesystem": "Sistemas de archivos",
  "serviceCategory.image": "Imagen",
  "serviceCategory.messaging": "Mensajería",
  "serviceCategory.network": "Red",
  "serviceCategory.other": "Otros",
  "serviceCategory.security": "Seguridad",
  "serviceCategory.system": "Sistema",
  "serviceCategory.try-on": "Prueba virtual",
  "serviceCategory.upscale": "Escalado",
  "serviceCategory.video": "Vídeo",
  "serviceCategory.voice": "Voz",
  "serviceDeleted": "Servicio '{id}' eliminado.",
  "serviceDisabled": "Servicio '{id}' desactivado.",
  "serviceEnabled": "Servicio '{id}' activado.",
  "serviceInstalled": "Servicio '{id}' instalado ({type}).",
  "serviceInstalledSuccessfully": "Servicio '{service}' instalado correctamente.",
  "serviceNameRequired": "El nombre del servicio es obligatorio",
  "serviceUninstalled": "Servicio '{id}' desinstalado.",
  "serviceUpdated": "Servicio '{service}' actualizado.",
  "services": "Servicios",
  "sessionExpired": "Sesión expirada. Inicia sesión de nuevo.",
  "setDefaultRelay": "Establecer como relay predeterminado",
  "setPrimaryAgent": "Establecer como agente principal",
  "setVerifier": "Definir verificador...",
  "setVerifierTitle": "Definir verificador ({target})",
  "setnameUsage": "Uso: /setname @<agent> [apodo]  (omite apodo para resetear)",
  "settingDefaultRelay": "Estableciendo relay predeterminado en {relay}...",
  "showHide": "Mostrar/ocultar",
  "skillAddTitle": "Añadir skill",
  "skillAssignTitle": "Asignar skill “{skill}” a agente",
  "skillImportBranch": "rama",
  "skillCreateMode": "Crear",
  "skillImportButton": "Importar skill",
  "skillImportFoundPaths": "{n} ruta(s) de skill importable(s) encontrada(s)",
  "skillImportImported": "Skill '{name}' importada.",
  "skillImportMode": "Importar",
  "skillImportNoPaths": "No se encontró ningún archivo SKILL.md bajo esta ruta.",
  "skillImportPathPlaceholder": "Subruta (opcional)",
  "skillImportRepoPlaceholder": "owner/repo o https://github.com/owner/repo",
  "skillImportRepoRequired": "El repositorio es obligatorio.",
  "skillImportResolve": "Resolver",
  "skillImportResolveFirst": "Resolver un repositorio para listar carpetas de skill importables.",
  "skillImportReview": "Revisar",
  "skillImportSelectedPathRequired": "Selecciona primero una ruta de skill.",
  "skillImportSelectedRef": "seleccionado",
  "skillImportSourceHelp": "Importar una carpeta Agent Skill de GitHub que contenga SKILL.md. Equivalente slash command: /skill import <ref>.",
  "skillImportTag": "tag",
  "skillLoadFailed": "Error al cargar skill: {error}",
  "skillNameInvalid": "El nombre de skill debe usar letras minúsculas, dígitos y guiones simples, tener como máximo 64 caracteres, y no contener \"anthropic\" ni \"claude\".",
  "skillReviewFinalWord": "Tienes la última palabra. Revisa los hallazgos anteriores y decide.",
  "skillReviewProceedAnyway": "Continuar de todos modos",
  "skillReviewRequiresConfirmation": "La revisión de skill requiere confirmación.",
  "skillReviewRisk": "Riesgo: {risk}",
  "skillReviewTitle": "Revisión de skill",
  "skills": "Skills",
  "skillsAssignedTo": "Skills asignadas a **{agent}**:",
  "skillsHeader": "Skills:",
  "skillsRepository": "Repositorio de skills",
  "skip": "Omitir",
  "startLogin": "Iniciar login",
  "starting": "Iniciando...",
  "startingAudio": "Iniciando audio en {relay}...",
  "startingClaudeLogin": "Iniciando login Claude Code para {service}... (contenedor iniciando, espere)",
  "startingCodeServer": "Iniciando code-server en {relay}{mode}...",
  "startingContainer": "Iniciando contenedor...",
  "startingDesktop": "Iniciando {target} en {relay}...",
  "startingRelayLogin": "Iniciando login de {label} vía relay — autorice en el navegador...",
  "status": "Estado",
  "stepApproved": "Paso {n} aprobado",
  "stepLabel": "paso {n}",
  "stepLabelTitle": "Paso {n}",
  "stepRangeOptional": "Rango de pasos (opcional)",
  "stepRangePlaceholder": "p. ej. 1-3, remaining, o vacío para todo",
  "stepRejected": "Paso {n} rechazado",
  "stepsOnePerLine": "Pasos (uno por línea)",
  "stepsPlaceholder": "Descripción paso 1\nDescripción paso 2\nDescripción paso 3",
  "stepsSuffix": " (pasos {steps})",
  "stop": "Detener",
  "stopTitle": "Interrumpir (forzar respuesta)",
  "stoppingDesktop": "Deteniendo escritorio en {relay}...",
  "stoppingTask": "Deteniendo tarea {task} ({agent})...",
  "storedAs": "Guardado como: {filename}\nURL: {url}",
  "streaming": "Recibiendo...",
  "streamingFromRelay": "Transmitiendo desde relay",
  "subAgentDone": "[{agent}] terminado ({dur}s, {tok} tokens)",
  "subAgentStarted": "Sub-agente [{agent}] iniciado",
  "subject": "Sujeto",
  "summarizer": "Summarizer",
  "summarizing": "Resumiendo",
  "summarizingAgent": "Resumiendo ({agent})",
  "switchBranch": "Cambiar rama",
  "switchedToBranch": "Cambiado a la rama: {name}",
  "switchingToForkedConversation": "Cambiando a la conversación fork...",
  "tagNamePrompt": "Nombre de la etiqueta:",
  "taggedConversation": "Etiqueta añadida: {name}",
  "tags": "Etiquetas",
  "taskActionDone": "Tarea {id} {action}.",
  "taskActionFor": "Tarea {action} para {target}.",
  "taskApprovedBy": "Tarea para {agent} aprobada por {verifier}{reason}",
  "taskAssigned": "Tarea asignada.",
  "taskAssignedTo": "Tarea asignada a {agent}{verifier}: {task}",
  "taskBudgetLimit": "presupuesto: ${budget} (usado: ${used})",
  "taskCompleteFor": "Tarea completada ({agent}): {result}",
  "taskCount": "{count} tareas",
  "taskDefLabel": "def.: {name}",
  "taskDefinitionCreated": "Definición de tarea '{name}' creada.",
  "taskDefinitionDeleted": "Definición de tarea '{name}' eliminada.",
  "taskDetails": "Tarea: {id}\nAgente: {agent}\nEstado: {status}\nIteraciones: {iterations}/{max}\nDefinición: {definition}\nPrompt: {prompt}",
  "taskInstanceDeleted": "Instancia de tarea '{name}' eliminada.",
  "taskInstancesTitle": "📜 Instancias de \"{name}\":\n{lines}",
  "taskIterLabel": "iter {iter}",
  "taskLastLabel": "Último: {result}",
  "taskLibraryHeader": "Biblioteca:",
  "taskLimitsLabel": "Límites: {limits}",
  "taskLimitsUpdated": "Límites de tarea actualizados: {changes}",
  "taskLogTitle": "📋 Registro de tarea {id}:\n{lines}",
  "taskNotFound": "Tarea no encontrada: {id}",
  "taskRejectedBy": "Tarea para {agent} rechazada por {verifier}{reason}",
  "taskRescheduleLimit": "reprogramaciones: {count}/{max}",
  "taskRunningHeader": "En ejecución:",
  "taskTotalLimit": "total: {seconds}s",
  "taskTurnLimit": "turno: {seconds}s",
  "taskUpdatedFields": "Tarea actualizada: {fields}",
  "taskVerifierLabel": "verificador: {verifier}",
  "taskVerifierSuffix": " (verificador: {verifier})",
  "tasks": "Tareas",
  "tasksRepository": "Repositorio de tareas",
  "technicalDetailsEventPlural": "eventos",
  "technicalDetailsEventSingular": "evento",
  "technicalDetailsSummary": "Detalles técnicos · {count} {eventLabel}",
  "template": "Plantilla",
  "templatesLoadFailed": "Error al cargar plantillas: {error}",
  "terminal": "Terminal",
  "terminalClosed": "Terminal cerrada.",
  "terminalDesc": "Abrir terminal interactiva en el relay",
  "terminalMissingToken": "Aviso: la terminal se abrió pero el servidor no devolvió token de capacidad",
  "terminalNoRelayUsage": "No hay relay conectado. Uso: /terminal <nombre_relay>",
  "terminalTabTitle": "Terminal {n}",
  "textPastedFromClipboard": "Texto pegado desde el portapapeles.",
  "themeApplyFailed": "Error al aplicar el tema: {error}",
  "themeCreated": "Tema creado.",
  "themeDeleted": "Tema eliminado.",
  "themeLoadFailed": "Error al cargar el tema: {error}",
  "themesRepository": "Repositorio de temas",
  "thinking": "Pensando",
  "thinkingRound": "Pensando (ronda {round})",
  "thinkingWait": "Pensando ({sec}s)",
  "thought": "Pensamiento",
  "thoughtDisabled": "Auto-conversación desactivada para {agent}.",
  "thoughtEnabled": "Auto-conversación activada para {agent}: {freq} (próximo en ~{delay}s)",
  "thoughtFiring": "[{agent}] pensando...",
  "thoughtFor": "Razonó durante {sec}s",
  "thoughtNoConv": "No hay conversación activa.",
  "thoughtScheduled": "[{agent}] próximo mensaje auto en ~{delay}s",
  "thoughtStatus": "Auto-conversación para {agent}: activada — {freq}, próximo en ~{delay}s",
  "thoughtStatusOff": "Auto-conversación para {agent}: desactivada",
  "thoughtTriggered": "Auto-conversación activada para {agent}.",
  "title": "Título",
  "titleOptional": "Título (opcional)",
  "tokenInOut": "{in} entrada / {out} salida",
  "tokenInOutCalls": "{in} entrada / {out} salida ({calls} llamadas)",
  "tokenInOutCost": "{in} entrada / {out} salida — ${cost}",
  "tokenUsageHeader": "Uso de tokens:",
  "tool": "herramienta",
  "toolCreated": "Herramienta '{name}' creada.",
  "toolInstalled": "Herramienta **{tool}** instalada: {description}",
  "toolNoArguments": "Sin argumentos",
  "toolNotFound": "Herramienta no encontrada: {tool}",
  "toolNotFoundAvailable": "Herramienta \"{tool}\" no encontrada. Herramientas disponibles:",
  "toolResult": "✅ {tool}: {result}",
  "toolUninstalled": "Herramienta '{tool}' desinstalada.",
  "tool_approval.allow_once": "Permitir una vez",
  "tool_approval.allow_session": "Permitir durante la sesión",
  "tool_approval.always_allow": "Permitir siempre",
  "tool_approval.deny": "Denegar",
  "tool_approval.title": "Aprobación de herramienta requerida",
  "tools": "Herramientas",
  "toolsCommaSeparated": "Herramientas (separadas por coma)",
  "toolsMcp": "Tools / MCP",
  "toolsMcpAvailability": "Disponibilidad Tools / MCP",
  "toolsMcpAvailabilityUpdated": "Disponibilidad Tools / MCP actualizada.",
  "toolsMcpDesc": "Disponibilidad de herramientas de la conversación",
  "toolsMcpOverrideFor": "Override Tools / MCP para @{agent}",
  "toolsMcpOverrideMenu": "Override Tools / MCP...",
  "toolsRepository": "Repositorio de tools",
  "agentHooksRepository": "Repositorio de Agent Hooks",
  "agentHooksUpdated": "Agent hooks actualizados.",
  "noAgentHooks": "No hay hooks de agente definidos",
  "totalTime": "Tiempo total",
  "totalTokenInOut": "Total: {in} entrada / {out} salida",
  "triples": "Triples",
  "ttl1h": "1 hora",
  "ttl24h": "24 horas",
  "ttl6h": "6 horas",
  "ttl7d": "7 días",
  "ttlLabel": "Expiración",
  "ttlNone": "Ilimitado",
  "turnTime": "Tiempo por turno",
  "type": "Tipo",
  "unknown": "(desconocido)",
  "unknownAccount": "(desconocido)",
  "unknownCommandHelp": "Comando desconocido: {command}. Escribe /help para ver los comandos disponibles.",
  "unknownError": "Error desconocido",
  "unknownRelaySubcommand": "Subcomando /relay desconocido: {sub}. Usa: status, list, link, unlink, default, local",
  "unlink": "Desvincular",
  "unlinkingRelay": "Desvinculando relay {relay}...",
  "unmapped": "sin mapear",
  "unsupportedImportFormat": "Formato no soportado. Usa .zip (PawFlow) o .jsonl (Claude Code)",
  "upload": "Subir",
  "uploadFailed": "Error al subir: {error}",
  "uploadFailedFor": "Error al subir {file}: {error}",
  "uploading": "Subiendo...",
  "uploadingFile": "Subiendo {file}…",
  "usage": "Uso",
  "usageBatch": "Uso: /batch <instruction> [--files <glob>]",
  "usageDeleteConversation": "Uso: /delete <conversation_id>",
  "usageDeleteMessage": "Uso: /delete-msg <index>",
  "usageDeprecatedUseCost": "/usage está obsoleto. Usa /cost <agent|ALL> en su lugar.",
  "usageGraph": "Uso: /graph [panel | build | report | query <question>]",
  "usageGraphQuery": "Uso: /graph query <question>",
  "usageLine": "Uso: {usage}",
  "usageLoop": "Uso: /loop <interval> <prompt>",
  "usageLoopInterval": "Uso: /loop <interval> <prompt>\nIntervalo: 5m, 30s, 2h, 2-3/h, 1/30s, 6/1m (mín. 5s)",
  "usageLoopStop": "Uso: /loop stop <key>",
  "usagePlanSubcommand": "Uso: /plan {subcommand} <plan_id>",
  "usageRename": "Uso: /rename <nuevo título>",
  "usageRun": "Uso: /run <command>",
  "usageSearch": "Uso: /search <query>",
  "useGlobalTheme": "Usar tema global",
  "user": "Usuario",
  "userTotalAllConversations": "Total del usuario (todas las conversaciones):",
  "usingTool": "Usando {tool}...",
  "valid": "válido",
  "validFrom": "Válido desde",
  "value": "Valor",
  "variable": "variable",
  "variableAddUsage": "Uso: /add-variable &lt;nombre&gt; &lt;valor&gt;",
  "variableAdded": "Variable \"{name}\" almacenada. Use ${{ref}} en flujos, o get_variable(\"{short}\") en scripts.",
  "variableListEmpty": "No hay variables almacenadas.",
  "variableListTitle": "Sus variables:",
  "variables": "Variables",
  "variablesKeyValue": "Variables (clave=valor)",
  "verifierRemovedFor": "Verificador quitado para {target}",
  "verifierSetFor": "Verificador definido como {verifier} para {target}",
  "videoServicePreferenceClearedFor": "Preferencia de servicio de vídeo borrada para {agent}.",
  "videoServiceSetFor": "Servicio de vídeo \"{service}\" definido para {target}.",
  "videoServicesAvailable": "Servicios de vídeo disponibles:",
  "view": "Ver",
  "viewConfigMenu": "Ver config...",
  "viewDefinitionMenu": "Ver definición...",
  "viewDetails": "Ver detalles",
  "viewLogMenu": "Ver registro",
  "viewNode": "Ver nodo",
  "viewServiceTitle": "Ver servicio: ",
  "viewWithEllipsis": "Ver...",
  "vmKillUsage": "Uso: /vm kill <container_id o nombre>",
  "vmListHint": "Use `/vm kill <id>` para detener un contenedor.",
  "vmUsage": "Uso: /vm <list|kill|killall> [container_id]\n  /vm list              — Listar todos los contenedores Docker PawFlow\n  /vm kill <id>         — Detener un contenedor específico\n  /vm killall           — Detener todos los contenedores PawFlow",
  "voiceDeleted": "Voz \"{name}\" eliminada{details}",
  "voiceNameUnchanged": "Nombre de voz sin cambios.",
  "voiceRenamed": "Voz renombrada: \"{old}\" → \"{name}\".",
  "voicesRepository": "Repositorio de voces",
  "vsCode": "VS Code",
  "vsCodeDesc": "Abrir editor code-server en el relay",
  "vsCodeTabTitle": "VS Code ({relay})",
  "waitingAuthorization": "Esperando autorización...",
  "waitingForAuthorization": "Esperando autorización...",
  "watchUnavailableWeb": "/watch no está disponible en la UI web. Use el CLI para observar archivos.",
  "welcome": "¡Bienvenido! Escribe un mensaje para comenzar.",
  "working": "Trabajando",
  "yes": "Sí",
  "yourServicesHeader": "**Sus servicios:**",
  "yourSkillsHeader": "**Sus skills:**",
  "zipError": "Error zip: {error}",
  "zipping": "Comprimiendo...",
  "capabilities": "Capacidades",
  "force": "Forzar",
  "inspect": "Inspeccionar",
  "installing": "Instalando...",
  "noObjects": "No hay objetos.",
  "noPfpPackagesInstalled": "No hay paquetes instalados.",
  "noPfpRegistries": "No hay registros configurados.",
  "none": "Ninguno",
  "objects": "Objetos",
  "optionalSha256": "SHA-256 opcional",
  "pfpAllowedServices": "Servicios permitidos",
  "pfpAllowedTools": "Herramientas permitidas",
  "pfpBlockingDependents": "Dependientes bloqueantes",
  "pfpDependencies": "Dependencias",
  "pfpFilterAdd": "Añadidos",
  "pfpFilterAll": "Todo",
  "pfpFilterRemove": "Eliminados",
  "pfpFilterUnchanged": "Iguales",
  "pfpFilterUpdate": "Actualizados",
  "pfpInstallComplete": "Paquete {package} instalado.",
  "pfpInstallPackage": "Instalar paquete",
  "pfpNotSelected": "no seleccionado",
  "pfpPackages": "Paquetes",
  "pfpPathOrRef": "Ruta o referencia de registro del paquete",
  "pfpPathRequired": "La ruta o referencia de registro del paquete es obligatoria.",
  "pfpProvides": "Proporciona",
  "pfpRegistries": "Registros",
  "pfpRegistryUntrustedWarning": "Registro no marcado como trusted. Inspeccione la procedencia y fije el SHA antes de instalar.",
  "pfpRegistrySearch": "Búsqueda en registro",
  "pfpRegistrySearchPlaceholder": "Buscar paquetes...",
  "pfpRuntimeObjects": "Objetos de runtime",
  "pfpSecretBindings": "Enlaces de secretos",
  "pfpSelected": "seleccionado",
  "pfpSecrets": "Secretos",
  "pfpUninstallBlockedBy": "Desinstalación bloqueada por paquetes dependientes: {packages}",
  "pfpUninstallComplete": "Paquete {package} desinstalado.",
  "pfpUninstallConfirm": "¿Desinstalar el paquete {package} del ámbito {scope}?",
  "pfpUninstallHelp": "La desinstalación normal se niega a quitar paquetes de los que dependen otros paquetes. Forzar lo quita de todos modos.",
  "pfpTrustPolicyTrusted": "Registro aprobado por el usuario",
  "pfpTrustPolicyUntrusted": "Registro no trusted",
  "pfpUpdateDiff": "Diff de actualización",
  "replace": "Reemplazar",
  "registryNameOptional": "Nombre (opcional)",
  "registryUrl": "URL del registro",
  "registryUrlRequired": "La URL del registro es obligatoria.",
  "search": "Buscar",
  "selectAtLeastOneObject": "Seleccione al menos un objeto.",
  "developerKey": "Clave de desarrollador",
  "sha256": "SHA-256",
  "sourceUrl": "URL de origen",
  "storedSecretKey": "Clave de secreto almacenada",
  "trusted": "Confiable",
  "trustPolicy": "Política de confianza",
  "uninstall": "Desinstalar",
  "update": "Actualizar",
  "verified": "Verificado"
}
