import type { TranslationMap } from '../types';

// Spanish (Español) chunk 5/5. Translated from chunks/en-5.ts.
const es5: TranslationMap = {
  'settings.billing.subscription.save': '{pct}',
  'settings.billing.subscription.upgrade': 'Mejorar plan',
  'settings.billing.subscription.waiting': 'Esperando',
  'settings.billing.subscription.waitingPayment': 'Esperando pago',
  'settings.composio.apiKeyDesc':
    'Actualmente hay una clave API de Composio almacenada en este dispositivo.',
  'settings.composio.apiKeyLabel': 'Clave API de Composio',
  'settings.composio.apiKeyStored': 'Clave API almacenada',
  'settings.composio.apiKeyStoredPlaceholder': '••••••••••••••••',
  'settings.composio.clearedToBackend': 'Cambiado al modo Backend',
  'settings.composio.confirmItem1': 'Una cuenta en app.composio.dev con una clave API',
  'settings.composio.confirmItem2':
    'Vuelve a vincular cada integración a través de tu cuenta personal de Composio',
  'settings.composio.confirmItem3':
    'Nota: los triggers de Composio (webhooks en tiempo real) aún no funcionan en modo Directo — solo las llamadas de herramientas síncronas',
  'settings.composio.confirmNeedItems': 'Necesitarás:',
  'settings.composio.confirmSwitch': 'Entiendo, cambiar a Directo',
  'settings.composio.confirmTitle': '⚠️ Cambiando a modo Directo',
  'settings.composio.confirmWarning':
    'Tus integraciones existentes (Gmail, Slack, GitHub, etc. vinculadas a través de OpenHuman) no serán visibles — viven en el inquilino de Composio gestionado por OpenHuman.',
  'settings.composio.intro':
    'Composio integra más de 250 aplicaciones externas como herramientas que tu agente puede invocar. Elige cómo se enrutan esas llamadas.',
  'settings.composio.modeDirect': 'Directo (usa tu propia clave API)',
  'settings.composio.modeDirectDesc':
    'Las llamadas van directamente a backend.composio.dev. Soberano / amigable con uso sin conexión. La ejecución de herramientas funciona de forma síncrona; los webhooks de triggers en tiempo real aún no están enrutados en modo directo (incidencia pendiente).',
  'settings.composio.modeManaged': 'Gestionado (OpenHuman lo maneja por ti)',
  'settings.composio.modeManagedDesc':
    'OpenHuman canaliza las llamadas de herramientas a través de nuestro backend (recomendado). La autenticación se intermedia; nunca pegas una clave API de Composio. Los webhooks están totalmente enrutados.',
  'settings.composio.routingMode': 'Modo de enrutamiento',
  'settings.composio.saveErrorNoKey':
    'Error al guardar. El modo Directo requiere una clave API no vacía.',
  'settings.composio.saving': 'Guardando…',
  'settings.composio.switching': 'Cambiando…',
  'settings.cron.jobs.desc': 'Descripción',
  'settings.cron.jobs.empty': 'No se encontraron tareas cron del core.',
  'settings.cron.jobs.lastStatus': 'Último estado',
  'settings.cron.jobs.loading': 'Cargando tareas cron...',
  'settings.cron.jobs.loadingRuns': 'Cargando ejecuciones',
  'settings.cron.jobs.nextRun': 'Próxima ejecución',
  'settings.cron.jobs.pause': 'Pausar',
  'settings.cron.jobs.paused': 'Activado',
  'settings.cron.jobs.recentRuns': 'Ejecuciones recientes',
  'settings.cron.jobs.removing': 'Eliminando',
  'settings.cron.jobs.resume': 'Reanudar',
  'settings.cron.jobs.runningNow': 'Ejecutando ahora',
  'settings.cron.jobs.saving': 'Guardando…',
  'settings.cron.jobs.schedule': 'Programación',
  'settings.cron.jobs.title': 'Tareas cron del core',
  'settings.cron.jobs.viewRuns': 'Ver ejecuciones',
  'settings.localModel.deviceCapability.active': 'Activo',
  'settings.localModel.deviceCapability.appliedTier': 'Nivel aplicado',
  'settings.localModel.deviceCapability.applying': 'Aplicando',
  'settings.localModel.deviceCapability.cores': '{count}',
  'settings.localModel.deviceCapability.couldNotLoadPresets': 'No se pudieron cargar los presets',
  'settings.localModel.deviceCapability.cpu': 'CPU',
  'settings.localModel.deviceCapability.customModelIds': 'IDs de modelos personalizados',
  'settings.localModel.deviceCapability.detected': 'Detectado',
  'settings.localModel.deviceCapability.disabled': 'Desactivado',
  'settings.localModel.deviceCapability.disabledDesc': 'Descripción de desactivado',
  'settings.localModel.deviceCapability.downloadingModels': '(descargando modelos)',
  'settings.localModel.deviceCapability.downloadingSetupDesc':
    'Descargando el instalador de OllamaSetup (~2 GB) y descomprimiéndolo. Esto puede tardar un minuto en la primera instalación.',
  'settings.localModel.deviceCapability.failedToApplyPreset': 'No se pudo aplicar el preset',
  'settings.localModel.deviceCapability.gpu': 'GPU',
  'settings.localModel.deviceCapability.installFailed': 'Instalación de Ollama fallida',
  'settings.localModel.deviceCapability.installFailedDesc':
    'El instalador terminó antes de que Ollama estuviera disponible. Haz clic en reintentar o instálalo manualmente desde ollama.com.',
  'settings.localModel.deviceCapability.installFirst': 'Ejecuta Ollama primero.',
  'settings.localModel.deviceCapability.installFirstDesc':
    'Los niveles locales dependen de un endpoint de Ollama gestionado externamente. Inícialo tú mismo, descarga los modelos que quieras y sigue usando "Desactivado (respaldo en la nube)" hasta que el runtime sea accesible.',
  'settings.localModel.deviceCapability.installOllamaFirst':
    'Ejecuta Ollama primero para usar este nivel',
  'settings.localModel.deviceCapability.installingOllama': 'Instalando Ollama',
  'settings.localModel.deviceCapability.loadingDeviceInfo': 'Cargando info del dispositivo',
  'settings.localModel.deviceCapability.localAiDisabled':
    'IA local desactivada — usando respaldo en la nube.',
  'settings.localModel.deviceCapability.modelTier': 'Nivel de modelo',
  'settings.localModel.deviceCapability.needsOllama': 'Necesita Ollama',
  'settings.localModel.deviceCapability.notDetected': 'No detectado',
  'settings.localModel.deviceCapability.ram': 'RAM',
  'settings.localModel.deviceCapability.recommended': 'Recomendado',
  'settings.localModel.deviceCapability.retryInstall': 'Reintentando…',
  'settings.localModel.deviceCapability.retrying': 'Reintentando…',
  'settings.localModel.deviceCapability.starting': 'Iniciando…',
  'settings.localModel.download.audioPathPlaceholder': 'Ruta absoluta al archivo de audio',
  'settings.localModel.download.capabilityAssets': 'Activos de capacidad',
  'settings.localModel.download.downloading': 'Descargando...',
  'settings.localModel.download.embeddingPlaceholder': 'Una cadena de entrada por línea...',
  'settings.localModel.download.noThinkMode': 'Sin modo de pensamiento',
  'settings.localModel.download.promptPlaceholder':
    'Escribe cualquier prompt y ejecútalo en el modelo local...',
  'settings.localModel.download.quantizationPref': 'Preferencia de cuantización',
  'settings.localModel.download.runEmbeddingTest': 'Ejecutando...',
  'settings.localModel.download.runPromptTest': 'Ejecutar prueba de prompt',
  'settings.localModel.download.runSummaryTest': 'Ejecutar prueba de resumen',
  'settings.localModel.download.runTranscriptionTest': 'Ejecutando...',
  'settings.localModel.download.runTtsTest': 'Ejecutando...',
  'settings.localModel.download.runVisionTest': 'Ejecutando...',
  'settings.localModel.download.running': 'Ejecutando...',
  'settings.localModel.download.runningPrompt': 'Ejecutando prompt',
  'settings.localModel.download.summarizePlaceholder':
    'Pega texto para resumir con el modelo local...',
  'settings.localModel.download.testCustomPrompt': 'Probar prompt personalizado',
  'settings.localModel.download.testEmbeddings': 'Probar embeddings',
  'settings.localModel.download.testSummarization': 'Probar resumen',
  'settings.localModel.download.testVisionPrompt': 'Probar prompt de visión',
  'settings.localModel.download.testVoiceInput': 'Probar entrada de voz (STT)',
  'settings.localModel.download.testVoiceOutput': 'Probar salida de voz (TTS)',
  'settings.localModel.download.ttsOutputPlaceholder': 'Ruta WAV de salida opcional',
  'settings.localModel.download.ttsPlaceholder': 'Ingresa texto para sintetizar...',
  'settings.localModel.download.visionImagePlaceholder':
    'Una referencia de imagen por línea (data URI, URL o marcador de ruta local)',
  'settings.localModel.download.visionPromptPlaceholder':
    'Ingresa un prompt para el modelo de visión...',
  'settings.localModel.status.allChecksPassed': 'Todas las verificaciones pasaron',
  'settings.localModel.status.artifact': 'Artefacto',
  'settings.localModel.status.backend': 'Backend',
  'settings.localModel.status.binary': 'Binario',
  'settings.localModel.status.bootstrapResume': 'Bootstrap / Reanudar',
  'settings.localModel.status.checking': 'Verificando...',
  'settings.localModel.status.checkingOllama': 'Verificando Ollama',
  'settings.localModel.status.customLocation': 'Ubicación personalizada',
  'settings.localModel.status.customLocationDesc': 'Descripción de ubicación personalizada',
  'settings.localModel.status.diagnosticsHint':
    'Haz clic en "Ejecutar diagnósticos" para verificar que Ollama está en ejecución y los modelos están instalados.',
  'settings.localModel.status.downloadingUnknown': 'Descargando (tamaño desconocido)',
  'settings.localModel.status.eta': 'ETA',
  'settings.localModel.status.expectedModels': 'Modelos esperados',
  'settings.localModel.status.forceRebootstrap': 'Forzar re-bootstrap',
  'settings.localModel.status.generationTps': 'TPS de generación',
  'settings.localModel.status.hideErrorDetails': 'Ocultar detalles del error',
  'settings.localModel.status.installManually': 'Instalar manualmente',
  'settings.localModel.status.installManuallyFrom': 'Instalar manualmente desde',
  'settings.localModel.status.installOllama': 'Iniciando…',
  'settings.localModel.status.installedModels': 'Modelos instalados',
  'settings.localModel.status.installing': 'Instalando...',
  'settings.localModel.status.installingOllama': 'Instalando runtime de Ollama...',
  'settings.localModel.status.issues': 'Problemas',
  'settings.localModel.status.issuesFound': 'Se encontraron {count} problema(s)',
  'settings.localModel.status.lastLatency': 'Última latencia',
  'settings.localModel.status.model': 'Modelo',
  'settings.localModel.status.notFound': 'No encontrado',
  'settings.localModel.status.notRunning': 'No en ejecución',
  'settings.localModel.status.ollamaBinaryPath': 'Ruta del binario de Ollama',
  'settings.localModel.status.ollamaDiagnostics': 'Diagnósticos de Ollama',
  'settings.localModel.status.ollamaNotInstalled': 'Runtime de Ollama no disponible',
  'settings.localModel.status.ollamaNotInstalledDesc':
    'OpenHuman ahora trata Ollama como un runtime de inferencia externo. Inicia tu propio servidor Ollama, descarga los modelos que quieras y apunta el enrutado de cargas hacia él.',
  'settings.localModel.status.progress': 'Progreso',
  'settings.localModel.status.provider': 'Proveedor',
  'settings.localModel.status.retryBootstrap': 'Reintentar bootstrap',
  'settings.localModel.status.runDiagnostics': 'Verificando...',
  'settings.localModel.status.running': 'Ejecutándose',
  'settings.localModel.status.runningExternalProcess': 'Ejecutándose como proceso externo',
  'settings.localModel.status.runtimeStatus': 'Estado del runtime',
  'settings.localModel.status.server': 'Servidor',
  'settings.localModel.status.setPath': 'Configurando...',
  'settings.localModel.status.setting': 'Configurando...',
  'settings.localModel.status.showErrorDetails': 'Ocultar detalles del error',
  'settings.localModel.status.showInstallErrorDetails': 'Ocultar detalles del error',
  'settings.localModel.status.suggestedFixes': 'Correcciones sugeridas',
  'settings.localModel.status.thenSetPath': 'Luego configura la ruta',
  'settings.localModel.status.triggering': 'Activando...',
  'settings.localModel.status.unavailable': 'No disponible',
  'settings.localModel.status.working': 'Trabajando...',
  'settings.developerMenu.ai.title': 'Configuración de IA',
  'settings.developerMenu.ai.desc':
    'Proveedores en la nube, modelos locales de Ollama y enrutamiento por carga de trabajo',
  'settings.developerMenu.screenAwareness.title': 'Conciencia de pantalla',
  'settings.developerMenu.screenAwareness.desc':
    'Permisos de captura de pantalla, política de supervisión y controles de sesión',
  'settings.developerMenu.messagingChannels.title': 'Canales de mensajería',
  'settings.developerMenu.messagingChannels.desc':
    'Configura los modos de autenticación de Telegram/Discord y el enrutamiento de canal predeterminado',
  'settings.developerMenu.tools.title': 'Herramientas',
  'settings.developerMenu.tools.desc':
    'Activa o desactiva las capacidades que OpenHuman puede usar en tu nombre',
  'settings.developerMenu.agentChat.title': 'Chat del agente',
  'settings.developerMenu.agentChat.desc':
    'Prueba conversaciones del agente con ajustes de modelo y temperatura',
  'settings.developerMenu.cronJobs.title': 'Tareas cron',
  'settings.developerMenu.cronJobs.desc':
    'Ver y configurar tareas programadas para habilidades en tiempo de ejecución',
  'settings.developerMenu.localModelDebug.title': 'Depuración del modelo local',
  'settings.developerMenu.localModelDebug.desc':
    'Configuración de Ollama, descargas de recursos, pruebas de modelo y diagnósticos',
  'settings.developerMenu.webhooks.title': 'Webhooks',
  'settings.developerMenu.webhooks.desc':
    'Inspecciona registros de webhooks en tiempo de ejecución y solicitudes capturadas',
  'settings.developerMenu.intelligence.title': 'Inteligencia',
  'settings.developerMenu.intelligence.desc':
    'Espacio de trabajo de memoria, motor subconsciente, sueños y ajustes',
  'settings.developerMenu.notificationRouting.title': 'Enrutamiento de notificaciones',
  'settings.developerMenu.notificationRouting.desc':
    'Puntuación de importancia con IA y escalado al orquestador para alertas de integración',
  'settings.developerMenu.composeioTriggers.title': 'Disparadores de ComposeIO',
  'settings.developerMenu.composeioTriggers.desc':
    'Ver historial y archivo de disparadores de ComposeIO',
  'settings.developerMenu.composioRouting.title': 'Enrutamiento de Composio (modo directo)',
  'settings.developerMenu.composioRouting.desc':
    'Usa tu propia clave API de Composio y enruta llamadas directamente a backend.composio.dev',
  'settings.developerMenu.integrationTriggers.title': 'Disparadores de integración',
  'settings.developerMenu.integrationTriggers.desc':
    'Configura los ajustes de triaje de IA para disparadores de integración de Composio',
  'settings.appearance.menuDesc': 'Elige claro, oscuro o igualar el tema del sistema',
  'settings.mascot.active': 'Activo',
  'settings.mascot.characterDesc': 'Descripción del personaje',
  'settings.mascot.characterHeading': 'Encabezado del personaje',
  'settings.mascot.colorDesc': 'Descripción del color',
  'settings.mascot.colorHeading': 'Encabezado del color',
  'settings.mascot.loadingLibrary': 'Cargando biblioteca de OpenHuman…',
  'settings.mascot.localDefault': 'OpenHuman local (predeterminado)',
  'settings.mascot.menuTitle': 'Mascota',
  'settings.mascot.menuDesc': 'Elige el color de la mascota usado en toda la app',
  'settings.mascot.noCharacters': 'Aún no hay personajes de OpenHuman disponibles',
  'settings.mascot.noColorVariants': 'Sin variantes de color',
  'settings.mascot.voice.current': 'actual',
  'settings.mascot.voice.customDesc':
    'Encuentra los ID de voz en api.elevenlabs.io/v1/voices o en tu panel de ElevenLabs. Solo se almacena el ID — tu clave de API permanece en el backend.',
  'settings.mascot.voice.customHeading': 'ID de voz personalizado',
  'settings.mascot.voice.customOption': 'Otro (pegar ID de voz)…',
  'settings.mascot.voice.desc':
    'Elige la voz de ElevenLabs que la mascota usa para las respuestas habladas. Filtra por género, elige de la lista curada, pega un ID personalizado, o deja que la app elija una voz que coincida con el idioma de la interfaz.',
  'settings.mascot.voice.genderFemale': 'Femenino',
  'settings.mascot.voice.genderHeading': 'Género de la voz',
  'settings.mascot.voice.genderMale': 'Masculino',
  'settings.mascot.voice.heading': 'Voz',
  'settings.mascot.voice.preset': 'Preajuste de voz',
  'settings.mascot.voice.presetHeading': 'Preajuste de voz',
  'settings.mascot.voice.preview': 'Vista previa de voz',
  'settings.mascot.voice.previewError': 'Falló la vista previa de voz',
  'settings.mascot.voice.previewing': 'Reproduciendo vista previa…',
  'settings.mascot.voice.reset': 'Restablecer al predeterminado',
  'settings.mascot.voice.useLocaleDefault': 'Coincidir con el idioma de la app',
  'settings.mascot.voice.useLocaleDefaultDesc':
    'Elegir automáticamente una voz para el idioma de la interfaz actual.',
  'settings.memoryWindow.balanced.badge': 'Recomendado',
  'settings.memoryWindow.balanced.hint':
    'Predeterminado sensato — buena continuidad sin quemar tokens extra en cada ejecución.',
  'settings.memoryWindow.balanced.label': 'Equilibrado',
  'settings.memoryWindow.description':
    'Cuánto contexto recordado inyecta OpenHuman en cada nueva ejecución del agente. Ventanas más grandes parecen más conscientes de conversaciones pasadas, pero usan más tokens — y cuestan más — en cada ejecución.',
  'settings.memoryWindow.extended.badge': 'Más contexto',
  'settings.memoryWindow.extended.hint':
    'Más memoria a largo plazo inyectada en cada ejecución. Mayor coste de tokens por turno.',
  'settings.memoryWindow.extended.label': 'Extendido',
  'settings.memoryWindow.maximum.badge': 'Mayor coste',
  'settings.memoryWindow.maximum.hint':
    'La ventana segura más grande. Mejor continuidad, factura de tokens significativamente mayor en cada ejecución.',
  'settings.memoryWindow.maximum.label': 'Máximo',
  'settings.memoryWindow.minimal.badge': 'Más barato',
  'settings.memoryWindow.minimal.hint':
    'Ventana de memoria más pequeña. La más barata, rápida y con menor continuidad entre ejecuciones.',
  'settings.memoryWindow.minimal.label': 'Mínimo',
  'settings.memoryWindow.title': 'Ventana de memoria a largo plazo',
  'settings.screenIntel.permissions.accessibility': 'Accesibilidad',
  'settings.screenIntel.permissions.grantHint': 'Sugerencia de permiso',
  'settings.screenIntel.permissions.inputMonitoring': 'Monitoreo de entrada',
  'settings.screenIntel.permissions.macosAppliesPrivacy': 'macOS aplica privacidad',
  'settings.screenIntel.permissions.openInputMonitoring': 'Solicitando…',
  'settings.screenIntel.permissions.refreshStatus': 'Actualizando…',
  'settings.screenIntel.permissions.refreshing': 'Actualizando…',
  'settings.screenIntel.permissions.requestAccessibility': 'Solicitando…',
  'settings.screenIntel.permissions.requestScreenRecording': 'Solicitando…',
  'settings.screenIntel.permissions.requesting': 'Solicitando…',
  'settings.screenIntel.permissions.restartRefresh': 'Reiniciando core…',
  'settings.screenIntel.permissions.restartingCore': 'Reiniciando core…',
  'settings.screenIntel.permissions.screenRecording': 'Grabación de pantalla',
  'settings.screenIntel.permissions.title': 'Permisos',
  'skills.card.moreActions': 'Más acciones',
  'skills.create.allowedTools': 'Herramientas permitidas',
  'skills.create.author': 'Autor',
  'skills.create.authorPlaceholder': 'Tu nombre',
  'skills.create.commaSeparated': '(separado por comas)',
  'skills.create.createBtn': 'Crear habilidad',
  'skills.create.createError': 'No se pudo crear el skill',
  'skills.create.creating': 'Creando…',
  'skills.create.description': 'Descripción',
  'skills.create.descriptionPlaceholder': '¿Qué hace este skill?',
  'skills.create.license': 'Licencia',
  'skills.create.name': 'Nombre',
  'skills.create.namePlaceholder': 'p. ej. Trade Journal',
  'skills.create.scope': 'Alcance',
  'skills.create.scopeProjectHint': '/.openhuman/skills/',
  'skills.create.scopeUserHint':
    'Se escribe en ~/.openhuman/skills/<slug>/SKILL.md — disponible en todos los espacios de trabajo.',
  'skills.create.slugLabel': 'Etiqueta de slug',
  'skills.create.subtitle': 'SKILL.md',
  'skills.create.tags': 'Etiquetas',
  'skills.create.title': 'Nueva habilidad',
  'skills.detail.allowedTools': 'Herramientas permitidas',
  'skills.detail.author': 'Autor',
  'skills.detail.bundledResources': 'Recursos incluidos',
  'skills.detail.closeAriaLabel': 'Cerrar detalles del skill',
  'skills.detail.location': 'Ubicación',
  'skills.detail.noBundledResources': 'Sin recursos incluidos.',
  'skills.detail.tags': 'Etiquetas',
  'skills.detail.warnings': 'Advertencias',
  'skills.install.fetchLog': 'Obtener registro',
  'skills.install.installBtn': 'Instalando…',
  'skills.install.installComplete': 'Instalación completa',
  'skills.install.installing': 'Instalando…',
  'skills.install.parseWarnings': 'Advertencias de análisis',
  'skills.install.rawError': 'Error sin procesar',
  'skills.install.timeoutHint': '(segundos, opcional)',
  'skills.install.timeoutLabel': 'Etiqueta de tiempo límite',
  'skills.install.title': 'Instalar habilidad desde URL',
  'skills.install.urlLabel': 'URL de la habilidad',
  'skills.meetingBots.bannerDesc': 'Descripción del banner',
  'skills.meetingBots.bannerTitle': 'Título del banner',
  'skills.meetingBots.busyTitle': 'OpenHuman está ocupado',
  'skills.meetingBots.comingSoon': 'Próximamente',
  'skills.meetingBots.couldNotStartTitle': 'No se pudo iniciar OpenHuman',
  'skills.meetingBots.displayName': 'Nombre de visualización',
  'skills.meetingBots.failedToStart': 'No se pudo iniciar OpenHuman.',
  'skills.meetingBots.joiningMessage': 'Debería aparecer como participante en unos segundos.',
  'skills.meetingBots.joiningTitle': 'OpenHuman se está uniendo a la reunión',
  'skills.meetingBots.meetingLink': 'Enlace de la reunión',
  'skills.meetingBots.modalAriaLabel': 'Enviar OpenHuman a una reunión',
  'skills.meetingBots.modalDesc': 'Descripción del modal',
  'skills.meetingBots.modalTitle': 'Enviar OpenHuman a una reunión',
  'skills.meetingBots.newBadge': 'Nuevo',
  'skills.meetingBots.sendTo': 'Enviar a',
  'skills.meetingBots.starting': 'Iniciando…',
  'skills.resource.preview.closeAriaLabel': 'Cerrar vista previa',
  'skills.resource.preview.failed': 'Vista previa fallida',
  'skills.resource.preview.loading': 'Cargando vista previa…',
  'skills.resource.tree.empty': 'Sin recursos incluidos.',
  'skills.search.placeholder': 'Marcador de posición',
  'skills.setup.autocomplete.acceptKey': 'Tecla de aceptación',
  'skills.setup.autocomplete.activeDesc': 'Descripción activa',
  'skills.setup.autocomplete.activeTitle': 'Autocompletado está activo',
  'skills.setup.autocomplete.customizeSettings': 'Personalizar configuración',
  'skills.setup.autocomplete.debounce': 'Debounce',
  'skills.setup.autocomplete.description': 'Descripción',
  'skills.setup.autocomplete.enableBtn': 'Activando...',
  'skills.setup.autocomplete.enableError': 'No se pudo activar el autocompletado',
  'skills.setup.autocomplete.enabling': 'Activando...',
  'skills.setup.autocomplete.notSupported': 'No compatible',
  'skills.setup.autocomplete.stepEnable': 'Activar completados en línea',
  'skills.setup.autocomplete.stepSuccess': 'Listo para usar',
  'skills.setup.autocomplete.stylePreset': 'Estilo predeterminado',
  'skills.setup.autocomplete.stylePresetValue': 'Equilibrado (configurable después)',
  'skills.setup.autocomplete.title': 'Autocompletado de texto',
  'skills.setup.screenIntel.activeDesc': 'Descripción activa',
  'skills.setup.screenIntel.activeTitle': 'Inteligencia de pantalla está activada',
  'skills.setup.screenIntel.advancedSettings': 'Configuración avanzada',
  'skills.setup.screenIntel.allGranted': 'Todos los permisos otorgados',
  'skills.setup.screenIntel.captureMode': 'Modo de captura',
  'skills.setup.screenIntel.captureModeValue': 'Todas las ventanas (configurable después)',
  'skills.setup.screenIntel.deniedHint':
    'Después de otorgar permisos en Configuración del sistema, haz clic abajo para reiniciar y aplicar los cambios.',
  'skills.setup.screenIntel.enableBtn': 'Activando...',
  'skills.setup.screenIntel.enableDesc': 's en tu pantalla y añade contexto útil a tu agente',
  'skills.setup.screenIntel.enableError': 'No se pudo activar la Inteligencia de pantalla',
  'skills.setup.screenIntel.enabling': 'Activando...',
  'skills.setup.screenIntel.grant': 'Abriendo...',
  'skills.setup.screenIntel.granted': 'Otorgado',
  'skills.setup.screenIntel.macosOnly': 'Solo macOS',
  'skills.setup.screenIntel.opening': 'Abriendo...',
  'skills.setup.screenIntel.panicHotkey': 'Tecla de pánico',
  'skills.setup.screenIntel.permAccessibility': 'Accesibilidad',
  'skills.setup.screenIntel.permInputMonitoring': 'Monitoreo de entrada',
  'skills.setup.screenIntel.permScreenRecording': 'Grabación de pantalla',
  'skills.setup.screenIntel.permissionsDesc': 'Descripción de permisos',
  'skills.setup.screenIntel.refreshStatus': 'Actualizar estado',
  'skills.setup.screenIntel.restartRefresh': 'Reiniciando...',
  'skills.setup.screenIntel.restarting': 'Reiniciando...',
  'skills.setup.screenIntel.stepEnable': 'Activar el skill',
  'skills.setup.screenIntel.stepPermissions': 'Otorgar permisos',
  'skills.setup.screenIntel.stepSuccess': 'Listo para usar',
  'skills.setup.screenIntel.title': 'Inteligencia de pantalla',
  'skills.setup.screenIntel.visionModel': 'Modelo de visión',
  'skills.setup.voice.activation': 'Activación',
  'skills.setup.voice.activeDescPrefix': 'Fn',
  'skills.setup.voice.activeDescSuffix': 'Fn',
  'skills.setup.voice.activeTitle': 'Inteligencia de voz está activa',
  'skills.setup.voice.customizeSettings': 'Personalizar configuración',
  'skills.setup.voice.downloadSttBtn': 'Descargar modelo STT',
  'skills.setup.voice.enableDesc': 'Descripción de activación',
  'skills.setup.voice.hotkey': 'Tecla de acceso rápido',
  'skills.setup.voice.startBtn': 'Iniciando...',
  'skills.setup.voice.startError': 'No se pudo iniciar el servidor de voz',
  'skills.setup.voice.starting': 'Iniciando...',
  'skills.setup.voice.stepEnable': 'Iniciar servidor de voz',
  'skills.setup.voice.stepSetup': 'Se requiere descarga del modelo',
  'skills.setup.voice.stepSuccess': 'Listo para usar',
  'skills.setup.voice.sttNotReady': 'Modelo de voz a texto no listo',
  'skills.setup.voice.sttNotReadyDesc':
    'La Inteligencia de voz requiere un modelo local de Whisper para transcripción. Descárgalo desde la configuración de Modelo local.',
  'skills.setup.voice.sttReady': 'Modelo de voz a texto listo',
  'skills.setup.voice.sttReturnHint': 'Sugerencia de retorno STT',
  'skills.setup.voice.title': 'Inteligencia de voz',
  'skills.uninstall.couldNotUninstall': 'No se pudo desinstalar',
  'skills.uninstall.description':
    'Esto elimina permanentemente el directorio de la habilidad y todos sus recursos incluidos. El agente dejará de verlo en el próximo turno.',
  'skills.uninstall.title': 'Desinstalar',
  'skills.uninstall.uninstallBtn': 'Desinstalar',
  'skills.uninstall.uninstalling': 'Desinstalando…',
  'upsell.global.limitMessage': 'Mejora tu plan o recarga créditos para continuar',
  'upsell.global.limitTitle': 'Tú',
  'upsell.global.nearLimitMessage':
    'Has usado el {pct}% de tu límite de uso. Mejora el plan para límites más altos.',
  'upsell.global.nearLimitTitle': 'Acercándote al límite de uso',
  'upsell.usageLimit.bodyBudget':
    'Has alcanzado tu límite semanal.{reset} Mejora tu plan o recarga créditos para evitar límites.',
  'upsell.usageLimit.bodyRate':
    'Has alcanzado tu límite de inferencia de 10 horas.{reset} Mejora para obtener límites más altos.',
  'upsell.usageLimit.heading': 'Límite de uso alcanzado',
  'upsell.usageLimit.notNow': 'Ahora no',
  'upsell.usageLimit.perWindow': '{amount}',
  'upsell.usageLimit.planIncludes': '{plan}',
  'upsell.usageLimit.resetsIn': 'Se restablece {time}.',
  'upsell.usageLimit.upgradePlan': 'Mejorar plan',
  'upsell.usageLimit.weeklyInference': '{amount}',
  'walkthrough.tooltip.letsGo': '¡Vamos!',
  'walkthrough.tooltip.next': 'Siguiente →',
  'walkthrough.tooltip.skip': 'Omitir tour',
  'walkthrough.tooltip.stepCounter': '{n} de {total}',
  'webhooks.activity.empty': 'Vacío',
  'webhooks.activity.title': 'Actividad reciente',
  'webhooks.composioHistory.empty': 'Vacío',
  'webhooks.composioHistory.metadataId': 'ID de metadatos',
  'webhooks.composioHistory.metadataUuid': 'UUID de metadatos',
  'webhooks.composioHistory.payload': 'Payload',
  'webhooks.composioHistory.title': 'Historial de disparadores de Composio',
  'webhooks.tunnels.active': 'Activo',
  'webhooks.tunnels.createFailed': 'No se pudo crear el túnel',
  'webhooks.tunnels.creating': 'Creando...',
  'webhooks.tunnels.deleteFailed': 'No se pudo eliminar el túnel',
  'webhooks.tunnels.descriptionPlaceholder': 'Descripción (opcional)',
  'webhooks.tunnels.echo': 'Echo',
  'webhooks.tunnels.empty': 'Vacío',
  'webhooks.tunnels.enableEcho': 'Eliminar echo',
  'webhooks.tunnels.inactive': 'Activo',
  'webhooks.tunnels.namePlaceholder': 'Nombre del túnel (p. ej. telegram-bot)',
  'webhooks.tunnels.newTunnel': 'Nuevo túnel',
  'webhooks.tunnels.removeEcho': 'Eliminar echo',
  'webhooks.tunnels.title': 'Túneles de webhook',
  'webhooks.tunnels.toggleFailed': 'No se pudo alternar el echo',
  'composio.authExpired': 'Autenticación caducada',
  'composio.reconnect': 'Reconectar',
  'composio.previewBadge': 'Preview',
  'composio.previewTooltip':
    'Agent integration coming soon — you can connect, but the agent can’t use this toolkit yet.',
  'composio.directModeRequiresKey':
    'Error al guardar. El modo Directo requiere una clave API no vacía.',
  'composio.notYetRouted': 'aún sin enrutar',
  'composio.triggers.loading': 'Cargando…',
  'conversations.taskKanban.todo': 'Pendiente',
  'settings.composio.loading': 'Cargando…',
  'settings.mascot.noCharactersAvailable': 'Aún no hay personajes de OpenHuman disponibles',
  'skills.uninstall.confirmTitle': '¿Desinstalar {name}?',
  'conversations.taskKanban.blocked': 'Bloqueado',
  'conversations.taskKanban.done': 'Completado',
  'conversations.taskKanban.inProgress': 'En progreso',
  'intelligence.memoryChunk.detail.copiedHint': 'copiado',
  'settings.composio.notYetRouted': 'aún sin enrutar',
  'settings.localModel.download.manageExternal': 'Gestiona este modelo en tu runtime externo.',
  'settings.localModel.status.manageOllamaExternal':
    'Gestiona el proceso de Ollama y las descargas de modelos fuera de OpenHuman, luego vuelve a ejecutar los diagnósticos.',
  'settings.localModel.status.ollamaDocs': 'Documentación de Ollama',
  'settings.localModel.status.thenRetry':
    'para instrucciones de configuración, luego reintenta cuando tu runtime sea accesible.',
  'settings.appearance.title': 'Appearance',
  'settings.appearance.themeHeading': 'Theme',
  'settings.appearance.themeAria': 'Theme',
  'settings.appearance.modeLight': 'Light',
  'settings.appearance.modeLightDesc': 'Bright surfaces, dark text.',
  'settings.appearance.modeDark': 'Dark',
  'settings.appearance.modeDarkDesc': 'Dim surfaces, easier on the eyes after dusk.',
  'settings.appearance.modeSystem': 'Match system',
  'settings.appearance.modeSystemDesc': 'Follow your OS appearance setting.',
  'settings.appearance.helperText':
    'Dark mode switches the entire app — chat, settings, panels — to a dim palette. "Match system" follows your OS appearance and updates live.',
  'settings.mascot.characterPreview': 'Preview',
  'settings.mascot.characterStates': 'states',
  'settings.mascot.characterVisemes': 'visemes',
  'settings.mascot.colorAria': 'OpenHuman color',
  'settings.mascot.colorBlack': 'Black',
  'settings.mascot.colorBurgundy': 'Burgundy',
  'settings.mascot.colorGreen': 'Green',
  'settings.mascot.colorNavy': 'Navy',
  'settings.mascot.colorYellow': 'Yellow',
  'settings.mascot.libraryUnavailable': 'OpenHuman library unavailable',
  'settings.mascot.title': 'OpenHuman',
  'settings.developerMenu.mcpServer.title': 'MCP Server',
  'settings.developerMenu.mcpServer.desc': 'Configure external MCP clients to connect to OpenHuman',
  'settings.mcpServer.title': 'MCP Server',
  'settings.mcpServer.toolsSectionTitle': 'Available Tools',
  'settings.mcpServer.toolsSectionDesc':
    'Tools exposed via the MCP stdio server when running openhuman-core mcp',
  'settings.mcpServer.configSectionTitle': 'Client Configuration',
  'settings.mcpServer.configSectionDesc':
    'Select your MCP client to generate the correct configuration snippet',
  'settings.mcpServer.copySnippet': 'Copy to Clipboard',
  'settings.mcpServer.copied': 'Copied!',
  'settings.mcpServer.openConfigFile': 'Open Config File',
  'settings.mcpServer.binaryPathNotFound':
    'OpenHuman binary not found. If running from source, build with: cargo build --bin openhuman-core',
  'settings.mcpServer.openConfigError': 'Failed to open config file',
  'settings.mcpServer.clientClaudeDesktop': 'Claude Desktop',
  'settings.mcpServer.clientCursor': 'Cursor',
  'settings.mcpServer.clientCodex': 'Codex',
  'settings.mcpServer.clientZed': 'Zed',
  'settings.mcpServer.configFilePath': 'Config file',
  'settings.mcpServer.clientSelectorAriaLabel': 'MCP client selector',
};

export default es5;
