#
msgid ""
msgstr ""
"Project-Id-Version: PROJECT VERSION\n"
"Report-Msgid-Bugs-To: EMAIL@ADDRESS\n"
"POT-Creation-Date: 2026-06-12 05:36+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Generated-By: Babel 2.18.0\n"

#: src/uagent/checks.py:17 src/uagent/checks.py:27
#, python-format
msgid "Please install Git. See: %(url)s"
msgstr "Instale Git. Consulte: %(url)s"

#: src/uagent/checks.py:20
msgid ""
"Please install Git. Example: sudo apt install git (Ubuntu/Debian) or sudo "
"yum install git (CentOS/RHEL)"
msgstr ""
"Instale Git. Ejemplo: sudo apt install git (Ubuntu/Debian) o sudo yum "
"install git (CentOS/RHEL)"

#: src/uagent/checks.py:23
msgid ""
"Please install Git. If using Homebrew: brew install git, or install Xcode "
"Command Line Tools: xcode-select --install"
msgstr ""
"Instale Git. Si usa Homebrew: brew install git, o instale Xcode Command Line"
" Tools: xcode-select --install"

#: src/uagent/checks.py:30
msgid "[ERROR] Git is not installed."
msgstr "[ERROR] Git no está instalado."

#: src/uagent/cli.py:397
msgid "getch() fallback to input()"
msgstr "getch() usa input() como alternativa"

#: src/uagent/cli.py:604
msgid "Received Ctrl+C. Starting shutdown..."
msgstr "Se recibió Ctrl+C. Iniciando el cierre..."

#: src/uagent/cli.py:636 src/uagent/cli.py:706
#, python-format
msgid ""
"(Multiline input mode: enter the body in multiple lines; to restart, type "
"\"\"\"retry; finish with a line containing %(sentinel)s)"
msgstr ""
"(Modo de entrada multilínea: introduzca el contenido en varias líneas; para "
"reiniciar, escriba \"\"\"retry; finalice con una línea que contenga "
"%(sentinel)s)"

#: src/uagent/cli.py:666 src/uagent/setup_cli.py:1183
#: src/uagent/setup_cli.py:1202 src/uagent/setup_cli.py:1225
#: src/uagent/setup_cli.py:1241 src/uagent/setup_cli.py:1260
#: src/uagent/setup_cli.py:1279 src/uagent/setup_cli.py:1293
#: src/uagent/setup_cli.py:1306 src/uagent/setup_cli.py:1314
#: src/uagent/setup_cli.py:1327 src/uagent/setup_cli.py:1339
#: src/uagent/setup_cli.py:1350 src/uagent/setup_cli.py:1436
#: src/uagent/setup_cli.py:1462
msgid "Cancelled."
msgstr "Cancelado."

#: src/uagent/cli.py:672 src/uagent/cli.py:722
msgid "Discarded previous input. Please start over."
msgstr "Se descartó la entrada anterior. Por favor, empiece de nuevo."

#: src/uagent/cli.py:683
msgid "Received multiline reply."
msgstr "Se recibió una respuesta multilínea."

#: src/uagent/cli.py:841
msgid ""
"Image file paths were found in your input.\n"
"Do you want to send these images to the LLM (external API) for analysis?\n"
"\n"
msgstr ""
"Se encontraron rutas de archivos de imagen en su entrada.\n"
"¿Desea enviar estas imágenes al LLM (API externa) para su análisis?\n"
"\n"

#: src/uagent/cli.py:847
msgid "Reply with y to send, or n (or c/cancel) to skip sending."
msgstr "Responda con y para enviar, o n (o c/cancel) para omitir el envío."

#: src/uagent/cli.py:865
#, python-format
msgid ""
"Image send confirmation failed; will not send images: %(etype)s: %(err)s"
msgstr ""
"Falló la confirmación para enviar imágenes; no se enviarán imágenes: "
"%(etype)s: %(err)s"

#: src/uagent/cli.py:893 src/uagent/scheckgui.py:432
#, python-format
msgid "Failed to attach image: %(path)s (%(etype)s: %(err)s)"
msgstr "No se pudo adjuntar la imagen: %(path)s (%(etype)s: %(err)s)"

#: src/uagent/cli.py:930
#, python-format
msgid "Unknown event kind=%(kind)r: %(ev)r"
msgstr "Tipo de evento desconocido=%(kind)r: %(ev)r"

#: src/uagent/cli.py:948
msgid "Exited uag."
msgstr "uag finalizado."

#: src/uagent/cli_docs.py:33
msgid "[docs] name is required"
msgstr "[docs] se requiere el nombre"

msgid "[INFO] startup genre prompt = numeric-input"
msgstr "[INFO] prompt de género de inicio = entrada numérica"

msgid ""
"数値の合計を入力してください (例: 3 = comm + office, 15 = すべて, または Enter キーを押してすべて有効化):"
msgstr ""
"Introduzca la suma numérica (por ejemplo: 3 = comm + office, 15 = todo, o "
"pulse Enter para activar todo):"

msgid "Communication (Teams, Discord, etc.)"
msgstr "Comunicación (Teams, Discord, etc.)"

msgid "Office suite (Excel, Word, etc.)"
msgstr "Suite ofimática (Excel, Word, etc.)"

msgid "Development (lint, py_compile, test, etc.)"
msgstr "Desarrollo (lint, py_compile, test, etc.)"

msgid "IoT (Bluetooth, etc.)"
msgstr "IoT (Bluetooth, etc.)"

msgid "Tool genre selection"
msgstr "Selección de género de herramientas"

msgid "Use Space to toggle, Arrow keys to move, Enter to confirm."
msgstr ""
"Use la barra espaciadora para alternar, las flechas para moverse y Enter "
"para confirmar."

msgid "OK"
msgstr "Aceptar"

msgid "Default"
msgstr "Predeterminado"

msgid "[INFO] startup genre prompt = numeric-input (prompt_toolkit fallback)"
msgstr ""
"[INFO] prompt de género de inicio = entrada numérica (respaldo de "
"prompt_toolkit)"

#: src/uagent/cli_startup.py:146
#, python-format
msgid "[WARN] Failed to apply startup tool selection: %(err)s"
msgstr ""
"[WARN] No se pudo aplicar la selección de la herramienta de inicio: %(err)s"

#: src/uagent/cli_startup.py:221 src/uagent/web.py:1053
#, python-format
msgid "[FATAL] Failed to set workdir: %(err)s"
msgstr "[FATAL] No se pudo establecer el directorio de trabajo: %(err)s"

#: src/uagent/cli_startup.py:250
#, python-format
msgid "[FATAL] Failed to launch uag_setup: %(err)s"
msgstr "[FATAL] No se pudo iniciar uag_setup: %(err)s"

#: src/uagent/cli_startup.py:291
#, python-format
msgid "provider = %(provider)s; model = %(model)s"
msgstr "proveedor = %(provider)s; modelo = %(model)s"

#: src/uagent/cli_startup.py:298 src/uagent/scheckgui.py:296
msgid "OpenRouter fallback models enabled."
msgstr "Modelos de reserva de OpenRouter activados."

#: src/uagent/cli_startup.py:302
#, python-format
msgid "current workdir = %(cwd)s"
msgstr "directorio de trabajo actual = %(cwd)s"

#: src/uagent/cli_startup.py:313 src/uagent/scheckgui.py:307
msgid "Loaded long-term memory."
msgstr "Se cargó la memoria a largo plazo."

#: src/uagent/cli_startup.py:326 src/uagent/scheckgui.py:320
msgid "Loaded shared long-term memory."
msgstr "Se cargó la memoria compartida a largo plazo."

#: src/uagent/cli_startup.py:333 src/uagent/web.py:718
#, python-format
msgid ""
"[WARN] Exception occurred while loading shared long-term memory: %(err)s"
msgstr ""
"[ADVERTENCIA] Se produjo una excepción al cargar la memoria a largo plazo "
"compartida: %(err)s"

#: src/uagent/cli_startup.py:367
#, python-format
msgid "[WARN] Failed to read startup file: %(path)s (%(err)s)"
msgstr ""
"[ADVERTENCIA] No se pudo leer el archivo de inicio: %(path)s (%(err)s)"

#: src/uagent/cli_startup.py:381
#, python-format
msgid "Startup file provided: %(path)s"
msgstr "Archivo de inicio proporcionado: %(path)s"

#: src/uagent/cli_startup.py:404
msgid "--non-interactive was specified; exiting without waiting for stdin."
msgstr "Se especificó --non-interactive; saliendo sin esperar stdin."

#: src/uagent/core.py:286 src/uagent/core.py:307
#, python-format
msgid "Environment variable %(name)s is not set."
msgstr "La variable de entorno %(name)s no está configurada."

#: src/uagent/core.py:607
msgid "No log files found."
msgstr "No se encontraron archivos de registro."

#: src/uagent/core.py:625
msgid "(unknown time)"
msgstr "(hora desconocida)"

#: src/uagent/core.py:628
#, python-format
msgid "logs: showing %(shown)d/%(total)d (dir=%(dir)s)"
msgstr "registros: mostrando %(shown)d/%(total)d (directorio=%(dir)s)"

#: src/uagent/core.py:631
msgid "Log files:"
msgstr "Archivos de registro:"

#: src/uagent/core.py:638
msgid "(mtime unknown)"
msgstr "(hora de modificación desconocida)"

#: src/uagent/core.py:756 src/uagent/core.py:759
msgid "(no user message)"
msgstr "(sin mensaje del usuario)"

#: src/uagent/core.py:764
#, python-format
msgid ""
"[%(idx)d] %(mtime_text)s | %(turns)d msgs | first: %(first_user)s | last: "
"%(last_user)s"
msgstr ""
"[%(idx)d] %(mtime_text)s | %(turns)d mensajes | primero: %(first_user)s | "
"último: %(last_user)s"

#: src/uagent/core.py:896
#, python-format
msgid ""
"[WARN] Dropping orphan tool message: tool_call_id=%(tool_call_id)r "
"name=%(name)r"
msgstr ""
"[WARN] Se descarta el mensaje huérfano de herramienta: "
"tool_call_id=%(tool_call_id)r name=%(name)r"

#: src/uagent/core.py:994
#, python-format
msgid ""
"[INFO] There were %(count)d messages to compress, so nothing was changed."
msgstr ""
"[INFO] Había %(count)d mensajes para comprimir, así que no se cambió nada."

#: src/uagent/core.py:1004
#, python-format
msgid ""
"[INFO] Compressed in-memory conversation history: %(old_n)d -> %(new_n)d "
"messages (keep_last=%(keep_last)d)"
msgstr ""
"[INFO] Historial de conversación en memoria comprimido: %(old_n)d -> "
"%(new_n)d mensajes (keep_last=%(keep_last)d)"

#: src/uagent/core.py:1215
msgid "429 retry limit (%(max_retries)s) reached while history compression."
msgstr ""
"Se alcanzó el límite de reintentos 429 (%(max_retries)s) durante la "
"compresión del historial."

#: src/uagent/core.py:1225
msgid "Error while calling LLM for history compression: %(err)r"
msgstr "Error al llamar al LLM para la compresión del historial: %(err)r"

#: src/uagent/core.py:1258
msgid "- Summarize the conversation chunk in English.\n"
msgstr "- Resuma el fragmento de conversación en inglés.\n"

#: src/uagent/core.py:1260
msgid ""
"- Keep the summary concise but include key decisions, constraints, and "
"pending items.\n"
msgstr ""
"- Mantenga el resumen conciso pero incluya decisiones clave, restricciones y"
" elementos pendientes.\n"

#: src/uagent/core.py:1262
msgid "- Output should be directly usable as a system message."
msgstr ""
"- La salida debe ser directamente utilizable como un mensaje del sistema."

#: src/uagent/core.py:1265
msgid "Conversation chunk:\n"
msgstr "Fragmento de conversación:\n"

#: src/uagent/core.py:1267
msgid "Write a concise summary of this chunk."
msgstr "Escriba un resumen conciso de este fragmento."

#: src/uagent/core.py:1271
msgid "- You are updating an existing conversation summary.\n"
msgstr "- Está actualizando un resumen de conversación existente.\n"

#: src/uagent/core.py:1272
msgid "- Preserve important facts from the previous summary.\n"
msgstr "- Preserve los hechos importantes del resumen anterior.\n"

#: src/uagent/core.py:1274
msgid ""
"- Merge in the new chunk without losing constraints, decisions, or pending "
"items.\n"
msgstr ""
"- Fusione el nuevo fragmento sin perder restricciones, decisiones o "
"elementos pendientes.\n"

#: src/uagent/core.py:1276
msgid "- Keep the result concise and suitable for a system message."
msgstr ""
"- Mantenga el resultado conciso y adecuado para un mensaje del sistema."

#: src/uagent/core.py:1279
msgid "Previous summary:\n"
msgstr "Resumen anterior:\n"

