import type { Dict } from '../types';
import { en } from './en';

export const esES: Dict = {
  ...en,
  'common.cancel': 'Cancelar',
  'common.save': 'Guardar',
  'common.close': 'Cerrar',
  'common.delete': 'Eliminar',
  'common.rename': 'Renombrar',
  'common.preview': 'Vista previa',
  'common.share': 'Compartir',
  'common.search': 'Buscar',
  'common.searchEllipsis': 'Buscar…',
  'common.loading': 'Cargando…',
  'common.all': 'Todos',
  'common.none': 'Ninguno',
  'common.default': 'Predeterminado',
  'common.installed': 'instalado',
  'common.notInstalled': 'no instalado',
  'common.active': 'activo',
  'common.offline': 'sin conexión',
  'common.selected': 'seleccionado',
  'common.create': 'Crear',
  'common.openPreview': 'Abrir vista previa',
  'common.exitFullscreen': 'Salir de pantalla completa',
  'common.fullscreen': 'Pantalla completa',
  'common.openInNewTab': 'Abrir en pestaña nueva',
  'common.exportPdf': 'Exportar como PDF',
  'common.exportZip': 'Descargar como .zip',
  'common.exportHtml': 'Exportar como HTML independiente',
  'common.justNow': 'justo ahora',
  'common.minutesAgo': 'hace {n} min',
  'common.hoursAgo': 'hace {n} h',
  'common.daysAgo': 'hace {n} d',
  'common.now': 'ahora',
  'common.minutesShort': '{n} min',
  'common.hoursShort': '{n} h',
  'common.daysShort': '{n} d',
  'common.untitled': 'Sin título',

  'app.brand': 'Open Design',
  'app.brandPill': 'Vista previa de investigación',
  'app.brandSubtitle': 'por Nexu Labs',
  'app.welcomeLoading': 'Cargando espacio de trabajo…',

  'settings.welcomeKicker': 'Bienvenido',
  'settings.welcomeTitle': 'Configura Open Design',
  'settings.welcomeSubtitle':
    'Elige cómo quieres ejecutar las generaciones. Puedes cambiarlo en cualquier momento desde el botón Ajustes en la barra superior.',
  'settings.kicker': 'Ajustes',
  'settings.title': 'Ejecución y modelo',
  'settings.subtitle': 'Elige entre CLI local y BYOK. Tu clave de API se guarda solo en este navegador.',
  'settings.modeAria': 'Modo de ejecución',
  'settings.protocolAria': 'Protocolo de API',
  'settings.modeDaemon': 'CLI local',
  'settings.modeDaemonHelp': 'Ejecuta a través de una CLI de agente de código en tu máquina',
  'settings.modeDaemonOffline': 'El daemon no está en ejecución',
  'settings.modeDaemonOfflineMeta': 'daemon sin conexión',
  'settings.modeDaemonInstalledMeta': '{count} instalados',
  'settings.modeApi': 'Proveedor de API',
  'settings.modeApiMeta': 'BYOK',
  'settings.codeAgent': 'Agente de código',
  'settings.codeAgentHint':
    'Detectado al escanear tu PATH. Elige la CLI por la que quieres que pasen las generaciones.',
  'settings.rescan': '↻ Reescanear',
  'settings.rescanTitle': 'Reescanear PATH',
  'settings.rescanRunning': 'Escaneando...',
  'settings.rescanSuccess': 'Escaneo completado. {count} disponibles.',
  'settings.rescanFailed': 'El escaneo falló. Comprueba el daemon e inténtalo de nuevo.',
  'settings.noAgentsDetected':
    'Aún no se ha detectado ningún agente. Instala Claude Code, Codex, Devin for Terminal, Gemini CLI, OpenCode, Cursor Agent, Qwen o GitHub Copilot CLI y pulsa Reescanear.',
  'settings.apiSection': 'API de Anthropic',
  'settings.quickFillProvider': 'Rellenar proveedor',
  'settings.customProvider': 'Proveedor personalizado',
  'settings.apiKey': 'Clave de API',
  'settings.showKey': 'Mostrar clave',
  'settings.hideKey': 'Ocultar clave',
  'settings.show': 'Mostrar',
  'settings.hide': 'Ocultar',
  'settings.model': 'Modelo',
  'settings.suggestedModelsHint':
    'Estos son modelos sugeridos para este protocolo. Tu proveedor puede admitir modelos diferentes.',
  'settings.baseUrl': 'URL base',
  'settings.baseUrlInvalid': 'Introduce una URL pública http:// o https:// válida. Localhost está permitido; las IPs de red privada se bloquean.',
  'settings.azureDeploymentModel': 'Nombre del despliegue',
  'settings.azureDeploymentModelHint':
    'Para Azure OpenAI, este campo se usa como nombre del despliegue en /openai/deployments/<model>. Introduce el nombre del despliegue que creaste en Azure.',
  'settings.apiVersion': 'Versión de API',
  'settings.maxTokens': 'Tokens máx. (opcional)',
  'settings.maxTokensHint':
    'Tope para la longitud de la respuesta. Cada modelo tiene un valor por defecto ajustado (visible en el placeholder); déjalo vacío para usarlo o introduce un número para anularlo.',
  'settings.apiHint': 'Las llamadas pasan por el proxy del daemon local hasta la URL base configurada. La clave se guarda solo en este navegador y se envía con las solicitudes al proveedor.',
  'settings.skipForNow': 'Omitir por ahora',
  'settings.getStarted': 'Empezar',
  'settings.envConfigure': 'Configurar el modo de ejecución',
  'settings.localCli': 'CLI local',
  'settings.anthropicApi': 'API de Anthropic',
  'settings.noAgentSelected': 'ningún agente seleccionado',
  'settings.language': 'Idioma',
  'settings.languageHint': 'Cambia el idioma de la interfaz. Se guarda en este navegador.',
  'settings.appearance': 'Apariencia',
  'settings.appearanceHint': 'Elige claro, oscuro o seguir la configuración del sistema.',
  'settings.themeSystem': 'Sistema',
  'settings.themeLight': 'Claro',
  'settings.themeDark': 'Oscuro',
  'settings.modelPicker': 'Modelo',
  'settings.reasoningPicker': 'Esfuerzo de razonamiento',
  'settings.modelPickerHint':
    'Se obtiene de la CLI cuando expone un comando `models`. «Predeterminado» deja la elección a la propia configuración de la CLI; «Personalizado…» permite escribir cualquier id de modelo aceptado por la CLI.',
  'settings.cliEnvTitle': 'CLI config locations',
  'settings.cliEnvHint':
    'Set non-secret config directories for packaged app runs and agent detection.',
  'settings.cliEnvClaudeConfigDir': 'Claude Code config dir',
  'settings.cliEnvCodexHome': 'Codex home',
  'settings.modelCustom': 'Personalizado (escribe abajo)…',
  'settings.modelCustomLabel': 'Id de modelo personalizado',
  'settings.modelCustomPlaceholder': 'p. ej., anthropic/claude-sonnet-4-6',
  'settings.mediaProviders': 'Proveedores de medios',
  'settings.mediaProvidersHint':
    'Claves de API para generación de imagen, vídeo y audio. Se guardan localmente y se sincronizan con el daemon local.',
  'settings.mediaProviderApiKey': 'Clave de API',
  'settings.mediaProviderBaseUrl': 'URL base',
  'settings.mediaProviderConfigured': 'Configurado',
  'settings.mediaProviderUnset': 'Sin configurar',
  'settings.mediaProviderClear': 'Limpiar',
  'settings.mediaProviderPlaceholder': 'Pega la clave de API',
  'settings.mediaProviderBaseUrlPlaceholder': 'Sobrescribir URL base por defecto',
  'settings.about': 'Acerca de',
  'settings.aboutHint': 'Versión y detalles de ejecución',
  'settings.appVersion': 'Versión',
  'settings.appChannel': 'Canal',
  'settings.appRuntime': 'Ejecución',
  'settings.appPlatform': 'Plataforma',
  'settings.appArchitecture': 'Arquitectura',
  'settings.runtimePackaged': 'App empaquetada',
  'settings.runtimeDevelopment': 'Desarrollo',
  'settings.versionUnavailable': 'Los detalles de versión no están disponibles mientras el daemon está offline.',

  'entry.tabDesigns': 'Diseños',
  'entry.tabExamples': 'Ejemplos',
  'entry.tabDesignSystems': 'Sistemas de diseño',
  'entry.openSettingsTitle': 'Ajustes',
  'entry.openSettingsAria': 'Abrir ajustes',
  'entry.resizeAria': 'Redimensionar barra lateral',
  'entry.loadingWorkspace': 'Cargando espacio de trabajo…',
  'entry.tabImageTemplates': 'Plantillas de imagen',
  'entry.tabVideoTemplates': 'Plantillas de vídeo',
  'promptTemplates.searchPlaceholder': 'Buscar plantillas…',
  'promptTemplates.countLabel': '{n} resultados',
  'promptTemplates.emptyImage': 'Aún no hay plantillas de prompt de imagen instaladas.',
  'promptTemplates.emptyVideo': 'Aún no hay plantillas de prompt de vídeo instaladas.',
  'promptTemplates.emptyNoMatch': 'Ninguna plantilla coincide con tu búsqueda.',
  'promptTemplates.attributionFooter':
    'Adaptadas de bibliotecas públicas de prompts. Cada tarjeta enlaza al autor original.',
  'promptTemplates.openPreviewTitle': 'Abrir prompt y vista previa',
  'promptTemplates.sourcePrefix': 'Fuente:',
  'promptTemplates.fetchError': 'No se pudo cargar el cuerpo de esta plantilla.',
  'promptTemplates.promptLabel': 'Cuerpo del prompt',
  'promptTemplates.copyPrompt': 'Copiar prompt',
  'promptTemplates.copyDone': '¡Copiado!',
  'promptTemplates.modelHint': 'Modelo sugerido: {model}',
  'promptTemplates.openSource': 'Ver original',
  'promptTemplates.openFullscreen': 'Abrir vista previa en pantalla completa',
  'promptTemplates.closeFullscreen': 'Cerrar vista previa en pantalla completa',
  'promptTemplates.allSources': 'Todas las fuentes',
  'promptTemplates.sourceFilterAria': 'Filtrar por fuente',
  'promptTemplates.retry': 'Reintentar',

  'newproj.tabPrototype': 'Prototipo',
  'newproj.tabDeck': 'Presentación',
  'newproj.tabTemplate': 'Desde plantilla',
  'newproj.tabOther': 'Otro',
  'newproj.titlePrototype': 'Nuevo prototipo',
  'newproj.titleDeck': 'Nueva presentación',
  'newproj.titleTemplate': 'Empezar desde una plantilla',
  'newproj.titleImage': 'Nueva imagen',
  'newproj.titleVideo': 'Nuevo vídeo',
  'newproj.titleAudio': 'Nuevo audio',
  'newproj.titleOther': 'Nuevo proyecto',
  'newproj.namePlaceholder': 'Nombre del proyecto',
  'newproj.fidelityLabel': 'Fidelidad',
  'newproj.fidelityWireframe': 'Wireframe',
  'newproj.fidelityHigh': 'Alta fidelidad',
  'newproj.toggleSpeakerNotes': 'Usar notas del orador',
  'newproj.toggleSpeakerNotesHint': 'Menos texto en las diapositivas: deja los puntos clave en las notas.',
  'newproj.toggleAnimations': 'Incluir animaciones',
  'newproj.toggleAnimationsHint':
    'Añade movimiento (entrada, hover, transiciones) sobre la plantilla.',
  'newproj.templateLabel': 'Plantilla',
  'newproj.noTemplatesTitle': 'Aún no hay plantillas',
  'newproj.noTemplatesBody':
    'Abre cualquier proyecto y usa el menú Compartir dentro del visor de archivos para convertirlo en plantilla. Las plantillas aparecerán aquí.',
  'newproj.savedTemplate': 'Plantilla guardada',
  'newproj.fileSingular': 'archivo',
  'newproj.filePlural': 'archivos',
  'newproj.create': 'Crear',
  'newproj.createFromTemplate': 'Crear desde plantilla',
  'newproj.createDisabledTitle':
    'Guarda primero un proyecto como plantilla (menú Compartir dentro de cualquier proyecto).',
  'newproj.importClaudeZip': 'Importar ZIP de Claude Design',
  'newproj.importClaudeZipTitle': 'Importar una exportación .zip de Claude Design',
  'newproj.importingClaudeZip': 'Importando…',
  'newproj.privacyFooter': 'Por defecto, solo tú puedes ver tu proyecto.',
  'newproj.designSystem': 'Sistema de diseño',
  'newproj.dsNoneFreeform': 'Ninguno: estilo libre',
  'newproj.dsNoneSubtitleEmpty': 'Sin tokens de sistema, elige tu propia paleta',
  'newproj.dsNoneSubtitleSelected': 'Omitir tokens de sistema. El agente elige su propia paleta.',
  'newproj.dsCategoryFallback': 'Sistema de diseño',
  'newproj.dsSearch': 'Buscar sistemas de diseño…',
  'newproj.dsModeAria': 'Modo de selección',
  'newproj.dsModeSingle': 'Único',
  'newproj.dsModeMulti': 'Múltiple',
  'newproj.dsNoneTitle': 'Ninguno: estilo libre',
  'newproj.dsNoneSub': 'Omitir tokens de sistema. El agente elige su propia paleta.',
  'newproj.dsEmpty': 'Ningún sistema de diseño coincide con «{query}».',
  'newproj.dsFootSingular': 'es solo inspiración.',
  'newproj.dsFootPlural': 'son solo inspiración.',
  'newproj.dsFootClear': 'Limpiar',
  'newproj.dsBadgeDefault': 'PREDETERMINADO',
  'newproj.dsPrimaryFallback': 'Principal',
  'newproj.surfaceImage': 'Imagen',
  'newproj.surfaceVideo': 'Vídeo',
  'newproj.surfaceAudio': 'Audio',
  'newproj.modelLabel': 'Modelo',
  'newproj.aspectLabel': 'Proporción',
  'newproj.imageStyleLabel': 'Notas de estilo',
  'newproj.imageStylePlaceholder': 'Foto editorial, luz suave de día, paleta apagada',
  'newproj.videoLengthLabel': 'Duración',
  'newproj.videoLengthSeconds': '{n} s',
  'newproj.audioKindLabel': 'Tipo de audio',
  'newproj.audioKindMusic': 'Música',
  'newproj.audioKindSpeech': 'Voz / TTS',
  'newproj.audioKindSfx': 'Efecto de sonido',
  'newproj.audioDurationLabel': 'Duración',
  'newproj.audioDurationSeconds': '{n} s',
  'newproj.voiceLabel': 'Voz',
  'newproj.voicePlaceholder': 'Id de voz del proveedor, opcional',
  'newproj.promptTemplateLabel': 'Plantilla de referencia',
  'newproj.promptTemplateNoneTitle': 'Ninguna — escribe la tuya',
  'newproj.promptTemplateNoneSub': 'Sáltate la galería y describe tu propio briefing',
  'newproj.promptTemplateRefSub': 'Plantilla de referencia',
  'newproj.promptTemplateSearch': 'Buscar plantillas…',
  'newproj.promptTemplateEmpty': 'Aún no hay plantillas para este formato.',
  'newproj.promptTemplateBodyLabel': 'Prompt (editable)',
  'newproj.promptTemplateOptimizeHint':
    'Edita lo que quieras — tus cambios se incorporan al briefing del agente.',
  'newproj.promptTemplateBodyEmpty':
    'Cuerpo vacío — el agente no recibirá ninguna referencia de plantilla.',

  'designs.subRecent': 'Recientes',
  'designs.subYours': 'Tus diseños',
  'designs.filterAria': 'Filtrar proyectos',
  'designs.searchPlaceholder': 'Buscar…',
  'designs.emptyNoProjects': 'Aún no hay proyectos. Crea uno a la izquierda.',
  'designs.emptyNoMatch': 'Ningún proyecto coincide con tu búsqueda.',
  'designs.deleteTitle': 'Eliminar proyecto',
  'designs.deleteConfirm': '¿Eliminar «{name}»?',
  'designs.cardFreeform': 'estilo libre',
  'designs.status.notStarted': 'Sin empezar',
  'designs.status.queued': 'En cola',
  'designs.status.running': 'En ejecución',
  'designs.status.awaitingInput': 'Necesita respuesta',
  'designs.status.succeeded': 'Completado',
  'designs.status.failed': 'Fallido',
  'designs.status.canceled': 'Cancelado',
  'designs.viewToggleAria': 'Modo de vista',
  'designs.viewGrid': 'Vista en cuadrícula',
  'designs.viewKanban': 'Vista en tablero',
  'designs.kanbanEmptyColumn': 'Sin diseños',
  'designs.deleteAria': 'Eliminar proyecto {name}',

  'examples.typeLabel': 'Tipo',
  'examples.surfaceLabel': 'Superficie',
  'examples.surfaceWeb': 'Web',
  'examples.surfaceImage': 'Imagen',
  'examples.surfaceVideo': 'Vídeo',
  'examples.surfaceAudio': 'Audio',
  'examples.scenarioLabel': 'Escenario',
  'examples.modeAll': 'Todos',
  'examples.modePrototypeDesktop': 'Prototipos · Escritorio',
  'examples.modePrototypeMobile': 'Prototipos · Móvil',
  'examples.modeDeck': 'Diapositivas',
  'examples.modeDocument': 'Documentos y plantillas',
  'examples.modeOrbit': 'Orbit',
  'examples.scenarioGeneral': 'General',
  'examples.scenarioEngineering': 'Ingeniería',
  'examples.scenarioProduct': 'Producto',
  'examples.scenarioDesign': 'Diseño',
  'examples.scenarioMarketing': 'Marketing',
  'examples.scenarioSales': 'Ventas',
  'examples.scenarioFinance': 'Finanzas',
  'examples.scenarioHr': 'RR. HH.',
  'examples.scenarioOperations': 'Operaciones',
  'examples.scenarioSupport': 'Soporte',
  'examples.scenarioLegal': 'Legal',
  'examples.scenarioEducation': 'Educación',
  'examples.scenarioPersonal': 'Personal',
  'examples.emptyNoSkills': 'No hay skills disponibles. ¿Está el daemon en ejecución?',
  'examples.searchPlaceholder': 'Buscar ejemplos…',
  'examples.searchAria': 'Buscar ejemplos por nombre',
  'examples.emptyNoMatch': 'Ningún ejemplo coincide con estos filtros.',
  'examples.openPreview': '⤢ Abrir vista previa',
  'examples.loadingPreview': 'Cargando vista previa…',
  'examples.hoverPreview': 'Pasa el cursor para ver la vista previa',
  'examples.usePrompt': 'Usar este prompt',
  'examples.previewModalTitle': 'Abrir vista previa completa (modal)',
  'examples.shareTitle': 'Compartir este ejemplo',
  'examples.shareLoadFirst': 'Pasa el cursor para cargar primero la vista previa',
  'examples.shareMenu': 'Compartir ▾',
  'examples.exportPdfAllSlides': 'Exportar como PDF (todas las diapositivas)',
  'examples.exportPptxLocked': 'Exportar como PPTX… (abre primero la plantilla)',
  'examples.tagSlideDeck': 'Presentación',
  'examples.tagTemplate': 'Plantilla',
  'examples.tagDesignSystem': 'Sistema de diseño',
  'examples.tagMobilePrototype': 'Prototipo móvil',
  'examples.tagDesktopPrototype': 'Prototipo de escritorio',
  'examples.tagImage': 'Imagen',
  'examples.tagVideo': 'Vídeo',
  'examples.tagAudio': 'Audio',
  'examples.previewLabel': 'Vista previa',

  'ds.surfaceLabel': 'Superficie',
  'ds.surfaceWeb': 'Web',
  'ds.surfaceImage': 'Imagen',
  'ds.surfaceVideo': 'Vídeo',
  'ds.surfaceAudio': 'Audio',
  'ds.searchPlaceholder': 'Buscar sistemas de diseño…',
  'ds.emptyNoMatch': 'Ningún sistema de diseño coincide con tu búsqueda.',
  'ds.badgeDefault': 'PREDETERMINADO',
  'ds.preview': 'Vista previa',
  'ds.previewTitle': 'Vista previa del sistema de diseño',
  'ds.categoryAll': 'Todos',
  'ds.categoryUncategorized': 'Sin categoría',
  'ds.showcase': 'Vitrina',
  'ds.tokens': 'Tokens',
  'ds.specToggle': 'DESIGN.md',
  'ds.specLoading': 'Cargando DESIGN.md…',

  'avatar.title': 'Cuenta y ajustes',
  'avatar.localCli': 'CLI local',
  'avatar.anthropicApi': 'API de Anthropic',
  'avatar.useLocal': 'Usar CLI local',
  'avatar.useApi': 'Usar API · BYOK',
  'avatar.codeAgent': 'Agente de código',
  'avatar.rescan': 'Reescanear PATH',
  'avatar.settings': 'Ajustes',
  'avatar.backToProjects': 'Volver a los proyectos',
  'avatar.metaActive': 'activo',
  'avatar.metaOffline': 'sin conexión',
  'avatar.metaSelected': 'seleccionado',
  'avatar.noAgentSelected': 'ningún agente seleccionado',
  'avatar.modelSection': 'Modelo',
  'avatar.modelLabel': 'Modelo',
  'avatar.reasoningLabel': 'Razonamiento',
  'avatar.customSuffix': '(personalizado)',

  'project.backToProjects': 'Volver a los proyectos',
  'project.metaFreeform': 'estilo libre',
  'project.resizeChatPanel': 'Redimensionar panel de chat',
  'chat.tabChat': 'Chat',
  'chat.tabComments': 'Comentarios',
  'chat.commentsSoon': 'Comentarios — próximamente',
  'chat.comments.attached': 'Attached to chat',
  'chat.comments.emptyAttached': 'No comments attached.',
  'chat.comments.saved': 'Saved comments',
  'chat.comments.emptySaved': 'No saved comments.',
  'chat.comments.add': 'Add',
  'chat.comments.addAll': 'Add all',
  'chat.comments.remove': 'Remove',
  'chat.comments.placeholder': 'Comment on this element…',
  'chat.comments.addSend': 'Add & send',
  'chat.comments.updateSend': 'Update & send',
  'chat.comments.removeAttachment': 'Remove comment attachment',
  'chat.comments.removeAttachmentAria': 'Remove comment attachment for {name}',
  'chat.conversationsTitle': 'Conversaciones',
  'chat.conversationsAria': 'Historial de conversaciones',
  'chat.newConversation': 'Nueva conversación',
  'chat.newConversationsTitle': 'Nueva conversación',
  'chat.conversationsHeading': 'Conversaciones',
  'chat.new': 'Nueva',
  'chat.emptyConversations': 'Aún no hay conversaciones.',
  'chat.deleteConversation': 'Eliminar conversación',
  'chat.deleteConversationConfirm':
    '¿Eliminar «{title}»? Se borrarán sus mensajes.',
  'chat.untitledConversation': 'Conversación sin título',
  'chat.startTitle': 'Empieza una conversación',
  'chat.startHint':
    'Suelta o pega imágenes como referencia visual, o escribe @ para adjuntar un archivo de este proyecto. O prueba uno de estos comienzos:',
  'chat.fillInputTitle': 'Haz clic para rellenar el campo',
  'chat.jumpToLatest': 'Ir al más reciente',
  'chat.scrollToLatest': 'Desplazar al más reciente',
  'chat.you': 'Tú',
  'chat.openFile': 'Abrir {name}',
  'chat.composerPlaceholder':
    'Describe el diseño que quieres: pega o suelta imágenes, o usa @ para referenciar un archivo…',
  'chat.composerHint':
    '⌘/Ctrl + Intro para enviar · pega imágenes · @ para referenciar archivos',
  'chat.cliSettingsTitle': 'Ajustes de CLI y modelo',
  'chat.cliSettingsAria': 'Abrir ajustes de CLI y modelo',
  'chat.attachTitle': 'Adjuntar archivos (o pegar / soltar)',
  'chat.attachAria': 'Adjuntar archivos',
  'chat.importTitle': 'Importar fuentes (próximamente)',
  'chat.importLabel': 'Importar',
  'chat.importComingSoon': 'Próximamente',
  'chat.importSoon': 'Pronto',
  'chat.importFig': 'Subir archivo .fig',
  'chat.importGitHub': 'Conectar GitHub',
  'chat.importWeb': 'Capturar elemento web',
  'chat.importFolder': 'Vincular carpeta de código',
  'chat.importSkills': 'Skills y sistemas de diseño',
  'chat.importProject': 'Reference another project',
  'chat.linkedFolderRemoveAria': 'Eliminar carpeta vinculada {path}',
  'chat.linkedFolderNotFound': 'La carpeta no existe',
  'chat.linkedFolderAlready': 'Esta carpeta ya está vinculada',
  'chat.linkedFolderPickError': 'No se pudo abrir el selector de carpetas',
  'chat.send': 'Enviar',
  'chat.stop': 'Detener',
  'chat.removeAria': 'Quitar {name}',
  'chat.example1Title': 'Pitch deck editorial',
  'chat.example1Tag': 'Revista',
  'chat.example1Prompt':
    'Una presentación editorial de 10 diapositivas para un estudio de diseño que levanta una ronda seed: maquetación con grid suizo, titulares serif enormes con capitulares marcadas, números de sección en monoespaciada, abundante espacio en blanco y diapositivas a sangre con foto intercaladas con otras densas en texto. Portada, visión, mercado, producto, tracción, equipo, petición y contacto.',
  'chat.example2Title': 'Dashboard de analítica SaaS',
  'chat.example2Tag': 'Datos',
  'chat.example2Prompt':
    'Un dashboard denso de analítica para un SaaS de herramientas para desarrolladores: tira de KPIs con variaciones semana a semana, dos gráficos de líneas apilados (MRR y workspaces activos), un mapa de calor mundial de uso, una rejilla de retención por cohortes, un ranking de clientes principales y un feed de eventos en tiempo real. Tema oscuro, números monoespaciados tabulares, acentos con sparklines.',
  'chat.example3Title': 'Memoria anual long-scroll',
  'chat.example3Tag': 'Editorial',
  'chat.example3Prompt':
    'Una memoria anual interactiva para una ONG climática: maquetación editorial long-scroll mezclando grandes bloques de citas, visualizaciones de datos (barras apiladas, contadores animados, un mapa coroplético de proyectos), separadores con fotografía, muro de donantes y llamada a la acción final. Cuerpo en serif moderna, etiquetas de gráficos en sans-serif, paleta terrosa de papel.',

  'preview.shareMenu': 'Compartir ▾',
  'preview.openInNewTab': 'Abrir en pestaña nueva',
  'preview.exit': '⤓ Salir',
  'preview.fullscreen': '⤢ Pantalla completa',
  'preview.closeTitle': 'Cerrar (Esc)',
  'preview.loading': 'Cargando {label}…',
  'preview.showSidebar': 'Mostrar {label}',
  'preview.hideSidebar': 'Ocultar {label}',

  'misc.savedTemplate': 'Plantilla guardada',
  'misc.primary': 'Principal',
  'misc.designSystem': 'Sistema de diseño',

  'workspace.designFiles': 'Archivos de diseño',
  'workspace.focusMode': 'Focus workspace',
  'workspace.showChat': 'Show chat',
  'workspace.closeTab': 'Cerrar pestaña',
  'workspace.deleteFileConfirm': '¿Eliminar «{name}» de la carpeta del proyecto?',
  'workspace.openFromDesignFiles': 'Abre un archivo desde',
  'workspace.designFilesLink': 'Archivos de diseño',
  'workspace.loadingSketch': 'Cargando boceto…',
  'designFiles.title': 'Archivos de diseño',
  'designFiles.upload': 'Subir archivos',
  'designFiles.pasteText': 'Pegar como archivo de texto',
  'designFiles.newSketch': 'Nuevo boceto',
  'designFiles.empty':
    'Aquí no hay nada todavía. Suelta archivos abajo, o crea un boceto / pega texto.',
  'designFiles.refresh': 'Actualizar',
  'designFiles.delete': 'Eliminar',
  'designFiles.searchPlaceholder': 'Buscar archivos…',
  'designFiles.up': 'Subir',
  'designFiles.back': 'Atrás',
  'designFiles.crumbs': 'proyecto',
  'designFiles.rowMenu': 'Menú de la fila',
  'designFiles.openInTab': 'Abrir en pestaña',
  'designFiles.download': 'Descargar',
  'designFiles.downloadSelected': 'Download {n} as ZIP',
  'designFiles.clearSelection': 'Clear',
  'designFiles.selectAll': 'Select all',
  'designFiles.dropTitle': '⤓ Suelta archivos aquí',
  'designFiles.dropDesc':
    'Imágenes, documentos, referencias o carpetas: el agente los usará como contexto.',
  'designFiles.upload.title': 'Subir archivos',
  'designFiles.paste.title': 'Pegar texto como archivo',
  'designFiles.upload.label': 'Subir',
  'designFiles.paste.label': 'Pegar',
  'designFiles.previewOpen': 'Abrir',
  'designFiles.previewClose': 'Cerrar vista previa',
  'designFiles.modified': 'Modificado {time} · {size}',
  'designFiles.weeksAgo': 'hace {n} sem',
  'designFiles.sectionPages': 'Páginas',
  'designFiles.sectionScripts': 'Scripts',
  'designFiles.sectionImages': 'Imágenes',
  'designFiles.sectionSketches': 'Bocetos',
  'designFiles.sectionOther': 'Otros',
  'designFiles.showMore': 'Mostrar +{n} más',
  'designFiles.kindHtml': 'Página HTML',
  'designFiles.kindImage': 'Imagen',
  'designFiles.kindSketch': 'Boceto',
  'designFiles.kindText': 'Texto',
  'designFiles.kindCode': 'Script',
  'designFiles.kindPdf': 'PDF',
  'designFiles.kindDocument': 'Documento',
  'designFiles.kindPresentation': 'Presentación',
  'designFiles.kindSpreadsheet': 'Hoja de cálculo',
  'designFiles.kindBinary': 'Binario',
  'quickSwitcher.placeholder': 'Abrir archivo…',
  'quickSwitcher.empty': 'No hay archivos en este proyecto',
  'quickSwitcher.noMatches': 'Sin resultados',
  'quickSwitcher.navigate': 'navegar',
  'quickSwitcher.open': 'abrir',
  'quickSwitcher.close': 'cerrar',
  'pasteDialog.title': 'Pegar texto',
  'pasteDialog.hint': 'Se guarda en la carpeta del proyecto. Elige cualquier nombre.',
  'pasteDialog.fileNameLabel': 'Nombre del archivo',
  'pasteDialog.namePlaceholder': 'notas.txt',
  'pasteDialog.contentLabel': 'Contenido',
  'pasteDialog.contentPlaceholder': 'Pega lo que quieras…',
  'pasteDialog.save': 'Guardar',
  'pasteDialog.cancel': 'Cancelar',
  'sketch.save': 'Guardar boceto',
  'sketch.cancel': 'Cancelar',
  'sketch.saving': 'Guardando…',
  'sketch.tooltipDirty': 'Cambios sin guardar',
  'sketch.tooltipClean': 'Guardado',
  'fileViewer.empty': 'Selecciona un archivo para verlo.',
  'fileViewer.loading': 'Cargando…',
  'fileViewer.exportPptx': 'Exportar como PPTX',
  'fileViewer.openInNewTab': 'Abrir en pestaña nueva',
  'fileViewer.copyPath': 'Copiar ruta',
  'fileViewer.copied': '¡Copiado!',
  'fileViewer.share': 'Compartir',
  'fileViewer.binaryMeta': 'Binario · {size}',
  'fileViewer.binaryNote':
    'Archivo binario ({size} bytes). Descárgalo o ábrelo desde el disco para inspeccionarlo.',
  'fileViewer.pdfMeta': 'PDF · {size}',
  'fileViewer.documentMeta': 'Documento',
  'fileViewer.presentationMeta': 'Presentación',
  'fileViewer.spreadsheetMeta': 'Hoja de cálculo',
  'fileViewer.previewUnavailable': 'Vista previa no disponible. Descarga o abre el archivo para inspeccionarlo.',
  'fileViewer.download': 'Descargar',
  'fileViewer.open': 'Abrir',
  'fileViewer.imageMeta': 'Imagen · {size}',
  'fileViewer.reactMeta': 'Componente React · {size}',
  'fileViewer.sketchMeta': 'Boceto · {size}',
  'fileViewer.markdownStreamingMeta': 'Vista previa en streaming…',
  'fileViewer.markdownErrorMeta': 'La vista previa puede estar incompleta (error de generación).',
  'fileViewer.markdownStreamingStatus': 'Streaming… mostrando markdown parcial.',
  'fileViewer.markdownErrorStatus': 'Error de generación. Mostrando el último contenido disponible.',
  'fileViewer.videoMeta': 'Vídeo · {size}',
  'fileViewer.audioMeta': 'Audio · {size}',
  'fileViewer.reload': 'Recargar',
  'fileViewer.reloadDisk': 'Recargar desde el disco',
  'fileViewer.copy': 'Copiar',
  'fileViewer.copyTitle': 'Copiar el contenido del archivo',
  'fileViewer.saveDisabled': 'Guardar (visor de solo lectura)',
  'fileViewer.save': 'Guardar',
  'fileViewer.preview': 'Vista previa',
  'fileViewer.source': 'Código fuente',
  'fileViewer.tweaks': 'Ajustes',
  'fileViewer.comment': 'Comentar',
  'fileViewer.edit': 'Editar',
  'fileViewer.draw': 'Dibujar',
  'manualEdit.layers': "Layers",
  'manualEdit.editableCount': "{count} editable",
  'manualEdit.title': "Manual editor",
  'manualEdit.selectLayer': "Select a layer",
  'manualEdit.empty': "Click an element in the preview or choose a layer.",
  'manualEdit.noClass': "no class",
  'manualEdit.tabsAria': "Manual edit tabs",
  'manualEdit.tabContent': "Content",
  'manualEdit.tabStyle': "Style",
  'manualEdit.tabAttributes': "Attributes",
  'manualEdit.tabHtml': "Html",
  'manualEdit.tabSource': "Source",
  'manualEdit.attributesJson': "Attributes JSON",
  'manualEdit.selectedHtml': "Selected element HTML",
  'manualEdit.fullSource': "Full artifact source",
  'manualEdit.applyContent': "Apply Content",
  'manualEdit.applyStyle': "Apply Style",
  'manualEdit.applyAttributes': "Apply Attributes",
  'manualEdit.applyHtml': "Apply HTML",
  'manualEdit.applySource': "Apply Source",
  'manualEdit.invalidAttributes': "Invalid attributes JSON.",
  'manualEdit.changes': "Changes",
  'manualEdit.undo': "Undo",
  'manualEdit.redo': "Redo",
  'manualEdit.noChanges': "No manual edits yet.",
  'manualEdit.imageUrl': "Image URL",
  'manualEdit.altText': "Alt text",
  'manualEdit.label': "Label",
  'manualEdit.text': "Text",
  'manualEdit.href': "Href",
  'manualEdit.textColor': "Text color",
  'manualEdit.background': "Background",
  'manualEdit.fontSize': "Font size",
  'manualEdit.weight': "Weight",
  'manualEdit.align': "Align",
  'manualEdit.padding': "Padding",
  'manualEdit.margin': "Margin",
  'manualEdit.radius': "Radius",
  'manualEdit.border': "Border",
  'manualEdit.width': "Width",
  'manualEdit.minHeight': "Min height",
  'fileViewer.zoomOut': 'Reducir zoom',
  'fileViewer.zoomIn': 'Aumentar zoom',
  'fileViewer.resetZoom': 'Restablecer zoom',
  'fileViewer.reloadAria': 'Recargar',
  'fileViewer.previousSlide': 'Diapositiva anterior',
  'fileViewer.nextSlide': 'Diapositiva siguiente',
  'fileViewer.slideNavAria': 'Navegación de diapositivas',
  'fileViewer.present': 'Presentar',
  'fileViewer.presentInTab': 'En esta pestaña',
  'fileViewer.presentFullscreen': 'Pantalla completa',
  'fileViewer.presentNewTab': 'Pestaña nueva',
  'fileViewer.exitPresentation': 'Salir de la presentación',
  'fileViewer.shareLabel': 'Compartir',
  'fileViewer.exportPdf': 'Exportar como PDF',
  'fileViewer.exportPdfAllSlides': 'Exportar como PDF (todas las diapositivas)',
  'fileViewer.exportPptxBusy': 'Espera a que termine el turno actual.',
  'fileViewer.exportPptxHint':
    'Envía una solicitud al agente para convertir este diseño a PPTX.',
  'fileViewer.exportPptxNa': 'La exportación a PPTX no está disponible aquí.',
  'fileViewer.exportZip': 'Descargar como .zip',
  'fileViewer.exportHtml': 'Exportar como HTML independiente',
  'fileViewer.exportMd': 'Exportar como Markdown',
  'fileViewer.exportJsx': 'Exportar como JSX',
  'fileViewer.exportReactHtml': 'Exportar vista previa como HTML',
  'fileViewer.saveAsTemplate': 'Guardar como plantilla…',
  'fileViewer.savingTemplate': 'Guardando plantilla…',
  'fileViewer.savedTemplate': 'Guardado como «{name}»',
  'fileViewer.savedTemplateFail': 'No se pudo guardar la plantilla. Inténtalo de nuevo.',
  'fileViewer.templateNamePrompt': 'Nombre de la plantilla',
  'fileViewer.templateNameDefault': 'Plantilla sin título',
  'fileViewer.templateDescPrompt':
    'Descripción breve (opcional: ¿qué hace útil esta plantilla?)',
  'fileViewer.deployToVercel': 'Desplegar en Vercel',
  'fileViewer.redeployToVercel': 'Volver a desplegar',
  'fileViewer.deployingToVercel': 'Desplegando en Vercel…',
  'fileViewer.preparingPublicLink': 'Preparando enlace público…',
  'fileViewer.copyDeployLink': 'Copiar enlace',
  'fileViewer.deployModalTitle': 'Desplegar en Vercel',
  'fileViewer.deployModalSubtitle':
    'Despliega este artefacto HTML como Preview de Vercel usando tu propia cuenta.',
  'fileViewer.vercelToken': 'Token de Vercel',
  'fileViewer.vercelTokenGetLink': 'Obtener token de Vercel',
  'fileViewer.vercelTokenPlaceholder': 'Pega tu token de Vercel',
  'fileViewer.vercelTokenReuseHint':
    'Se usará el token guardado. Introduce uno nuevo para reemplazarlo.',
  'fileViewer.vercelTokenRequired': 'Introduce y guarda primero un token de Vercel.',
  'fileViewer.vercelTeamId': 'Team ID',
  'fileViewer.vercelTeamSlug': 'Team slug',
  'fileViewer.optional': 'Opcional',
  'fileViewer.vercelPreviewOnly': 'Por ahora los despliegues son solo Preview.',
  'fileViewer.savingConfig': 'Guardando…',
  'fileViewer.deployConfigSaveFailed': 'No se pudieron guardar los ajustes de Vercel.',
  'fileViewer.deployFailed': 'El despliegue falló. Revisa los ajustes de Vercel e inténtalo de nuevo.',
  'fileViewer.deployResultLabel': 'URL desplegada',
  'fileViewer.deployLinkPreparingLabel': 'Enlace público pendiente',
  'fileViewer.deployLinkDelayed':
    'Tu sitio está desplegado. Vercel todavía está preparando el enlace público.',
  'fileViewer.deployLinkProtectedLabel': 'Protección de Vercel activada',
  'fileViewer.deployLinkProtected':
    'Tu sitio se desplegó, pero Vercel exige autenticación para este enlace de preview. Desactiva Deployment Protection o usa un dominio personalizado.',
  'fileViewer.retryLink': 'Reintentar ahora',

  'questionForm.submit': 'Enviar',
  'questionForm.skip': 'Omitir',
  'questionForm.locked': 'Respondido',

  'conv.switch': 'Cambiar de conversación',
  'conv.label': 'Conversación',
  'conv.heading': 'Conversaciones',
  'conv.new': '+ Nueva',
  'conv.empty': 'Aún no hay conversaciones.',
  'conv.untitled': 'Conversación sin título',
  'conv.renameTooltip': 'Doble clic para renombrar',
  'conv.delete': 'Eliminar conversación',
  'conv.deleteConfirm': '¿Eliminar «{title}»? Se borrarán sus mensajes.',

  'agentPicker.label': 'Agente',
  'agentPicker.modeChoose': 'Elige el modo de ejecución',
  'agentPicker.localCli': 'CLI local',
  'agentPicker.daemonOff': 'daemon apagado',
  'agentPicker.byok': 'API · BYOK',
  'agentPicker.selectAgent': 'Selecciona una CLI de agente de código detectada',
  'agentPicker.noAgents': 'no hay agentes en el PATH',
  'agentPicker.notInstalled': 'no instalado',
  'agentPicker.rescan': 'Reescanear el PATH local en busca de agentes',

  'tool.openInTab': 'Abrir {name} en una pestaña',
  'tool.open': 'abrir',
  'tool.todos': 'Tareas',
  'tool.write': 'Escribir',
  'tool.edit': 'Editar',
  'tool.read': 'Leer',
  'tool.bash': 'Bash',
  'tool.glob': 'Glob',
  'tool.grep': 'Grep',
  'tool.fetch': 'Obtener',
  'tool.search': 'Buscar',
  'tool.lines': '{n} líneas',
  'tool.changeSingular': 'cambio',
  'tool.changePlural': 'cambios',
  'tool.in': 'en {path}',
  'tool.hide': 'ocultar',
  'tool.output': 'salida',
  'tool.running': 'ejecutando…',
  'tool.error': 'error',
  'tool.done': 'listo',

  'assistant.role': 'Asistente',
  'assistant.workingLabel': 'Trabajando',
  'assistant.doneLabel': 'Listo',
  'assistant.unfinishedLabel': 'Detenido con tareas pendientes',
  'assistant.unfinishedSummary': 'quedan {n} tarea(s)',
  'assistant.unfinishedMore': '+{n} más',
  'assistant.continueRemaining': 'Continuar tareas pendientes',
  'assistant.outTokens': '{n} salida',
  'assistant.producedFiles': 'Archivos de este turno',
  'assistant.openFile': 'Abrir',
  'assistant.downloadFile': 'Descargar',
  'assistant.thinking': 'Pensando',
  'assistant.systemReminder': 'Recordatorio del sistema',
  'assistant.waitingFirstOutput': 'Esperando la primera salida',
  'assistant.statusBootingAgent': 'Iniciando agente',
  'assistant.statusStarting': 'Iniciando',
  'assistant.statusRequesting': 'Enviando solicitud',
  'assistant.statusThinking': 'Pensando',
  'assistant.statusStreaming': 'Transmitiendo',
  'assistant.slowHint':
    'Está tardando más de lo normal. El formulario suele aparecer en 5-10 s. Puedes pulsar Detener y reformular.',
  'assistant.verbEditing': 'Editando',
  'assistant.verbWriting': 'Escribiendo',
  'assistant.verbReading': 'Leyendo',
  'assistant.verbSearching': 'Buscando',
  'assistant.verbRunning': 'Ejecutando',
  'assistant.verbTodos': 'Tareas',
  'assistant.verbFetching': 'Obteniendo',
  'assistant.verbCalling': 'Llamando',

  'qf.answered': 'respondido',
  'qf.choose': 'Elige…',
  'qf.required': 'obligatorio',
  'qf.lockedSubmitted':
    'Respuestas enviadas: el agente las usará durante el resto de la sesión.',
  'qf.lockedPrev': 'Este formulario es de un turno anterior.',
  'qf.hint':
    'Elige lo que encaje. Omite los campos opcionales que no te importen: el agente usará valores predeterminados sensatos.',
  'qf.submitDefault': 'Enviar respuestas',
  'qf.submitDisabledTitle': 'Rellena primero los campos obligatorios',
  'qf.submitTitle': 'Enviar respuestas',
  'qf.cardSelected': 'seleccionado',
  'qf.cardRefs': 'Refs:',
  'qf.cardSampleText': 'El veloz murciélago hindú · 0123',

  'sketch.toolSelect': 'Seleccionar (sin acción)',
  'sketch.toolPen': 'Lápiz',
  'sketch.toolText': 'Texto',
  'sketch.toolRect': 'Rectángulo',
  'sketch.toolArrow': 'Flecha',
  'sketch.toolEraser': 'Borrador',
  'sketch.color': 'Color',
  'sketch.strokeSize': 'Grosor del trazo',
  'sketch.undo': 'Deshacer',
  'sketch.clear': 'Limpiar',
  'sketch.close': 'Cerrar',
  'sketch.textPrompt': 'Texto:',

  'pet.title': 'Mascotas',
  'pet.tabBuiltIn': 'Integradas',
  'pet.tabBuiltInHint': 'Compañeros incluidos con Open Design — elige uno y adóptalo.',
  'pet.builtInEmpty': 'Las mascotas integradas no están disponibles ahora. Actualiza la pestaña Comunidad cuando el daemon vuelva a estar en línea.',
  'pet.tabCustom': 'Personalizada',
  'pet.tabCustomHint': 'Pon nombre, glifo, color o sube un sprite.',
  'pet.tabCommunity': 'Comunidad',
  'pet.tabCommunityHint': 'Mascotas eclosionadas de Codex — adopta o genera una con IA.',
  'pet.tabsAria': 'Fuente de la mascota',
  'pet.subtitle': 'Adopta una mascotita que flota sobre tu workspace.',
  'pet.navTitle': 'Mascotas',
  'pet.navHint': 'Adopta o personaliza',
  'pet.adopt': 'Adoptar',
  'pet.adoptedBadge': 'Adoptada',
  'pet.adoptCallout': 'Adopta una mascota',
  'pet.changePet': 'Cambiar mascota',
  'pet.wake': 'Despertar',
  'pet.tuck': 'Esconder',
  'pet.wakeTitle': 'Despertar la mascota — mostrar el overlay.',
  'pet.tuckTitle': 'Esconder la mascota — ocultar el overlay.',
  'pet.settingsTitle': 'Abrir ajustes de mascota',
  'pet.useCustom': 'Usar mi mascota',
  'pet.customTitle': 'Crea la tuya',
  'pet.customHint': 'Elige nombre, símbolo y color — el overlay se actualiza en vivo.',
  'pet.customGreetingPlaceholder': 'Saluda con tu mascota…',
  'pet.fieldName': 'Nombre',
  'pet.fieldGlyph': 'Símbolo',
  'pet.fieldGlyphHint': 'Un solo emoji va mejor (p. ej. 🐝, 🦄, 🐢).',
  'pet.fieldGreeting': 'Saludo',
  'pet.fieldAccent': 'Color de acento',
  'pet.fieldAccentCustom': 'Color personalizado',
  'pet.overlayAria': 'Compañero',
  'pet.spriteAria': '{name} — arrastra para mover, haz clic para conversar',
  'pet.spriteTitle': '¡Hola de {name}! Haz clic para conversar.',
  'pet.railAria': 'Selector de mascota',
  'pet.railTitle': 'Mascotas',
  'pet.railHint': 'Elige un compañero que flote sobre tu workspace.',
  'pet.railExpand': 'Mostrar selector',
  'pet.railCollapse': 'Plegar selector',
  'pet.railHide': 'Ocultar selector de mascotas',
  'pet.railShow': 'Mostrar selector de mascotas',
  'pet.railCustomFlavor': 'La tuya — nombre, símbolo y color.',
  'pet.railCustomize': 'Personalizar…',
  'pet.composerTitle': 'Mascotas — despertar, esconder o elegir',
  'pet.composerMenuTitle': 'Mascotas',
  'pet.composerMenuHint': 'tip: escribe /pet para alternar',
  'pet.composerOpenSettings': 'Personalizar en Ajustes',
  'pet.welcomeTeaserTitle': 'Adopta una mascota',
  'pet.welcomeTeaserBody': 'Un compañerito que flota sobre tu workspace.',
  'pet.welcomeTeaserCta': 'Elegir',
  'pet.imageUpload': 'Subir sprite',
  'pet.imageReplace': 'Reemplazar sprite',
  'pet.imageRemove': 'Usar emoji',
  'pet.imageHintIdle': 'PNG, JPG, WebP, GIF o SVG. ¿Spritesheet? Sube una tira horizontal y ajusta el número de frames.',
  'pet.imageHintActive': 'Mostrando tu sprite. Pon frames > 1 para animar un spritesheet horizontal.',
  'pet.fieldFrames': 'Frames',
  'pet.fieldFramesHint': '1 = estático. > 1 = spritesheet horizontal.',
  'pet.fieldFps': 'Velocidad (fps)',
  'pet.fieldFpsHint': 'Velocidad de cambio de frames.',
  'pet.atlasImport': 'Importar sprite de Codex',
  'pet.atlasImportTitle': 'Importa un atlas hatch-pet 8x9 / 192x208 (PNG o WebP).',
  'pet.atlasPickerTitle': 'Elige una fila de animación',
  'pet.atlasPickerHint': 'Las mascotas Codex traen 9 filas de animación. Por defecto mantenemos todo el atlas para que la mascota cambie de fila al pasar el ratón, según la dirección del arrastre o tras estar inactiva. También puedes fijar un solo bucle.',
  'pet.atlasCancel': 'Descartar atlas',
  'pet.atlasAdopt': 'Fijar a esta fila',
  'pet.atlasAdoptFull': 'Usar atlas completo (animado)',
  'pet.atlasAdoptFullTitle': 'Conserva todas las filas para que la mascota reaccione al hover, a la dirección del arrastre y a la inactividad larga.',
  'pet.atlasAdoptRowTitle': 'Recorta solo la fila resaltada en una tira con bucle único.',
  'pet.atlasActiveHint': 'Atlas animado activo — la mascota elige una fila según tu interacción (hover, arrastre, inactividad).',
  'pet.atlasRow.idle': 'Idle',
  'pet.atlasRow.running-right': 'Corre a la derecha',
  'pet.atlasRow.running-left': 'Corre a la izquierda',
  'pet.atlasRow.waving': 'Saludo',
  'pet.atlasRow.jumping': 'Salto',
  'pet.atlasRow.failed': 'Falló',
  'pet.atlasRow.waiting': 'Espera',
  'pet.atlasRow.running': 'Corre',
  'pet.atlasRow.review': 'Revisión',
  'pet.hatchTitle': 'Eclosiona una mascota nueva con IA',
  'pet.hatchHint': 'Usa la skill hatch-pet incluida desde el chat para generar un spritesheet estilo Codex y luego impórtalo aquí.',
  'pet.hatchConcept': 'Concepto de mascota (opcional)',
  'pet.hatchConceptPlaceholder': 'p. ej. un shiba pixel-art con un suéter cómodo',
  'pet.hatchCopy': 'Copiar prompt',
  'pet.hatchCopied': '¡Copiado!',
  'pet.hatchFoot': 'Cuando la skill guarde tu mascota, vuelve y pulsa "Importar sprite de Codex".',
  'pet.slashPopoverAria': 'Comandos slash',
  'pet.slashPopoverTitle': 'Comandos',
  'pet.slashPopoverHint': '↑↓ navegar · enter elegir · esc cerrar',
  'pet.slashPet': 'Alternar, adoptar o ir a ajustes de mascota.',
  'pet.slashPetWake': 'Despertar la mascota flotante.',
  'pet.slashPetTuck': 'Guardar la mascota por ahora.',
  'pet.slashHatch': 'Genera una mascota Codex con la skill hatch-pet.',
  'pet.slashHatchArg': '<concepto>',
  'pet.codexTitle': 'Recién eclosionadas',
  'pet.codexSubtitle': 'Las mascotas empaquetadas por la skill hatch-pet aparecen aquí para adopción en un clic.',
  'pet.codexSubtitleWithDir': 'Escaneando {dir} en busca de paquetes de hatch-pet.',
  'pet.codexEmpty': 'Aún no hay mascotas eclosionadas. Escribe /hatch en el chat para generar una.',
  'pet.codexLoading': 'Buscando mascotas eclosionadas…',
  'pet.codexRefresh': 'Refrescar',
  'pet.codexAdopt': 'Adoptar',
  'pet.codexAdopting': 'Adoptando…',
  'pet.communitySync': 'Descargar mascotas de la comunidad',
  'pet.communitySyncing': 'Descargando…',
  'pet.communitySyncTitle': 'Sincronizar las últimas mascotas de Codex Pet Share + j20 Hatchery en ~/.codex/pets/.',
  'pet.communitySyncDone': '{wrote} mascotas nuevas sincronizadas ({total} en total).',
  'pet.communitySyncFailed': 'Error al sincronizar: {error}',
  'pet.codexBundled': 'Incluida',
  'pet.codexBundledTitle': 'Viene con Open Design — sin descarga.',

  'settings.notifications': 'Notificaciones',
  'settings.notificationsHint': 'Sonido y notificación al completar la tarea',
  'settings.notifyCompletionSound': 'Sonido al completar',
  'settings.notifyCompletionSoundHint': 'Se reproduce al terminar un turno. Desactivado por defecto.',
  'settings.notifySuccessSound': 'Sonido de éxito',
  'settings.notifyFailureSound': 'Sonido de error',
  'settings.notifyDesktop': 'Notificación de escritorio',
  'settings.notifyDesktopHint': 'Se envía cuando la ventana no está en primer plano.',
  'settings.notifyDesktopBlocked': 'Bloqueadas por el navegador. Habilítalas en la configuración del sitio.',
  'settings.notifyDesktopUnsupported': 'Las notificaciones de escritorio no están disponibles en este entorno.',
  'settings.notifyTest': 'Enviar prueba',
  'settings.notifyTestSent': 'Notificación de prueba enviada. Si no aparece el aviso, revisa las notificaciones del navegador y del sistema.',
  'settings.notifyTestFailed': 'Falló la llamada de notificación. Revisa las notificaciones del navegador y del sistema.',
  'settings.notifySoundDing': 'Tilín',
  'settings.notifySoundChime': 'Carillón',
  'settings.notifySoundTwoToneUp': 'Dos tonos ascendente',
  'settings.notifySoundPluck': 'Pulsación',
  'settings.notifySoundBuzz': 'Zumbido',
  'settings.notifySoundTwoToneDown': 'Dos tonos descendente',
  'settings.notifySoundThud': 'Golpe',
  'settings.library': 'Habilidades y sistemas de diseño',
  'settings.libraryHint': 'Explorar, previsualizar y activar/desactivar tu biblioteca de contenidos',
  'settings.librarySkills': 'Habilidades',
  'settings.libraryDesignSystems': 'Sistemas de diseño',
  'settings.librarySearch': 'Buscar...',
  'settings.libraryAll': 'Todo',
  'settings.libraryPreview': 'Vista previa',
  'settings.libraryPreviewClose': 'Cerrar',
  'settings.libraryLoading': 'Cargando...',
  'settings.libraryNoResults': 'Ningún elemento coincide con tu búsqueda.',
  'settings.libraryEnabled': 'Activado',
  'settings.libraryDisabled': 'Desactivado',
  'settings.libraryToggleLabel': 'Alternar',
  'notify.successTitle': 'Tarea completada',
  'notify.failureTitle': 'La tarea falló',
  'notify.successBody': 'Un turno ha terminado.',
  'notify.failureBody': 'La tarea terminó con un error.',
};
