{
  "banner": {
    "ready": {
      "antigravity": "🟢 Agente comfyui-mcp listo — {label} mediante Antigravity CLI, con tu suscripción de Google AI. Nota: los turnos de agy solo muestran la respuesta final (sin progreso de herramientas en vivo). Pregunta lo que quieras.",
      "atlascloud": "🟢 Agente comfyui-mcp listo — {label} vía Atlas Cloud. Pregunta lo que quieras.",
      "chatgpt": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de ChatGPT (OAuth directo). Pregunta lo que quieras.",
      "claude": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de Claude. Pregunta lo que quieras.",
      "codex": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Codex (ChatGPT). Pregunta lo que quieras.",
      "copilot": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de GitHub Copilot (⚠️ experimental, riesgo respecto a los términos de servicio — lo activaste tú). Pregunta lo que quieras.",
      "custom": "🟢 Agente comfyui-mcp listo — {label} mediante tu endpoint personalizado ({url}). Pregunta lo que quieras.",
      "gemini": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Google (Gemini Code Assist). Pregunta lo que quieras.",
      "glm": "🟢 Agente comfyui-mcp listo — {label} con tu Z.AI GLM Coding Plan. Pregunta lo que quieras.",
      "grok": "🟢 Agente comfyui-mcp listo — {label} con tu cuenta de Grok (xAI). Pregunta lo que quieras.",
      "kimi": "🟢 Agente comfyui-mcp listo — {label} con tu suscripción de Kimi Code. Pregunta lo que quieras.",
      "llamacpp": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con llama.cpp (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.",
      "lmstudio": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con LM Studio (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.",
      "minimax": "🟢 Agente comfyui-mcp listo — {label} con tu clave API de la plataforma MiniMax. Pregunta lo que quieras.",
      "moonshot": "🟢 Agente comfyui-mcp listo — {label} con tu clave API de la plataforma Moonshot (Kimi K3). Pregunta lo que quieras.",
      "ollama": "🟢 Agente comfyui-mcp listo — {label} ejecutándose en local con Ollama (sin cuenta ni clave API). Los modelos locales pequeños son más lentos y sencillos que los punteros: espera menos florituras. Pregunta lo que quieras.",
      "openrouter": "🟢 Agente comfyui-mcp listo — {label} mediante OpenRouter (API alojada, tu OPENROUTER_API_KEY). Pregunta lo que quieras.",
      "pi": "🟢 Agente comfyui-mcp listo — {label} mediante la CLI de pi con tus propias credenciales de proveedor (encontradas en esta máquina; pi las comprueba con tu primer mensaje). Nota: pi no tiene herramientas de ComfyUI (no hay MCP) — trabaja con sus propias herramientas de desarrollo sobre el espacio de trabajo local, no sobre el lienzo del panel. Pregunta lo que quieras."
    }
  },
  "cli": {
    "cannot_start": "ComfyUI MCP — no se puede iniciar: {error}",
    "connect_bridge_secure": "túnel Cloudflare wss:// (automático — nada que copiar)",
    "connect_label_bridge": "Puente del agente",
    "connect_label_driving": "Controla",
    "connect_label_secure": "Seguridad",
    "connect_next_steps": "Siguientes pasos:",
    "connect_quiet_note": "Hasta que pulses Conectar esta ventana se queda en silencio: es lo\nesperado, no está colgada. El agente se ejecuta AQUÍ, con tu cuenta\nde Claude/Codex; en la máquina de ComfyUI no se instala nada.\nDeja esta terminal abierta.",
    "connect_secure_note": "el panel HTTPS del pod se conecta automáticamente\npor un túnel cifrado: no hay URL que pegar y\nfunciona en cualquier navegador.",
    "connect_step_click_connect": "Pulsa Conectar en el panel (el desplegable Conectar del panel Agent).",
    "connect_step_open_comfyui": "Abre ese ComfyUI en tu navegador: {url}",
    "connect_title": "iniciando el puente del agente local",
    "connect_url_invalid": "Se pasó a `connect` una URL de ComfyUI no válida: \"{url}\" ({reason}). Indica una URL http(s) completa, por ejemplo https://abcd-3000.proxy.runpod.net o http://127.0.0.1:8188.",
    "help_active": "(activo: {locale})",
    "help_allow_unauth": "permitir un /mcp ABIERTO en un host no local",
    "help_comfyui_url": "apuntar a un ComfyUI concreto (también remoto)",
    "help_compact": "registrar solo las tres metaherramientas",
    "help_default": "(por defecto: {value})",
    "help_full": "registrar el conjunto completo de herramientas directas",
    "help_full_reference": "Referencia completa: {url}",
    "help_help": "mostrar esta ayuda y salir",
    "help_host": "host de escucha HTTP",
    "help_http": "transporte streamable-HTTP",
    "help_insecure_bridge": "permitir un puente de panel sin autenticación",
    "help_lang": "idioma de la salida de esta CLI",
    "help_panel_orchestrator": "ejecutar el orquestador en segundo plano que controla el panel",
    "help_port": "puerto de escucha HTTP",
    "help_same_as_value": "lo mismo, como valor",
    "help_section_panel": "PANEL / COMFYUI",
    "help_section_tool_surface": "CONJUNTO DE HERRAMIENTAS",
    "help_section_transport": "TRANSPORTE",
    "help_section_usage": "USO",
    "help_stdio": "transporte stdio",
    "help_tagline": "controla ComfyUI desde un agente de IA",
    "help_token": "exigir este secreto compartido en /mcp",
    "help_tunnel": "abrir un túnel rápido de cloudflared (implica --http)",
    "help_usage_connect": "ejecutar el orquestador del panel contra un ComfyUI (posiblemente remoto)",
    "help_usage_launcher": "administrar el asistente de inicio automático del panel",
    "help_usage_server": "iniciar el servidor MCP",
    "help_usage_setup": "escribir la entrada comfyui en la configuración de esa herramienta y salir",
    "launcher_failed": "Falló el iniciador de ComfyUI MCP al ejecutar {action}: {error}",
    "launcher_installed": "✓ Se instaló el iniciador del panel ComfyUI MCP para este usuario.",
    "launcher_installed_note": "MCP solo se inicia cuando el panel del agente lo solicita.",
    "launcher_uninstalled": "✓ Se desinstaló el iniciador del panel ComfyUI MCP.",
    "launcher_usage": "Uso: {command}",
    "setup_copilot_check": "Ejecuta `copilot` y comprueba el servidor con /mcp show.",
    "setup_dry_run": "— simulación: esto es lo que se escribiría en {path} —",
    "setup_failed": "falló la configuración de comfyui-mcp: {error}",
    "setup_hermes_reload": "En una sesión de Hermes en marcha escribe /reload-mcp (o reinicia Hermes).",
    "setup_hermes_tool_names": "Las herramientas aparecen como mcp_comfyui_list_tools / _describe_tool / _call_tool.",
    "setup_next_steps": "Siguientes pasos:",
    "setup_note_compact": "El modo de herramientas compacto está ACTIVADO: el modelo recibe list_tools/describe_tool/call_tool en lugar de unos 200 esquemas (vuelve a ejecutarlo con --full para el conjunto completo).",
    "setup_note_full": "Modo de herramientas completo: unos 200 esquemas — lo indicado para modelos punteros (vuelve a ejecutarlo con --compact para modelos locales pequeños).",
    "setup_note_local_models": "Modelos locales: gemma4 (e4b o mayor), qwen3 y llama3.1+ llaman a herramientas de forma nativa; gemma3 no.",
    "setup_openclaw_restart": "Reinicia la pasarela de OpenClaw para que detecte el nuevo servidor.",
    "setup_unknown_agent": "Agente desconocido «{agent}».",
    "setup_usage": "Uso: {command}",
    "setup_what_it_does": "Escribe la entrada del servidor MCP comfyui en el archivo de configuración del propio agente.",
    "setup_wrote": "✓ Servidor MCP «comfyui» añadido a {path}",
    "tunnel_desktop_connector_path": "Claude Desktop → Settings → Connectors → Añadir conector personalizado:",
    "tunnel_field_header": "Cabecera",
    "tunnel_field_name": "Nombre",
    "tunnel_field_url": "URL",
    "tunnel_header_alt": "(o Authorization: Bearer {token})",
    "tunnel_headless_snippet": "Fragmento de configuración headless / programática:",
    "tunnel_keep_open": "Deja esta terminal abierta — el túnel se cierra cuando termina el proceso.",
    "tunnel_label_public_url": "URL pública de MCP",
    "tunnel_label_token": "Token de autenticación",
    "tunnel_title": "El conector remoto / alojado está ACTIVO"
  },
  "console": {
    "credentials": {
      "advanced": "Avanzado ↗",
      "badge_set": "definida · {masked}",
      "badge_unset": "sin definir",
      "close": "Cerrar",
      "load_failed": "No se pudo cargar el estado — vuelve a conectar el panel.",
      "paste_key": "Pega la clave…",
      "privacy": "Se guarda en local, por instancia. Los valores nunca salen de esta máquina.",
      "save": "Guardar",
      "save_failed": "error al guardar",
      "saved": "Guardado ✓",
      "saving": "Guardando…",
      "title": "Claves API"
    },
    "landing": {
      "api": {
        "heading": "API"
      },
      "connection": {
        "endpoints": "Puente {bridge} · ComfyUI {comfyui}",
        "heading": "Conexión"
      },
      "here": {
        "a2ui": "Interfaces de herramientas con A2UI",
        "heading": "Llegará aquí (el panel se queda en ComfyUI)",
        "library": "Biblioteca de LoRA, colecciones de imágenes, herramientas al estilo Photomap",
        "lifecycle": "Iniciar / detener / reiniciar el orquestador",
        "mcp": "Asignaciones de servidores MCP y herramientas {file} heredadas",
        "oauth": "OAuth e inicio de sesión con proveedores de API",
        "prompts": "Prompts del sistema editables — {link}",
        "prompts_link": "abrir el editor"
      },
      "panel": {
        "connect": "Conectar / desconectar de este puente",
        "heading": "Se queda en el panel de ComfyUI",
        "pickers": "Selectores de proveedor / modelo / esfuerzo y medidor de ventana de contexto",
        "storyboards": "Guiones gráficos de vídeo y edición del grafo en vivo"
      },
      "status": {
        "failed": "No se pudo cargar el estado",
        "install_cli": "instalar la CLI",
        "loading": "Cargando la disponibilidad de los proveedores…",
        "none": "sin backends",
        "ready": "listo",
        "running": "Orquestador en marcha",
        "sign_in": "iniciar sesión"
      },
      "subtitle": "Plano de control del orquestador del panel: servidores MCP, OAuth y ajustes de servicio. El panel lateral de ComfyUI sigue centrado en el chat, los proveedores y el lienzo en vivo.",
      "title": "Consola de ComfyUI MCP"
    },
    "prompts": {
      "advanced": "Avanzado ↗",
      "badge_custom": "personalizado",
      "badge_default": "prompt integrado",
      "close": "Cerrar",
      "copy_default": "Copiarlo en el editor",
      "empty": "Todavía no hay prompts editables registrados. Inicia el orquestador y recarga esta página.",
      "intro": "Todos los prompts del sistema que controla el orquestador, tal como los recibe el agente. Tu texto se guarda en {file}: el prompt integrado queda intacto, así que Restablecer siempre lo devuelve.",
      "load_failed": "No se pudieron cargar los prompts — vuelve a conectar el panel.",
      "placeholder": "Se está usando el prompt integrado: escribe aquí para sustituirlo.",
      "reset": "Restablecer el integrado",
      "reset_failed": "error al restablecer",
      "resetting": "Restableciendo…",
      "save": "Guardar",
      "save_failed": "error al guardar",
      "saved": "Guardado ✓",
      "saving": "Guardando…",
      "title": "Prompts del sistema",
      "view_default": "Ver el prompt integrado"
    },
    "unauthorized": "No autorizado — vuelve a conectar el panel."
  },
  "say": {
    "blind_cli_native_tools": "Aviso: la CLI de {backend} conserva sus propias herramientas de archivos integradas, que el modo ciego no puede bloquear mecánicamente — las herramientas de comfyui siguen reteniendo los píxeles, pero la propia CLI podría leer archivos de imagen. Para una garantía estricta sin píxeles, usa el backend de Claude o un proveedor API/local.",
    "blind_off": "Modo ciego DESACTIVADO — las herramientas de imagen del agente vuelven a entregar píxeles (se aplica después del turno actual).",
    "blind_on": "Modo ciego ACTIVADO — las herramientas de imagen del agente ya no entregan píxeles (se aplica después del turno actual; la sesión continúa automáticamente).",
    "custom_no_base_url": "No hay ningún endpoint configurado — indica la URL base en Ajustes → Endpoint personalizado (incluye el /v1, por ejemplo http://192.168.1.20:8000/v1 para vLLM, o la URL compatible con OpenAI de un proveedor alojado), y también «Configurar clave API…» si el servidor la necesita. Ambos se aplican de inmediato — después vuelve a conectar.",
    "degraded": {
      "antigravity": "El agente en segundo plano no responde — la CLI de Antigravity no pudo responder a `agy models`. Instálala desde https://antigravity.google, ejecuta `agy` una vez y completa el inicio de sesión de Google; después Desconectar → Conectar para reintentar.",
      "atlascloud": "El agente en segundo plano no responde — Atlas Cloud no pudo iniciarse. Define ATLASCLOUD_API_KEY; después Desconectar → Conectar para reintentar.",
      "chatgpt": "El agente en segundo plano no responde — el OAuth directo de ChatGPT no pudo iniciarse. Comprueba que existe ~/.codex/auth.json (ejecuta `codex login`); después Desconectar → Conectar para reintentar.",
      "claude": "El agente en segundo plano no responde — el Claude Agent SDK no pudo iniciarse. Comprueba que has iniciado sesión (ejecuta `claude` una vez); después Desconectar → Conectar para reintentar.",
      "codex": "El agente en segundo plano no responde — el app-server de Codex no pudo iniciarse. Comprueba que Codex está instalado y con la sesión iniciada (`codex login`); después Desconectar → Conectar para reintentar.",
      "copilot": "El agente en segundo plano no responde — GitHub Copilot (experimental) no pudo iniciarse. Inicia sesión desde la fila experimental del panel; después Desconectar → Conectar para reintentar.",
      "custom": "El agente en segundo plano no responde — tu endpoint personalizado no contesta en {url}. Revisa la URL base en Ajustes → Endpoint personalizado (debe ser compatible con OpenAI e incluir el /v1) y la clave API si el servidor la exige; después pulsa Conectar para reintentar.",
      "gemini": "El agente en segundo plano no responde — la CLI de Gemini no pudo iniciarse. Comprueba que la CLI de Gemini está instalada y con la sesión iniciada (ejecuta `gemini` una vez y completa el inicio de sesión de Google); después Desconectar → Conectar para reintentar.",
      "glm": "El agente en segundo plano no responde — GLM Code API no pudo iniciarse. Define ZAI_API_KEY (Z.AI Coding Plan); después Desconectar → Conectar para reintentar.",
      "grok": "El agente en segundo plano no responde — la CLI de Grok no pudo iniciarse. Comprueba que Grok está instalado y con la sesión iniciada (ejecuta `grok` una vez y completa el inicio de sesión de xAI); después Desconectar → Conectar para reintentar.",
      "kimi": "El agente en segundo plano no responde — Kimi Code no pudo iniciarse. Inicia sesión en Kimi Code (~/.kimi/credentials/kimi-code.json) o define KIMI_API_KEY; después Desconectar → Conectar para reintentar.",
      "llamacpp": "El agente en segundo plano no responde — no se llega a llama-server en {url}. Arráncalo con `llama-server -m <model>.gguf -c 16384` (nuestros GGUF de gemma4-comfyui-mcp van muy bien; en compilaciones antiguas añade --jinja, imprescindible allí para llamar herramientas) o define COMFYUI_MCP_LLAMACPP_HOST; después Desconectar → Conectar para reintentar.",
      "lmstudio": "El agente en segundo plano no responde — no se llega a LM Studio en {url}. Abre LM Studio → Developer → Start Server y carga un modelo capaz de llamar herramientas (nuestros GGUF de gemma4-comfyui-mcp en Hugging Face van muy bien), o define COMFYUI_MCP_LMSTUDIO_HOST si escucha en otro sitio; después Desconectar → Conectar para reintentar.",
      "minimax": "El agente en segundo plano no responde — MiniMax no pudo iniciarse. Define MINIMAX_API_KEY desde platform.minimax.io; después Desconectar → Conectar para reintentar.",
      "moonshot": "El agente en segundo plano no responde — Moonshot (Kimi K3) no pudo iniciarse. Define MOONSHOT_API_KEY desde platform.kimi.ai; después Desconectar → Conectar para reintentar.",
      "ollama": "El agente en segundo plano no responde — no se llega a Ollama. Arráncalo con `ollama serve` y descarga nuestro modelo afinado (`ollama pull artokun/gemma4-comfyui-mcp:e4b` — gemma4 entrenado con el conjunto de herramientas de comfyui-mcp, el mejor modelo local de la arena; `:12b` para unos 8 GB de VRAM); después Desconectar → Conectar para reintentar.",
      "pi": "El agente en segundo plano no responde — la CLI de pi no pudo ejecutar `pi --list-models`. Instálala desde https://pi.dev (`curl -fsSL https://pi.dev/install.sh | sh`), configura un proveedor (define una clave API de proveedor o ejecuta `pi` una vez y `/login`); después Desconectar → Conectar para reintentar.",
      "qwen": "El agente en segundo plano no responde — la CLI de Qwen Code no pudo iniciarse. Asegúrate de que Qwen Code está instalado (npm i -g @qwen-code/qwen-code) y con sesión iniciada (ejecuta `qwen` una vez y completa /auth, o define DASHSCOPE_API_KEY); después Desconectar → Conectar para reintentar."
    },
    "llamacpp_no_jinja": "Tu llama-server se está ejecutando SIN `--jinja`, así que la llamada a herramientas está desactivada: cualquier acción del agente fallaría. Reinícialo con soporte de herramientas: `llama-server -m <model>.gguf --jinja -c 16384` (las compilaciones actuales activan jinja por defecto; las antiguas necesitan la opción); después Desconectar → Conectar.",
    "llamacpp_small_context": "El contexto de tu llama-server es de {tokens} tokens (opción de arranque -c). La carga de herramientas del agente necesita al menos 16384; por debajo de eso los turnos largos se truncan en silencio. Plantéate reiniciar con `-c 16384` o más.",
    "local_agent_resumed": "Render terminado — el agente local ha vuelto. Respondo ahora a tu mensaje en cola.",
    "message_queued_during_render": "Hay un render en marcha, así que he puesto tu mensaje en cola para dejar la GPU libre. Te respondo en cuanto termine.",
    "message_queued_opt_out": "Si prefieres chatear durante los renders, pon COMFYUI_MCP_PAUSE_LOCAL_ON_GEN=0 en ~/.comfyui-mcp/.env y reinicia — el modelo local y ComfyUI compartirán la GPU, lo que puede ralentizar un render o dejarlo sin VRAM.",
    "new_chat_durable_clear_failed": "Se ha iniciado un chat nuevo, pero no se pudo borrar del disco la sesión guardada de la conversación anterior (falló la escritura — ¿sistema de archivos lleno o bloqueado?). Si el orquestador se reinicia antes de completarse el primer intercambio de esta conversación, puede reanudarse la conversación ANTIGUA; en ese caso inicia otro chat nuevo.",
    "oauth_signin_failed": "Error al iniciar sesión en {provider}: {message}",
    "openrouter_no_key": "OpenRouter no tiene clave API — la conexión fallaría con tu primer mensaje. Defínela en Ajustes → OpenRouter → «Configurar clave API…» (se enmascara y la guarda el orquestador; surte efecto de inmediato, sin reconectar), o define la variable de entorno OPENROUTER_API_KEY y reinicia el orquestador. Claves: https://openrouter.ai/keys",
    "options_change_failed": "No se pudo cambiar el modelo o el esfuerzo: {message}",
    "pi_no_credential": "pi no tiene ninguna credencial de proveedor utilizable — la conexión saludaría como lista y luego fallaría con tu primer mensaje. Configura un proveedor: define una clave API de proveedor (por ejemplo ANTHROPIC_API_KEY / OPENAI_API_KEY / CEREBRAS_API_KEY) y reinicia el orquestador, o ejecuta `pi` una vez y `/login` (se guarda en ~/.pi/agent/auth.json); después Desconectar → Conectar. Si ya hiciste alguna de las dos cosas, comprueba que la entrada esté completa — un registro de ~/.pi/agent/auth.json sin `key`, un proveedor de models.json sin `apiKey`, o GOOGLE_APPLICATION_CREDENTIALS apuntando a un archivo inexistente no pueden autenticarse. https://pi.dev",
    "restart_lost": {
      "answers": "{count} respuesta(s) que diste en una tarjeta de pregunta nunca llegaron al agente: {answers}. Una respuesta no es un render: NO hay historial donde buscarla, y el agente no tiene forma de recuperarla una vez completado este reinicio. Vuelve a indicarle tu elección (o pega el texto de arriba) cuando regrese.",
      "header": "Se está reiniciando el backend del agente.",
      "runs": "{count} resultado(s) de render ya terminados no se pudieron entregar ({runs}). Desde el punto de vista del agente su desenlace es INDETERMINADO — pídele que consulte `get_history (action:\"list\")` para esas ejecuciones en cuanto se reconecte, en lugar de dar por hecho que las vio.",
      "withheld": "Otras {count} respuesta(s) de esta pestaña pertenecen a una conversación anterior que ya fue sustituida; tampoco se entregaron, pero no se muestran aquí porque no se dieron a la conversación en la que estás ahora."
    },
    "start_failure": {
      "hint": {
        "custom": "Revisa la URL base y la clave API en Ajustes → Endpoint personalizado; después Desconectar → Conectar para reintentar.",
        "generic": "Revisa las credenciales o el inicio de sesión del proveedor; después Desconectar → Conectar para reintentar.",
        "key_provider": "Revisa tu clave API de {provider} en la tarjeta Claves API ({env}); después Desconectar → Conectar para reintentar.",
        "openrouter": "Revisa tu clave API de OpenRouter en la tarjeta Claves API (OPENROUTER_API_KEY); después Desconectar → Conectar para reintentar."
      },
      "notice": "El agente {backend} no pudo iniciarse: {message} — {hint}"
    },
    "too_many_question_cards": "Hay demasiadas tarjetas de pregunta abiertas a la vez en esta pestaña, así que las más antiguas ya no admiten respuesta: pulsarlas no hará nada. Responde a la tarjeta más reciente, o simplemente escribe tu elección en el chat y el agente la recogerá."
  }
}