#: src/uagent/core.py:1281
msgid "New chunk:\n"
msgstr "Nuevo fragmento:\n"

#: src/uagent/core.py:1283
msgid "Update the summary while keeping the prior context intact."
msgstr "Actualice el resumen manteniendo intacto el contexto anterior."

#: src/uagent/core.py:1304
msgid "Summary of the conversation so far:\n"
msgstr "Resumen de la conversación hasta ahora:\n"

#: src/uagent/core.py:1311
msgid ""
"[INFO] shrink_llm: {old_n} -> {new_n} messages (compressed {old_part_n} "
"older messages into 1 summary; kept {tail_n} tail)"
msgstr ""
"[INFO] shrink_llm: {old_n} -> {new_n} mensajes (se comprimieron {old_part_n}"
" mensajes más antiguos en 1 resumen; se mantuvieron {tail_n} al final)"

#: src/uagent/core.py:1339
msgid ""
"[WARN] history compression hit context length even at chunk_size=1; falling "
"back to shrink_messages()."
msgstr ""
"[WARN] La compresión del historial alcanzó el límite de contexto incluso con"
" chunk_size=1; se vuelve a shrink_messages()."

#: src/uagent/core.py:1349
msgid ""
"[WARN] history compression could not reduce chunk_size further; falling back"
" to shrink_messages()."
msgstr ""
"[WARN] No se pudo reducir más chunk_size; se vuelve a shrink_messages()."

#: src/uagent/core.py:1357
#, python-format
msgid ""
"[WARN] history compression context length exceeded; retrying with "
"chunk_size=%(chunk_size)d"
msgstr ""
"[WARN] Se superó la longitud de contexto al comprimir el historial; "
"reintentando con chunk_size=%(chunk_size)d"

#: src/uagent/core.py:1367
msgid ""
"[WARN] history compression failed due to LLM error; falling back to "
"shrink_messages()."
msgstr ""
"[WARN] Error al comprimir el historial debido a un error de LLM; recurriendo"
" a shrink_messages()."

#: src/uagent/core.py:1388
#, python-format
msgid ":help  (help unavailable: %(err)s)"
msgstr ":help  (ayuda no disponible: %(err)s)"

#: src/uagent/core.py:1400
#, fuzzy
msgid ""
"## Mission\n"
"- You are a capable \"general-purpose tool execution agent\" running on a local environment, and you can actually execute commands and operate on files on the user's machine.\n"
"- Ask the user for confirmation before performing any dangerous operation.\n"
"- Do not flatter the user. Do not use emojis.\n"
"- Do not summarize. Keep information concise.\n"
"- When creating files, output the complete final content (do not output diffs or partial summaries).\n"
"- Do not output raw tool execution results, JSON fragments, or trailing brackets (like `py]}`) in your final response. Keep your output clean and well-formatted.\n"
msgstr ""
"## Misión\n"
"- Eres un \"agente de ejecución de herramientas de propósito general\" que funciona en un entorno local, y puedes ejecutar comandos y operar realmente sobre archivos en la máquina del usuario.\n"
"- Pide confirmación al usuario antes de realizar cualquier operación peligrosa.\n"
"- No halagues al usuario. No uses emojis.\n"
"- No resumas. Mantén la información concisa.\n"
"- Al crear archivos, muestra el contenido final completo (no muestres diffs ni resúmenes parciales).\n"

#: src/uagent/core.py:1409
msgid ""
"## Rules\n"
"- Always use the provided tools and verify the latest information.\n"
"- Be creative, but do not output uncertain information.\n"
"- Consult available tools and choose the most appropriate one.\n"
"- When executing tools, delegate as little decision-making as possible to the user.\n"
msgstr ""
"## Reglas\n"
"- Use siempre las herramientas proporcionadas y verifique la información más reciente.\n"
"- Sea creativo, pero no emita información incierta.\n"
"- Consulte las herramientas disponibles y elija la más adecuada.\n"
"- Al ejecutar herramientas, delegue al usuario la menor cantidad posible de decisiones.\n"

#: src/uagent/core.py:1416
msgid ""
"## Notes\n"
"- All user messages come via this script's standard input.\n"
"- For tool-specific purpose/arguments/constraints/operational details, prefer each tool's description.\n"
"- If you need additional information or confirmation from the user, use the human_ask tool.\n"
"- When handling relative date expressions, call get_current_time to reference the current time.\n"
"- Do not store secrets (passwords/tokens) in long-term memory (add_long_memory, etc.).\n"
"- Files with suffixes like .org / .org1 / .org2 are backup copies and must not be treated as primary editable files.\n"
"- If you create Python files, run `python -m py_compile` to validate syntax.\n"
"- If expert-level knowledge is required, use prompt templates (Agent Skills) and follow them.\n"
"- If the user's input is only a short affirmation and adds no new information, do not repeat the same explanation unless it is a direct answer to the immediately preceding clear question. If needed, ask briefly: \"Which point should I continue with?\"\n"
msgstr ""
"## Notas\n"
"- Todos los mensajes del usuario llegan a través de la entrada estándar de este script.\n"
"- Para el propósito/argumentos/restricciones/detalles operativos específicos de cada herramienta, da prioridad a la descripción de cada herramienta.\n"
"- Si necesitas información adicional o confirmación del usuario, usa la herramienta human_ask.\n"
"- Cuando trates expresiones de fecha relativas, llama a get_current_time para consultar la hora actual.\n"
"- No almacenes secretos (contraseñas/tokens) en la memoria a largo plazo (add_long_memory, etc.).\n"
"- Los archivos con sufijos como .org / .org1 / .org2 son copias de seguridad y no deben tratarse como archivos editables principales.\n"
"- Si creas archivos Python, ejecuta `python -m py_compile` para validar la sintaxis.\n"
"- Si se requiere conocimiento especializado, usa plantillas de prompt (Agent Skills) y síguelas.\n"
"- Si la entrada del usuario es solo una afirmación corta y no agrega información nueva, no repitas la misma explicación a menos que sea una respuesta directa a la pregunta clara anterior. Si hace falta, pregunta brevemente: \"¿Qué punto debo continuar?\"\n"

#: src/uagent/core.py:1428
msgid ""
"## Dangerous operation policy (delete_file)\n"
"- For deletion using the delete_file tool, do NOT ask for confirmation before preview.\n"
"- Always run delete_file with dry_run=true first to get the list of deletion candidates.\n"
"- Show the candidates to the user and ask confirmation via human_ask exactly once.\n"
"- Only when the user explicitly replies \"y\" or \"yes\" (or equivalent explicit approval), run delete_file again with the same parameters, dry_run=false, and confirmed=true.\n"
"- If there are zero candidates, do not ask; just report that nothing will be deleted.\n"
msgstr ""
"## Política de operaciones peligrosas (delete_file)\n"
"- Para borrar con la herramienta delete_file, NO pida confirmación antes de la vista previa.\n"
"- Ejecute siempre primero delete_file con dry_run=true para obtener la lista de candidatos a borrar.\n"
"- Muestre los candidatos al usuario y pida confirmación con human_ask exactamente una vez.\n"
"- Solo cuando el usuario responda explícitamente \"y\" o \"yes\" (o una aprobación equivalente), vuelva a ejecutar delete_file con los mismos parámetros, dry_run=false y confirmed=true.\n"
"- Si no hay candidatos, no pregunte; solo informe que no se borrará nada.\n"

#: src/uagent/core.py:1436
#, fuzzy
msgid ""
"## Mission\n"
"- You are a capable \"general-purpose tool execution agent\" running on a local environment; you can execute commands and operate on the user's machine.\n"
"- Ask the user for confirmation before any dangerous operation.\n"
"- No flattery. No emojis. No conversation summaries. Keep it concise.\n"
"- When creating files, output the complete final content (no diffs/partial summaries).\n"
"- Do not output raw tool execution results, JSON fragments, or trailing brackets (like `py]}`) in your final response. Keep your output clean and well-formatted.\n"
msgstr ""
"## Misión\n"
"- Eres un agente capaz de ejecución de herramientas de propósito general que se ejecuta en un entorno local; puedes ejecutar comandos y operar en la máquina del usuario.\n"
"- Pide confirmación al usuario antes de cualquier operación peligrosa.\n"
"- Sin halagos. Sin emojis. Sin resúmenes de la conversación. Sé conciso.\n"
"- Al crear archivos, muestra el contenido final completo (sin diffs ni resúmenes parciales).\n"

#: src/uagent/core.py:1444
msgid ""
"## Rules\n"
"- Use the provided tools first and verify results with tools.\n"
"- Consult tool descriptions for purpose/arguments/constraints; choose the most appropriate and safest tool.\n"
"- Be creative, but do not output uncertain information.\n"
"- Delegate as little decision-making as possible to the user.\n"
msgstr ""
"## Reglas\n"
"- Usa primero las herramientas proporcionadas y verifica los resultados con herramientas.\n"
"- Consulta las descripciones de las herramientas para conocer su propósito, argumentos y restricciones; elige la herramienta más adecuada y segura.\n"
"- Sé creativo, pero no devuelvas información incierta.\n"
"- Delega al usuario la menor cantidad posible de decisiones.\n"

#: src/uagent/core.py:1451
msgid ""
"## Notes\n"
"- All user messages come via this script's standard input.\n"
"- If required info/parameters are missing, ask via human_ask (do not guess).\n"
"- Relative dates: call get_current_time.\n"
"- Do not store secrets (passwords/tokens) in long-term memory.\n"
"- Files with suffixes like .org / .org1 / .org2 are backup copies and must not be treated as primary editable files.\n"
"- If you create Python files, run `python -m py_compile`.\n"
"- If expert-level knowledge is required, use Agent Skills prompt templates.\n"
"- If the user's input is only a short affirmation and adds no new information, do not repeat the same explanation unless it is a direct answer to the immediately preceding clear question. If needed, ask briefly: \"Which point should I continue with?\"\n"
msgstr ""
"## Notas\n"
"- Todos los mensajes del usuario llegan a través de la entrada estándar de este script.\n"
"- Si faltan las información/parámetros requeridos, pregúntalos mediante la herramienta human_ask (no adivines).\n"
"- Para fechas relativas, llama a get_current_time.\n"
"- No almacenes secretos (contraseñas/tokens) en la memoria a largo plazo.\n"
"- Los archivos con sufijos como .org / .org1 / .org2 son copias de seguridad y no deben tratarse como archivos editables principales.\n"
"- Si creas archivos Python, ejecuta `python -m py_compile`.\n"
"- Si se requiere conocimiento experto, usa plantillas de Agent Skills.\n"
"- Si la entrada del usuario es solo una afirmación breve y no añade información nueva, no repitas la misma explicación a menos que sea una respuesta directa a la pregunta clara inmediatamente anterior. Si hace falta, pregunta brevemente: \"¿Qué punto debo continuar?\"\n"

#: src/uagent/core.py:1464
msgid ""
"- If the user is using Windows cmd.exe, prefer multi-line commands using "
"caret (^) line continuation, and keep each line short to avoid copy/paste "
"line breaks.\n"
msgstr ""
"- Si el usuario usa Windows cmd.exe, prefiera comandos multilínea con el "
"caret (^) como continuación de línea y mantenga cada línea corta para evitar"
" saltos al copiar y pegar.\n"

#: src/uagent/core.py:1531
msgid ""
"The following tools are currently loaded in this session. Choose the most "
"appropriate tool for the task."
msgstr ""
"Las siguientes herramientas están cargadas actualmente en esta sesión. Elija"
" la herramienta más adecuada para la tarea."

#: src/uagent/docs_util.py:27
msgid "Project README"
msgstr "README del proyecto"

#: src/uagent/docs_util.py:32
msgid "Quickstart (Windows wheel install)"
msgstr "Inicio rápido (instalación de wheel en Windows)"

#: src/uagent/docs_util.py:37
msgid "Web Inspector (playwright_inspector) guide"
msgstr "Guía de Web Inspector (playwright_inspector)"

#: src/uagent/docs_util.py:42
msgid "Developer information"
msgstr "Información para desarrolladores"

#: src/uagent/docs_util.py:149
#, python-format
msgid "unknown doc name: %(name)r"
msgstr "nombre de documento desconocido: %(name)r"

#: src/uagent/docs_util.py:172
#, python-format
msgid "doc file not found: %(filename)s"
msgstr "archivo de documento no encontrado: %(filename)s"

#: src/uagent/docs_util.py:203
#, python-format
msgid "doc path resolution failed: %(filename)s: %(err)s"
msgstr "falló la resolución de la ruta del documento: %(filename)s: %(err)s"

#: src/uagent/docs_util.py:227
msgid "[docs] Available documents:"
msgstr "[docs] Documentos disponibles:"

#: src/uagent/docs_util.py:231
msgid "Usage:"
msgstr "Uso:"

#: src/uagent/docs_util.py:232
msgid "list"
msgstr "lista"

