{
	"back": "Volver a la vista de tareas",
	"common": {
		"save": "Guardar",
		"done": "Hecho",
		"cancel": "Cancelar",
		"reset": "Restablecer",
		"select": "Seleccionar",
		"add": "Añadir encabezado",
		"remove": "Eliminar"
	},
	"search": {
		"placeholder": "Buscar configuración...",
		"noResults": "No se encontró ninguna configuración"
	},
	"header": {
		"title": "Configuración",
		"saveButtonTooltip": "Guardar cambios",
		"nothingChangedTooltip": "Nada ha cambiado",
		"doneButtonTooltip": "Descartar cambios no guardados y cerrar el panel de configuración"
	},
	"unsavedChangesDialog": {
		"title": "Cambios no guardados",
		"description": "¿Desea descartar los cambios y continuar?",
		"cancelButton": "Cancelar",
		"discardButton": "Descartar cambios"
	},
	"sections": {
		"providers": "Proveedores",
		"modes": "Modos",
		"mcp": "Servidores MCP",
		"worktrees": "Worktrees",
		"autoApprove": "Auto-aprobación",
		"checkpoints": "Puntos de control",
		"notifications": "Notificaciones",
		"contextManagement": "Contexto",
		"terminal": "Terminal",
		"slashCommands": "Comandos de Barra",
		"prompts": "Indicaciones",
		"ui": "UI",
		"experimental": "Experimental",
		"language": "Idioma",
		"about": "Acerca de Zoo Code",
		"skills": "Skills"
	},
	"about": {
		"bugReport": {
			"label": "¿Encontraste un error?",
			"link": "Reportar en GitHub"
		},
		"featureRequest": {
			"label": "¿Tienes una idea?",
			"link": "Compártela con nosotros"
		},
		"securityIssue": {
			"label": "¿Descubriste una vulnerabilidad?",
			"link": "Sigue nuestro proceso de divulgación"
		},
		"community": "¿Quieres consejos o simplemente pasar el rato con otros usuarios de Zoo Code? Únete a <redditLink>reddit.com/r/ZooCode</redditLink> o <discordLink>discord.gg/VxfP4Vx3gX</discordLink>",
		"contactAndCommunity": "Contacto y Comunidad",
		"manageSettings": "Gestionar Configuración",
		"debugMode": {
			"label": "Activar modo de depuración",
			"description": "Activa el modo de depuración para mostrar botones adicionales en el encabezado de la tarea que permitan ver el historial de conversación de la API y los mensajes de la UI como JSON formateado en archivos temporales."
		}
	},
	"slashCommands": {
		"description": "Gestiona tus comandos de barra para ejecutar rápidamente flujos de trabajo y acciones personalizadas. <DocsLink>Saber más</DocsLink>",
		"workspaceCommands": "Comandos del espacio de trabajo",
		"globalCommands": "Comandos globales",
		"noWorkspaceCommands": "Sin comandos en este proyecto aún.",
		"noGlobalCommands": "Sin comandos globales aún.",
		"addCommand": "Agregar comando de barra",
		"editCommand": "Editar comando",
		"deleteCommand": "Eliminar comando",
		"deleteDialog": {
			"title": "Eliminar comando",
			"description": "¿Estás seguro de que quieres eliminar el comando \"{{name}}\"? Esta acción no se puede deshacer.",
			"confirm": "Eliminar",
			"cancel": "Cancelar"
		},
		"createDialog": {
			"title": "Crear nuevo comando de barra",
			"nameLabel": "Nombre",
			"namePlaceholder": "my-command-name",
			"nameHint": "Solo letras minúsculas, números, guiones y guiones bajos",
			"sourceLabel": "Ubicación",
			"create": "Crear",
			"cancel": "Cancelar"
		},
		"source": {
			"global": "Global (disponible en todos los espacios de trabajo)",
			"project": "Espacio de trabajo"
		},
		"validation": {
			"nameRequired": "El nombre es obligatorio",
			"nameTooLong": "El nombre debe tener 64 caracteres o menos",
			"nameInvalid": "El nombre solo puede contener letras, números, guiones y guiones bajos"
		},
		"footer": "Usa comandos de barra para acceder rápidamente a indicaciones y flujos de trabajo frecuentemente utilizados."
	},
	"prompts": {
		"description": "Configura indicaciones de soporte que se utilizan para acciones rápidas como mejorar indicaciones, explicar código y solucionar problemas. Estas indicaciones ayudan a Zoo a brindar mejor asistencia para tareas comunes de desarrollo."
	},
	"codeIndex": {
		"title": "Indexación de código",
		"description": "Configura los ajustes de indexación de código para habilitar búsqueda semántica en tu proyecto. <0>Más información</0>",
		"statusTitle": "Estado",
		"enableLabel": "Habilitar indexación de código",
		"enableDescription": "Habilita la indexación de código para mejorar la búsqueda y la comprensión del contexto",
		"settingsTitle": "Configuración de indexación",
		"disabledMessage": "La indexación de código está actualmente deshabilitada. Habilítala en la configuración global para configurar las opciones de indexación.",
		"providerLabel": "Proveedor de embeddings",
		"embedderProviderLabel": "Proveedor de embedder",
		"selectProviderPlaceholder": "Seleccionar proveedor",
		"openaiProvider": "OpenAI",
		"ollamaProvider": "Ollama",
		"geminiProvider": "Gemini",
		"geminiApiKeyLabel": "Clave API:",
		"geminiApiKeyPlaceholder": "Introduce tu clave de API de Gemini",
		"vercelAiGatewayProvider": "Vercel AI Gateway",
		"vercelAiGatewayApiKeyLabel": "Clave API",
		"vercelAiGatewayApiKeyPlaceholder": "Introduce tu clave API de Vercel AI Gateway",
		"bedrockProvider": "Amazon Bedrock",
		"bedrockRegionLabel": "Región de AWS",
		"bedrockRegionPlaceholder": "us-east-1",
		"bedrockProfileLabel": "Perfil de AWS",
		"bedrockProfilePlaceholder": "default",
		"bedrockProfileDescription": "Nombre del perfil de AWS desde ~/.aws/credentials (requerido).",
		"openRouterProvider": "OpenRouter",
		"openRouterApiKeyLabel": "Clave de API de OpenRouter",
		"openRouterApiKeyPlaceholder": "Introduce tu clave de API de OpenRouter",
		"openRouterProviderRoutingLabel": "Enrutamiento de proveedores de OpenRouter",
		"openRouterProviderRoutingDescription": "OpenRouter dirige las solicitudes a los mejores proveedores disponibles para su modelo de embedding. Por defecto, las solicitudes se equilibran entre los principales proveedores para maximizar el tiempo de actividad. Sin embargo, puede elegir un proveedor específico para este modelo.",
		"mistralProvider": "Mistral",
		"mistralApiKeyLabel": "Clave API:",
		"mistralApiKeyPlaceholder": "Introduce tu clave de API de Mistral",
		"openaiCompatibleProvider": "Compatible con OpenAI",
		"openAiKeyLabel": "Clave API de OpenAI",
		"openAiKeyPlaceholder": "Introduce tu clave API de OpenAI",
		"openAiCompatibleBaseUrlLabel": "URL base",
		"openAiCompatibleApiKeyLabel": "Clave API",
		"openAiCompatibleApiKeyPlaceholder": "Introduce tu clave API",
		"openAiCompatibleModelDimensionLabel": "Dimensión de Embedding:",
		"modelDimensionLabel": "Dimensión del modelo",
		"openAiCompatibleModelDimensionPlaceholder": "ej., 1536",
		"openAiCompatibleModelDimensionDescription": "La dimensión de embedding (tamaño de salida) para tu modelo. Consulta la documentación de tu proveedor para este valor. Valores comunes: 384, 768, 1536, 3072.",
		"modelLabel": "Modelo",
		"modelPlaceholder": "Introduce el nombre del modelo",
		"selectModel": "Seleccionar un modelo",
		"selectModelPlaceholder": "Seleccionar modelo",
		"ollamaUrlLabel": "URL de Ollama:",
		"ollamaBaseUrlLabel": "URL base de Ollama",
		"qdrantUrlLabel": "URL de Qdrant",
		"qdrantKeyLabel": "Clave de Qdrant:",
		"qdrantApiKeyLabel": "Clave API de Qdrant",
		"qdrantApiKeyPlaceholder": "Introduce tu clave API de Qdrant (opcional)",
		"setupConfigLabel": "Configuración",
		"startIndexingButton": "Iniciar",
		"clearIndexDataButton": "Borrar índice",
		"unsavedSettingsMessage": "Por favor guarda tus ajustes antes de iniciar el proceso de indexación.",
		"clearDataDialog": {
			"title": "¿Estás seguro?",
			"description": "Esta acción no se puede deshacer. Esto eliminará permanentemente los datos de índice de tu base de código.",
			"cancelButton": "Cancelar",
			"confirmButton": "Borrar datos"
		},
		"ollamaUrlPlaceholder": "http://localhost:11434",
		"openAiCompatibleBaseUrlPlaceholder": "https://api.example.com",
		"modelDimensionPlaceholder": "1536",
		"qdrantUrlPlaceholder": "http://localhost:6333",
		"saveError": "Error al guardar la configuración",
		"modelDimensions": "({{dimension}} dimensiones)",
		"saveSuccess": "Configuración guardada exitosamente",
		"saving": "Guardando...",
		"saveSettings": "Guardar",
		"indexingStatuses": {
			"standby": "En espera",
			"indexing": "Indexando",
			"indexed": "Indexado",
			"error": "Error"
		},
		"close": "Cerrar",
		"validation": {
			"invalidQdrantUrl": "URL de Qdrant no válida",
			"invalidOllamaUrl": "URL de Ollama no válida",
			"invalidBaseUrl": "URL base no válida",
			"qdrantUrlRequired": "Se requiere la URL de Qdrant",
			"openaiApiKeyRequired": "Se requiere la clave API de OpenAI",
			"modelSelectionRequired": "Se requiere la selección de un modelo",
			"apiKeyRequired": "Se requiere la clave API",
			"modelIdRequired": "Se requiere el ID del modelo",
			"modelDimensionRequired": "Se requiere la dimensión del modelo",
			"geminiApiKeyRequired": "Se requiere la clave API de Gemini",
			"mistralApiKeyRequired": "Se requiere la clave de API de Mistral",
			"vercelAiGatewayApiKeyRequired": "Se requiere la clave API de Vercel AI Gateway",
			"bedrockRegionRequired": "Se requiere la región de AWS",
			"bedrockProfileRequired": "Se requiere el perfil de AWS",
			"ollamaBaseUrlRequired": "Se requiere la URL base de Ollama",
			"baseUrlRequired": "Se requiere la URL base",
			"modelDimensionMinValue": "La dimensión del modelo debe ser mayor que 0",
			"openRouterApiKeyRequired": "Se requiere la clave API de OpenRouter"
		},
		"optional": "opcional",
		"advancedConfigLabel": "Configuración avanzada",
		"searchMinScoreLabel": "Umbral de puntuación de búsqueda",
		"searchMinScoreDescription": "Puntuación mínima de similitud (0.0-1.0) requerida para los resultados de búsqueda. Valores más bajos devuelven más resultados pero pueden ser menos relevantes. Valores más altos devuelven menos resultados pero más relevantes.",
		"searchMinScoreResetTooltip": "Restablecer al valor predeterminado (0.4)",
		"searchMaxResultsLabel": "Resultados máximos de búsqueda",
		"searchMaxResultsDescription": "Número máximo de resultados de búsqueda a devolver al consultar el índice de código. Valores más altos proporcionan más contexto pero pueden incluir resultados menos relevantes.",
		"resetToDefault": "Restablecer al valor predeterminado",
		"stopIndexingButton": "Detener indexación",
		"stoppingButton": "Deteniendo...",
		"workspaceToggleLabel": "Activar indexación para este espacio de trabajo",
		"workspaceDisabledMessage": "La indexación está configurada pero no habilitada para este espacio de trabajo.",
		"autoEnableDefaultLabel": "Habilitar automáticamente la indexación para nuevos espacios de trabajo"
	},
	"autoApprove": {
		"toggleShortcut": "Puedes configurar un atajo global para esta configuración <SettingsLink>en las preferencias de tu IDE</SettingsLink>.",
		"description": "Permitir que Roo realice operaciones automáticamente sin requerir aprobación. Habilite esta configuración solo si confía plenamente en la IA y comprende los riesgos de seguridad asociados.",
		"enabled": "Auto-aprobación habilitada",
		"toggleAriaLabel": "Alternar aprobación automática",
		"disabledAriaLabel": "Aprobación automática desactivada: seleccione primero las opciones",
		"readOnly": {
			"label": "Lectura",
			"description": "Cuando está habilitado, Zoo verá automáticamente el contenido del directorio y leerá archivos sin que necesite hacer clic en el botón Aprobar.",
			"outsideWorkspace": {
				"label": "Incluir archivos fuera del espacio de trabajo",
				"description": "Permitir a Zoo leer archivos fuera del espacio de trabajo actual sin requerir aprobación."
			}
		},
		"write": {
			"label": "Escritura",
			"description": "Crear y editar archivos automáticamente sin requerir aprobación",
			"delayLabel": "Retraso después de escritura para permitir que los diagnósticos detecten posibles problemas",
			"outsideWorkspace": {
				"label": "Incluir archivos fuera del espacio de trabajo",
				"description": "Permitir a Zoo crear y editar archivos fuera del espacio de trabajo actual sin requerir aprobación."
			},
			"protected": {
				"label": "Incluir archivos protegidos",
				"description": "Permitir a Zoo crear y editar archivos protegidos (como .rooignore y archivos de configuración .roo/) sin requerir aprobación."
			}
		},
		"mcp": {
			"label": "MCP",
			"description": "Habilitar la aprobación automática de herramientas MCP individuales en la vista de Servidores MCP (requiere tanto esta configuración como la casilla \"Permitir siempre\" de la herramienta)"
		},
		"modeSwitch": {
			"label": "Modo",
			"description": "Cambiar automáticamente entre diferentes modos sin requerir aprobación"
		},
		"subtasks": {
			"label": "Subtareas",
			"description": "Permitir la creación y finalización de subtareas sin requerir aprobación"
		},
		"followupQuestions": {
			"label": "Pregunta",
			"description": "Seleccionar automáticamente la primera respuesta sugerida para preguntas de seguimiento después del tiempo de espera configurado",
			"timeoutLabel": "Tiempo de espera antes de seleccionar automáticamente la primera respuesta"
		},
		"execute": {
			"label": "Ejecutar",
			"description": "Ejecutar automáticamente comandos de terminal permitidos sin requerir aprobación",
			"allowedCommands": "Comandos de auto-ejecución permitidos",
			"allowedCommandsDescription": "Prefijos de comandos que pueden ser ejecutados automáticamente cuando \"Aprobar siempre operaciones de ejecución\" está habilitado. Añade * para permitir todos los comandos (usar con precaución).",
			"deniedCommands": "Comandos denegados",
			"deniedCommandsDescription": "Prefijos de comandos que serán automáticamente denegados sin pedir aprobación. En caso de conflictos con comandos permitidos, la coincidencia de prefijo más larga tiene prioridad. Añade * para denegar todos los comandos.",
			"commandPlaceholder": "Ingrese prefijo de comando (ej. 'git ')",
			"deniedCommandPlaceholder": "Ingrese prefijo de comando a denegar (ej. 'rm -rf')",
			"addButton": "Añadir",
			"autoDenied": "Los comandos con el prefijo `{{prefix}}` han sido prohibidos por el usuario. No eludes esta restricción ejecutando otro comando."
		},
		"apiRequestLimit": {
			"title": "Solicitudes máximas",
			"unlimited": "Ilimitado"
		},
		"selectOptionsFirst": "Selecciona al menos una opción a continuación para habilitar la aprobación automática",
		"apiCostLimit": {
			"title": "Costo Máximo",
			"unlimited": "Ilimitado"
		},
		"maxLimits": {
			"description": "Realizar automáticamente solicitudes hasta estos límites antes de pedir aprobación para continuar."
		}
	},
	"providers": {
		"providerDocumentation": "Documentación de {{provider}}",
		"configProfile": "Perfil de configuración",
		"description": "Guarde diferentes configuraciones de API para cambiar rápidamente entre proveedores y ajustes.",
		"apiProvider": "Proveedor de API",
		"apiProviderDocs": "Documentación del Proveedor",
		"model": "Modelo",
		"nameEmpty": "El nombre no puede estar vacío",
		"nameExists": "Ya existe un perfil con este nombre",
		"deleteProfile": "Eliminar perfil",
		"invalidArnFormat": "Formato de ARN no válido. Verifica los ejemplos anteriores.",
		"enterNewName": "Ingrese un nuevo nombre",
		"addProfile": "Agregar perfil",
		"renameProfile": "Renombrar perfil",
		"newProfile": "Nuevo perfil de configuración",
		"enterProfileName": "Ingrese el nombre del perfil",
		"createProfile": "Crear perfil",
		"cannotDeleteOnlyProfile": "No se puede eliminar el único perfil",
		"searchPlaceholder": "Buscar perfiles",
		"searchProviderPlaceholder": "Buscar proveedores",
		"noProviderMatchFound": "No se encontraron proveedores",
		"noMatchFound": "No se encontraron perfiles coincidentes",
		"retiredProviderMessage": "Este proveedor ya no está disponible. Selecciona un proveedor compatible para continuar.",
		"vscodeLmDescription": "La API del Modelo de Lenguaje de VS Code le permite ejecutar modelos proporcionados por otras extensiones de VS Code (incluido, entre otros, GitHub Copilot). La forma más sencilla de empezar es instalar las extensiones Copilot y Copilot Chat desde el VS Code Marketplace.",
		"awsCustomArnUse": "Ingrese un ARN de Amazon Bedrock válido para el modelo que desea utilizar. Ejemplos de formato:",
		"awsCustomArnDesc": "Asegúrese de que la región en el ARN coincida con la región de AWS seleccionada anteriormente.",
		"openRouterApiKey": "Clave API de OpenRouter",
		"getOpenRouterApiKey": "Obtener clave API de OpenRouter",
		"vercelAiGatewayApiKey": "Clave API de Vercel AI Gateway",
		"getVercelAiGatewayApiKey": "Obtener clave API de Vercel AI Gateway",
		"apiKeyStorageNotice": "Las claves API se almacenan de forma segura en el Almacenamiento Secreto de VSCode",
		"openAiCodexRateLimits": {
			"title": "Usage Limits for Codex{{planLabel}}",
			"loading": "Loading usage limits...",
			"loadError": "Failed to load usage limits",
			"retry": "Retry",
			"usedPercent": "{{percent}}% used",
			"resetsIn": "Resets in {{time}}",
			"plan": {
				"default": "",
				"withType": " ({{planType}})"
			},
			"time": {
				"now": "Now",
				"notAvailable": "N/A"
			},
			"duration": {
				"daysHours": "{{days}}d {{hours}}h",
				"hoursMinutes": "{{hours}}h {{minutes}}m",
				"minutes": "{{minutes}}m"
			},
			"window": {
				"usage": "Usage",
				"fiveHour": "5h limit",
				"oneHour": "1h limit",
				"daily": "Daily limit",
				"weekly": "Weekly limit",
				"days": "{{days}}d limit",
				"hours": "{{hours}}h limit",
				"minutes": "{{minutes}}m limit"
			}
		},
		"useCustomBaseUrl": "Usar URL base personalizada",
		"useReasoning": "Habilitar razonamiento",
		"useHostHeader": "Usar encabezado Host personalizado",
		"customHeaders": "Encabezados personalizados",
		"headerName": "Nombre del encabezado",
		"headerValue": "Valor del encabezado",
		"noCustomHeaders": "No hay encabezados personalizados definidos. Haga clic en el botón + para añadir uno.",
		"unboundApiKey": "Clave API de Unbound",
		"getUnboundApiKey": "Obtener clave API de Unbound",
		"requestyApiKey": "Clave API de Requesty",
		"refreshModels": {
			"label": "Actualizar modelos",
			"hint": "Por favor, vuelve a abrir la configuración para ver los modelos más recientes.",
			"loading": "Actualizando lista de modelos...",
			"success": "¡Lista de modelos actualizada correctamente!",
			"error": "Error al actualizar la lista de modelos. Por favor, inténtalo de nuevo."
		},
		"getRequestyApiKey": "Obtener clave API de Requesty",
		"getRequestyBaseUrl": "URL base",
		"requestyUseCustomBaseUrl": "Utilice una URL base personalizada",
		"anthropicApiKey": "Clave API de Anthropic",
		"getAnthropicApiKey": "Obtener clave API de Anthropic",
		"anthropicUseAuthToken": "Pasar la clave API de Anthropic como encabezado de autorización en lugar de X-Api-Key",
		"anthropic1MContextBetaLabel": "Habilitar ventana de contexto de 1M (Beta)",
		"anthropic1MContextBetaDescription": "Amplía la ventana de contexto a 1 millón de tokens para Claude Sonnet 4.x / Claude Opus 4.6",
		"awsBedrock1MContextBetaLabel": "Habilitar ventana de contexto de 1M (Beta)",
		"awsBedrock1MContextBetaDescription": "Amplía la ventana de contexto a 1 millón de tokens para Claude Sonnet 4.x / Claude Opus 4.6",
		"vertex1MContextBetaLabel": "Habilitar ventana de contexto de 1M (Beta)",
		"vertex1MContextBetaDescription": "Amplía la ventana de contexto a 1 millón de tokens para Claude Sonnet 4.x / Claude Opus 4.6",
		"basetenApiKey": "Clave API de Baseten",
		"getBasetenApiKey": "Obtener clave API de Baseten",
		"poeApiKey": "Clave API de Poe",
		"getPoeApiKey": "Obtener clave API de Poe",
		"poeBaseUrl": "URL base de Poe",
		"fireworksApiKey": "Clave API de Fireworks",
		"getFireworksApiKey": "Obtener clave API de Fireworks",
		"deepSeekApiKey": "Clave API de DeepSeek",
		"getDeepSeekApiKey": "Obtener clave API de DeepSeek",
		"moonshotApiKey": "Clave API de Moonshot",
		"getMoonshotApiKey": "Obtener clave API de Moonshot",
		"moonshotBaseUrl": "Punto de entrada de Moonshot",
		"zaiApiKey": "Clave API de Z AI",
		"getZaiApiKey": "Obtener clave API de Z AI",
		"zaiEntrypoint": "Punto de entrada de Z AI",
		"zaiEntrypointDescription": "Por favor, seleccione el punto de entrada de API apropiado según su ubicación. Si está en China, elija open.bigmodel.cn. De lo contrario, elija api.z.ai.",
		"minimaxApiKey": "Clave API de MiniMax",
		"getMiniMaxApiKey": "Obtener clave API de MiniMax",
		"minimaxBaseUrl": "Punto de entrada de MiniMax",
		"mimoApiKey": "Clave API de MiMo",
		"getMimoApiKey": "Obtener clave API de MiMo",
		"mimoBaseUrl": "Punto de entrada de MiMo",
		"mimoBaseUrlSingapore": "Token Plan - Singapur (Predeterminado)",
		"mimoBaseUrlChina": "Token Plan - China",
		"mimoBaseUrlEurope": "Token Plan - Europa (AMS)",
		"mimoBaseUrlPayg": "Pago por uso",
		"geminiApiKey": "Clave API de Gemini",
		"getSambaNovaApiKey": "Obtener clave API de SambaNova",
		"sambaNovaApiKey": "Clave API de SambaNova",
		"getGeminiApiKey": "Obtener clave API de Gemini",
		"openAiApiKey": "Clave API de OpenAI",
		"apiKey": "Clave API",
		"openAiBaseUrl": "URL base",
		"getOpenAiApiKey": "Obtener clave API de OpenAI",
		"mistralApiKey": "Clave API de Mistral",
		"getMistralApiKey": "Obtener clave API de Mistral / Codestral",
		"codestralBaseUrl": "URL base de Codestral (Opcional)",
		"codestralBaseUrlDesc": "Establecer una URL alternativa para el modelo Codestral.",
		"xaiApiKey": "Clave API de xAI",
		"getXaiApiKey": "Obtener clave API de xAI",
		"litellmApiKey": "Clave API de LiteLLM",
		"litellmBaseUrl": "URL base de LiteLLM",
		"awsCredentials": "Credenciales de AWS",
		"awsProfile": "Perfil de AWS",
		"awsApiKey": "Clave de API de Amazon Bedrock",
		"awsProfileName": "Nombre del perfil de AWS",
		"awsAccessKey": "Clave de acceso de AWS",
		"awsSecretKey": "Clave secreta de AWS",
		"awsSessionToken": "Token de sesión de AWS",
		"awsRegion": "Región de AWS",
		"awsCrossRegion": "Usar inferencia entre regiones",
		"awsGlobalInference": "Usar inferencia global (selección automática de la región óptima de AWS)",
		"awsServiceTier": "Nivel de servicio",
		"awsServiceTierStandard": "Estándar",
		"awsServiceTierStandardDesc": "Rendimiento y costo equilibrados",
		"awsServiceTierFlex": "Flexible (50% de descuento)",
		"awsServiceTierFlexDesc": "Menor costo, mayor latencia para tareas no críticas",
		"awsServiceTierPriority": "Prioridad (75% de prima)",
		"awsServiceTierPriorityDesc": "Rendimiento más rápido para aplicaciones críticas",
		"awsServiceTierNote": "Los niveles de servicio afectan los precios y rendimiento. Flexible ofrece 50% de descuento con mayor latencia, Prioridad ofrece 25% mejor rendimiento con 75% de prima.",
		"awsBedrockVpc": {
			"useCustomVpcEndpoint": "Usar punto de conexión VPC personalizado",
			"vpcEndpointUrlPlaceholder": "Ingrese URL del punto de conexión VPC (opcional)",
			"examples": "Ejemplos:"
		},
		"enablePromptCaching": "Habilitar caché de prompts",
		"enablePromptCachingTitle": "Habilitar el caché de prompts para mejorar el rendimiento y reducir costos para modelos compatibles.",
		"cacheUsageNote": "Nota: Si no ve el uso del caché, intente seleccionar un modelo diferente y luego seleccionar nuevamente su modelo deseado.",
		"vscodeLmModel": "Modelo de lenguaje",
		"vscodeLmWarning": "Nota: Los modelos a los que se accede a través de la API de modelos de lenguaje de VS Code pueden estar envueltos o ajustados por el proveedor, por lo que su comportamiento puede diferir del uso directo del mismo modelo desde un proveedor o enrutador típico. Para usar un modelo del menú desplegable «Language Model», primero cambia a ese modelo y luego haz clic en «Aceptar» en el aviso de Copilot Chat; de lo contrario, puedes ver un error como 400 «The requested model is not supported».",
		"googleCloudSetup": {
			"title": "Para usar Google Cloud Vertex AI, necesita:",
			"step1": "1. Crear una cuenta de Google Cloud, habilitar la API de Vertex AI y habilitar los modelos Claude deseados.",
			"step2": "2. Instalar Google Cloud CLI y configurar las credenciales predeterminadas de la aplicación.",
			"step3": "3. O crear una cuenta de servicio con credenciales."
		},
		"googleCloudCredentials": "Credenciales de Google Cloud",
		"googleCloudKeyFile": "Ruta del archivo de clave de Google Cloud",
		"googleCloudProjectId": "ID del proyecto de Google Cloud",
		"googleCloudRegion": "Región de Google Cloud",
		"lmStudio": {
			"baseUrl": "URL base (opcional)",
			"modelId": "ID del modelo",
			"speculativeDecoding": "Habilitar decodificación especulativa",
			"draftModelId": "ID del modelo borrador",
			"draftModelDesc": "El modelo borrador debe ser de la misma familia de modelos para que la decodificación especulativa funcione correctamente.",
			"selectDraftModel": "Seleccionar modelo borrador",
			"noModelsFound": "No se encontraron modelos borrador. Asegúrese de que LM Studio esté ejecutándose con el Modo Servidor habilitado.",
			"description": "LM Studio le permite ejecutar modelos localmente en su computadora. Para obtener instrucciones sobre cómo comenzar, consulte su <a>guía de inicio rápido</a>. También necesitará iniciar la función de <b>servidor local</b> de LM Studio para usarlo con esta extensión. <span>Nota:</span> Zoo Code utiliza prompts complejos y funciona mejor con modelos Claude. Los modelos menos capaces pueden no funcionar como se espera."
		},
		"ollama": {
			"baseUrl": "URL base (opcional)",
			"modelId": "ID del modelo",
			"apiKey": "Clave API de Ollama",
			"apiKeyHelp": "Clave API opcional para instancias de Ollama autenticadas o servicios en la nube. Deja vacío para instalaciones locales.",
			"numCtx": "Tamaño de la ventana de contexto (num_ctx)",
			"numCtxHelp": "Sobrescribe el tamaño de la ventana de contexto predeterminado del modelo. Déjelo vacío para usar la configuración del Modelfile del modelo. El valor mínimo es 128.",
			"description": "Ollama le permite ejecutar modelos localmente en su computadora. Para obtener instrucciones sobre cómo comenzar, consulte la guía de inicio rápido.",
			"warning": "Nota: Zoo Code utiliza prompts complejos y funciona mejor con modelos Claude. Los modelos menos capaces pueden no funcionar como se espera."
		},
		"openRouter": {
			"providerRouting": {
				"title": "Enrutamiento de Proveedores de OpenRouter",
				"description": "OpenRouter dirige las solicitudes a los mejores proveedores disponibles para su modelo. Por defecto, las solicitudes se equilibran entre los principales proveedores para maximizar el tiempo de actividad. Sin embargo, puede elegir un proveedor específico para este modelo.",
				"learnMore": "Más información sobre el enrutamiento de proveedores"
			}
		},
		"customModel": {
			"capabilities": "Configure las capacidades y precios para su modelo personalizado compatible con OpenAI. Tenga cuidado al especificar las capacidades del modelo, ya que pueden afectar cómo funciona Zoo Code.",
			"maxTokens": {
				"label": "Tokens máximos de salida",
				"description": "Número máximo de tokens que el modelo puede generar en una respuesta. (Especifique -1 para permitir que el servidor establezca los tokens máximos.)"
			},
			"contextWindow": {
				"label": "Tamaño de ventana de contexto",
				"description": "Total de tokens (entrada + salida) que el modelo puede procesar."
			},
			"imageSupport": {
				"label": "Soporte de imágenes",
				"description": "¿Es este modelo capaz de procesar y entender imágenes?"
			},
			"computerUse": {
				"label": "Uso del ordenador",
				"description": "¿Es este modelo capaz de interactuar con un navegador?"
			},
			"promptCache": {
				"label": "Caché de prompts",
				"description": "¿Es este modelo capaz de almacenar prompts en caché?"
			},
			"pricing": {
				"input": {
					"label": "Precio de entrada",
					"description": "Costo por millón de tokens en la entrada/prompt. Esto afecta el costo de enviar contexto e instrucciones al modelo."
				},
				"output": {
					"label": "Precio de salida",
					"description": "Costo por millón de tokens en la respuesta del modelo. Esto afecta el costo del contenido generado y las completaciones."
				},
				"cacheReads": {
					"label": "Precio de lecturas de caché",
					"description": "Costo por millón de tokens para leer del caché. Este es el precio que se cobra cuando se recupera una respuesta almacenada en caché."
				},
				"cacheWrites": {
					"label": "Precio de escrituras de caché",
					"description": "Costo por millón de tokens para escribir en el caché. Este es el precio que se cobra cuando se almacena un prompt en caché por primera vez."
				}
			},
			"resetDefaults": "Restablecer valores predeterminados"
		},
		"rateLimitSeconds": {
			"label": "Límite de tasa",
			"description": "Tiempo mínimo entre solicitudes de API."
		},
		"consecutiveMistakeLimit": {
			"label": "Límite de errores y repeticiones",
			"description": "Número de errores consecutivos o acciones repetidas antes de mostrar el diálogo 'Zoo está teniendo problemas'. Establecer en 0 para desactivar este mecanismo de seguridad (nunca se activará).",
			"unlimitedDescription": "Reintentos ilimitados habilitados (proceder automáticamente). El diálogo nunca aparecerá.",
			"warning": "⚠️ Establecer en 0 permite reintentos ilimitados que pueden consumir un uso significativo de la API"
		},
		"reasoningEffort": {
			"label": "Esfuerzo de razonamiento del modelo",
			"none": "Ninguno",
			"minimal": "Mínimo (el más rápido)",
			"high": "Alto",
			"xhigh": "Muy alto",
			"medium": "Medio",
			"low": "Bajo"
		},
		"verbosity": {
			"label": "Verbosidad de la salida",
			"high": "Alta",
			"medium": "Media",
			"low": "Baja",
			"description": "Controla qué tan detalladas son las respuestas del modelo. La verbosidad baja produce respuestas concisas, mientras que la verbosidad alta proporciona explicaciones exhaustivas."
		},
		"setReasoningLevel": "Habilitar esfuerzo de razonamiento",
		"claudeCode": {
			"pathLabel": "Ruta de Claude Code",
			"description": "Ruta opcional a su CLI de Claude Code. Por defecto, es 'claude' si no se establece.",
			"placeholder": "Por defecto: claude",
			"maxTokensLabel": "Tokens máximos de salida",
			"maxTokensDescription": "Número máximo de tokens de salida para las respuestas de Claude Code. El valor predeterminado es 8000."
		}
	},
	"checkpoints": {
		"timeout": {
			"label": "Tiempo de espera para inicializar el punto de control (segundos)",
			"description": "Tiempo máximo de espera para inicializar el servicio de puntos de control. El valor por defecto es 15 segundos. Rango: 10-60 segundos."
		},
		"enable": {
			"label": "Habilitar puntos de control automáticos",
			"description": "Cuando está habilitado, Zoo creará automáticamente puntos de control durante la ejecución de tareas, facilitando la revisión de cambios o la reversión a estados anteriores. <0>Más información</0>"
		}
	},
	"notifications": {
		"sound": {
			"label": "Habilitar efectos de sonido",
			"description": "Cuando está habilitado, Zoo reproducirá efectos de sonido para notificaciones y eventos.",
			"volumeLabel": "Volumen"
		},
		"tts": {
			"label": "Habilitar texto a voz",
			"description": "Cuando está habilitado, Zoo leerá en voz alta sus respuestas usando texto a voz.",
			"speedLabel": "Velocidad"
		}
	},
	"contextManagement": {
		"description": "Controle qué información se incluye en la ventana de contexto de la IA, afectando el uso de token y la calidad de respuesta",
		"autoCondenseContextPercent": {
			"label": "Umbral para activar la condensación inteligente de contexto",
			"description": "Cuando la ventana de contexto alcanza este umbral, Zoo la condensará automáticamente."
		},
		"condensingApiConfiguration": {
			"label": "Configuración de API para condensación de contexto",
			"description": "Seleccione qué configuración de API usar para operaciones de condensación de contexto. Deje sin seleccionar para usar la configuración activa actual.",
			"useCurrentConfig": "Usar configuración actual"
		},
		"customCondensingPrompt": {
			"label": "Prompt personalizado para condensación de contexto",
			"description": "Personalice el prompt del sistema utilizado para la condensación de contexto. Deje vacío para usar el prompt predeterminado.",
			"placeholder": "Ingrese su prompt de condensación personalizado aquí...\n\nPuede usar la misma estructura que el prompt predeterminado:\n- Conversación anterior\n- Trabajo actual\n- Conceptos técnicos clave\n- Archivos y código relevantes\n- Resolución de problemas\n- Tareas pendientes y próximos pasos",
			"reset": "Restablecer a predeterminado",
			"hint": "Vacío = usar prompt predeterminado"
		},
		"autoCondenseContext": {
			"name": "Activar automáticamente la condensación inteligente de contexto",
			"description": "Cuando está habilitado, Zoo condensará automáticamente el contexto cuando se alcance el umbral. Cuando está deshabilitado, aún puedes activar manualmente la condensación de contexto."
		},
		"openTabs": {
			"label": "Límite de contexto de pestañas abiertas",
			"description": "Número máximo de pestañas abiertas de VSCode a incluir en el contexto. Valores más altos proporcionan más contexto pero aumentan el uso de token."
		},
		"workspaceFiles": {
			"label": "Límite de contexto de archivos del espacio de trabajo",
			"description": "Número máximo de archivos a incluir en los detalles del directorio de trabajo actual. Valores más altos proporcionan más contexto pero aumentan el uso de token."
		},
		"rooignore": {
			"label": "Mostrar archivos .rooignore en listas y búsquedas",
			"description": "Cuando está habilitado, los archivos que coinciden con los patrones en .rooignore se mostrarán en listas con un símbolo de candado. Cuando está deshabilitado, estos archivos se ocultarán completamente de las listas de archivos y búsquedas."
		},
		"maxReadFile": {
			"label": "Umbral de auto-truncado de lectura de archivos",
			"description": "Zoo lee este número de líneas cuando el modelo omite valores de inicio/fin. Si este número es menor que el total del archivo, Zoo genera un índice de números de línea de las definiciones de código. Casos especiales: -1 indica a Zoo que lea el archivo completo (sin indexación), y 0 indica que no lea líneas y proporcione solo índices de línea para un contexto mínimo. Valores más bajos minimizan el uso inicial de contexto, permitiendo lecturas posteriores de rangos de líneas precisos. Las solicitudes con inicio/fin explícitos no están limitadas por esta configuración.",
			"lines": "líneas",
			"always_full_read": "Siempre leer el archivo completo"
		},
		"maxConcurrentFileReads": {
			"label": "Límite de lecturas simultáneas",
			"description": "Número máximo de archivos que la herramienta 'read_file' puede procesar simultáneamente. Valores más altos pueden acelerar la lectura de múltiples archivos pequeños pero aumentan el uso de memoria."
		},
		"maxImageFileSize": {
			"label": "Tamaño máximo de archivo de imagen",
			"mb": "MB",
			"description": "Tamaño máximo (en MB) para archivos de imagen que pueden ser procesados por la herramienta de lectura de archivos."
		},
		"maxTotalImageSize": {
			"label": "Tamaño total máximo de imágenes",
			"mb": "MB",
			"description": "Límite de tamaño acumulativo máximo (en MB) para todas las imágenes procesadas en una sola operación read_file. Al leer múltiples imágenes, el tamaño de cada imagen se suma al total. Si incluir otra imagen excedería este límite, será omitida."
		},
		"diagnostics": {
			"includeMessages": {
				"label": "Incluir automáticamente diagnósticos en el contexto",
				"description": "Cuando está habilitado, los mensajes de diagnóstico (errores) de los archivos editados se incluirán automáticamente en el contexto. Siempre puedes incluir manualmente todos los diagnósticos del espacio de trabajo usando @problems."
			},
			"maxMessages": {
				"label": "Máximo de mensajes de diagnóstico",
				"description": "Número máximo de mensajes de diagnóstico a incluir por archivo. Este límite se aplica tanto a la inclusión automática (cuando la casilla está habilitada) como a las menciones manuales de @problems. Valores más altos proporcionan más contexto pero aumentan el uso de tokens.",
				"resetTooltip": "Restablecer al valor predeterminado (50)",
				"unlimitedLabel": "Ilimitado"
			},
			"delayAfterWrite": {
				"label": "Retraso después de escrituras para permitir que los diagnósticos detecten problemas potenciales",
				"description": "Tiempo de espera después de escrituras de archivos antes de continuar, permitiendo que las herramientas de diagnóstico procesen cambios y detecten problemas."
			}
		},
		"condensingThreshold": {
			"label": "Umbral de condensación de contexto",
			"selectProfile": "Configurar umbral para perfil",
			"defaultProfile": "Predeterminado global (todos los perfiles)",
			"defaultDescription": "Cuando el contexto alcance este porcentaje, se condensará automáticamente para todos los perfiles a menos que tengan configuraciones personalizadas",
			"profileDescription": "Umbral personalizado solo para este perfil (anula el predeterminado global)",
			"inheritDescription": "Este perfil hereda el umbral predeterminado global ({{threshold}}%)",
			"usesGlobal": "(usa global {{threshold}}%)"
		},
		"includeCurrentTime": {
			"label": "Incluir hora actual en el contexto",
			"description": "Cuando está habilitado, la hora actual y la información de la zona horaria se incluirán en el prompt del sistema. Deshabilítelo si los modelos dejan de funcionar por problemas de tiempo."
		},
		"includeCurrentCost": {
			"label": "Incluir costo actual en el contexto",
			"description": "Cuando está habilitado, el costo de uso actual de la API se incluirá en el prompt del sistema. Deshabilítelo si los modelos dejan de funcionar por problemas de costos."
		},
		"maxGitStatusFiles": {
			"label": "Git status máx. archivos",
			"description": "Número máximo de entradas de archivo para incluir en el contexto de estado de git. Establézcalo en 0 para deshabilitar. La información de la rama y los commits siempre se muestran cuando es > 0."
		},
		"enableSubfolderRules": {
			"label": "Activar reglas de subcarpetas",
			"description": "Descubrir y cargar recursivamente archivos .roo/rules y AGENTS.md desde subdirectorios. Útil para monorepos con reglas por paquete."
		}
	},
	"terminal": {
		"basic": {
			"label": "Configuración del terminal: Básica",
			"description": "Configuración básica del terminal"
		},
		"advanced": {
			"label": "Configuración del terminal: Avanzada",
			"description": "Estos ajustes solo se aplican cuando 'Usar terminal en línea' está desactivado. Afectan solo al terminal de VS Code y pueden requerir reiniciar el IDE."
		},
		"outputLineLimit": {
			"label": "Límite de salida del terminal",
			"description": "Mantiene las primeras y últimas líneas y descarta las intermedias para mantenerse bajo el límite. Reduce para ahorrar tokens; aumenta para dar a Zoo más detalles intermedios. Zoo ve un marcador donde se omite el contenido.<0>Más información</0>"
		},
		"outputCharacterLimit": {
			"label": "Límite de caracteres del terminal",
			"description": "Anula el límite de líneas para evitar problemas de memoria imponiendo un límite estricto al tamaño de salida. Si se excede, mantiene el inicio y el final y muestra un marcador a Zoo donde se omite el contenido. <0>Más información</0>"
		},
		"outputPreviewSize": {
			"label": "Tamaño de vista previa de salida de comandos",
			"description": "Controla cuánta salida de comandos ve Zoo directamente. La salida completa siempre se guarda y es accesible cuando sea necesario.",
			"options": {
				"small": "Pequeño (5KB)",
				"medium": "Mediano (10KB)",
				"large": "Grande (20KB)"
			}
		},
		"shellIntegrationTimeout": {
			"label": "Tiempo de espera de integración del shell del terminal",
			"description": "Cuánto tiempo esperar la integración del shell de VS Code antes de ejecutar comandos. Aumenta si tu shell inicia lentamente o ves errores 'Integración del Shell No Disponible'. <0>Más información</0>"
		},
		"shellIntegrationDisabled": {
			"label": "Usar terminal en línea (recomendado)",
			"description": "Ejecuta comandos en el terminal en línea (chat) para evitar perfiles/integración del shell para ejecuciones más rápidas y confiables. Cuando está desactivado, Zoo usa el terminal de VS Code con tu perfil de shell, prompts y plugins. <0>Más información</0>"
		},
		"commandDelay": {
			"label": "Retraso de comando del terminal",
			"description": "Añade una pausa breve después de cada comando para que el terminal de VS Code pueda vaciar toda la salida (bash/zsh: PROMPT_COMMAND sleep; PowerShell: start-sleep). Usa solo si ves salida final faltante; si no, deja en 0. <0>Más información</0>"
		},
		"powershellCounter": {
			"label": "Activar solución del contador de PowerShell",
			"description": "Activa cuando falta o se duplica la salida de PowerShell; añade un pequeño contador a cada comando para estabilizar la salida. Mantén desactivado si la salida ya se ve correcta. <0>Más información</0>"
		},
		"zshClearEolMark": {
			"label": "Limpiar marca EOL de ZSH",
			"description": "Activa cuando veas % extraviados al final de líneas o el análisis parezca incorrecto; omite la marca de final de línea (%) de Zsh. <0>Más información</0>"
		},
		"zshOhMy": {
			"label": "Activar integración con Oh My Zsh",
			"description": "Activa cuando tu tema/plugins de Oh My Zsh esperen integración del shell; establece ITERM_SHELL_INTEGRATION_INSTALLED=Yes. Desactiva para evitar establecer esa variable. <0>Más información</0>"
		},
		"zshP10k": {
			"label": "Activar integración con Powerlevel10k",
			"description": "Activa cuando uses integración del shell de Powerlevel10k. <0>Más información</0>"
		},
		"zdotdir": {
			"label": "Activar manejo de ZDOTDIR",
			"description": "Activa cuando la integración del shell de zsh falle o entre en conflicto con tus dotfiles. <0>Más información</0>"
		},
		"inheritEnv": {
			"label": "Heredar variables de entorno",
			"description": "Activa para heredar variables de entorno del proceso padre de VS Code. <0>Más información</0>"
		}
	},
	"advancedSettings": {
		"title": "Configuración avanzada"
	},
	"advanced": {
		"diff": {
			"label": "Habilitar edición a través de diffs",
			"description": "Cuando está habilitado, Zoo podrá editar archivos más rápidamente y rechazará automáticamente escrituras completas de archivos truncados",
			"strategy": {
				"label": "Estrategia de diff",
				"options": {
					"standard": "Estándar (Bloque único)",
					"multiBlock": "Experimental: Diff multi-bloque",
					"unified": "Experimental: Diff unificado"
				},
				"descriptions": {
					"standard": "La estrategia de diff estándar aplica cambios a un solo bloque de código a la vez.",
					"unified": "La estrategia de diff unificado toma múltiples enfoques para aplicar diffs y elige el mejor enfoque.",
					"multiBlock": "La estrategia de diff multi-bloque permite actualizar múltiples bloques de código en un archivo en una sola solicitud."
				}
			}
		},
		"todoList": {
			"label": "Habilitar herramienta de lista de tareas",
			"description": "Cuando está habilitado, Zoo puede crear y gestionar listas de tareas para hacer seguimiento del progreso. Esto ayuda a organizar tareas complejas en pasos manejables."
		}
	},
	"experimental": {
		"DIFF_STRATEGY_UNIFIED": {
			"name": "Usar estrategia de diff unificada experimental",
			"description": "Habilitar la estrategia de diff unificada experimental. Esta estrategia podría reducir el número de reintentos causados por errores del modelo, pero puede causar comportamientos inesperados o ediciones incorrectas. Habilítela solo si comprende los riesgos y está dispuesto a revisar cuidadosamente todos los cambios."
		},
		"INSERT_BLOCK": {
			"name": "Usar herramienta experimental de inserción de contenido",
			"description": "Habilitar la herramienta experimental de inserción de contenido, permitiendo a Zoo insertar contenido en números de línea específicos sin necesidad de crear un diff."
		},
		"MULTI_SEARCH_AND_REPLACE": {
			"name": "Usar herramienta experimental de diff de bloques múltiples",
			"description": "Cuando está habilitado, Zoo usará la herramienta de diff de bloques múltiples. Esto intentará actualizar múltiples bloques de código en el archivo en una sola solicitud."
		},
		"CONCURRENT_FILE_READS": {
			"name": "Habilitar lectura concurrente de archivos",
			"description": "Cuando está habilitado, Zoo puede leer múltiples archivos en una sola solicitud. Cuando está deshabilitado, Zoo debe leer archivos uno a la vez. Deshabilitarlo puede ayudar cuando se trabaja con modelos menos capaces o cuando deseas más control sobre el acceso a archivos."
		},
		"MARKETPLACE": {
			"name": "Habilitar Marketplace",
			"description": "Cuando está habilitado, puedes instalar MCP y modos personalizados del Marketplace."
		},
		"PREVENT_FOCUS_DISRUPTION": {
			"name": "Edición en segundo plano",
			"description": "Previene la interrupción del foco del editor cuando está habilitado. Las ediciones de archivos ocurren en segundo plano sin abrir vistas de diferencias o robar el foco. Puedes continuar trabajando sin interrupciones mientras Zoo realiza cambios. Los archivos pueden abrirse sin foco para capturar diagnósticos o mantenerse completamente cerrados."
		},
		"ASSISTANT_MESSAGE_PARSER": {
			"name": "Usar el nuevo analizador de mensajes",
			"description": "Activa el analizador de mensajes en streaming experimental que mejora el rendimiento en respuestas largas procesando los mensajes de forma más eficiente."
		},
		"NEW_TASK_REQUIRE_TODOS": {
			"name": "Requerir lista de 'todos' para nuevas tareas",
			"description": "Cuando está habilitado, la herramienta new_task requerirá que se proporcione un parámetro todos. Esto asegura que todas las nuevas tareas comiencen con una lista clara de objetivos. Cuando está deshabilitado (predeterminado), el parámetro todos permanece opcional por compatibilidad con versiones anteriores."
		},
		"IMAGE_GENERATION": {
			"name": "Habilitar generación de imágenes con IA",
			"providerLabel": "Proveedor",
			"providerDescription": "Selecciona el proveedor para la generación de imágenes.",
			"description": "Cuando esté habilitado, Zoo puede generar imágenes a partir de prompts de texto usando los modelos de generación de imágenes de OpenRouter. Requiere que se configure una clave de API de OpenRouter.",
			"openRouterApiKeyLabel": "Clave API de OpenRouter",
			"openRouterApiKeyPlaceholder": "Introduce tu clave API de OpenRouter",
			"getApiKeyText": "Obtén tu clave API de",
			"modelSelectionLabel": "Modelo de generación de imágenes",
			"modelSelectionDescription": "Selecciona el modelo para la generación de imágenes",
			"warningMissingKey": "⚠️ La clave API de OpenRouter es requerida para la generación de imágenes. Por favor, configúrala arriba.",
			"successConfigured": "✓ La generación de imágenes está configurada y lista para usar"
		},
		"RUN_SLASH_COMMAND": {
			"name": "Habilitar comandos slash iniciados por el modelo",
			"description": "Cuando está habilitado, Zoo puede ejecutar tus comandos slash para ejecutar flujos de trabajo."
		},
		"CUSTOM_TOOLS": {
			"name": "Habilitar herramientas personalizadas",
			"description": "Cuando está habilitado, Zoo puede cargar y usar herramientas TypeScript/JavaScript personalizadas desde el directorio .roo/tools de tu proyecto o ~/.roo/tools para herramientas globales. Nota: estas herramientas se aprobarán automáticamente.",
			"toolsHeader": "Herramientas personalizadas disponibles",
			"noTools": "No hay herramientas personalizadas cargadas. Añade archivos .ts o .js al directorio .roo/tools de tu proyecto o ~/.roo/tools para herramientas globales.",
			"refreshButton": "Actualizar",
			"refreshing": "Actualizando...",
			"refreshSuccess": "Herramientas actualizadas correctamente",
			"refreshError": "Error al actualizar las herramientas",
			"toolParameters": "Parámetros"
		}
	},
	"promptCaching": {
		"label": "Desactivar caché de prompts",
		"description": "Cuando está marcado, Zoo no utilizará el caché de prompts para este modelo."
	},
	"temperature": {
		"useCustom": "Usar temperatura personalizada",
		"description": "Controla la aleatoriedad en las respuestas del modelo.",
		"rangeDescription": "Valores más altos hacen que la salida sea más aleatoria, valores más bajos la hacen más determinista."
	},
	"modelInfo": {
		"supportsImages": "Soporta imágenes",
		"noImages": "No soporta imágenes",
		"supportsPromptCache": "Soporta caché de prompts",
		"noPromptCache": "No soporta caché de prompts",
		"contextWindow": "Ventana de contexto",
		"maxOutput": "Salida máxima",
		"inputPrice": "Precio de entrada",
		"outputPrice": "Precio de salida",
		"cacheReadsPrice": "Precio de lecturas de caché",
		"cacheWritesPrice": "Precio de escrituras de caché",
		"enableStreaming": "Habilitar streaming",
		"enableR1Format": "Habilitar parámetros del modelo R1",
		"enableR1FormatTips": "Debe habilitarse al utilizar modelos R1 como QWQ, para evitar el error 400",
		"useAzure": "Usar Azure",
		"azureApiVersion": "Establecer versión de API de Azure",
		"gemini": {
			"freeRequests": "* Gratis hasta {{count}} solicitudes por minuto. Después de eso, la facturación depende del tamaño del prompt.",
			"pricingDetails": "Para más información, consulte los detalles de precios.",
			"billingEstimate": "* La facturación es una estimación - el costo exacto depende del tamaño del prompt."
		}
	},
	"modelPicker": {
		"automaticFetch": "La extensión obtiene automáticamente la lista más reciente de modelos disponibles en <serviceLink>{{serviceName}}</serviceLink>. Si no está seguro de qué modelo elegir, Zoo Code funciona mejor con <defaultModelLink>{{defaultModelId}}</defaultModelLink>. También puede buscar \"free\" para opciones sin costo actualmente disponibles.",
		"label": "Modelo",
		"searchPlaceholder": "Buscar",
		"noMatchFound": "No se encontraron coincidencias",
		"useCustomModel": "Usar personalizado: {{modelId}}",
		"simplifiedExplanation": "Puedes ajustar la configuración detallada del modelo más tarde."
	},
	"footer": {
		"telemetry": {
			"label": "Permitir informes anónimos de errores y uso",
			"description": "Ayuda a mejorar Zoo Code enviando datos de uso anónimos e informes de errores. Esta telemetría no recopila código, prompts o información personal. Consulta nuestra <privacyLink>política de privacidad</privacyLink> para más detalles."
		},
		"settings": {
			"import": "Importar",
			"export": "Exportar",
			"reset": "Restablecer"
		}
	},
	"thinkingBudget": {
		"maxTokens": "Tokens máximos",
		"maxThinkingTokens": "Tokens máximos de pensamiento"
	},
	"validation": {
		"apiKey": "Debe proporcionar una clave API válida.",
		"awsRegion": "Debe elegir una región para usar con Amazon Bedrock.",
		"googleCloud": "Debe proporcionar un ID de proyecto y región de Google Cloud válidos.",
		"modelId": "Debe proporcionar un ID de modelo válido.",
		"modelSelector": "Debe proporcionar un selector de modelo válido.",
		"openAi": "Debe proporcionar una URL base, clave API y ID de modelo válidos.",
		"arn": {
			"invalidFormat": "Formato de ARN no válido. Por favor, verifique los requisitos de formato.",
			"regionMismatch": "Advertencia: La región en su ARN ({{arnRegion}}) no coincide con su región seleccionada ({{region}}). Esto puede causar problemas de acceso. El proveedor usará la región del ARN."
		},
		"modelAvailability": "El ID de modelo ({{modelId}}) que proporcionó no está disponible. Por favor, elija un modelo diferente.",
		"modelDeprecated": "Este modelo ya no está disponible. Por favor, elija un modelo diferente.",
		"providerNotAllowed": "El proveedor '{{provider}}' no está permitido por su organización",
		"modelNotAllowed": "El modelo '{{model}}' no está permitido para el proveedor '{{provider}}' por su organización",
		"profileInvalid": "Este perfil contiene un proveedor o modelo que no está permitido por su organización",
		"qwenCodeOauthPath": "Debes proporcionar una ruta válida de credenciales OAuth"
	},
	"placeholders": {
		"apiKey": "Ingrese clave API...",
		"profileName": "Ingrese nombre del perfil",
		"accessKey": "Ingrese clave de acceso...",
		"secretKey": "Ingrese clave secreta...",
		"sessionToken": "Ingrese token de sesión...",
		"credentialsJson": "Ingrese JSON de credenciales...",
		"keyFilePath": "Ingrese ruta del archivo de clave...",
		"projectId": "Ingrese ID del proyecto...",
		"customArn": "Ingrese ARN (ej. arn:aws:bedrock:us-east-1:123456789012:foundation-model/my-model)",
		"baseUrl": "Ingrese URL base...",
		"modelId": {
			"lmStudio": "ej. meta-llama-3.1-8b-instruct",
			"lmStudioDraft": "ej. lmstudio-community/llama-3.2-1b-instruct",
			"ollama": "ej. llama3.1"
		},
		"numbers": {
			"maxTokens": "ej. 4096",
			"contextWindow": "ej. 128000",
			"inputPrice": "ej. 0.0001",
			"outputPrice": "ej. 0.0002",
			"cacheWritePrice": "ej. 0.00005"
		}
	},
	"defaults": {
		"ollamaUrl": "Predeterminado: http://localhost:11434",
		"lmStudioUrl": "Predeterminado: http://localhost:1234",
		"geminiUrl": "Predeterminado: https://generativelanguage.googleapis.com"
	},
	"labels": {
		"customArn": "ARN personalizado",
		"useCustomArn": "Usar ARN personalizado..."
	},
	"includeMaxOutputTokens": "Incluir tokens máximos de salida",
	"includeMaxOutputTokensDescription": "Enviar parámetro de tokens máximos de salida en solicitudes API. Algunos proveedores pueden no soportar esto.",
	"limitMaxTokensDescription": "Limitar el número máximo de tokens en la respuesta",
	"maxOutputTokensLabel": "Tokens máximos de salida",
	"maxTokensGenerateDescription": "Tokens máximos a generar en la respuesta",
	"serviceTier": {
		"label": "Nivel de servicio",
		"tooltip": "Para un procesamiento más rápido de las solicitudes de API, prueba el nivel de servicio de procesamiento prioritario. Para precios más bajos con mayor latencia, prueba el nivel de procesamiento flexible.",
		"standard": "Estándar",
		"flex": "Flexible",
		"priority": "Prioridad",
		"pricingTableTitle": "Precios por nivel de servicio (precio por 1M de tokens)",
		"columns": {
			"tier": "Nivel",
			"input": "Entrada",
			"output": "Salida",
			"cacheReads": "Lecturas de caché"
		}
	},
	"ui": {
		"collapseThinking": {
			"label": "Colapsar mensajes de pensamiento por defecto",
			"description": "Cuando está activado, los bloques de pensamiento se colapsarán por defecto hasta que interactúes con ellos"
		},
		"requireCtrlEnterToSend": {
			"label": "Requerir {{primaryMod}}+Enter para enviar mensajes",
			"description": "Cuando está activado, debes presionar {{primaryMod}}+Enter para enviar mensajes en lugar de solo Enter"
		}
	},
	"skills": {
		"description": "Gestiona skills que proporcionan instrucciones contextuales al agente. Las skills se aplican automáticamente cuando son relevantes para tus tareas. <DocsLink>Más información</DocsLink>",
		"workspaceSkills": "Skills del espacio de trabajo",
		"globalSkills": "Skills globales",
		"noWorkspaceSkills": "Sin skills en este proyecto aún.",
		"noGlobalSkills": "Sin skills globales aún.",
		"addSkill": "Agregar Skill",
		"editSkill": "Editar skill",
		"deleteSkill": "Eliminar skill",
		"configureModes": "Disponibilidad de modo",
		"modeAny": "Cualquier modo",
		"modeCount": "{{count}} modos",
		"deleteDialog": {
			"title": "Eliminar Skill",
			"description": "¿Estás seguro de que quieres eliminar la skill \"{{name}}\"? Esta acción no se puede deshacer.",
			"confirm": "Eliminar",
			"cancel": "Cancelar"
		},
		"modeDialog": {
			"title": "Configurar modos de Skill",
			"description": "Elige qué modos pueden usar esta skill",
			"intro": "Para mantener tu contexto ligero, recomendamos que solo hagas disponibles las skills para los modos que las necesitan.",
			"anyMode": "Cualquier modo (disponible en todas partes)",
			"save": "Guardar",
			"cancel": "Cancelar"
		},
		"createDialog": {
			"title": "Crear Nueva Skill",
			"nameLabel": "Nombre",
			"namePlaceholder": "mi-nombre-de-skill",
			"descriptionLabel": "Descripción",
			"descriptionPlaceholder": "Describe cuándo debería usarse esta skill...",
			"sourceLabel": "Ubicación",
			"modeLabel": "Modo (opcional)",
			"modePlaceholder": "Cualquier modo",
			"modeHint": "Restringe esta skill a un modo específico",
			"modeAny": "Cualquier modo",
			"create": "Crear",
			"cancel": "Cancelar"
		},
		"source": {
			"global": "Global (disponible en todos los proyectos)",
			"project": "Proyecto (solo este espacio de trabajo)"
		},
		"validation": {
			"nameRequired": "El nombre es obligatorio",
			"nameTooLong": "El nombre debe tener como máximo 64 caracteres",
			"nameInvalid": "El nombre debe tener entre 1 y 64 caracteres, solo letras minúsculas, números o guiones",
			"descriptionRequired": "La descripción es obligatoria",
			"descriptionTooLong": "La descripción debe tener como máximo 1024 caracteres"
		},
		"footer": "Crea tus propias skills con el modo Skill Writer, disponible en el <MarketplaceLink>Modes Marketplace</MarketplaceLink>."
	}
}