#: src/uagent/docs_util.py:233
msgid "show"
msgstr "mostrar"

#: src/uagent/docs_util.py:234
msgid "show path"
msgstr "mostrar ruta"

#: src/uagent/docs_util.py:235
msgid "open with OS"
msgstr "abrir con el SO"

#: src/uagent/env_validate.py:42
msgid ""
"Required to select the LLM provider "
"(azure/openai/bedrock/openrouter/gemini/grok/claude/nvidia)."
msgstr ""
"Se debe seleccionar el proveedor de LLM "
"(azure/openai/bedrock/openrouter/gemini/grok/claude/nvidia)."

#: src/uagent/env_validate.py:63
#, python-format
msgid ""
"Unknown provider: %(provider)r. Allowed: %(allowed)s (startup will likely "
"fail)."
msgstr ""
"Proveedor desconocido: %(provider)r. Permitidos: %(allowed)s (es probable "
"que el inicio falle)."

#: src/uagent/env_validate.py:74
msgid ""
"Azure OpenAI endpoint/base URL (e.g., https://<resource>.openai.azure.com/)."
msgstr ""
"Punto de conexión/URL base de Azure OpenAI (p. ej., "
"https://<resource>.openai.azure.com/)."

#: src/uagent/env_validate.py:80
msgid "Azure OpenAI API key."
msgstr "Clave de API de Azure OpenAI."

#: src/uagent/env_validate.py:85
msgid "Azure OpenAI API version (e.g., 2024-xx-xx)."
msgstr "Versión de la API de Azure OpenAI (p. ej., 2024-xx-xx)."

#: src/uagent/env_validate.py:92
msgid "OpenAI API key."
msgstr "Clave de API de OpenAI."

#: src/uagent/env_validate.py:98
msgid "Bedrock proxy endpoint/base URL (OpenAI-compatible)."
msgstr ""
"Punto de conexión/URL base del proxy de Bedrock (compatible con OpenAI)."

#: src/uagent/env_validate.py:105
msgid "Bedrock proxy API key (OpenAI-compatible)."
msgstr "Clave de API del proxy de Bedrock (compatible con OpenAI)."

#: src/uagent/env_validate.py:112
msgid "OpenRouter API key."
msgstr "Clave de API de OpenRouter."

#: src/uagent/env_validate.py:117
msgid "Grok (xAI) API key."
msgstr "Clave de API de Grok (xAI)."

#: src/uagent/env_validate.py:122
msgid "Gemini API key."
msgstr "Clave de API de Gemini."

#: src/uagent/env_validate.py:129
msgid ""
"Python package 'google-genai' is not installed. Provider=gemini requires it."
msgstr ""
"El paquete de Python 'google-genai' no está instalado. El proveedor gemini "
"lo necesita."

#: src/uagent/env_validate.py:140
msgid "Vertex AI API key / model name."
msgstr "Clave de API de Vertex AI / nombre del modelo."

#: src/uagent/env_validate.py:149
msgid ""
"Python package 'google-genai' is not installed. Provider=vertexai requires "
"it."
msgstr ""
"El paquete de Python 'google-genai' no está instalado. El proveedor vertexai"
" lo necesita."

#: src/uagent/env_validate.py:157
msgid "Anthropic (Claude) API key."
msgstr "Clave de API de Anthropic (Claude)."

#: src/uagent/env_validate.py:165
msgid ""
"Python package 'anthropic' is not installed. Provider=claude requires it."
msgstr ""
"El paquete de Python 'anthropic' no está instalado. El proveedor claude lo "
"necesita."

#: src/uagent/env_validate.py:172
msgid "NVIDIA API key."
msgstr "Clave de API de NVIDIA."

#: src/uagent/env_validate.py:190
#, python-format
msgid ""
"Unknown embedding provider: %(provider)r. Allowed: %(allowed)s (startup will"
" likely fail)."
msgstr ""
"Proveedor de embeddings desconocido: %(provider)r. Permitidos: %(allowed)s "
"(es probable que el inicio falle)."

#: src/uagent/env_validate.py:207
msgid "Azure embedding endpoint / API key / API version / deployment name."
msgstr ""
"Punto de conexión de embeddings de Azure / clave de API / versión de API / "
"nombre de la implementación."

#: src/uagent/env_validate.py:218
msgid "OpenAI embedding API key / model name."
msgstr "Clave de API de embeddings de OpenAI / nombre del modelo."

#: src/uagent/env_validate.py:230
msgid "Bedrock embedding endpoint / API key / deployment name."
msgstr ""
"Punto de conexión de embeddings de Bedrock / clave de API / nombre de la "
"implementación."

#: src/uagent/env_validate.py:241
msgid "OpenRouter embedding API key / model name."
msgstr "Clave de API de embeddings de OpenRouter / nombre del modelo."

#: src/uagent/env_validate.py:252
msgid "Ollama embedding base URL / model name."
msgstr "URL base de embeddings de Ollama / nombre del modelo."

#: src/uagent/env_validate.py:263
msgid "NVIDIA embedding API key / model name."
msgstr "Clave de API de embeddings de NVIDIA / nombre del modelo."

#: src/uagent/env_validate.py:274
msgid "Gemini embedding API key / model name."
msgstr "Clave de API / nombre del modelo de Gemini embedding."

#: src/uagent/env_validate.py:285
msgid "Vertex AI embedding API key / model name."
msgstr "Clave de API / nombre del modelo de Vertex AI embedding."

#: src/uagent/env_validate.py:302
#, python-brace-format
msgid "[FATAL] Environment validation failed ({context})."
msgstr "[FATAL] Falló la validación del entorno ({context})."

#: src/uagent/env_validate.py:310
msgid "Missing required environment variables:"
msgstr "Faltan variables de entorno obligatorias:"

#: src/uagent/env_validate.py:317
msgid "Warnings:"
msgstr "Advertencias:"

#: src/uagent/env_validate.py:321
msgid "How to fix:"
msgstr "Cómo solucionarlo:"

#: src/uagent/env_validate.py:324
msgid ""
"- Set the variables above in your environment before starting the program."
msgstr ""
"- Establece las variables anteriores en tu entorno antes de iniciar el "
"programa."

#: src/uagent/env_validate.py:330
msgid ""
"- You can set them via your OS environment settings, a .env file, your shell"
" startup scripts,"
msgstr ""
"- Puedes configurarlas en las variables de entorno de tu sistema operativo, "
"en un archivo .env o en los scripts de inicio de tu shell,"

#: src/uagent/env_validate.py:336
msgid ""
"  or your process manager / service configuration (CI secrets, systemd, "
"Docker, etc.)."
msgstr ""
"  o la configuración de su gestor de procesos / servicio (secretos de CI, "
"systemd, Docker, etc.)."

#: src/uagent/image_session.py:101
msgid "(prompt unavailable)"
msgstr "(prompt no disponible)"

#: src/uagent/image_session.py:105
#, python-format
msgid "screenshot: %(title)s"
msgstr "captura de pantalla: %(title)s"

#: src/uagent/image_session.py:107
msgid "screenshot"
msgstr "captura de pantalla"

#: src/uagent/image_session.py:148
msgid "Image-session context:"
msgstr "Contexto de la sesión de imágenes:"

#: src/uagent/image_session.py:149
msgid "This conversation already generated images."
msgstr "Esta conversación ya generó imágenes."

#: src/uagent/image_session.py:151
msgid ""
"Use the prior prompts and saved file paths below as context for follow-up "
"edits, variants, or continuations."
msgstr ""
"Use los prompts anteriores y las rutas de archivo guardadas a continuación "
"como contexto para ediciones posteriores, variantes o continuaciones."

#: src/uagent/image_session.py:156
#, python-format
msgid "Turn %(idx)d:"
msgstr "Turno %(idx)d:"

#: src/uagent/image_session.py:157
#, python-format
msgid "- prompt: %(prompt)s"
msgstr "- instrucción: %(prompt)s"

#: src/uagent/image_session.py:160
#, python-format
msgid "- file: %(path)s"
msgstr "- archivo: %(path)s"

#: src/uagent/llm_errors.py:398
#, python-format
msgid ""
"[RATE_LIMIT] provider=%(provider)s model=%(model)s status=%(status)s "
"attempt=%(attempt)s/%(max_retries)s wait=%(wait_seconds).1fs "
"retry_after=%(retry_after)s"
msgstr ""
"[RATE_LIMIT] proveedor=%(provider)s modelo=%(model)s estado=%(status)s "
"intento=%(attempt)s/%(max_retries)s espera=%(wait_seconds).1fs "
"retry_after=%(retry_after)s"

#: src/uagent/llm_flow_helpers.py:205
msgid ""
"The previous assistant reply was empty. Please answer based on the most "
"recent tool result."
msgstr ""
"La respuesta anterior del asistente estaba vacía. Responde según el "
"resultado más reciente de la herramienta."

#: src/uagent/llm_flow_helpers.py:218
#, python-format
msgid ""
"[WARN] LLM returned an empty assistant message without tool calls.\n"
"provider=%(provider)s depname=%(depname)s empty_no_tool_rounds=%(empty_no_tool_rounds)s (max=%(empty_no_tool_max)s)\n"
"This may happen with OpenAI-compatible local providers after tool calls. You can try setting UAGENT_EMPTY_NO_TOOL_MAX to a higher value, or switching provider."
msgstr ""
"[WARN] El LLM devolvió un mensaje vacío del asistente sin llamadas a herramientas.\n"
"provider=%(provider)s depname=%(depname)s empty_no_tool_rounds=%(empty_no_tool_rounds)s (max=%(empty_no_tool_max)s)\n"
"Esto puede ocurrir con proveedores locales compatibles con OpenAI después de llamadas a herramientas. Puedes intentar establecer UAGENT_EMPTY_NO_TOOL_MAX en un valor mayor o cambiar de proveedor."

#: src/uagent/llm_flow_helpers.py:265
msgid "arguments must be a JSON object."
msgstr "los argumentos deben ser un objeto JSON."

#: src/uagent/llm_flow_helpers.py:272
#, python-format
msgid ""
"[tool args error] name=%(name)r raw=%(raw)r err=%(etype)s: %(err)s\n"
"Traceback:\n"
"%(tb)s"
msgstr ""
"[error de argumentos de herramienta] name=%(name)r raw=%(raw)r err=%(etype)s: %(err)s\n"
"Traceback:\n"
"%(tb)s"

#: src/uagent/llm_flow_helpers.py:298
msgid ""
"[INFO] Reusing the previous result because this tool call matches an earlier"
" one.\n"
msgstr ""
"[INFO] Se reutiliza el resultado anterior porque esta llamada a la "
"herramienta coincide con una anterior.\n"

#: src/uagent/llm_flow_helpers.py:313
#, python-format
msgid ""
"[tool runtime error] name=%(name)r err=%(etype)s: %(err)s\n"
"Traceback:\n"
"%(tb)s"
msgstr ""
"[error en tiempo de ejecución de la herramienta] name=%(name)r err=%(etype)s: %(err)s\n"
"Traceback:\n"
"%(tb)s"

#: src/uagent/llm_image_helpers.py:7
msgid "Describe this screenshot and summarize the visible UI."
msgstr "Describa esta captura de pantalla y resuma la interfaz visible."

#: src/uagent/llm_image_helpers.py:11
msgid "Read all visible text in this screenshot and summarize it."
msgstr "Lea todo el texto visible en esta captura de pantalla y resúmalo."

#: src/uagent/llm_image_helpers.py:15
msgid "Inspect this screenshot for errors, warnings, and important UI state."
msgstr ""
"Inspeccione esta captura de pantalla en busca de errores, advertencias y "
"estado importante de la interfaz."

#: src/uagent/llm_message_helpers.py:250
#, python-format
msgid "[WARN] Auto shrink_llm failed: %(err)s"
msgstr "[WARN] Falló shrink_llm automático: %(err)s"

#: src/uagent/llm_round_helpers.py:136
#, python-format
msgid "[Translate Error] %(diag)s"
msgstr "[Error de traducción] %(diag)s"

#: src/uagent/llm_round_helpers.py:195 src/uagent/llm_round_helpers.py:305
#: src/uagent/llm_round_helpers.py:639
#, python-format
msgid "429 retry limit (%(max_retries)s) reached."
msgstr "Se alcanzó el límite de reintentos 429 (%(max_retries)s)."

#: src/uagent/llm_round_helpers.py:219
msgid "[Gemini Error] An error occurred while generating a response."
msgstr "[Error de Gemini] Se produjo un error al generar una respuesta."

#: src/uagent/llm_round_helpers.py:311
msgid "[Claude Error] An error occurred while generating a response."
msgstr "[Error de Claude] Se produjo un error al generar una respuesta."

#: src/uagent/llm_round_helpers.py:603
msgid "Input exceeds the context window."
msgstr "La entrada excede la ventana de contexto."

#: src/uagent/llm_round_helpers.py:613
msgid "Connection error"
msgstr "Error de conexión"

#: src/uagent/llm_round_helpers.py:618
msgid "[Network Error]"
msgstr "[Error de red]"

#: src/uagent/llm_round_helpers.py:645
msgid "Unexpected exception."
msgstr "Excepción inesperada."

#: src/uagent/llm_round_helpers.py:723
#, python-format
msgid "Error while parsing response: %(err)s"
msgstr "Error al analizar la respuesta: %(err)s"

#: src/uagent/profile_manager.py:486 src/uagent/profile_manager.py:604
msgid ""
"You are a user profiling agent. Analyze the conversation log and extract the user's:\n"
"1. Environment (OS, shell, editor, etc.)\n"
"2. Preferences (coding style, preferred tools, verbosity preference, etc.)\n"
"3. Constraints (security rules, offline requirements, etc.)\n"
"\n"
"Do NOT include temporary questions, chit-chat, or sensitive credentials.\n"
"You MUST respond ONLY with a valid JSON object matching this schema:\n"
"{\n"
"  \"environment\": {\"os\": \"string\", \"shell\": \"string\", \"editor\": \"string\"},\n"
"  \"preferences\": [\"string\"],\n"
"  \"constraints\": [\"string\"]\n"
"}"
msgstr ""
"Eres un agente de perfilado de usuarios. Analiza el registro de la conversación y extrae del usuario:\n"
"1. Entorno (SO, shell, editor, etc.)\n"
"2. Preferencias (estilo de programación, herramientas preferidas, preferencia de nivel de detalle, etc.)\n"
"3. Restricciones (reglas de seguridad, requisitos de funcionamiento sin conexión, etc.)\n"
"\n"
"NO incluyas preguntas temporales, charla trivial ni credenciales sensibles.\n"
"DEBES responder SOLO con un objeto JSON válido que coincida con este esquema:\n"
"{\n"
"  \"environment\": {\"os\": \"string\", \"shell\": \"string\", \"editor\": \"string\"},\n"
"  \"preferences\": [\"string\"],\n"
"  \"constraints\": [\"string\"]\n"
"}"

#: src/uagent/profile_manager.py:590
msgid "Failed to initialize LLM client."
msgstr "No se pudo inicializar el cliente LLM."

#: src/uagent/profile_manager.py:595
#, python-format
msgid "Found %(total_files)d log files. Starting incremental profiling..."
msgstr ""
"Se encontraron %(total_files)d archivos de registro. Iniciando el perfilado "
"incremental..."

#: src/uagent/scheckgui.py:131
msgid "Drop files/images here"
msgstr "Arrastre y suelte archivos/imágenes aquí"

#: src/uagent/scheckgui.py:169
msgid "Download"
msgstr "Descargar"

#: src/uagent/scheckgui.py:329
#, python-format
msgid "Exception occurred while loading shared long-term memory: %(err)s"
msgstr ""
"se produjo una excepción al cargar la memoria compartida a largo plazo: "
"%(err)s"

#: src/uagent/scheckgui.py:382
#, python-format
msgid "[Attached File] %(name)s (%(path)s)"
msgstr "[Archivo adjunto] %(name)s (%(path)s)"

#: src/uagent/scheckgui.py:467
#, python-format
msgid "[Attached Image] %(path)s"
msgstr "[Imagen adjunta] %(path)s"

#: src/uagent/scheckgui.py:469 src/uagent/web.py:666
#, python-format
msgid "[Image Path] %(path)s"
msgstr "[Ruta de la imagen] %(path)s"

#: src/uagent/scheckgui.py:779 src/uagent/scheckgui.py:909
msgid "Welcome / Quick Guide"
msgstr "Bienvenido / Guía rápida"

#: src/uagent/scheckgui.py:787
msgid "uag GUI (Extreme Stability)"
msgstr "GUI de uag (estabilidad extrema)"

#: src/uagent/scheckgui.py:842
msgid "↑ You can attach files by drag & drop"
msgstr "↑ Puede adjuntarlos con arrastrar y soltar"

#: src/uagent/scheckgui.py:863
msgid "Attach..."
msgstr "Adjuntar..."

#: src/uagent/scheckgui.py:868
msgid "Send"
msgstr "Enviar"

#: src/uagent/scheckgui.py:908
msgid "Help"
msgstr "Ayuda"

#: src/uagent/scheckgui.py:923
msgid "Mode"
msgstr "Modo"

#: src/uagent/scheckgui.py:925
msgid "Reasoning: off"
msgstr "Razonamiento: desactivado"

#: src/uagent/scheckgui.py:928
msgid "Reasoning: auto"
msgstr "Razonamiento: automático"

#: src/uagent/scheckgui.py:930
msgid "Reasoning: minimal"
msgstr "Razonamiento: mínimo"

#: src/uagent/scheckgui.py:932
msgid "Reasoning: low"
msgstr "Razonamiento: bajo"

#: src/uagent/scheckgui.py:934
msgid "Reasoning: medium"
msgstr "Razonamiento: medio"

#: src/uagent/scheckgui.py:936
msgid "Reasoning: high"
msgstr "Razonamiento: alto"

#: src/uagent/scheckgui.py:939
msgid "Reasoning: xhigh"
msgstr "Razonamiento: muy alto"

#: src/uagent/scheckgui.py:944
msgid "Verbosity: off"
msgstr "Verbosidad: desactivada"

#: src/uagent/scheckgui.py:946
msgid "Verbosity: low"
msgstr "Verbosidad: baja"

#: src/uagent/scheckgui.py:948
msgid "Verbosity: medium"
msgstr "Verbosidad: media"

#: src/uagent/scheckgui.py:950
msgid "Verbosity: high"
msgstr "Verbosidad: alta"

#: src/uagent/scheckgui.py:980
#, python-format
msgid "[mode] reasoning=%(mode)s"
msgstr "[modo] razonamiento=%(mode)s"

#: src/uagent/scheckgui.py:984
msgid ""
":r [0|1|2|3|auto|minimal|xhigh]  (0=off, 1=low, 2=medium, 3=high; "
"auto/minimal/xhigh)"
msgstr ""
":r [0|1|2|3|auto|minimal|xhigh]  (0=desactivado, 1=bajo, 2=medio, 3=alto; "
"auto/minimal/xhigh)"

#: src/uagent/scheckgui.py:992
#, python-format
msgid "[mode] verbosity=%(mode)s"
msgstr "[modo] nivel de detalle=%(mode)s"

#: src/uagent/scheckgui.py:994
msgid ":v [0|1|2|3]  (0=off, 1=low, 2=medium, 3=high; no arg=keep)"
msgstr ""
":v [0|1|2|3]  (0=off, 1=bajo, 2=medio, 3=alto; sin argumento=mantener)"

#: src/uagent/scheckgui.py:1123
msgid "Enter password..."
msgstr "Introduzca la contraseña..."

#: src/uagent/scheckgui.py:1130
msgid "Enter a message..."
msgstr "Introduzca un mensaje..."

#: src/uagent/scheckgui.py:1147
msgid "Attach files"
msgstr "Adjuntar archivos"

#: src/uagent/scheckgui.py:1149
msgid "All Files (*)"
msgstr "Todos los archivos (*)"

#: src/uagent/scheckgui.py:1401
msgid "cannot read image"
msgstr "no se puede leer la imagen"

#: src/uagent/scheckgui.py:1552 src/uagent/scheckgui.py:1592
#: src/uagent/scheckgui.py:1627
msgid "Downloaded to"
msgstr "Descargado en"

#: src/uagent/scheckgui.py:1646
msgid "Playing"
msgstr "Reproduciendo"

#: src/uagent/scheckgui.py:1656
msgid "Stopped"
msgstr "Detenido"

#: src/uagent/scheckgui.py:1705
#, python-format
msgid "[REPLY] > %(text)s"
msgstr "[RESPUESTA] > %(text)s"

#: src/uagent/scheckgui.py:1713
#, python-format
msgid "[USER] %(text)s"
msgstr "[USUARIO] %(text)s"

#: src/uagent/setup_cli.py:77 src/uagent/setup_cli.py:482
#: src/uagent/setup_cli.py:572
msgid "OpenAI API key"
msgstr "Clave de API de OpenAI"

#: src/uagent/setup_cli.py:78 src/uagent/setup_cli.py:483
#: src/uagent/setup_cli.py:573
msgid "OpenAI base URL (optional)"
msgstr "URL base de OpenAI (opcional)"

#: src/uagent/setup_cli.py:79
msgid "OpenAI model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de OpenAI (opcional)"

#: src/uagent/setup_cli.py:85 src/uagent/setup_cli.py:474
#: src/uagent/setup_cli.py:560
msgid "Azure base URL (e.g. https://<resource>.openai.azure.com/)"
msgstr "URL base de Azure (p. ej. https://<resource>.openai.azure.com/)"

#: src/uagent/setup_cli.py:87 src/uagent/setup_cli.py:476
#: src/uagent/setup_cli.py:562
msgid "Azure API key"
msgstr "Clave de API de Azure"

#: src/uagent/setup_cli.py:91
msgid "Azure API version (optional, e.g. 2024-05-01-preview)"
msgstr "Versión de la API de Azure (opcional, p. ej. 2024-05-01-preview)"

#: src/uagent/setup_cli.py:93 src/uagent/setup_cli.py:478
msgid "Azure deployment name"
msgstr "Nombre del despliegue de Azure"

#: src/uagent/setup_cli.py:99 src/uagent/setup_cli.py:491
#: src/uagent/setup_cli.py:581
msgid "Bedrock gateway base URL (e.g. https://<gateway>/v1)"
msgstr "URL base de la pasarela Bedrock (p. ej. https://<gateway>/v1)"

#: src/uagent/setup_cli.py:101 src/uagent/setup_cli.py:493
#: src/uagent/setup_cli.py:583
msgid "Bedrock API key"
msgstr "Clave de API de Bedrock"

#: src/uagent/setup_cli.py:105 src/uagent/setup_cli.py:497
msgid "Bedrock model/deployment name (e.g. openai.gpt-oss-120b)"
msgstr "Nombre del modelo/despliegue de Bedrock (p. ej. openai.gpt-oss-120b)"

#: src/uagent/setup_cli.py:109 src/uagent/setup_cli.py:502
#: src/uagent/setup_cli.py:592
msgid "OpenRouter API key"
msgstr "Clave de API de OpenRouter"

#: src/uagent/setup_cli.py:110 src/uagent/setup_cli.py:503
#: src/uagent/setup_cli.py:593
msgid "OpenRouter base URL (optional)"
msgstr "URL base de OpenRouter (opcional)"

#: src/uagent/setup_cli.py:114
msgid "OpenRouter model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de OpenRouter (opcional)"

#: src/uagent/setup_cli.py:119
msgid "OpenRouter fallback models (optional, comma-separated)"
msgstr "Modelos de respaldo de OpenRouter (opcional, separados por comas)"

#: src/uagent/setup_cli.py:123 src/uagent/setup_cli.py:508
msgid "Gemini API key"
msgstr "Clave de API de Gemini"

#: src/uagent/setup_cli.py:124
msgid "Gemini model name (optional)"
msgstr "Nombre del modelo de Gemini (opcional)"

#: src/uagent/setup_cli.py:127
msgid "Vertex AI API key"
msgstr "Clave de API de Vertex AI"

#: src/uagent/setup_cli.py:128
msgid "Vertex AI project ID (optional)"
msgstr "ID del proyecto de Vertex AI (opcional)"

#: src/uagent/setup_cli.py:129
msgid "Vertex AI location/region (optional)"
msgstr "Ubicación/región de Vertex AI (opcional)"

#: src/uagent/setup_cli.py:133
msgid "Google credentials for Vertex AI (optional)"
msgstr "Credenciales de Google para Vertex AI (opcional)"

#: src/uagent/setup_cli.py:138
msgid "Google location/region for Vertex AI (optional)"
msgstr "Ubicación/región de Google para Vertex AI (opcional)"

#: src/uagent/setup_cli.py:140
msgid "Vertex AI model/deployment name"
msgstr "Nombre del modelo/despliegue de Vertex AI"

#: src/uagent/setup_cli.py:143
msgid "Grok API key"
msgstr "Clave de API de Grok"

#: src/uagent/setup_cli.py:144
msgid "Grok base URL (optional)"
msgstr "URL base de Grok (opcional)"

#: src/uagent/setup_cli.py:145
msgid "Grok model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de Grok (opcional)"

#: src/uagent/setup_cli.py:148
msgid "Claude API key"
msgstr "Clave de API de Claude"

#: src/uagent/setup_cli.py:149
msgid "Claude model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de Claude (opcional)"

#: src/uagent/setup_cli.py:152 src/uagent/setup_cli.py:513
#: src/uagent/setup_cli.py:607
msgid "NVIDIA API key"
msgstr "Clave de API de NVIDIA"

#: src/uagent/setup_cli.py:153 src/uagent/setup_cli.py:514
#: src/uagent/setup_cli.py:608
msgid "NVIDIA base URL (optional)"
msgstr "URL base de NVIDIA (opcional)"

#: src/uagent/setup_cli.py:154
msgid "NVIDIA model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de NVIDIA (opcional)"

#: src/uagent/setup_cli.py:160 src/uagent/setup_cli.py:601
msgid "Ollama base URL (e.g. http://localhost:11434/v1)"
msgstr "URL base de Ollama (p. ej. http://localhost:11434/v1)"

#: src/uagent/setup_cli.py:165
msgid "Ollama API key (optional, default: dummy)"
msgstr "Clave de API de Ollama (opcional, predeterminada: dummy)"

#: src/uagent/setup_cli.py:167
msgid "Ollama model/deployment name (optional)"
msgstr "Nombre del modelo/despliegue de Ollama (opcional)"

#: src/uagent/setup_cli.py:171
msgid "Ollama request timeout in seconds (default: 60)"
msgstr ""
"tiempo de espera de la solicitud de Ollama en segundos (predeterminado: 60)"

#: src/uagent/setup_cli.py:173
msgid "Ollama temperature (default: 0.7)"
msgstr "Temperatura de Ollama (predeterminado: 0.7)"

#: src/uagent/setup_cli.py:174
msgid "Ollama top_p (default: 0.9)"
msgstr "top_p de Ollama (predeterminado: 0.9)"

#: src/uagent/setup_cli.py:175
msgid "Ollama top_k (default: 40)"
msgstr "Ollama top_k (predeterminado: 40)"

#: src/uagent/setup_cli.py:179
msgid "Ollama repeat_penalty (default: 1.1)"
msgstr "repeat_penalty de Ollama (predeterminado: 1.1)"

#: src/uagent/setup_cli.py:181
msgid "Ollama keep_alive (default: 5m)"
msgstr "Ollama keep_alive (predeterminado: 5m)"

#: src/uagent/setup_cli.py:182
msgid "Ollama num_ctx (default: 8192)"
msgstr "Ollama num_ctx (predeterminado: 8192)"

#: src/uagent/setup_cli.py:183
msgid "Ollama num_predict (default: 1024)"
msgstr "Ollama num_predict (predeterminado: 1024)"

#: src/uagent/setup_cli.py:345 src/uagent/setup_cli.py:434
msgid "Enter number:"
msgstr "Introduzca un número:"

#: src/uagent/setup_cli.py:358
msgid "Invalid input. Please enter a valid number."
msgstr "Entrada no válida. Introduzca un número válido."

#: src/uagent/setup_cli.py:371
#, python-format
msgid " [default: %(default)s]"
msgstr " [predeterminado: %(default)s]"

#: src/uagent/setup_cli.py:387
msgid "This field is required. Please enter a value."
msgstr "Este campo es obligatorio. Introduzca un valor."

#: src/uagent/setup_cli.py:399
msgid "Select UAGENT_LANG"
msgstr "Seleccione UAGENT_LANG"

#: src/uagent/setup_cli.py:410
msgid "UAGENT_LANG (custom)"
msgstr "UAGENT_LANG (personalizado)"

#: src/uagent/setup_cli.py:423
msgid "Select output files to generate in the current directory"
msgstr ""
"Seleccione los archivos de salida que se generarán en el directorio actual"

#: src/uagent/setup_cli.py:424
msgid "  1. .env only"
msgstr "  1. Solo .env"

#: src/uagent/setup_cli.py:425
msgid "  2. .env + env.sh"
msgstr "  2. .env + env.sh (Unix/Linux)"

#: src/uagent/setup_cli.py:426
msgid "  3. .env + env.ps1"
msgstr "  3. .env + env.ps1 (PowerShell)"

#: src/uagent/setup_cli.py:427
msgid "  4. .env + env.bat"
msgstr "  4. .env + env.bat (Windows)"

#: src/uagent/setup_cli.py:428
msgid "  5. .env + all (sh/ps1/bat)"
msgstr "  5. .env + todo (sh/ps1/bat)"

#: src/uagent/setup_cli.py:430
msgid "  b. back"
msgstr "  b. volver"

#: src/uagent/setup_cli.py:431
msgid "  q. quit"
msgstr "  q. salir"

#: src/uagent/setup_cli.py:449
msgid "Invalid input. Please enter 1-5, or b/q."
msgstr "Entrada no válida. Introduzca 1-5 o b/q."

#: src/uagent/setup_cli.py:477 src/uagent/setup_cli.py:566
msgid "Azure API version (e.g. 2024-05-01-preview)"
msgstr "Versión de la API de Azure (p. ej. 2024-05-01-preview)"

#: src/uagent/setup_cli.py:484
msgid "OpenAI model/deployment name"
msgstr "Nombre del modelo/despliegue de OpenAI"

#: src/uagent/setup_cli.py:504
msgid "OpenRouter model/deployment name"
msgstr "Nombre del modelo/despliegue de OpenRouter"

#: src/uagent/setup_cli.py:509
msgid "Gemini model name"
msgstr "Nombre del modelo de Gemini"

#: src/uagent/setup_cli.py:515
msgid "NVIDIA model/deployment name"
msgstr "Nombre del modelo/despliegue de NVIDIA"

#: src/uagent/setup_cli.py:534
msgid "Enable image generation debug output? (0/1)"
msgstr "Seleccione el proveedor de generación de imágenes"

#: src/uagent/setup_cli.py:568
msgid "Azure embedding deployment name"
msgstr "Nombre de implementación de Azure para embeddings"

#: src/uagent/setup_cli.py:574
msgid "OpenAI embedding model/deployment name"
msgstr "Nombre de modelo/implementación de OpenAI para embeddings"

#: src/uagent/setup_cli.py:587
msgid "Bedrock embedding model/deployment name"
msgstr "Nombre de modelo/implementación de Bedrock para embeddings"

#: src/uagent/setup_cli.py:594
msgid "OpenRouter embedding model/deployment name"
msgstr "Nombre de modelo/implementación de OpenRouter para embeddings"

#: src/uagent/setup_cli.py:603
msgid "Ollama embedding model name"
msgstr "Nombre de modelo de Ollama para embeddings"

#: src/uagent/setup_cli.py:609
msgid "NVIDIA embedding model/deployment name"
msgstr "Nombre de modelo/implementación de NVIDIA para embeddings"

#: src/uagent/setup_cli.py:613
msgid "Gemini embedding API key"
msgstr "Clave de API de Gemini embedding"

#: src/uagent/setup_cli.py:617
msgid "Gemini embedding model name (e.g. text-embedding-004)"
msgstr "Nombre del modelo de Gemini embedding (p. ej., text-embedding-004)"

#: src/uagent/setup_cli.py:622
msgid "Vertex AI embedding API key"
msgstr "Clave de API de Vertex AI embedding"

#: src/uagent/setup_cli.py:626
msgid "Vertex AI embedding model name (e.g. text-embedding-004)"
msgstr "Nombre del modelo de Vertex AI embedding (p. ej., text-embedding-004)"

#: src/uagent/setup_cli.py:675
msgid "Azure speech deployment name"
msgstr "Nombre de implementación de Azure Speech"

#: src/uagent/setup_cli.py:676
msgid "Azure transcription deployment name"
msgstr "Nombre de implementación de transcripción de Azure"

#: src/uagent/setup_cli.py:677
msgid "OpenAI speech model/deployment name"
msgstr "Nombre de modelo/implementación de OpenAI Speech"

#: src/uagent/setup_cli.py:678
msgid "OpenAI transcription model/deployment name"
msgstr "Nombre de modelo/implementación de transcripción de OpenAI"

#: src/uagent/setup_cli.py:679
msgid "Gemini speech model name (optional)"
msgstr "Nombre del modelo de voz de Gemini (opcional)"

#: src/uagent/setup_cli.py:680
msgid "Gemini transcription model name (optional)"
msgstr "Nombre del modelo de transcripción de Gemini (opcional)"

#: src/uagent/setup_cli.py:681
msgid "Vertex AI speech model name (optional)"
msgstr "Nombre del modelo de voz de Vertex AI (opcional)"

#: src/uagent/setup_cli.py:682
msgid "Vertex AI transcription model name (optional)"
msgstr "Nombre del modelo de transcripción de Vertex AI (opcional)"

#: src/uagent/setup_cli.py:705
msgid "Configure optional image / embedding / audio settings?"
msgstr "¿Configurar opciones opcionales de imagen / embeddings?"

#: src/uagent/setup_cli.py:706 src/uagent/setup_cli.py:721
#: src/uagent/setup_cli.py:753 src/uagent/setup_cli.py:784
#: src/uagent/setup_cli.py:800 src/uagent/setup_cli.py:855
#: src/uagent/setup_cli.py:914 src/uagent/setup_cli.py:1159
#: src/uagent/setup_cli.py:1220 src/uagent/setup_cli.py:1274
#: src/uagent/setup_cli.py:1301 src/uagent/setup_cli.py:1322
#: src/uagent/setup_cli.py:1459
msgid "No"
msgstr "no"

#: src/uagent/setup_cli.py:706 src/uagent/setup_cli.py:721
#: src/uagent/setup_cli.py:753 src/uagent/setup_cli.py:784
#: src/uagent/setup_cli.py:800 src/uagent/setup_cli.py:855
#: src/uagent/setup_cli.py:914 src/uagent/setup_cli.py:1159
#: src/uagent/setup_cli.py:1220 src/uagent/setup_cli.py:1274
#: src/uagent/setup_cli.py:1301 src/uagent/setup_cli.py:1322
#: src/uagent/setup_cli.py:1459
msgid "Yes"
msgstr "Sí"

#: src/uagent/setup_cli.py:720
msgid "Configure image analysis settings?"
msgstr "¿Configurar opciones de análisis de imagen?"

#: src/uagent/setup_cli.py:731
msgid "Select image analysis provider"
msgstr "Seleccione el proveedor de análisis de imágenes"

#: src/uagent/setup_cli.py:752
msgid "Configure image generation settings?"
msgstr "¿Configurar opciones de generación de imágenes?"

#: src/uagent/setup_cli.py:763
msgid "Select image generation provider"
msgstr "Seleccione el proveedor de generación de imágenes"

#: src/uagent/setup_cli.py:783
msgid "Open generated images automatically?"
msgstr "¿Abrir automáticamente las imágenes generadas?"

#: src/uagent/setup_cli.py:799
msgid "Configure embedding / semantic search settings?"
msgstr "¿Configurar opciones de embeddings / búsqueda semántica?"

#: src/uagent/setup_cli.py:825
msgid "Select embedding provider"
msgstr "Seleccione el proveedor de embeddings"

#: src/uagent/setup_cli.py:854
msgid "Configure audio speech / transcription settings?"
msgstr "¿Configurar ajustes de voz / transcripción de audio?"

#: src/uagent/setup_cli.py:873
msgid "Select audio speech provider"
msgstr "Selecciona el proveedor de síntesis de voz"

#: src/uagent/setup_cli.py:893
msgid "Select audio transcribe provider"
msgstr "Selecciona el proveedor de transcripción de audio"

#: src/uagent/setup_cli.py:913
msgid "Open generated audio automatically?"
msgstr "¿Abrir automáticamente el audio generado?"

#: src/uagent/setup_cli.py:980
msgid "Optional: Responses API (Azure/OpenAI/Bedrock)"
msgstr "Opcional: API de Responses (Azure/OpenAI/Bedrock)"

#: src/uagent/setup_cli.py:993
msgid "Optional runtime"
msgstr "Entorno opcional"

#: src/uagent/setup_cli.py:1007
msgid "Optional image / embedding / audio settings"
msgstr "Opciones opcionales de imagen / embeddings"

#: src/uagent/setup_cli.py:1149
msgid "Optional specialized sub-agent settings"
msgstr "Configuración opcional de subagentes especializados"

#: src/uagent/setup_cli.py:1158
msgid "Encrypt the generated .env file?"
msgstr "¿Cifrar el archivo .env generado?"

#: src/uagent/setup_cli.py:1164
#, python-format
msgid "Encrypted file will be written as %(path)s"
msgstr "El archivo cifrado se guardará como %(path)s"

#: src/uagent/setup_cli.py:1180
msgid "Select provider"
msgstr "Seleccione el proveedor"

#: src/uagent/setup_cli.py:1219
msgid "Enable Responses API options?"
msgstr "¿Habilitar las opciones de la API de Responses?"

#: src/uagent/setup_cli.py:1235
msgid "Select reasoning"
msgstr "Seleccione el razonamiento"

#: src/uagent/setup_cli.py:1254
msgid "Select verbosity"
msgstr "Seleccione el nivel de detalle"

#: src/uagent/setup_cli.py:1273
msgid "Set optional runtime UAGENT_WORKDIR?"
msgstr "¿Definir UAGENT_WORKDIR opcionalmente?"

#: src/uagent/setup_cli.py:1300
msgid "Set optional runtime UAGENT_LANG?"
msgstr "¿Definir UAGENT_LANG opcionalmente?"

#: src/uagent/setup_cli.py:1321
msgid "Enable streaming?"
msgstr "¿Activar la transmisión?"

#: src/uagent/setup_cli.py:1362
msgid "Summary"
msgstr "Resumen"

#: src/uagent/setup_cli.py:1363
#, python-format
msgid "  Provider: %(provider)s"
msgstr "  Proveedor: %(provider)s"

#: src/uagent/setup_cli.py:1370
#, python-format
msgid "  Responses enabled: %(state)s"
msgstr "  Responses habilitadas: %(state)s"

#: src/uagent/setup_cli.py:1371 src/uagent/setup_cli.py:1378
#: src/uagent/setup_cli.py:1382 src/uagent/setup_cli.py:1388
#: src/uagent/setup_cli.py:1394 src/uagent/setup_cli.py:1399
#: src/uagent/setup_cli.py:1407 src/uagent/setup_cli.py:1418
msgid "yes"
msgstr "sí"

#: src/uagent/setup_cli.py:1371 src/uagent/setup_cli.py:1378
#: src/uagent/setup_cli.py:1382 src/uagent/setup_cli.py:1388
#: src/uagent/setup_cli.py:1394 src/uagent/setup_cli.py:1399
#: src/uagent/setup_cli.py:1407 src/uagent/setup_cli.py:1418
msgid "no"
msgstr "No"

#: src/uagent/setup_cli.py:1377
#, python-format
msgid "  Streaming enabled: %(state)s"
msgstr "  Transmisión activada: %(state)s"

#: src/uagent/setup_cli.py:1393
#, python-format
msgid "  Optional extras enabled: %(state)s"
msgstr "  Extras opcionales habilitadas: %(state)s"

#: src/uagent/setup_cli.py:1398
#, python-format
msgid "  Image analysis enabled: %(state)s"
msgstr "  Análisis de imágenes habilitado: %(state)s"

#: src/uagent/setup_cli.py:1406
#, python-format
msgid "  Image generation enabled: %(state)s"
msgstr "  Generación de imágenes habilitada: %(state)s"

#: src/uagent/setup_cli.py:1417
#, python-format
msgid "  Embedding enabled: %(state)s"
msgstr "  Embeddings habilitados: %(state)s"

#: src/uagent/setup_cli.py:1427
#, python-format
msgid "  Outputs: %(outputs)s"
msgstr "  Salidas: %(outputs)s"

#: src/uagent/setup_cli.py:1430
msgid "Generate files with this configuration?"
msgstr "¿Generar archivos con esta configuración?"

#: src/uagent/setup_cli.py:1431
msgid "Yes, generate"
msgstr "Sí, generar"

#: src/uagent/setup_cli.py:1431
msgid "Back"
msgstr "Atrás"

#: src/uagent/setup_cli.py:1455
msgid "The following files already exist and will be overwritten:"
msgstr "Los siguientes archivos ya existen y se sobrescribirán:"

#: src/uagent/setup_cli.py:1459
msgid "Proceed?"
msgstr "¿Continuar?"

#: src/uagent/setup_cli.py:1483
msgid "Plain .env file removed after encryption."
msgstr "El archivo .env sin cifrar se eliminó después del cifrado."

#: src/uagent/setup_cli.py:1486
#, python-format
msgid "Warning: Failed to remove plain .env: %(error)s"
msgstr "Advertencia: no se pudo eliminar el .env sin cifrar: %(error)s"

#: src/uagent/setup_cli.py:1505
#, python-format
msgid "generated: %(path)s"
msgstr "generado: %(path)s"

#: src/uagent/uagent_llm.py:129
#, python-format
msgid "[WARN] Tool rounds exceeded %(max)d; aborting."
msgstr ""
"[ADVERTENCIA] Se superó el número de rondas de herramientas %(max)d; "
"cancelando."

#: src/uagent/util_tools.py:181
#, python-format
msgid "image file not found: %(path)s"
msgstr "no se encontró el archivo de imagen: %(path)s"

#: src/uagent/util_tools.py:186
#, python-format
msgid "image file too large: %(size)d bytes (limit=%(max)d)"
msgstr "archivo de imagen demasiado grande: %(size)d bytes (límite=%(max)d)"

#: src/uagent/util_tools.py:210
msgid ""
"Specify working directory. If not set, uses UAGENT_WORKDIR env var or the "
"current directory."
msgstr ""
"Especifique el directorio de trabajo. Si no se define, usa la variable de "
"entorno UAGENT_WORKDIR o el directorio actual."

#: src/uagent/util_tools.py:217
msgid ""
"Non-interactive mode. Do not start the stdin loop; exit after processing the"
" startup file (if any)."
msgstr ""
"Modo no interactivo. No inicie el bucle de stdin; salga después de procesar "
"el archivo de inicio (si lo hay)."

#: src/uagent/util_tools.py:355
msgid "invalid reasoning"
msgstr "razonamiento no válido"

#: src/uagent/util_tools.py:373
msgid "invalid verbosity"
msgstr "nivel de detalle no válido"

#: src/uagent/util_tools.py:547
#, python-format
msgid "[logs] Invalid argument: %(arg)r (specify all / --all / -a / number)"
msgstr ""
"[registros] Argumento no válido: %(arg)r (especifique todo / --all / -a / "
"número)"

#: src/uagent/util_tools.py:586
#, python-format
msgid "failed to parse arguments: %(err)s"
msgstr "no se pudieron analizar los argumentos: %(err)s"

#: src/uagent/util_tools.py:589
msgid "missing arguments"
msgstr "faltan argumentos"

#: src/uagent/util_tools.py:605
msgid "src and dst are required"
msgstr "src y dst son obligatorios"

#: src/uagent/util_tools.py:973
msgid ""
"[Skill execution]\n"
"This skill is intended to be run. Read the skill body carefully and follow the instructions.\n"
"If the skill contains tasks, continue until they are complete.\n"
"Use tools as needed.\n"
msgstr ""
"[Ejecución de skill]\n"
"Este skill está pensado para ejecutarse. Lea cuidadosamente el cuerpo del skill y siga las instrucciones.\n"
"Si el skill contiene tareas, continúe hasta completarlas.\n"
"Use las herramientas según sea necesario.\n"

#: src/uagent/util_tools.py:980
msgid "When finished, always call `finish_skill` if available.\n"
msgstr "Cuando termine, llame siempre a `finish_skill` si está disponible.\n"

#: src/uagent/util_tools.py:1132
msgid ""
"Select a skill number to run. Enter c to cancel.\n"
"Tip: :skills clear  (remove applied skills)\n"
"Enter number:"
msgstr ""
"Seleccione un número de skill para ejecutar. Introduzca c para cancelar.\n"
"Consejo: :skills clear  (eliminar los skills aplicados)\n"
"Introduzca un número:"

#: src/uagent/util_tools.py:1168
#, python-format
msgid ""
"Run this skill as a system-level instruction and keep it active in this session?\n"
"\n"
"Name: %(name)s\n"
"Path: %(path)s\n"
"\n"
"Proceed? Enter y to run, or c to cancel."
msgstr ""
"¿Ejecutar esta skill como instrucción a nivel de sistema y mantenerla activa en esta sesión?\n"
"\n"
"Nombre: %(name)s\n"
"Ruta: %(path)s\n"
"\n"
"¿Continuar? Escriba y para ejecutar, o c para cancelar."

#: src/uagent/util_tools.py:1230
#, python-format
msgid ""
"[clean] Invalid argument: %(arg)r (specify number=threshold; default is "
"%(default)d)"
msgstr ""
"[limpio] Argumento no válido: %(arg)r (especifique número=umbral; el valor "
"predeterminado es %(default)d)"

#: src/uagent/util_tools.py:1279
#, python-format
msgid ""
"will delete conversation log files (scheck_log_*.jsonl) from disk.\n"
"Log dir: %(dir)s\n"
"Rule: total user/assistant/tool messages excluding system <= %(threshold)d\n"
"Targets: %(n)d\n"
"\n"
"Proceed? Enter y to run, or c to cancel."
msgstr ""
"eliminará los archivos de registro de conversaciones (scheck_log_*.jsonl) del disco.\n"
"Directorio de registro: %(dir)s\n"
"Regla: total de mensajes de usuario/asistente/herramienta excluyendo el sistema <= %(threshold)d\n"
"Objetivos: %(n)d\n"
"\n"
"¿Continuar? Ingrese y para ejecutar o c para cancelar.\n"

#: src/uagent/util_tools.py:1347
#, python-format
msgid " - (%(count)d msgs) %(path)s"
msgstr " - (%(count)d mensajes) %(path)s"

#: src/uagent/util_tools.py:1391
#, python-format
msgid ""
"will overwrite the current session log file and prepend the loaded log (no backup).\n"
"\n"
"Current log: %(cur_log)s\n"
"Source log: %(src_log)s\n"
"\n"
"Proceed? Enter y to run, or c to cancel."
msgstr ""
"sobrescribirá el archivo de registro de la sesión actual y antepondrá el registro cargado (sin copia de seguridad).\n"
"\n"
"Registro actual: %(cur_log)s\n"
"Registro de origen: %(src_log)s\n"
"\n"
"¿Continuar? Ingrese y para ejecutar o c para cancelar."

#: src/uagent/util_tools.py:1522
#, python-brace-format
msgid ""
"Delete {count} path(s)?\n"
"\n"
"{paths}\n"
"\n"
"Enter y to proceed, or c to cancel."
msgstr ""
"¿Eliminar {count} ruta(s)?\n"
"\n"
"{paths}\n"
"\n"
"Introduzca y para continuar o c para cancelar."

#: src/uagent/util_tools.py:1577
#, python-format
msgid "Specified index %(idx)d is out of range."
msgstr "El índice especificado %(idx)d está fuera de rango."

#: src/uagent/util_tools.py:1586
#, python-format
msgid "Log file not found: %(path)s"
msgstr "No se encontró el archivo de registro: %(path)s"

#: src/uagent/util_tools.py:1669
#, python-format
msgid "[shrink error] Failed to parse as int: %(arg)r -> keep last %(keep)d"
msgstr ""
"[error shrink] No se pudo interpretar como entero: %(arg)r -> conservar los "
"últimos %(keep)d"

#: src/uagent/util_tools.py:1697
#, python-format
msgid ""
"[shrink_llm error] Failed to parse as int: %(arg)r -> keep last %(keep)d"
msgstr ""
"[error de shrink_llm] No se pudo interpretar como entero: %(arg)r -> "
"conservar los últimos %(keep)d"

#: src/uagent/util_tools.py:1756 src/uagent/util_tools.py:1836
msgid ""
"Shared long-term memory is not enabled (UAGENT_SHARED_MEMORY_FILE is not "
"set)."
msgstr ""
"La memoria compartida a largo plazo no está habilitada "
"(UAGENT_SHARED_MEMORY_FILE no está definido)."

#: src/uagent/util_tools.py:1787
msgid "Analyzing past logs to generate user profile..."
msgstr "Analizando registros anteriores para generar el perfil del usuario..."

#: src/uagent/util_tools.py:1791
msgid "No past logs found or failed to generate profile."
msgstr ""
"No se encontraron registros anteriores o no se pudo generar el perfil."

#: src/uagent/util_tools.py:1793
#, fuzzy
msgid "User profile generated successfully from past logs!"
msgstr "Perfil de usuario borrado con éxito."

#: src/uagent/util_tools.py:1805
msgid "No user profile data found."
msgstr "No se encontraron datos de perfil de usuario."

#: src/uagent/util_tools.py:1808
msgid "User Profile:"
msgstr "Perfil de usuario:"

#: src/uagent/util_tools.py:1820
msgid "User profile cleared successfully."
msgstr "Perfil de usuario borrado con éxito."

#: src/uagent/util_tools.py:1824
msgid "No user profile file found to clear."
msgstr "No se encontró ningún archivo de perfil de usuario para borrar."

#: src/uagent/util_tools.py:1888
msgid "Show this help"
msgstr "Mostrar esta ayuda"

#: src/uagent/util_tools.py:1889
msgid "Restart input from the beginning"
msgstr "Reiniciar la entrada desde el principio"

#: src/uagent/util_tools.py:1890
msgid "Show log file list"
msgstr "Mostrar lista de archivos de registro"

#: src/uagent/util_tools.py:1893
msgid ""
"Change workdir without confirmation (e.g. :cd .. / :cd ~ / :cd C:\\path / "
":cd /)"
msgstr ""
"Cambie el directorio de trabajo sin confirmación (por ejemplo, :cd .. / :cd "
"~ / :cd C:\\path / :cd /)"

#: src/uagent/util_tools.py:1896
msgid "List directory entries (e.g. :ls / :ls .. / :ls ~ / :ls C:\\path)"
msgstr ""
"Listar entradas de directorio (por ejemplo, :ls / :ls .. / :ls ~ / :ls "
"C:\\path)"

#: src/uagent/util_tools.py:1899
msgid "Manage UAGENT_* env vars and save .env.sec"
msgstr "Gestiona las variables de entorno UAGENT_* y guarda .env.sec"

#: src/uagent/util_tools.py:1901
msgid "Manage/apply skills (e.g. :skills / :skills active / :skills clear)"
msgstr ""
"Administrar/aplicar habilidades (por ejemplo, :skills / :skills active / "
":skills clear)"

#: src/uagent/util_tools.py:1908
msgid "Load a past log (overwrites current conversation history)"
msgstr ""
"Cargar un registro anterior (sobrescribe el historial de conversaciones "
"actual)"

#: src/uagent/util_tools.py:1910
msgid ""
"                       Note: after running, you will be asked for "
"confirmation; choosing 'y' prepends the loaded log into the current session "
"log file (overwrite, no backup)."
msgstr ""
"Nota: después de ejecutar, se le pedirá confirmación; al elegir 'y' se "
"antepone el registro cargado al archivo de registro de la sesión actual "
"(sobrescritura, sin copia de seguridad)."

#: src/uagent/util_tools.py:1914
msgid ""
"Delete conversation logs (scheck_log_*.jsonl) where the count of "
"user/assistant/tool messages (excluding system) is <= N (default=10)"
msgstr ""
"Eliminar registros de conversación (scheck_log_*.jsonl) donde el recuento de"
" mensajes de usuario/asistente/herramienta (excluyendo el sistema) es <= N "
"(predeterminado=10)"

#: src/uagent/util_tools.py:1918
msgid ""
"Shrink conversation history (keep last N non-system messages; default=40)"
msgstr ""
"Reducir el historial de conversaciones (conservar los últimos N mensajes que"
" no pertenecen al sistema; valor predeterminado = 40)"

#: src/uagent/util_tools.py:1922
msgid ""
"Shrink history via LLM summarization (summarize older history into 1 system "
"message; keep last N raw; default=20)"
msgstr ""
"Reducir el historial mediante el resumen LLM (resumir el historial anterior "
"en 1 mensaje del sistema; mantener los últimos N sin procesar; valor "
"predeterminado = 20)"

#: src/uagent/util_tools.py:1924
msgid "List long-term memory notes"
msgstr "Enumerar notas de memoria a largo plazo"

#: src/uagent/util_tools.py:1926
msgid "Delete a long-term memory note by index (see :mem-list)"
msgstr "Eliminar una nota de memoria a largo plazo por índice (ver :mem-list)"

#: src/uagent/util_tools.py:1928
#, fuzzy
msgid "Show the learned user profile, or generate it from past logs"
msgstr ""
"Mostrar el perfil de usuario aprendido (entorno, preferencias, "
"restricciones)"

#: src/uagent/util_tools.py:1929
#, fuzzy
msgid "Generate user profile from past logs"
msgstr "No se encontraron datos de perfil de usuario."

#: src/uagent/util_tools.py:1930
msgid "Clear the learned user profile data"
msgstr "Borrar los datos del perfil de usuario aprendido"

#: src/uagent/util_tools.py:1932
msgid "Copy file or directory (supports -f/--overwrite and -p/--mkdirs)"
msgstr "Copiar archivo o directorio (admite -f/--overwrite y -p/--mkdirs)"

#: src/uagent/util_tools.py:1934
msgid "Move file or directory (supports -f/--overwrite and -p/--mkdirs)"
msgstr "Mover archivo o directorio (admite -f/--overwrite y -p/--mkdirs)"

#: src/uagent/util_tools.py:1936
msgid "Show the first n lines of a file (default=20)"
msgstr "Mostrar las primeras n líneas de un archivo (valor predeterminado=20)"

#: src/uagent/util_tools.py:1937
msgid "Show the last n lines of a file (default=20)"
msgstr "Mostrar las últimas n líneas de un archivo (valor predeterminado=20)"

#: src/uagent/util_tools.py:1939
msgid "Delete file(s)/directory(ies) with preview + confirm"
msgstr "Eliminar archivo(s)/directorio(s) con vista previa + confirmar"

#: src/uagent/util_tools.py:1941
msgid ""
"Set reasoning mode (0=off, 1=low, 2=medium, 3=high; auto/minimal/xhigh)"
msgstr ""
"Establecer el modo de razonamiento (0=apagado, 1=bajo, 2=medio, 3=alto; "
"automático/mínimo/xalto)"

#: src/uagent/util_tools.py:1943
msgid "Set verbosity mode (0=off, 1=low, 2=medium, 3=high; no arg=keep)"
msgstr ""
"Establecer el modo de detalle (0=desactivado, 1=bajo, 2=medio, 3=alto; sin "
"arg=mantener)"

#: src/uagent/util_tools.py:1944
msgid "Exit"
msgstr "Salida"

#: src/uagent/util_tools.py:1947
msgid "  - Enter a line that is just 'f' to enter multiline input mode."
msgstr ""
"  - Escriba una línea que sea solo 'f' para entrar en el modo de entrada "
"multilínea."

#: src/uagent/util_tools.py:1949
#, python-format
msgid ""
"  - To end multiline input mode, enter a line that is exactly %(sentinel)s."
msgstr ""
"- Para finalizar el modo de entrada multilínea, ingrese una línea que sea "
"exactamente %(sentinel)s."

#: src/uagent/util_tools.py:2185
msgid "Exiting."
msgstr "Saliendo."

#: src/uagent/util_tools.py:2188
#, python-format
msgid "Unknown command: :%(cmd)s"
msgstr "Comando desconocido: :%(cmd)s"

#: src/uagent/util_tools.py:2339
msgid ""
"The bullet points listed below are excerpts from this user's long-term memory (persistent memos). Use them as background information about the user. However, always prioritize newly provided information in the conversation, and if it contradicts older information, adopt the latest information.\n"
"\n"
msgstr ""
"Los puntos enumerados a continuación son extractos de la memoria a largo plazo de este usuario (memos persistentes). Úselos como información de contexto sobre el usuario. Sin embargo, dé prioridad siempre a la información proporcionada más recientemente en la conversación y, si contradice a la anterior, adopte la información más reciente.\n"
"\n"

#: src/uagent/web.py:534
msgid ""
"[WARN] Another task is already running in this room. Please retry after it "
"completes."
msgstr ""
"[WARN] Ya hay otra tarea en ejecución en esta sala. Vuelve a intentarlo "
"cuando termine."

#: src/uagent/web.py:626 src/uagent/web.py:767
msgid ""
"[FATAL] Environment variable UAGENT_PROVIDER is not set.\n"
"Please check environment variables when starting the web server."
msgstr ""
"[FATAL] La variable de entorno UAGENT_PROVIDER no está configurada.\n"
"Comprueba las variables de entorno al iniciar el servidor web."

#: src/uagent/web.py:664
#, python-format
msgid "[Attached Image] %(name)s"
msgstr "[Imagen adjunta] %(name)s"

#: src/uagent/web.py:669
#, python-format
msgid "[Attached File] %(name)s"
msgstr "[Archivo adjunto] %(name)s"

#: src/uagent/web.py:670
#, python-format
msgid "[File Path] %(path)s"
msgstr "[Ruta del archivo] %(path)s"

#: src/uagent/web.py:698
msgid "[INFO] Loaded long-term memory."
msgstr "[INFO] Memoria a largo plazo cargada."

#: src/uagent/web.py:710
msgid "[INFO] Loaded shared long-term memory."
msgstr "[INFO] Memoria compartida a largo plazo cargada."

#: src/uagent/web.py:727
msgid ""
"\n"
"\n"
"## Generative UI (Artifacts) Instructions\n"
"When the user asks for a UI, dashboard, interactive tool, or visualization:\n"
"1. Write a complete, self-contained HTML page inside a single ```html code block.\n"
"2. Use Tailwind CSS (via CDN: <script src=\"https://cdn.tailwindcss.com\"></script>) for styling and Lucide Icons or FontAwesome for icons.\n"
"3. Include interactive JavaScript (e.g., Chart.js for charts, or simple state management).\n"
"4. Do not split the code into multiple blocks; keep it in one unified ```html block.\n"
msgstr ""
"\n"
"\n"
"## Instrucciones de Generative UI (Artifacts)\n"
"Cuando el usuario solicite una interfaz de usuario, un panel de control, una herramienta interactiva o una visualización:\n"
"1. Escriba una página HTML completa y autónoma dentro de un único bloque de código ```html.\n"
"2. Utilice Tailwind CSS (a través de CDN: <script src=\"https://cdn.tailwindcss.com\"></script>) para el diseño y Lucide Icons o FontAwesome para los iconos.\n"
"3. Incluya JavaScript interactivo (por ejemplo, Chart.js para gráficos o gestión de estado sencilla).\n"
"4. No divida el código en varios bloques; manténgalo en un único bloque ```html unificado.\n"

#: src/uagent/web.py:764
#, python-format
msgid ""
"[FATAL] Web worker error.\n"
"%(err)s"
msgstr ""
"[FATAL] Error del trabajador web.\n"
"%(err)s"

#: src/uagent/web.py:901
msgid "missing path"
msgstr "falta la ruta"

#: src/uagent/web.py:908
msgid "path outside workdir"
msgstr "la ruta está fuera del directorio de trabajo"

#: src/uagent/web.py:1071
msgid "Starting server on"
msgstr "Iniciando el servidor en"

#: src/uagent/web.py:1073
msgid "External URL:"
msgstr "URL externa:"

#: src/uagent/welcome.py:29
msgid ""
"[MCP Servers]\n"
"- Config file not found."
msgstr ""
"[Servidores MCP]\n"
"- No se encontró el archivo de configuración."

#: src/uagent/welcome.py:36
msgid ""
"[MCP Servers]\n"
"- No servers registered."
msgstr ""
"[Servidores MCP]\n"
"- No hay servidores registrados."

#: src/uagent/welcome.py:38
msgid "[MCP Servers]"
msgstr "[Servidores MCP]"

#: src/uagent/welcome.py:45
#, python-format
msgid ""
"[MCP Servers]\n"
"- Failed to get info: %(err)s"
msgstr ""
"[Servidores MCP]\n"
"- No se pudo obtener información: %(err)s"

#: src/uagent/welcome.py:64
msgid "[Quick Guide]"
msgstr "[Guía rápida]"

#: src/uagent/welcome.py:65
msgid "- Chat: type a message and send (GUI: Ctrl+Enter is also available)."
msgstr ""
"- Chat: escriba un mensaje y envíelo (en la GUI también está disponible "
"Ctrl+Enter)."

#: src/uagent/welcome.py:67
msgid ""
"- Multiline: enter a line that is just 'f' to enter multiline mode (end with"
" \"\"\"end)."
msgstr ""
"- Multilínea: escriba una línea que sea solo 'f' para entrar en modo "
"multilínea (termine con \"\"\"end)."

#: src/uagent/welcome.py:70
msgid ""
"- Commands: type ':help' to see system commands (log management, history "
"compression, etc.). Note: commands start with ':' (colon) instead of '/' "
"(slash)."
msgstr ""
"- Comandos: escriba ':help' para ver los comandos del sistema (gestión de "
"registros, compresión de historial, etc.). Nota: los comandos comienzan con "
"':' (dos puntos) en lugar de '/' (barra diagonal)."

#: src/uagent/welcome.py:72
msgid "- Exit: ':exit' or ':quit' ends the session."
msgstr "- Salir: ':exit' o ':quit' finaliza la sesión."

#: src/uagent/welcome.py:74
msgid ""
"- Images: GUI supports drag & drop; in CUI you can input a file path for "
"image analysis."
msgstr ""
"- Imágenes: la GUI admite arrastrar y soltar; en CUI puede introducir una "
"ruta de archivo para el análisis de imagen."

#: src/uagent/welcome.py:77
#, python-format
msgid ""
"- Docs: `%(docs_cmd)s` shows bundled docs; `%(webinspect_cmd)s` shows Web "
"Inspector help (`--path/--open` also available)."
msgstr ""
"- Docs: `%(docs_cmd)s` muestra los documentos incluidos; "
"`%(webinspect_cmd)s` muestra la ayuda de Web Inspector (`--path/--open` "
"también disponible)."

#: src/uagent/welcome.py:81
msgid "[Examples]"
msgstr "[Ejemplos]"

#: src/uagent/welcome.py:82
msgid "- \"Analyze the source code in this folder and create a README.md.\""
msgstr "- \"Analice el código fuente de esta carpeta y cree un README.md.\""

#: src/uagent/welcome.py:84
msgid ""
"- \"Take a screenshot of the current desktop and describe the visible window"
" contents.\""
msgstr ""
"- \"Haga una captura de pantalla del escritorio actual y describa el "
"contenido visible de la ventana.\""

#: src/uagent/welcome.py:86
msgid "- \"Create a monthly summary report from this Excel file.\""
msgstr "- \"Cree un informe mensual resumido a partir de este archivo Excel.\""

#: src/uagent/welcome.py:87
msgid "- \"Read this PDF and list three key points.\""
msgstr "- \"Lea este PDF y enumere tres puntos clave.\""

#: src/uagent/welcome.py:88
msgid "- \"Search the latest news and summarize a specific topic.\""
msgstr "- \"Busque las noticias más recientes y resuma un tema concreto.\""

#: src/uagent/welcome.py:195
msgid "-- More -- (Enter: next) "
msgstr "-- Más -- (Enter: siguiente) "

#: src/uagent/a2a/engine.py:125
msgid "No assistant message produced."
msgstr "No se produjo ningún mensaje del asistente."

#: src/uagent/a2a/engine.py:137
msgid "Generated image(s)."
msgstr "Imagen(es) generada(s)."

#: src/uagent/a2a/engine.py:150
#, python-format
msgid "ECHO: %(text)s"
msgstr "ECO: %(text)s"

#: src/uagent/a2a/engine.py:165
#, python-format
msgid "uagent initialization failed: %(err)s"
msgstr "falló la inicialización de uagent: %(err)s"

#: src/uagent/a2a/engine.py:177
#, python-format
msgid "uagent execution failed: %(etype)s: %(err)s"
msgstr "falló la ejecución de uagent: %(etype)s: %(err)s"

#: src/uagent/a2a/engine.py:188
#, python-format
msgid "Unknown UAGENT_A2A_ENGINE: %(mode)s"
msgstr "Motor UAGENT_A2A_ENGINE desconocido: %(mode)s"

#: src/uagent/providers/gemini_cache_mgr.py:131
msgid "invalid cache meta"
msgstr "metadatos de caché no válidos"

#: src/uagent/providers/llm_claude.py:222
#: src/uagent/providers/util_providers.py:610
msgid "anthropic package is not installed."
msgstr "No está instalado el paquete anthropic."

#: src/uagent/providers/llm_gemini.py:564
msgid ""
"google-genai could not be imported (pip install google-genai is required)."
msgstr ""
"No se pudo importar google-genai (se requiere pip install google-genai)."

#: src/uagent/providers/llm_gemini.py:1124
msgid "[Gemini Error: Response blocked by safety filter or finish reason]"
msgstr ""
"[Error de Gemini: Respuesta bloqueada por el filtro de seguridad o el motivo"
" de finalización]"

#: src/uagent/providers/llm_gemini.py:1129
#, python-format
msgid "[Gemini Error: %(err)s]"
msgstr "[Error de Gemini: %(err)s]"

#: src/uagent/providers/llm_openai_responses.py:69
msgid "[WARN] assistant history contained image content; converted to text."
msgstr ""
"[WARN] El historial del asistente contenía contenido de imagen; se convirtió"
" a texto."

#: src/uagent/providers/llm_openai_responses.py:92
msgid "[WARN] invalid image content (missing url)."
msgstr "[WARN] contenido de imagen no válido (falta la URL)."

#: src/uagent/providers/llm_openai_responses.py:100
#: src/uagent/providers/llm_openai_responses.py:109
#, python-format
msgid "[WARN] unsupported content item: %(item)r"
msgstr "[WARN] elemento de contenido no compatible: %(item)r"

#: src/uagent/providers/llm_openai_responses.py:444
msgid "Sources:"
msgstr "Fuentes:"

#: src/uagent/providers/llm_openai_responses.py:507
msgid "search"
msgstr "buscar"

#: src/uagent/providers/llm_openai_responses.py:509
msgid "open page"
msgstr "abrir página"

#: src/uagent/providers/llm_openai_responses.py:511
msgid "find in page"
msgstr "buscar en la página"

#: src/uagent/providers/llm_openai_responses.py:512
msgid "web search"
msgstr "búsqueda web"

#: src/uagent/providers/llm_openai_responses.py:526
msgid "Web search: searching"
msgstr "Búsqueda web: buscando"

#: src/uagent/providers/llm_openai_responses.py:528
msgid "Web search: completed"
msgstr "Búsqueda web: completada"

#: src/uagent/providers/llm_openai_responses.py:530
#, python-brace-format
msgid "Web search: {action}"
msgstr "Búsqueda web: {action}"

#: src/uagent/providers/llm_openai_responses.py:587
#, python-brace-format
msgid ""
"[Tool calling rules]\n"
"        - When calling a tool/function, you MUST provide function_call.arguments as a JSON object.\n"
"        - The JSON object MUST include all required parameters defined by the tool schema.\n"
"        - Never call a tool with an empty object {} unless the tool has no required parameters.\n"
"        - If you do not have a required parameter, ask the user for it using human_ask instead of guessing.\n"
"        "
msgstr ""
"[Reglas de llamada a herramientas]\n"
"        - Al llamar a una función/herramienta, DEBE proporcionar function_call.arguments como un objeto JSON.\n"
"        - El objeto JSON DEBE incluir todos los parámetros requeridos definidos por el esquema de la herramienta.\n"
"        - Nunca llame a una herramienta con un objeto vacío {} salvo que la herramienta no tenga parámetros obligatorios.\n"
"        - Si no dispone de un parámetro obligatorio, pregúnteselo al usuario mediante human_ask en lugar de suponerlo.\n"
"        "

#: src/uagent/providers/llm_openai_responses.py:594
msgid ""
"[Web search rules]\n"
"        - Use web search only when fresh or external information is necessary.\n"
"        - Do not use web search for local or stable information.\n"
"        - Prefer answering without web search when the answer is already sufficient.\n"
"        "
msgstr ""
"[Reglas de búsqueda web]\n"
"        - Usa la búsqueda web solo cuando se necesiten información reciente o externa.\n"
"        - No uses la búsqueda web para información local o estable.\n"
"        - Prefiere responder sin búsqueda web cuando la respuesta ya sea suficiente.\n"
"        "

#: src/uagent/providers/util_providers.py:243
msgid "Environment variable UAGENT_PROVIDER is not set."
msgstr "La variable de entorno UAGENT_PROVIDER no está configurada."

#: src/uagent/providers/util_providers.py:259
#, python-format
msgid "Unknown provider: %(provider)s"
msgstr "Proveedor desconocido: %(provider)s"

#: src/uagent/providers/util_providers.py:544
#: src/uagent/providers/util_providers.py:570
msgid "google-genai package is not installed."
msgstr "No está instalado el paquete google-genai."

#: src/uagent/runtime/runtime_banner.py:231
msgid "embedding"
msgstr "incrustación"

#: src/uagent/runtime/runtime_banner.py:232
msgid "audio speech"
msgstr "síntesis de voz"

#: src/uagent/runtime/runtime_banner.py:233
msgid "audio transcribe"
msgstr "transcripción de audio"

#: src/uagent/runtime/runtime_banner.py:234
msgid "image generation"
msgstr "generación de imágenes"

#: src/uagent/runtime/runtime_banner.py:235
msgid "image analysis"
msgstr "análisis de imágenes"

#: src/uagent/runtime/runtime_banner.py:254
#, python-format
msgid "[INFO] workdir = %(workdir)s (source: %(source)s)"
msgstr "[INFO] directorio de trabajo = %(workdir)s (origen: %(source)s)"

#: src/uagent/runtime/runtime_banner.py:262
#: src/uagent/runtime/runtime_banner.py:276
#: src/uagent/runtime/runtime_banner.py:281
#: src/uagent/runtime/runtime_banner.py:293
#: src/uagent/runtime/runtime_banner.py:305
#: src/uagent/runtime/runtime_banner.py:314
#: src/uagent/runtime/runtime_banner.py:323
#, python-format
msgid "[INFO] base_url = %(base_url)s"
msgstr "[INFO] URL base = %(base_url)s"

#: src/uagent/runtime/runtime_banner.py:270
#, python-format
msgid "[INFO] api_version = %(api_version)s"
msgstr "[INFO] versión de API = %(api_version)s"

#: src/uagent/runtime/runtime_banner.py:332
#, python-format
msgid "[INFO] vertexai = project=%(project)s, location=%(location)s"
msgstr "[INFO] vertexai = proyecto=%(project)s, ubicación=%(location)s"

#: src/uagent/runtime/runtime_banner.py:341
#, python-format
msgid "[INFO] %(label)s = %(provider)s; model = %(model)s"
msgstr "[INFO] %(label)s = %(provider)s; modelo = %(model)s"

#: src/uagent/runtime/runtime_banner.py:368
#, python-format
msgid ""
"UAGENT_RESPONSES=1 is set, but provider '%(provider)s' does not support "
"Responses API. Falling back to ChatCompletions."
msgstr ""
"UAGENT_RESPONSES=1 está definido, pero el proveedor '%(provider)s' no admite"
" la API de Responses. Se usará ChatCompletions."

#: src/uagent/runtime/runtime_banner.py:375
#, python-format
msgid "LLM API mode = %(mode)s"
msgstr "Modo de API de LLM = %(mode)s"

#: src/uagent/runtime/runtime_banner.py:378
msgid "Responses (UAGENT_RESPONSES is enabled)"
msgstr "Respuestas (UAGENT_RESPONSES está habilitado)"

#: src/uagent/runtime/runtime_banner.py:382
msgid "Native Gemini/Vertex AI/Claude API (UAGENT_RESPONSES is ignored)"
msgstr "API nativa de Gemini/Vertex AI/Claude (se ignora UAGENT_RESPONSES)"

#: src/uagent/runtime/runtime_banner.py:385
msgid "ChatCompletions (UAGENT_RESPONSES is disabled)"
msgstr "ChatCompletions (UAGENT_RESPONSES está deshabilitado)"

#: src/uagent/runtime/runtime_banner.py:393
#, python-format
msgid "LLM streaming = %(state)s"
msgstr "Streaming LLM = %(state)s"

#: src/uagent/runtime/runtime_banner.py:394
msgid "enabled"
msgstr "habilitado"

#: src/uagent/runtime/runtime_banner.py:394
msgid "disabled"
msgstr "deshabilitado"

#: src/uagent/runtime/runtime_env.py:186
msgid ""
"[INFO] .env.sec content does not match the current startup UAGENT_* "
"environment variables. Update it? [y/N] "
msgstr ""
"[INFO] El contenido de .env.sec no coincide con las variables de entorno "
"UAGENT_* del inicio actual. ¿Desea actualizarlo? [s/N] "

#: src/uagent/runtime/runtime_env.py:202
msgid ""
"[INFO] .env.sec content does not match the current startup UAGENT_* "
"environment variables. Use `uag_envsec` to update it."
msgstr ""
"[INFO] El contenido de .env.sec no coincide con las variables de entorno "
"UAGENT_* del inicio actual. Use `uag_envsec` para actualizarlo."

#: src/uagent/runtime/runtime_env.py:214
#, python-format
msgid "Updated .env.sec: %(path)s"
msgstr ".env.sec actualizado: %(path)s"

#: src/uagent/runtime/runtime_env.py:218
#, python-format
msgid "[WARN] Failed to update .env.sec: %(err)s"
msgstr "[AVISO] Error al actualizar .env.sec: %(err)s"

#: src/uagent/runtime/runtime_env.py:228
msgid ""
"[INFO] .env.sec is missing. Create it from the current startup UAGENT_* "
"environment variables? [y/N] "
msgstr ""
"[INFO] .env.sec no existe. ¿Desea crearlo a partir de las variables de "
"entorno UAGENT_* del inicio actual? [s/N] "

#: src/uagent/runtime/runtime_env.py:244
msgid ""
"[INFO] .env.sec is missing. Use `uag_envsec` to create it from the current "
"startup UAGENT_* environment variables."
msgstr ""
"[INFO] .env.sec no existe. Use `uag_envsec` para crearlo a partir de las "
"variables de entorno UAGENT_* del inicio actual."

#: src/uagent/runtime/runtime_env.py:254
#, python-format
msgid "Created .env.sec: %(path)s"
msgstr ".env.sec creado: %(path)s"

#: src/uagent/runtime/runtime_env.py:258
#, python-format
msgid "[WARN] Failed to create .env.sec: %(err)s"
msgstr "[AVISO] Error al crear .env.sec: %(err)s"

#: src/uagent/runtime/runtime_env.py:289
#, python-format
msgid "[WARN] Failed to check .env.sec synchronization: %(err)s"
msgstr "[WARN] No se pudo comprobar la sincronización de .env.sec: %(err)s"

#: src/uagent/runtime/runtime_init.py:83
#, python-format
msgid "[WARN] Failed to decrypt .env.sec: %(err)s"
msgstr "[ADVERTENCIA] no se pudo descifrar .env.sec: %(err)s"

#: src/uagent/runtime/runtime_workdir.py:49
#, python-format
msgid "Specified workdir path is a file: %(path)s"
msgstr "la ruta de workdir especificada es un archivo: %(path)s"
