import type { I18nKey } from './en';
import { settingsDict } from './es.settings';

export const dict: Record<I18nKey, string> = {
  ...settingsDict,
  "common.loading": "Cargando...",
  "common.unavailable": "No disponible",
  "common.language.english": "Inglés",
  "common.language.french": "Francés",
  "common.language.simplifiedChinese": "Chino (simplificado)",
  "common.language.traditionalChinese": "Chino (tradicional)",
  "common.language.ukrainian": "Ucraniano",
  "common.language.spanish": "Español",
  "common.language.brazilianPortuguese": "Portugués brasileño",
  "common.language.korean": "Coreano",
  "common.language.polish": "Polaco",
  "common.language.japanese": "Japonés",
  "common.revealPath.finder": "Mostrar en Finder",
  "common.revealPath.fileExplorer": "Abrir en File Explorer",
  "common.revealPath.fileManager": "Abrir en gestor de archivos",
  "pwa.installPrompt.description": "Instala OpenChamber para acceder más rápido",
  "pwa.installPrompt.action": "Instalar",
  "pwa.installPrompt.dismiss": "Descartar",
  "pwa.installPrompt.started": "Instalación iniciada",
  "pwa.installPrompt.installed": "OpenChamber se instaló",
  "layout.mainTab.chat": "Chat",
  "layout.mainTab.plan": "Plan",
  "layout.mainTab.diff": "Diff",
  "layout.mainTab.diagram": "Diagrama",
  "layout.mainTab.files": "Archivos",
  "layout.mainTab.terminal": "Terminal",
  "layout.mainTab.context": "Contexto",
  "mobile.nav.aria": "Navegación móvil",
  "mobile.connect.welcome.title": "Conéctate a OpenChamber",
  "mobile.connect.welcome.description": "Agrega una URL de servidor o escanea un código QR de emparejamiento para empezar a usar la app móvil.",
  "mobile.connect.url.label": "URL del servidor",
  "mobile.connect.url.placeholder": "http://192.168.1.74:2606",
  "mobile.connect.token.label": "Token de cliente",
  "mobile.connect.token.placeholder": "Pega el token de acceso",
  "mobile.connect.token.hint": "Solo es necesario si tu servidor requiere un token en lugar de una contraseña.",
  "mobile.connect.password.label": "Contraseña",
  "mobile.connect.password.placeholder": "Contraseña de OpenChamber",
  "mobile.connect.connectButton": "Conectar",
  "mobile.connect.unlockButton": "Desbloquear y conectar",
  "mobile.connect.cancelPassword": "Usar otro servidor",
  "mobile.connect.connecting": "Conectando...",
  "mobile.connect.scanQr": "Escanear código QR",
  "mobile.connect.advanced": "Avanzado",
  "mobile.connect.scan.permissionDenied": "El acceso a la cámara está desactivado. Actívalo en Ajustes para escanear un código QR.",
  "mobile.connect.scan.failed": "No se pudo escanear ese código QR. Inténtalo de nuevo o introduce la URL manualmente.",
  "mobile.connect.scan.invalid": "Ese código QR no es un código de conexión de OpenChamber.",
  "mobile.connect.scan.unsupported": "El escaneo de QR solo está disponible en la app móvil instalada.",
  "mobile.connect.saved.title": "Conexiones guardadas",
  "mobile.connect.saved.empty": "Aún no hay conexiones guardadas.",
  "mobile.connect.error.urlRequired": "Introduce una URL de servidor.",
  "mobile.connect.error.invalidUrl": "Esa URL de servidor no es válida.",
  "mobile.connect.error.unreachable": "No se pudo conectar con ese servidor de OpenChamber.",
  "mobile.connect.error.authRequired": "Este servidor requiere una contraseña o un token de cliente.",
  "mobile.connect.error.passwordFailed": "No se pudo desbloquear ese servidor. Revisa la contraseña.",
  "mobile.instances.addTitle": "Agregar instancia",
  "mobile.instances.editTitle": "Editar instancia",
  "mobile.instances.edit": "Editar",
  "mobile.instances.delete": "Eliminar",
  "mobile.instances.deleteAria": "Eliminar {label}",
  "mobile.instances.confirmDeleteAria": "Confirmar la eliminación de {label}",
  "mobile.instances.cancelDeleteAria": "Conservar {label}",
  "mobile.instances.cancelEdit": "Cancelar",
  "mobile.instances.label.label": "Nombre",
  "mobile.instances.label.placeholder": "Nombre para mostrar (opcional)",
  "mobile.instances.saveNew": "Guardar instancia",
  "mobile.instances.saveEdit": "Guardar cambios",
  "mobile.nav.changes": "Cambios",
  "mobile.nav.settings": "Ajustes",
  "mobile.surface.closeAria": "Cerrar",
  "mobile.header.openMenuAria": "Abrir menú",
  "mobile.header.openMetadataAria": "Abrir metadatos de la sesión",
  "mobile.header.metadata.context": "Contexto",
  "mobile.header.metadata.branch": "Rama",
  "mobile.header.metadata.usage": "Uso",
  "mobile.menu.titleAria": "Herramientas del espacio de trabajo",
  "mobile.menu.files": "Archivos",
  "mobile.menu.changes": "Cambios",
  "mobile.menu.mcp": "MCP",
  "mobile.menu.instances": "Instancias",
  "mobile.menu.update": "Actualizar",
  "mobile.menu.settings": "Ajustes",
  "mobile.sessions.newChatCta": "Nuevo chat en {project}",
  "mobile.sessions.dateGroup.today": "Hoy",
  "mobile.sessions.dateGroup.yesterday": "Ayer",
  "mobile.sessions.dateGroup.thisWeek": "Antes esta semana",
  "mobile.sessions.dateGroup.older": "Más antiguos",
  "mobile.sessions.section.worktrees": "Worktrees",
  "mobile.sessions.section.otherProjects": "Cambiar de proyecto",
  "mobile.sessions.section.projects": "Proyectos",
  "mobile.sessions.empty.noProjectsTitle": "Sin proyectos",
  "mobile.sessions.empty.noProjectsDescription": "Agrega un proyecto para empezar a chatear con tu código.",
  "mobile.sessions.empty.noSessionsTitle": "Sin sesiones",
  "mobile.sessions.empty.noSessionsDescription": "Inicia tu primer chat para verlo aquí.",
  "mobile.sessions.empty.searchTitle": "Sin resultados",
  "mobile.sessions.empty.searchDescription": "Prueba con otro término de búsqueda.",
  "mobile.sessions.showArchived": "Mostrar archivadas ({count})",
  "mobile.sessions.hideArchived": "Ocultar archivadas",
  "mobile.sessions.activeWorktreeAria": "Worktree activo",
  "mobile.sessions.activeProjectAria": "Proyecto activo",
  "mobile.sessions.startNewChat": "Iniciar nuevo chat",
  "mobile.sessions.newChat": "Nuevo chat",
  "mobile.sessions.editOrder": "Reordenar proyectos",
  "mobile.sessions.doneEditing": "Listo",
  "mobile.sessions.editOrderHint": "Arrastra el asa o usa las flechas para reordenar los proyectos. Toca la marca para finalizar.",
  "mobile.sessions.dragHandleAria": "Arrastra {label} para reordenar",
  "mobile.sessions.moveUpAria": "Mover {label} arriba",
  "mobile.sessions.moveDownAria": "Mover {label} abajo",
  "mobile.sessions.removeProjectAria": "Eliminar {label}",
  "mobile.sessions.cancelRemoveProjectAria": "Cancelar eliminación de {label}",
  "mobile.sessions.confirmRemoveProject": "Cerrar",
  "mobile.sessions.confirmRemoveProjectAria": "Confirmar eliminación de {label}",
  "mobile.sessions.toast.projectRemoved": "Se eliminó {label}",
  "mobile.sessions.archiveSessionAria": "Archivar {title}",
  "mobile.sessions.cancelArchiveAria": "Cancelar archivar {title}",
  "mobile.sessions.editProjectAria": "Editar {label}",
  "mobile.projectEdit.worktreesTitle": "Worktrees",
  "mobile.projectEdit.worktreesEmpty": "Este proyecto aún no tiene worktrees.",
  "mobile.projectEdit.reorderHint": "Arrastra para reordenar los worktrees.",
  "mobile.projectEdit.dragWorktreeAria": "Arrastra {label} para reordenar",
  "mobile.projectEdit.deleteWorktreeAria": "Eliminar worktree {label}",
  "mobile.projectEdit.deleteWorktreeTitle": "Eliminar worktree",
  "mobile.projectEdit.deleteWorktreeConfirmButton": "Eliminar",
  "mobile.projectEdit.deleteWorktreeConfirm": "¿Eliminar el worktree «{name}»? No se puede deshacer.",
  "mobile.projectEdit.deleteWorktreeDirty": "Este worktree tiene cambios sin confirmar que se perderán.",
  "mobile.projectEdit.deleteWorktreeArchiveNote": "Se archivarán {count} sesión(es) adjunta(s).",
  "mobile.projectEdit.deleteLocalBranch": "Eliminar también la rama local",
  "mobile.projectEdit.deleteRemoteBranch": "Eliminar también la rama remota",
  "mobile.sessions.showMore": "Mostrar {count} más",
  "mobile.sessions.search.section.sessions": "Sesiones",
  "mobile.sessions.search.section.archived": "Archivadas",
  "mobile.sessions.search.section.projects": "Proyectos",
  "mobile.sessions.clearSearchAria": "Limpiar búsqueda",
  "mobile.header.noProject": "Selecciona un proyecto",
  "mobile.header.activeSession": "Sesión activa",
  "mobile.header.noSession": "No hay sesión activa",
  "mobile.sessions.openSheetAria": "Abrir sesiones y proyectos",
  "mobile.sessions.closeSheetAria": "Cerrar sesiones y proyectos",
  "mobile.sessions.sheet.title": "Sesiones",
  "mobile.sessions.sheet.description": "Cambia proyectos, abre sesiones o inicia un nuevo chat.",
  "mobile.sessions.search.placeholder": "Buscar sesiones",
  "mobile.sessions.empty": "No se encontraron sesiones.",
  "mobile.sessions.unassignedProject": "Otras sesiones",
  "mobile.sessions.newSessionAria": "Iniciar una nueva sesión en este proyecto",
  "mobile.sessions.untitled": "Sesión sin título",
  "mobile.sessions.project.sessionsSingle": "1 sesión",
  "mobile.sessions.project.sessionsPlural": "{count} sesiones",
  "mobile.files.refreshAria": "Actualizar archivos",
  "mobile.files.backToParentAria": "Volver a {name}",
  "mobile.files.rootDirectory": "Archivos del proyecto",
  "mobile.files.search.placeholder": "Buscar archivos",
  "mobile.files.search.empty": "No se encontraron archivos.",
  "mobile.files.parentDirectory": "Directorio superior",
  "mobile.files.empty.noDirectory": "Selecciona un proyecto para explorar archivos.",
  "mobile.files.empty.directory": "Este directorio está vacío.",
  "mobile.files.error.listFailed": "No se pudieron cargar los archivos",
  "mobile.files.error.readUnavailable": "La vista previa del archivo no está disponible en este entorno.",
  "mobile.files.file.truncated": "Vista previa del archivo truncada para móvil.",
  "mobile.files.copyPathAria": "Copiar ruta del archivo",
  "mobile.files.copyContent": "Copiar contenido",
  "mobile.files.copyContentAria": "Copiar contenido del archivo",
  "mobile.files.toast.pathCopied": "Ruta copiada",
  "mobile.files.toast.contentCopied": "Contenido copiado",
  "mobile.files.toast.copyFailed": "No se pudo copiar",
  "mobile.changes.placeholder.title": "Cambios",
  "mobile.changes.placeholder.description": "Aquí vivirán la revisión del árbol de trabajo, sync y commits.",
  "mobile.changes.branchLabel": "Rama: {branch}",
  "mobile.changes.noRemote": "No hay remoto disponible",
  "mobile.changes.cleanDescription": "No hay archivos modificados en este workspace.",
  "mobile.changes.diffDetail.subtitle": "Diff de solo lectura",
  "mobile.changes.diffDetail.loadFailed": "No se pudo cargar el diff",
  "mobile.changes.diffDetail.missingTitle": "El archivo ya no tiene cambios",
  "mobile.changes.diffDetail.missingDescription": "Vuelve a Cambios y actualiza la lista.",
  "mobile.changes.diffDetail.imageUnavailable": "Los diffs de imagen aún no están disponibles en Cambios móvil.",
  "mobile.settings.placeholder.title": "Ajustes",
  "mobile.settings.placeholder.description": "Aquí vivirán los ajustes móviles de conexión y app.",
  "layout.rightSidebar.git": "Git",
  "layout.rightSidebar.files": "Archivos",
  "layout.rightSidebar.context": "Contexto",
  "layout.services.instance": "Instancia",
  "layout.services.usage": "Uso",
  "sessions.sidebar.header.actions.closeSessions": "Cerrar sesiones",
  "sessions.sidebar.header.actions.addProject": "Añadir proyecto",
  "sessions.sidebar.header.actions.newSession": "Nueva sesión",
  "sessions.sidebar.header.actions.newMultiRun": "Nuevo multi-run",
  "sessions.sidebar.header.actions.scheduledTasks": "Tareas programadas",
  "sessions.scheduledTasks.dialog.title": "Tareas programadas",
  "sessions.scheduledTasks.dialog.description": "Tareas del lado del servidor que crean una nueva sesión y envían un prompt configurado.",
  "sessions.scheduledTasks.dialog.project.label": "Proyecto",
  "sessions.scheduledTasks.dialog.project.placeholder": "Seleccionar proyecto",
  "sessions.scheduledTasks.dialog.project.empty": "No hay proyectos",
  "sessions.scheduledTasks.dialog.actions.newTask": "Nueva tarea",
  "sessions.scheduledTasks.dialog.actions.runNow": "Ejecutar ahora",
  "sessions.scheduledTasks.dialog.actions.edit": "Editar",
  "sessions.scheduledTasks.dialog.actions.editAria": "Editar {taskName}",
  "sessions.scheduledTasks.dialog.actions.deleteAria": "Eliminar {taskName}",
  "sessions.scheduledTasks.dialog.loading": "Cargando tareas...",
  "sessions.scheduledTasks.dialog.empty.noTasks": "No hay tareas programadas aún.",
  "sessions.scheduledTasks.dialog.empty.selectProject": "Selecciona un proyecto para gestionar tareas programadas.",
  "sessions.scheduledTasks.dialog.error.chooseProjectFirst": "Elige un proyecto primero",
  "sessions.scheduledTasks.dialog.toast.loadFailed": "No se pudo cargar tareas programadas",
  "sessions.scheduledTasks.dialog.toast.saved": "Tarea programada guardada",
  "sessions.scheduledTasks.dialog.toast.updateFailed": "No se pudo actualizar la tarea",
  "sessions.scheduledTasks.dialog.toast.deleted": "Tarea programada eliminada",
  "sessions.scheduledTasks.dialog.toast.deleteFailed": "No se pudo eliminar la tarea",
  "sessions.scheduledTasks.dialog.toast.started": "Tarea iniciada",
  "sessions.scheduledTasks.dialog.toast.runFailed": "No se pudo ejecutar la tarea",
  "sessions.scheduledTasks.dialog.confirm.deleteTask": "Eliminar tarea programada \"{taskName}\"?",
  "sessions.scheduledTasks.dialog.schedule.daily": "Cada día {time}",
  "sessions.scheduledTasks.dialog.schedule.dailyWithTimezone": "Cada día {time} ({timezone})",
  "sessions.scheduledTasks.dialog.schedule.weekly": "Cada semana {days} {time}",
  "sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone": "Cada semana {days} {time} ({timezone})",
  "sessions.scheduledTasks.dialog.schedule.once": "Una vez {date} {time}",
  "sessions.scheduledTasks.dialog.schedule.onceWithTimezone": "Una vez {date} {time} ({timezone})",
  "sessions.scheduledTasks.dialog.schedule.cron": "Cron: {cron}",
  "sessions.scheduledTasks.dialog.schedule.cronWithTimezone": "Cron: {cron} ({timezone})",
  "sessions.scheduledTasks.dialog.schedule.unknownDate": "Fecha desconocida",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.sun": "Dom",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.mon": "Lun",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.tue": "Mar",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.wed": "Mié",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.thu": "Jue",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.fri": "Vie",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.sat": "Sáb",
  "sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown": "?",
  "sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute": "en <1m",
  "sessions.scheduledTasks.dialog.relativeTime.justNow": "ahora mismo",
  "sessions.scheduledTasks.dialog.relativeTime.inMinutes": "en {count}m",
  "sessions.scheduledTasks.dialog.relativeTime.minutesAgo": "hace {count}m",
  "sessions.scheduledTasks.dialog.relativeTime.inDuration": "en {duration}",
  "sessions.scheduledTasks.dialog.relativeTime.durationAgo": "hace {duration}",
  "sessions.scheduledTasks.dialog.status.success": "Éxito",
  "sessions.scheduledTasks.dialog.status.error": "Error",
  "sessions.scheduledTasks.dialog.status.running": "Ejecutándose",
  "sessions.scheduledTasks.dialog.status.idle": "Inactivo",
  "sessions.scheduledTasks.dialog.nextRun.label": "Próximo",
  "sessions.scheduledTasks.dialog.lastRun.label": "Última ejecución",
  "sessions.scheduledTasks.dialog.lastRun.runningNow": "ejecutándose ahora",
  "sessions.scheduledTasks.dialog.lastRun.never": "nunca",
  "sessions.scheduledTasks.dialog.taskToggle.enableAria": "Habilitar {taskName}",
  "sessions.scheduledTasks.dialog.taskToggle.pauseAria": "Pausar {taskName}",
  "sessions.scheduledTasks.dialog.taskToggle.enabled": "Habilitado",
  "sessions.scheduledTasks.dialog.taskToggle.paused": "Pausado",
  "sessions.scheduledTasks.editor.title.edit": "Editar tarea programada",
  "sessions.scheduledTasks.editor.title.new": "Nueva tarea programada",
  "sessions.scheduledTasks.editor.description": "Configura una tarea del lado del servidor que crea una nueva sesión y envía un prompt.",
  "sessions.scheduledTasks.editor.taskName.label": "Nombre de la tarea",
  "sessions.scheduledTasks.editor.taskName.placeholder": "Sincronización diaria",
  "sessions.scheduledTasks.editor.scheduleType.label": "Tipo de programación",
  "sessions.scheduledTasks.editor.scheduleType.daily": "Diario",
  "sessions.scheduledTasks.editor.scheduleType.weekly": "Semanal",
  "sessions.scheduledTasks.editor.scheduleType.once": "Una vez",
  "sessions.scheduledTasks.editor.scheduleType.cron": "Cron",
  "sessions.scheduledTasks.editor.date.label": "Fecha",
  "sessions.scheduledTasks.editor.date.placeholder": "Seleccionar fecha",
  "sessions.scheduledTasks.editor.date.previousMonth": "Mes anterior",
  "sessions.scheduledTasks.editor.date.nextMonth": "Próximo mes",
  "sessions.scheduledTasks.editor.date.jumpToToday": "Ir a hoy",
  "sessions.scheduledTasks.editor.date.today": "Hoy",
  "sessions.scheduledTasks.editor.time.label": "Hora",
  "sessions.scheduledTasks.editor.time.hourAria": "Horas",
  "sessions.scheduledTasks.editor.time.minuteAria": "Minutos",
  "sessions.scheduledTasks.editor.time.periodAria": "Período",
  "sessions.scheduledTasks.editor.time.period.am": "AM",
  "sessions.scheduledTasks.editor.time.period.pm": "PM",
  "sessions.scheduledTasks.editor.times.label": "Horas",
  "sessions.scheduledTasks.editor.times.add": "Añadir hora",
  "sessions.scheduledTasks.editor.times.removeAria": "Eliminar hora",
  "sessions.scheduledTasks.editor.timezone.label": "Zona horaria",
  "sessions.scheduledTasks.editor.weekdays.label": "Días de la semana",
  "sessions.scheduledTasks.editor.model.label": "Modelo",
  "sessions.scheduledTasks.editor.thinkingLevel.label": "Nivel de pensamiento",
  "sessions.scheduledTasks.editor.thinkingLevel.default": "Predeterminado",
  "sessions.scheduledTasks.editor.agent.label": "Agente",
  "sessions.scheduledTasks.editor.prompt.label": "Prompt",
  "sessions.scheduledTasks.editor.prompt.placeholder": "Resumir tareas abiertas y proponer próximas acciones",
  "sessions.scheduledTasks.editor.enabled.aria": "Habilitar tarea",
  "sessions.scheduledTasks.editor.enabled.label": "Habilitado",
  "sessions.scheduledTasks.editor.actions.closeAria": "Cerrar",
  "sessions.scheduledTasks.editor.actions.cancel": "Cancelar",
  "sessions.scheduledTasks.editor.actions.save": "Guardar",
  "sessions.scheduledTasks.editor.actions.saving": "Guardando...",
  "sessions.scheduledTasks.editor.toast.saveFailed": "No se pudo guardar la tarea",
  "sessions.scheduledTasks.editor.validation.taskNameRequired": "Se requiere nombre de tarea",
  "sessions.scheduledTasks.editor.validation.promptRequired": "Se requiere prompt",
  "sessions.scheduledTasks.editor.validation.modelRequired": "Se requiere modelo",
  "sessions.scheduledTasks.editor.validation.dateFormat": "La fecha debe usar YYYY-MM-DD",
  "sessions.scheduledTasks.editor.validation.timeFormat": "La hora debe usar HH:mm",
  "sessions.scheduledTasks.editor.validation.atLeastOneTime": "Añadir al menos una hora válida",
  "sessions.scheduledTasks.editor.validation.atLeastOneWeekday": "Seleccionar al menos un día de la semana",
  "sessions.scheduledTasks.editor.validation.timezoneRequired": "Se requiere zona horaria",
  "sessions.scheduledTasks.editor.validation.cronRequired": "Se requiere una expresión cron",
  "sessions.scheduledTasks.editor.validation.cronInvalid": "Expresión cron no válida",
  "sessions.scheduledTasks.editor.cronExpression.label": "Expresión cron",
  "sessions.scheduledTasks.editor.cronExpression.placeholder": "*/5 * * * *",
  "sessions.scheduledTasks.editor.cronExpression.nextRuns": "Próximas ejecuciones",
  "sessions.scheduledTasks.editor.cronExpression.examples": "Ejemplos",
  "sessions.scheduledTasks.editor.cronExpression.examples.every5min": "Cada 5 minutos",
  "sessions.scheduledTasks.editor.cronExpression.examples.everyHour": "Cada hora",
  "sessions.scheduledTasks.editor.cronExpression.examples.monday9am": "Cada lunes a las 9 a. m.",
  "sessions.scheduledTasks.editor.cronExpression.examples.9am5pm": "9 a. m. y 5 p. m. todos los días",
  "sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth": "Primero de cada mes",
  "multirun.launcher.title": "Nuevo Multi-Run",
  "multirun.launcher.actions.closeEsc": "Cerrar (Esc)",
  "multirun.launcher.actions.cancel": "Cancelar",
  "multirun.launcher.actions.creating": "Creando...",
  "multirun.launcher.actions.startWithModelCount": "Iniciar ({count} modelos)",
  "multirun.launcher.project.label": "Proyecto",
  "multirun.launcher.project.placeholder": "Seleccionar proyecto",
  "multirun.launcher.project.empty": "Añade un proyecto primero.",
  "multirun.launcher.project.gitRequired": "Sin aislamiento worktree: las ejecuciones usan el mismo directorio.",
  "multirun.launcher.groupName.label": "Nombre del grupo",
  "multirun.launcher.groupName.info": "Usado para el directorio de worktree y nombres de rama",
  "multirun.launcher.groupName.placeholder": "feature-auth, bugfix-login",
  "multirun.launcher.baseBranch.label": "Rama base",
  "multirun.launcher.baseBranch.info": "Nueva rama creada desde esta base por modelo",
  "multirun.launcher.isolateRuns.label": "Aislar ejecuciones",
  "multirun.launcher.agent.label": "Agente",
  "multirun.launcher.agent.info": "Agente usado para todas las ejecuciones. Por defecto es el agente configurado.",
  "multirun.launcher.setupCommands.label": "Comandos de configuración",
  "multirun.launcher.setupCommands.loading": "Cargando...",
  "multirun.launcher.setupCommands.commandPlaceholder": "bun install",
  "multirun.launcher.setupCommands.removeCommandAria": "Eliminar comando",
  "multirun.launcher.setupCommands.addCommand": "Añadir comando",
  "multirun.launcher.prompt.label": "Prompt",
  "multirun.launcher.prompt.placeholder": "Escribe el prompt que se enviará a todos los modelos...",
  "multirun.launcher.attachments.attach": "Adjuntar",
  "multirun.launcher.attachments.tooltip": "Archivos idénticos enviados a todas las ejecuciones",
  "multirun.launcher.models.label": "Modelos",
  "multirun.launcher.models.info": "Selecciona 2-{max} modelos. El mismo modelo puede añadirse varias veces.",
  "multirun.launcher.toast.fileTooLarge": "El archivo \"{fileName}\" es demasiado grande (máximo 10MB)",
  "multirun.launcher.toast.attachFailed": "No se pudo adjuntar \"{fileName}\"",
  "multirun.launcher.toast.attachedSingle": "Archivo adjuntado ({count})",
  "multirun.launcher.toast.attachedPlural": "Archivos adjuntados ({count})",
  "multirun.modelMultiSelect.actions.addModel": "Añadir modelo",
  "multirun.modelMultiSelect.search.placeholder": "Buscar modelos",
  "multirun.modelMultiSelect.search.noResults": "No se encontraron modelos",
  "multirun.modelMultiSelect.sections.favorites": "Favoritos",
  "multirun.modelMultiSelect.sections.recent": "Recientes",
  "multirun.modelMultiSelect.variant.placeholder": "Pensando",
  "multirun.modelMultiSelect.variant.default": "Predeterminado",
  "multirun.modelMultiSelect.keyboard.hint": "↑↓ navegar • Enter seleccionar • Esc cerrar",
  "multirun.modelMultiSelect.validation.minOnly": "Selecciona al menos {min} modelos.",
  "multirun.modelMultiSelect.validation.minToMax": "Selecciona entre {min} y {max} modelos.",
  "multirun.agentSelector.placeholder": "Selecciona un agente",
  "multirun.fusion.title": "Ejecutar fusion",
  "multirun.fusion.description": "Combina los resultados seleccionados del multi-run en una respuesta más sólida.",
  "multirun.fusion.provider.placeholder": "Proveedor",
  "multirun.fusion.model.placeholder": "Modelo",
  "multirun.fusion.sources.label": "Fuentes ({count})",
  "multirun.fusion.actions.cancel": "Cancelar",
  "multirun.fusion.actions.start": "Iniciar fusion",
  "multirun.fusion.actions.starting": "Iniciando...",
  "multirun.fusion.toast.noOutputs": "No se encontraron respuestas del asistente para fusionar.",
  "multirun.fusion.toast.failed": "No se pudo iniciar fusion.",
  "multirun.launcher.attachments.label": "Archivos",
  "multirun.launcher.actions.startWithRunCount": "Iniciar ({count} ejecuciones)",
  "multirun.launcher.groups.addGroup": "Añadir grupo de ejecución",
  "multirun.launcher.groups.removeGroup": "Eliminar grupo",
  "multirun.launcher.groups.groupLabel": "Grupo de ejecución {index}",
  "multirun.launcher.groups.template.label": "Plantilla",
  "multirun.launcher.groups.template.placeholder": "Selecciona una plantilla...",
  "multirun.launcher.groups.template.custom": "Prompt personalizado",
  "multirun.launcher.groups.prompt.label": "Prompt",
  "multirun.launcher.groups.prompt.placeholder": "Introduce el prompt para este grupo...",
  "sessions.sidebar.header.actions.searchSessions": "Buscar sesiones",
  "sessions.sidebar.header.actions.exitSelection": "Salir de selección",
  "sessions.sidebar.header.actions.selectSessions": "Seleccionar sesiones",
  "sessions.sidebar.header.actions.sessionDisplayMode": "Modo de visualización de sesión",
  "sessions.sidebar.header.displayMode.label": "Modo de visualización",
  "sessions.sidebar.header.displayMode.default": "Predeterminado",
  "sessions.sidebar.header.displayMode.minimal": "Mínimo",
  "sessions.sidebar.header.displayMode.showRecent": "Mostrar recientes",
  "sessions.sidebar.header.displayMode.showArchived": "Mostrar sesiones archivadas",
  "sessions.sidebar.header.displayMode.collapseAll": "Colapsar todo",
  "sessions.sidebar.header.displayMode.expandAll": "Expandir todo",
  "sessions.sidebar.header.search.matchCountSingle": "{count} coincidencia",
  "sessions.sidebar.header.search.matchCountPlural": "{count} coincidencias",
  "sessions.sidebar.header.search.escapeHint": "Esc para limpiar",
  "sessions.sidebar.header.search.placeholder": "Buscar sesiones...",
  "sessions.sidebar.header.search.clear": "Limpiar búsqueda",
  "sessions.sidebar.footer.actions.settings": "Configuración",
  "sessions.sidebar.footer.actions.shortcuts": "Atajos",
  "sessions.sidebar.footer.actions.aboutOpenChamber": "Acerca de OpenChamber",
  "sessions.sidebar.footer.actions.update": "Actualizar",
  "sessions.sidebar.empty.noSessions.title": "No hay sesiones aún",
  "sessions.sidebar.empty.noSessions.description": "Crea tu primera sesión para comenzar a programar.",
  "sessions.sidebar.empty.noMatches.title": "No hay sesiones coincidentes",
  "sessions.sidebar.empty.noMatches.description": "Inténtalo con un título, rama, carpeta o ruta diferente.",
  "sessions.sidebar.activity.recentTitle": "reciente",
  "sessions.switcher.openAria": "Abrir selector de sesiones",
  "sessions.switcher.empty": "No hay sesiones recientes",
  "sessions.switcher.draftTitle": "Nueva sesión",
  "sessions.sidebar.updateCheck.errorTitle": "No se pudo comprobar actualizaciones",
  "sessions.sidebar.updateCheck.latestVersion": "Estás en la última versión",
  "sessions.sidebar.directory.errorAddProjectTitle": "No se pudo añadir el proyecto",
  "sessions.sidebar.directory.errorAddProjectDescription": "Selecciona una carpeta válida.",
  "sessions.sidebar.directory.errorSelectDirectoryTitle": "No se pudo seleccionar carpeta",
  "sessions.sidebar.folder.newFolderName": "Nueva carpeta",
  "sessions.sidebar.bulkActions.delete": "Eliminar",
  "sessions.sidebar.bulkActions.archive": "Archivar",
  "sessions.sidebar.bulkActions.selectedCount": "{count} seleccionados",
  "sessions.sidebar.bulkActions.moveToFolder": "Mover a carpeta",
  "sessions.sidebar.bulkActions.deletedSingle": "Se eliminó {count} sesión",
  "sessions.sidebar.bulkActions.deletedPlural": "Se eliminaron {count} sesiones",
  "sessions.sidebar.bulkActions.failedDeleteSingle": "No se pudo eliminar {count} sesión",
  "sessions.sidebar.bulkActions.failedDeletePlural": "No se pudo eliminar {count} sesiones",
  "sessions.sidebar.bulkActions.archivedSingle": "Se archivó {count} sesión",
  "sessions.sidebar.bulkActions.archivedPlural": "Se archivaron {count} sesiones",
  "sessions.sidebar.bulkActions.failedArchiveSingle": "No se pudo archivar {count} sesión",
  "sessions.sidebar.bulkActions.failedArchivePlural": "No se pudo archivar {count} sesiones",
  "sessions.sidebar.folders.none": "No hay carpetas aún",
  "sessions.sidebar.folders.newFolderEllipsis": "Nueva carpeta...",
  "sessions.sidebar.folders.removeFromFolder": "Quitar de carpeta",
  "sessions.sidebar.folders.moveToFolder": "Mover a carpeta",
  "sessions.sidebar.project.actions.newWorktree": "Nuevo worktree",
  "sessions.sidebar.project.actions.newWorktreeEllipsis": "Nuevo worktree...",
  "sessions.sidebar.project.actions.projectMenu": "Menú del proyecto",
  "sessions.sidebar.project.actions.newSession": "Nueva sesión",
  "sessions.sidebar.project.actions.closeProject": "Cerrar proyecto",
  "sessions.sidebar.project.actions.newDraftSession": "Nueva sesión de borrador",
  "sessions.sidebar.session.menu.rename": "Cambiar nombre",
  "sessions.sidebar.session.rename.save": "Guardar nombre de sesión",
  "sessions.sidebar.session.rename.cancel": "Cancelar cambio de nombre de sesión",
  "sessions.sidebar.session.menu.unpin": "Desanclar sesión",
  "sessions.sidebar.session.menu.pin": "Anclar sesión",
  "sessions.sidebar.session.menu.share": "Compartir",
  "sessions.sidebar.session.menu.copied": "Copiado",
  "sessions.sidebar.session.menu.copyLink": "Copiar enlace",
  "sessions.sidebar.session.menu.unshare": "Dejar de compartir",
  "sessions.sidebar.session.menu.exportMarkdown": "Exportar Markdown",
  "sessions.sidebar.session.menu.runFusion": "Ejecutar fusion",
  "sessions.sidebar.session.menu.openInSidePanel": "Abrir en panel lateral",
  "sessions.sidebar.session.actions.openInEditor": "Abrir en el editor",
  "sessions.sidebar.session.menu.betaBadge": "beta",
  "sessions.sidebar.session.menu.label": "Menú de sesión",
  "sessions.sidebar.session.untitled": "Sesión sin título",
  "sessions.sidebar.session.export.nothingToExport": "No hay nada para exportar",
  "sessions.sidebar.session.export.success": "Sesión exportada",
  "sessions.sidebar.session.export.failedRevealPath": "No se pudo mostrar la ruta",
  "sessions.sidebar.session.export.untitledSubagent": "Subagente sin título",
  "sessions.sidebar.session.export.skippedSubtaskSingle": "La sesión se exportó, pero se omitió {count} tarea de subagente que no se pudo cargar.",
  "sessions.sidebar.session.export.skippedSubtaskMany": "La sesión se exportó, pero se omitieron {count} tareas de subagente que no se pudieron cargar.",
  "sessions.sidebar.session.export.dialog.title": "Exportar Markdown",
  "sessions.sidebar.session.export.dialog.descriptionSingle": "Esta sesión tiene {count} tarea de subagente. ¿Incluirla en la exportación?",
  "sessions.sidebar.session.export.dialog.descriptionMany": "Esta sesión tiene {count} tareas de subagente. ¿Incluirlas en la exportación?",
  "sessions.sidebar.session.export.dialog.includeSubtasks": "Incluir tareas de subagente",
  "sessions.sidebar.session.export.dialog.confirm": "Exportar",
  "sessions.sidebar.session.status.active": "Sesión activa",
  "sessions.sidebar.session.status.unread": "Actualizaciones no leídas",
  "sessions.sidebar.session.status.pinned": "Sesión anclada",
  "sessions.sidebar.session.status.permissionRequired": "Permiso requerido",
  "sessions.sidebar.session.subsessions.collapse": "Colapsar subsesiones",
  "sessions.sidebar.session.subsessions.expand": "Expandir subsesiones",
  "sessions.sidebar.dialogs.deleteSession.title": "¿Eliminar sesión?",
  "sessions.sidebar.dialogs.archiveSession.title": "¿Archivar sesión?",
  "sessions.sidebar.dialogs.deleteSession.withOneSubtask": "\"{sessionTitle}\" y su {count} subtarea se eliminarán permanentemente.",
  "sessions.sidebar.dialogs.deleteSession.withManySubtasks": "\"{sessionTitle}\" y sus {count} subtareas se eliminarán permanentemente.",
  "sessions.sidebar.dialogs.archiveSession.withOneSubtask": "\"{sessionTitle}\" y su {count} subtarea se archivarán.",
  "sessions.sidebar.dialogs.archiveSession.withManySubtasks": "\"{sessionTitle}\" y sus {count} subtareas se archivarán.",
  "sessions.sidebar.dialogs.deleteSession.single": "\"{sessionTitle}\" se eliminará permanentemente.",
  "sessions.sidebar.dialogs.archiveSession.single": "\"{sessionTitle}\" se archivará.",
  "sessions.sidebar.dialogs.neverAsk": "Nunca preguntar",
  "sessions.sidebar.dialogs.cancel": "Cancelar",
  "sessions.sidebar.dialogs.deleteSession.titleAction": "Eliminar sesión",
  "sessions.sidebar.dialogs.deleteSessions.titleAction": "Eliminar sesiones",
  "sessions.sidebar.dialogs.deleteSessions.title": "¿Eliminar sesiones?",
  "sessions.sidebar.dialogs.archiveSessions.title": "¿Archivar sesiones?",
  "sessions.sidebar.dialogs.deleteSessions.singleDescription": "Se eliminará {count} sesión permanentemente.",
  "sessions.sidebar.dialogs.deleteSessions.pluralDescription": "{count} sesiones se eliminarán permanentemente.",
  "sessions.sidebar.dialogs.archiveSessions.singleDescription": "{count} sesión se archivará.",
  "sessions.sidebar.dialogs.archiveSessions.pluralDescription": "{count} sesiones se archivarán.",
  "sessions.sidebar.dialogs.deleteFolder.title": "¿Eliminar carpeta?",
  "sessions.sidebar.dialogs.deleteFolder.withOneSubfolder": "\"{folderName}\" se eliminará junto con {count} subcarpeta. Las sesiones dentro no se eliminarán.",
  "sessions.sidebar.dialogs.deleteFolder.withManySubfolders": "\"{folderName}\" se eliminará junto con {count} subcarpetas. Las sesiones dentro no se eliminarán.",
  "sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders": "\"{folderName}\" se eliminará. Las sesiones dentro no se eliminarán.",
  "sessions.sidebar.dialogs.deleteFolder.single": "\"{folderName}\" se eliminará permanentemente.",
  "sessions.sidebar.dialogs.deleteResult.singleFailedToDelete": "{count} sesión no se pudo eliminar.",
  "sessions.sidebar.dialogs.deleteResult.manyFailedToDelete": "{count} sesiones no se pudieron eliminar.",
  "sessions.sidebar.dialogs.deleteResult.singleFailedToArchive": "{count} sesión no se pudo archivar.",
  "sessions.sidebar.dialogs.deleteResult.manyFailedToArchive": "{count} sesiones no se pudieron archivar.",
  "sessions.sidebar.dialogs.deleteResult.removedFromDate": "Se eliminaron todas las sesiones de {dateLabel}.",
  "sessions.sidebar.dialogs.deleteResult.tryAgain": "Vuelve a intentarlo en un momento.",
  "sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked": "Esta acción elimina el worktree seleccionado.",
  "sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked": "Esta acción elimina el worktree seleccionado y archiva {count} sesión vinculada.",
  "sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked": "Esta acción elimina el worktree seleccionado y archiva {count} sesiones vinculadas.",
  "sessions.sidebar.dialogs.sessionDelete.descriptionOne": "Esta acción elimina permanentemente 1 sesión.",
  "sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate": "Esta acción elimina permanentemente 1 sesión de {dateLabel}.",
  "sessions.sidebar.dialogs.sessionDelete.descriptionMany": "Esta acción elimina permanentemente {count} sesiones.",
  "sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate": "Esta acción elimina permanentemente {count} sesiones de {dateLabel}.",
  "sessions.sidebar.dialogs.sessionList.more": "+{count} más",
  "sessions.sidebar.session.share.successTitle": "Sesión compartida",
  "sessions.sidebar.session.share.successDescription": "Puedes copiar el enlace desde el menú.",
  "sessions.sidebar.session.share.error": "No se puede compartir la sesión",
  "sessions.sidebar.session.share.copyUrlError": "No se pudo copiar la URL",
  "sessions.sidebar.session.unshare.success": "Sesión dejó de compartirse",
  "sessions.sidebar.session.unshare.error": "No se puede dejar de compartir la sesión",
  "sessions.sidebar.session.delete.success": "Sesión eliminada",
  "sessions.sidebar.session.delete.error": "No se pudo eliminar la sesión",
  "sessions.sidebar.session.archive.success": "Sesión archivada",
  "sessions.sidebar.session.archive.error": "No se pudo archivar la sesión",
  "sessions.sidebar.group.pr.checksPassed": "{success}/{total} comprobaciones aprobadas",
  "sessions.sidebar.group.pr.failingCount": "{count} con fallos",
  "sessions.sidebar.group.pr.pendingCount": "{count} pendientes",
  "sessions.sidebar.group.pr.conflictsOrBlocked": "Conflictos o bloqueados",
  "sessions.sidebar.group.pr.mergeable": "Se puede hacer merge",
  "sessions.sidebar.group.pr.mergeState": "Estado de merge: {state}",
  "sessions.sidebar.group.pr.status.merged": "Fusionada",
  "sessions.sidebar.group.pr.status.readyToMerge": "Lista para fusionar",
  "sessions.sidebar.group.pr.status.open": "PR abierto",
  "sessions.sidebar.group.pr.status.mergeConflicts": "Conflictos de merge",
  "sessions.sidebar.group.pr.status.mergeBlocked": "Fusión bloqueada",
  "sessions.sidebar.group.pr.status.draft": "PR en borrador",
  "sessions.sidebar.group.pr.status.closed": "Cerrado",
  "sessions.sidebar.group.empty.noArchivedSessions": "No hay sesiones archivadas aún.",
  "sessions.sidebar.group.empty.noSessionsInWorkspace": "Aún no hay sesiones en este espacio de trabajo.",
  "sessions.sidebar.group.showMore": "Mostrar más sesiones",
  "sessions.sidebar.group.showMoreSingle": "Mostrar {count} más sesión",
  "sessions.sidebar.group.showMorePlural": "Mostrar {count} más sesiones",
  "sessions.sidebar.group.showFewer": "Mostrar menos sesiones",
  "sessions.sidebar.group.expandAria": "Expandir {label}",
  "sessions.sidebar.group.collapseAria": "Colapsar {label}",
  "sessions.sidebar.group.actions.deleteArchivedInGroupAria": "Eliminar sesiones archivadas en {label}",
  "sessions.sidebar.group.actions.deleteArchivedSessions": "Eliminar sesiones archivadas",
  "sessions.sidebar.group.actions.deleteGroupAria": "Eliminar {label}",
  "sessions.sidebar.group.actions.deleteWorktree": "Eliminar worktree",
  "sessions.sidebar.group.actions.newDraftInGroupAria": "Nueva sesión de borrador en {label}",
  "sessions.sidebar.grouping.projectRoot": "raíz del proyecto",
  "sessions.sidebar.grouping.projectRootWithBranch": "raíz del proyecto: {branch}",
  "sessions.sidebar.grouping.archived": "archivado",
  "sessions.sidebar.grouping.archivedDescription": "Sesiones archivadas y no asignadas",
  "sessions.sidebar.folderItem.expandAria": "Expandir carpeta {folderName}",
  "sessions.sidebar.folderItem.collapseAria": "Colapsar carpeta {folderName}",
  "sessions.sidebar.folderItem.namePlaceholder": "Nombre de carpeta",
  "sessions.sidebar.folderItem.newSessionAria": "Nueva sesión en {folderName}",
  "sessions.sidebar.folderItem.newSubfolderAria": "Nueva subcarpeta en {folderName}",
  "sessions.sidebar.folderItem.newSubfolder": "Nueva subcarpeta",
  "sessions.sidebar.folderItem.renameAria": "Cambiar nombre carpeta {folderName}",
  "sessions.sidebar.folderItem.deleteArchivedInFolderAria": "Eliminar sesiones archivadas en carpeta {folderName}",
  "sessions.sidebar.folderItem.deleteFolderAria": "Eliminar carpeta {folderName}",
  "sessions.sidebar.folderItem.emptyFolder": "Vaciar carpeta",
  "sessions.sidebar.sessionDialogs.ok": "Aceptar",
  "sessions.sidebar.sessionDialogs.linkedSessionSingle": "Sesión vinculada",
  "sessions.sidebar.sessionDialogs.linkedSessionPlural": "Sesiones vinculadas",
  "sessions.sidebar.sessionDialogs.delete.note": "Los directorios de worktree permanecen intactos. Las subsesiones vinculadas a las sesiones seleccionadas también serán eliminadas.",
  "sessions.sidebar.sessionDialogs.directory.errorSelectTitle": "No se pudo seleccionar directorio",
  "sessions.sidebar.sessionDialogs.directory.errorOpenTitle": "No se pudo abrir directorio",
  "sessions.sidebar.sessionDialogs.directory.errorOpenDescription": "Desktop no pudo otorgar acceso a archivos.",
  "sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle": "No se pudo añadir proyecto",
  "sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription": "Selecciona una ruta de directorio válida.",
  "sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle": "No se pudo eliminar worktree",
  "sessions.sidebar.sessionDialogs.worktree.removedTitle": "Worktree eliminado",
  "sessions.sidebar.sessionDialogs.worktree.removed": "Worktree eliminado.",
  "sessions.sidebar.sessionDialogs.worktree.removedWithRemote": "Worktree y rama remota eliminados.",
  "sessions.sidebar.sessionDialogs.worktree.attachedArchived": "Worktree adjunto archivado.",
  "sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural": "Worktrees adjuntos archivados.",
  "sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved": "Worktrees archivados y ramas remotas eliminadas.",
  "sessions.sidebar.sessionDialogs.worktree.label": "Worktree",
  "sessions.sidebar.sessionDialogs.worktree.pathUnavailable": "Ruta de worktree no disponible.",
  "sessions.sidebar.sessionDialogs.worktree.uncommittedWarning": "Los cambios sin commit se perderán.",
  "sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch": "Eliminar rama remota",
  "sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable": "Información de rama remota no disponible",
  "sessions.sidebar.sessionDialogs.actions.deleteLocalBranch": "Eliminar rama local",
  "sessions.sidebar.sessionDialogs.actions.deleting": "Eliminando…",
  "sessions.sidebar.sessionDialogs.actions.deleteWorktree": "Eliminar worktree",
  "gitView.branch.branchToMergeInto": "Rama de destino del merge",
  "gitView.branch.branchToRebaseOnto": "rama de destino del rebase",
  "gitView.branch.create": "Crear nueva rama...",
  "gitView.branch.currentBadge": "Actual",
  "gitView.branch.currentBranchFallback": "rama actual",
  "gitView.branch.currentBranchTooltip": "Rama actual",
  "gitView.branch.detachedHead": "HEAD desvinculado",
  "gitView.branch.dialogDescriptionPrefix": "Elige cómo traer otra rama a",
  "gitView.branch.empty": "No se encontraron ramas.",
  "gitView.branch.localBranches": "Ramas locales",
  "gitView.branch.mergeDescription": "Crea un commit de merge y conserva el historial.",
  "gitView.branch.mergeRebase": "Merge/Rebase",
  "gitView.branch.mergeRebaseTooltip": "Actualiza esta rama desde otra rama.",
  "gitView.branch.mergingInProgress": "Merge en curso",
  "gitView.branch.namePlaceholder": "Nombre de la rama",
  "gitView.branch.newBranchPlaceholder": "Nombre de la nueva rama",
  "gitView.branch.noLocalBranches": "No hay ramas locales",
  "gitView.branch.noRemoteBranches": "No hay ramas remotas",
  "gitView.branch.operation": "Operación",
  "gitView.branch.operationCompleted": "Operación completada",
  "gitView.branch.operationFailed": "No se pudo completar la operación",
  "gitView.branch.pushToPrefix": "Enviar",
  "gitView.branch.pushToSuffix": "a:",
  "gitView.branch.rebaseDescription": "Reaplica tus commits encima de la rama seleccionada.",
  "gitView.branch.rebasingInProgress": "Rebase en progreso",
  "gitView.branch.remoteBranches": "Ramas remotas",
  "gitView.branch.renameTitle": "Cambiar nombre de rama",
  "gitView.branch.renameSave": "Guardar nombre de rama",
  "gitView.branch.renameSaving": "Guardando nombre de rama",
  "gitView.branch.renameCancel": "Cancelar cambio de nombre de rama",
  "gitView.branch.searchPlaceholder": "Buscar ramas...",
  "gitView.branch.selectBranch": "Seleccionar rama",
  "gitView.branch.summaryMergeInfix": "en",
  "gitView.branch.summaryMergePrefix": "Se hará merge de",
  "gitView.branch.summaryRebaseInfix": "sobre",
  "gitView.branch.summaryRebasePrefix": "Se hará rebase de",
  "gitView.branch.updateDescriptionPrefix": "Trae los últimos cambios a",
  "gitView.branch.updateTitle": "Actualizar rama",
  "gitView.changes.changedFilesAria": "Archivos modificados",
  "gitView.changes.clearSelectionAria": "Limpiar selección de archivos",
  "gitView.changes.collapseDirectoryAria": "Contraer directorio",
  "gitView.changes.expandDirectoryAria": "Expandir directorio",
  "gitView.changes.revertAll": "Revertir todo",
  "gitView.changes.revertAllDescriptionPlural": "Se descartarán los cambios locales de todos los archivos de la lista.",
  "gitView.changes.revertAllDescriptionSingle": "Se descartarán los cambios locales del archivo seleccionado.",
  "gitView.changes.revertAllDialogTitle": "¿Revertir todos los cambios?",
  "gitView.changes.revertDirectoryAria": "Revertir cambios en {path}",
  "gitView.changes.revertDirectory": "Revertir carpeta",
  "gitView.changes.revertDirectoryDescriptionPlural": "Se descartarán los cambios locales de {count} archivos en {path}.",
  "gitView.changes.revertDirectoryDescriptionSingle": "Se descartarán los cambios locales de {count} archivo en {path}.",
  "gitView.changes.revertDirectoryDialogTitle": "¿Revertir cambios de la carpeta?",
  "gitView.changes.revertDirectoryTooltip": "Revertir cambios de la carpeta",
  "gitView.changes.revertFileAria": "Revertir archivo",
  "gitView.changes.revertFileTooltip": "Revertir cambios",
  "gitView.changes.reverting": "Revertiendo...",
  "gitView.changes.selectAllAria": "Seleccionar todos los archivos",
  "gitView.changes.selectFileAria": "Seleccionar archivo",
  "gitView.changes.stagedTitle": "Preparados",
  "gitView.changes.resizeSplitAria": "Ajustar tamaño de cambios preparados y sin preparar",
  "gitView.changes.stageAllAria": "Preparar todos los cambios",
  "gitView.changes.stageDirectoryAria": "Preparar todos los cambios en {path}",
  "gitView.changes.stageFileAria": "Preparar {path}",
  "gitView.changes.title": "Cambios",
  "gitView.changes.toggleDirectorySelectionAria": "Alternar selección de directorio",
  "gitView.changes.unstageAllAria": "Quitar todos los cambios del área preparada",
  "gitView.changes.unstageDirectoryAria": "Quitar del área preparada todos los cambios en {path}",
  "gitView.changes.unstageFileAria": "Quitar {path} del área preparada",
  "gitView.commit.addGitmoji": "Añadir gitmoji",
  "gitView.commit.aiHighlights.insertAria": "Insertar",
  "gitView.commit.aiHighlights.insertTooltip": "Insertar",
  "gitView.commit.aiHighlights.title": "Puntos destacados",
  "gitView.commit.commit": "Commit",
  "gitView.commit.commitAria": "Commit",
  "gitView.commit.committing": "Creando commit...",
  "gitView.commit.generate": "Generar",
  "gitView.commit.generateAria": "Generar mensaje de commit",
  "gitView.commit.messagePlaceholder": "Mensaje de commit",
  "gitView.commit.push": "Commit & sync",
  "gitView.commit.pushAria": "Commit and sync",
  "gitView.commit.pushing": "Sincronizando...",
  "gitView.commit.selectFilesHint": "Selecciona archivos en Cambios para habilitar el commit.",
  "gitView.commit.stageFilesHint": "Prepara archivos para habilitar el commit.",
  "gitView.commit.title": "Commit",
  "gitView.common.cancel": "Cancelar",
  "gitView.common.close": "Cerrar",
  "gitView.common.done": "Hecho",
  "gitView.common.processing": "Procesando...",
  "gitView.common.reset": "Restablecer",
  "gitView.conflict.abortOperation": "Abortar operación",
  "gitView.conflict.conflictedFiles": "Archivos en conflicto:",
  "gitView.conflict.continueLater": "Continuar más tarde",
  "gitView.conflict.detectedDescription": "Se detectaron conflictos que debes resolver.",
  "gitView.conflict.detectedTitle": "Conflictos detectados",
  "gitView.conflict.errorLoadingDetails": "No se pudo cargar detalles",
  "gitView.conflict.headInfo": "Información de HEAD:",
  "gitView.conflict.loadFailed": "No se pudo cargar",
  "gitView.conflict.loading": "Cargando detalles del conflicto...",
  "gitView.conflict.noActiveSession": "Sin sesión activa",
  "gitView.conflict.noActiveSessionDescription": "Abre o crea una sesión para resolver los conflictos.",
  "gitView.conflict.resolveCurrentSession": "Resolver en sesión actual",
  "gitView.conflict.resolveNewSession": "Resolver en nueva sesión",
  "gitView.empty.cleanDescription": "No hay cambios pendientes.",
  "gitView.empty.cleanTitle": "Worktree limpio",
  "gitView.empty.pullBehindPlural": "Pull de {count} commits",
  "gitView.empty.pullBehindSingle": "Pull de {count} commit",
  "gitView.header.identityTooltip": "Identidad de Git",
  "gitView.header.noIdentity": "Sin identidad",
  "gitView.header.noProfiles": "No hay perfiles disponibles para aplicar.",
  "gitView.header.repositoryViews": "Vistas del repositorio",
  "gitView.header.removeRemoteAria": "Eliminar remoto",
  "gitView.header.removeRemoteTitle": "Eliminar remoto",
  "gitView.header.upstreamSynced": "sincronizado",
  "gitView.header.upstreamTooltip": "Comparado con {target}.",
  "gitView.header.upstreamTooltipTracking": "Comparado con {target}. Los indicadores principales de sincronización aún reflejan {tracking}.",
  "gitView.history.actions.cancelButton": "Cancelar",
  "gitView.history.actions.checkoutConfirm": "¿Cambiar a este commit como HEAD separado?",
  "gitView.history.actions.cherryPickConfirm": "¿Aplicar cherry-pick de este commit sobre la rama actual?",
  "gitView.history.actions.conflictToastDescription": "Conflictos en: {files}. Resuélvelos manualmente y haz commit, o aborta con git cherry-pick/revert --abort.",
  "gitView.history.actions.conflictToastTitle": "Conflicto",
  "gitView.history.actions.confirmButton": "Confirmar",
  "gitView.history.actions.mergeConfirm": "¿Fusionar este commit en la rama actual?",
  "gitView.history.actions.rebaseConfirm": "¿Rebasear la rama actual sobre este commit?",
  "gitView.history.actions.resetHardConfirm": "Reset hard — HEAD se mueve y todos los cambios sin commit se descartan permanentemente.",
  "gitView.history.actions.resetMixedConfirm": "Reset mixed — HEAD se mueve y los cambios quedan sin preparar.",
  "gitView.history.actions.resetSoftConfirm": "Reset soft — HEAD se mueve y los cambios preparados se conservan.",
  "gitView.history.actions.revertConfirm": "¿Preparar una reversión de este commit?",
  "gitView.history.actions.checkout": "Cambiar a commit",
  "gitView.history.actions.cherryPick": "Cherry-pick",
  "gitView.history.actions.createBranch": "Crear rama aquí",
  "gitView.history.actions.createBranchConfirm": "Crear",
  "gitView.history.actions.createBranchPlaceholder": "Nombre de rama",
  "gitView.history.actions.detachedHead": "Checkout realizado (HEAD separado)",
  "gitView.history.actions.merge": "Fusionar en la actual",
  "gitView.history.actions.rebase": "Rebasear sobre este",
  "gitView.history.actions.reset": "Reset...",
  "gitView.history.actions.resetHard": "Hard — descartar todos los cambios",
  "gitView.history.actions.resetHardConfirmButton": "Descartar cambios",
  "gitView.history.actions.resetMixed": "Mixed — quitar del stage",
  "gitView.history.actions.resetSoft": "Soft — conservar staged",
  "gitView.history.actions.revert": "Revertir",

  "gitView.history.binary": "Binario",
  "gitView.history.binaryNoDiff": "Archivo binario — no hay diff disponible",
  "gitView.history.commitsPlaceholder": "Buscar commits...",
  "gitView.history.copySha": "Copiar SHA",
  "gitView.history.diffError": "Error al cargar el diff. Haz clic para reintentar.",
  "gitView.history.largeDiffDescription": "El renderizado puede ser lento. Puedes ver el diff igualmente haciendo clic abajo.",
  "gitView.history.largeDiffTitle": "Diff grande ({count} líneas cambiadas)",
  "gitView.history.loadingDiff": "Cargando diff...",
  "gitView.history.loadingFiles": "Cargando archivos...",
  "gitView.history.loadMore": "Cargar más",
  "gitView.history.loadingMore": "Cargando...",
  "gitView.history.logSize100": "100 commits",
  "gitView.history.logSize25": "25 commits",
  "gitView.history.logSize50": "50 commits",
  "gitView.history.noCommits": "No se encontraron commits",
  "gitView.history.noFiles": "No hay archivos",
  "gitView.history.renamedNoDiff": "Archivo renombrado — diff no soportado",
  "gitView.history.renderDiffAnyway": "Renderizar igualmente",
  "gitView.history.title": "Historial",
  "gitView.graph.title": "Grafo",
  "gitView.integrate.checking": "Verificando…",
  "gitView.integrate.cherryPickAbortedToast": "Cherry-pick abortado",
  "gitView.integrate.cherryPickConflictDescription": "Resuelve los conflictos de cherry-pick para continuar.",
  "gitView.integrate.cherryPickConflictToast": "Conflictos de cherry-pick detectados",
  "gitView.integrate.cherryPickContinueFailedToast": "No se pudo continuar el cherry-pick",
  "gitView.integrate.cherryPickFinishedToast": "Cherry-pick completado",
  "gitView.integrate.commitsMovedDescriptionPlural": "Commits movidos",
  "gitView.integrate.commitsMovedDescriptionSingle": "Commit movido",
  "gitView.integrate.commitsMovedToast": "Commits movidos",
  "gitView.integrate.commitsToMove": "Commits por mover",
  "gitView.integrate.conflictsInFiles": "Conflictos en archivos",
  "gitView.integrate.currentCommit": "Commit actual",
  "gitView.integrate.currentSession": "Sesión actual",
  "gitView.integrate.failedToMoveToast": "No se pudieron mover los commits",
  "gitView.integrate.moreFiles": "Más archivos",
  "gitView.integrate.move": "Mover",
  "gitView.integrate.moveCommits": "Mover commits",
  "gitView.integrate.moving": "Moviendo…",
  "gitView.integrate.newSession": "Nueva sesión",
  "gitView.integrate.noActiveSession": "Sin sesión activa",
  "gitView.integrate.noActiveSessionDescription": "Abre o crea una sesión para resolver los conflictos.",
  "gitView.integrate.noCommitsToMove": "No hay commits para mover.",
  "gitView.integrate.noCommitsToMoveToast": "No hay commits para mover",
  "gitView.integrate.previewUnavailable": "Vista previa no disponible",
  "gitView.integrate.showAll": "Mostrar todo",
  "gitView.integrate.showLess": "Mostrar menos",
  "gitView.integrate.showingFirstCommits": "Mostrando los primeros commits",
  "gitView.integrate.target": "Destino",
  "gitView.integrate.title": "Reintegrar commits",
  "gitView.integrate.toMoveCount": "Commits por mover",
  "gitView.operation.abort": "Abortar",
  "gitView.operation.continue": "Continuar",
  "gitView.operation.inProgressTitle": "{operation} en progreso",
  "gitView.operation.merge": "Merge",
  "gitView.operation.mergeInProgressWithHead": "Haciendo merge de {head}",
  "gitView.operation.mergingMessage": "Haciendo merge: {message}",
  "gitView.operation.rebase": "Rebase",
  "gitView.operation.rebaseInProgress": "Rebase en progreso",
  "gitView.operation.rebasingOnto": "Haciendo rebase de {headName} sobre {onto}",
  "gitView.operation.resolveConflictsHint": "Resuelve los conflictos y luego continúa la operación.",
  "gitView.operation.resolveWithAi": "Resolver con IA",
  "gitView.stash.confirmButton": "Guardar cambios y continuar",
  "gitView.stash.description": "Tienes cambios sin commit que podrían sobrescribirse. Guárdalos temporalmente antes de continuar.",
  "gitView.stash.mergeWith": "Merge con",
  "gitView.stash.rebaseOnto": "Rebase sobre",
  "gitView.stash.restoreAfterOperation": "Restaurar después de la operación",
  "gitView.stash.restoreAria": "Restaurar stash",
  "gitView.stash.stepRestore": "Restaura tus cambios guardados",
  "gitView.stash.stepStash": "Guarda tus cambios sin commit",
  "gitView.stash.thisWill": "Esto hará:",
  "gitView.stash.title": "Cambios sin commit",
  "gitView.stashes.actions.apply": "Apply",
  "gitView.stashes.actions.drop": "Drop",
  "gitView.stashes.actions.pop": "Pop",
  "gitView.stashes.actions.stashCurrent": "Stash current changes",
  "gitView.stashes.actions.stashCurrentWithCount": "Stash {count} files",
  "gitView.stashes.confirm.drop": "Drop {ref}?",
  "gitView.stashes.description": "Save, restore, and clean up Git stashes for this repository.",
  "gitView.stashes.empty.list": "No stashes yet.",
  "gitView.stashes.empty.search": "No matching stashes.",
  "gitView.stashes.includeUntrackedHint": "Untracked files are included automatically.",
  "gitView.stashes.fileCount": "{count} files",
  "gitView.stashes.fileCountLoading": "counting files...",
  "gitView.stashes.itemNumber": "#{number}",
  "gitView.stashes.latestLabel": "Latest",
  "gitView.stashes.messagePlaceholder": "Stash name",
  "gitView.stashes.searchPlaceholder": "Search stashes",
  "gitView.stashes.title": "Stashes",
  "gitView.stashes.toast.applyFailed": "Failed to apply stash",
  "gitView.stashes.toast.applySuccess": "Stash applied",
  "gitView.stashes.toast.createFailed": "Failed to stash changes",
  "gitView.stashes.toast.created": "Changes stashed",
  "gitView.stashes.toast.dropFailed": "Failed to drop stash",
  "gitView.stashes.toast.dropSuccess": "Stash dropped",
  "gitView.stashes.toast.loadFailed": "Failed to load stashes",
  "gitView.stashes.toast.noChanges": "No local changes to stash",
  "gitView.stashes.toast.popFailed": "Failed to pop stash",
  "gitView.stashes.toast.popSuccess": "Stash popped",
  "gitView.stashes.untitled": "Untitled stash",
  "gitView.sync.fetch": "Fetch",
  "gitView.sync.fetchFromRemote": "Fetch de {name}",
  "gitView.sync.fetchTooltip": "Fetch del remoto",
  "gitView.sync.commitOrStashTooltip": "Haz commit o stash de tus cambios antes de sincronizar",
  "gitView.sync.moreActionsAria": "Más acciones de sincronización",
  "gitView.sync.noRemoteTooltip": "No hay remotos configurados",
  "gitView.sync.pull": "Pull",
  "gitView.sync.pullTooltip": "Hacer pull",
  "gitView.sync.pullTooltipBehind": "Hacer pull ({count} detrás)",
  "gitView.sync.push": "Push",
  "gitView.sync.pushTooltip": "Hacer push",
  "gitView.sync.pushTooltipAhead": "Hacer push ({count} por delante)",
  "gitView.sync.sync": "sync",
  "gitView.sync.syncChanges": "Sync Changes",
  "gitView.sync.syncChangesTooltip": "Sync Changes ({behind} abajo, {ahead} arriba)",
  "gitView.sync.syncChangesWithCounts": "Sync Changes {behind}↓ {ahead}↑",
  "gitView.sync.syncCounts": "{behind}↓ {ahead}↑",
  "gitView.branch.actionsUnavailable": "Acciones de rama no disponibles en este estado del repositorio",
  "gitView.conflict.noDetailsAvailable": "No hay detalles de conflicto disponibles",
  "gitView.empty.notGitRepository": "Este directorio no es un repositorio Git",
  "gitView.empty.notGitRepositoryDescription": "Inicializa Git en este directorio o abre un repositorio.",
  "gitView.empty.selectSessionOrDirectory": "Selecciona una sesión o directorio para ver el estado de Git",
  "gitView.empty.worktreeFeaturesUnavailable": "Las características de worktree no están disponibles en este modo de espacio de trabajo.",
  "gitView.empty.worktreeSetupDescription": "Finalizando la configuración de worktree y preparando el estado del repositorio.",
  "gitView.empty.worktreeSetupInProgress": "Configuración de worktree en progreso",
  "worktree.bootstrap.toast.failed": "Error al configurar el worktree",
  "worktree.bootstrap.toast.failedDescription": "El worktree se creó, pero la configuración en segundo plano no terminó.",
  "worktree.bootstrap.toast.timeoutDescription": "El worktree se creó, pero la configuración en segundo plano agotó el tiempo de espera.",
  "gitView.gitmoji.empty": "No se encontraron gitmojis",
  "gitView.gitmoji.searchPlaceholder": "Buscar gitmojis...",
  "gitView.gitmoji.title": "Insertar gitmoji",
  "gitView.history.dialogDescription": "Navega por commits recientes e inspecciona los archivos modificados.",
  "gitView.loading.checkingRepository": "Verificando repositorio...",
  "gitView.loading.loading": "Cargando...",
  "gitView.pr.actions.add": "Añadir",
  "gitView.pr.actions.cancelEditing": "Cancelar edición",
  "gitView.pr.actions.cancelEditingAria": "Cancelar edición de PR",
  "gitView.pr.actions.createPr": "Crear PR",
  "gitView.pr.actions.edit": "Editar",
  "gitView.pr.actions.editPr": "Editar PR",
  "gitView.pr.actions.editPrAria": "Editar PR",
  "gitView.pr.actions.hide": "Ocultar",
  "gitView.pr.actions.markReady": "Marcar como listo",
  "gitView.pr.actions.markReadyAria": "Marcar la PR como lista para revisión",
  "gitView.pr.actions.mergePr": "Hacer merge de la PR",
  "gitView.pr.actions.mergePrAria": "Hacer merge de la PR",
  "gitView.pr.actions.openChecks": "Abrir checks",
  "gitView.pr.actions.openChecksAria": "Abrir checks fallidos",
  "gitView.pr.actions.openComments": "Abrir comentarios",
  "gitView.pr.actions.openCommentsAria": "Abrir comentarios de la PR",
  "gitView.pr.actions.openOnGitHub": "Abrir en GitHub",
  "gitView.pr.actions.openOnGitHubAria": "Abrir PR en GitHub",
  "gitView.pr.actions.openSettings": "Abrir configuración",
  "gitView.pr.actions.repo": "Repositorio",
  "gitView.pr.actions.resolveFailedChecks": "Resolver checks fallidos",
  "gitView.pr.actions.resolveFailedChecksAria": "Enviar checks fallidos al agente",
  "gitView.pr.actions.savePr": "Guardar PR",
  "gitView.pr.actions.savePrAria": "Guardar cambios de la PR",
  "gitView.pr.actions.sendCommentToAgent": "Enviar comentario al agente",
  "gitView.pr.actions.sendCommentToAgentAria": "Enviar este comentario al agente",
  "gitView.pr.actions.sendToAgent": "Enviar al agente",
  "gitView.pr.actions.shareComments": "Compartir comentarios",
  "gitView.pr.actions.shareCommentsAria": "Enviar comentarios de la PR al agente",
  "gitView.pr.actions.toggleDraftAria": "Alternar estado de borrador",
  "gitView.pr.actions.refresh": "Actualizar estado de la PR",
  "gitView.pr.actions.refreshAria": "Actualizar estado del pull request",
  "gitView.pr.additionalContext.added": "Añadido",
  "gitView.pr.additionalContext.hint": "Añade contexto adicional para una revisión más efectiva.",
  "gitView.pr.additionalContext.optional": "Opcional",
  "gitView.pr.additionalContext.title": "Contexto adicional",
  "gitView.pr.checkDetails.empty": "No hay detalles del check disponibles",
  "gitView.pr.checkDetails.title": "Detalles del check fallido",
  "gitView.pr.checkingStatus": "Comprobando estado de la PR...",
  "gitView.pr.checks.label": "checks",
  "gitView.pr.checks.completedLabel": "Completado",
  "gitView.pr.checks.conclusionLabel": "Conclusión",
  "gitView.pr.checks.startedLabel": "Iniciado",
  "gitView.pr.checks.statusLabel": "Estado",
  "gitView.pr.checks.stepLabel": "Paso",
  "gitView.pr.checks.steps": "Pasos",
  "gitView.pr.comments.empty": "No se encontraron comentarios",
  "gitView.pr.comments.generalContext": "Comentario general",
  "gitView.pr.comments.reviewContext": "Comentario de revisión",
  "gitView.pr.comments.title": "Comentarios",
  "gitView.pr.comments.unknownAuthor": "Autor desconocido",
  "gitView.pr.createTitle": "Crear PR",
  "gitView.pr.draftMustBeReady": "La PR en borrador debe marcarse como lista antes de hacer merge.",
  "gitView.pr.field.baseBranch": "Rama base",
  "gitView.pr.field.description": "Descripción",
  "gitView.pr.field.draft": "Borrador",
  "gitView.pr.field.title": "Título",
  "gitView.pr.githubNotConnected": "GitHub no está conectado",
  "gitView.pr.loadingDescription": "Cargando descripción...",
  "gitView.pr.mergeMethod.merge": "Crear un merge commit",
  "gitView.pr.mergeMethod.rebase": "Rebase y merge",
  "gitView.pr.mergeMethod.squash": "Squash y merge",
  "gitView.pr.noDescription": "Sin descripción",
  "gitView.pr.noMergePermission": "No tienes permiso para hacer merge de esta PR.",
  "gitView.pr.notMergeable": "No se puede hacer merge",
  "gitView.pr.numberLabel": "PR # {number}",
  "gitView.pr.placeholder.additionalContext": "Cualquier restricción, nota de lanzamiento o contexto para revisor...",
  "gitView.pr.placeholder.description": "Describe el cambio...",
  "gitView.pr.placeholder.main": "Resume tu PR",
  "gitView.pr.placeholder.selectBaseBranch": "Seleccionar rama base",
  "gitView.pr.placeholder.title": "Título de la PR",
  "gitView.pr.placeholder.whatChanged": "¿Qué cambió y por qué?",
  "gitView.pr.statusUnavailable": "Estado de la PR no disponible",
  "gitView.pr.toast.baseBranchRequired": "Selecciona una rama base",
  "gitView.pr.toast.baseMustDifferFromHead": "La rama base debe diferir de la rama actual",
  "gitView.pr.toast.createPrFailed": "No se pudo crear la PR",
  "gitView.pr.toast.generateDescriptionFailed": "No se pudo generar la descripción de la PR",
  "gitView.pr.toast.githubApiUnavailable": "La API de GitHub no está disponible",
  "gitView.pr.toast.loadCheckDetailsFailed": "No se pudieron cargar los detalles del check",
  "gitView.pr.toast.loadChecksFailed": "No se pudieron cargar los checks de la PR",
  "gitView.pr.toast.loadCommentsFailed": "No se pudieron cargar los comentarios",
  "gitView.pr.toast.loadPrCommentsFailed": "No se pudieron cargar los comentarios de la PR",
  "gitView.pr.toast.markReadyFailed": "No se pudo marcar la PR como lista",
  "gitView.pr.toast.markedReady": "La PR se marcó como lista para revisión",
  "gitView.pr.toast.mergeFailed": "No se pudo hacer merge de la PR",
  "gitView.pr.toast.noActiveSession": "No hay sesión de chat activa",
  "gitView.pr.toast.noActiveSessionDescription": "Abre o crea una sesión de chat para enviar contexto a un agente.",
  "gitView.pr.toast.noFailedChecks": "No se encontraron checks fallidos",
  "gitView.pr.toast.noModelSelected": "Selecciona un modelo primero",
  "gitView.pr.toast.noPrComments": "No se encontraron comentarios de la PR",
  "gitView.pr.toast.prCreated": "PR creada",
  "gitView.pr.toast.prMerged": "Merge de PR completado",
  "gitView.pr.toast.prNotMerged": "No se hizo merge de la PR",
  "gitView.pr.toast.prUpdated": "PR actualizada",
  "gitView.pr.toast.sendMessageFailed": "No se pudo enviar el mensaje al agente",
  "gitView.pr.toast.titleRequired": "El título es obligatorio",
  "gitView.pr.toast.updatePrFailed": "No se pudo actualizar la PR",
  "gitView.pullRequest.createHint": "Crea y gestiona PR desde esta rama.",
  "gitView.pullRequest.availableOnFeatureBranches": "Disponible cuando la rama actual puede abrir un PR.",
  "gitView.pullRequest.title": "PR",
  "gitView.tabs.commit": "Commit",
  "gitView.tabs.pr": "PR",
  "gitView.tabs.update": "Actualizar",
  "gitView.tabs.worktree": "Árbol de trabajo",
  "gitView.toast.abortOperationFailed": "No se pudo abortar la operación",
  "gitView.toast.appliedIdentity": "Identidad aplicada: {name}",
  "gitView.toast.applyIdentityFailed": "No se pudo aplicar la identidad",
  "gitView.toast.branchCreatedLocally": "Rama creada localmente, pero no se pudo configurar el upstream.",
  "gitView.toast.cannotCheckout": "No se puede cambiar a la rama: {reason}",
  "gitView.toast.cannotCreateBranch": "No se puede crear la rama: {reason}",
  "gitView.toast.cannotRemoveOriginRemote": "No se puede eliminar el remoto origin",
  "gitView.toast.cannotRenameBranch": "No se puede cambiar el nombre de la rama: {reason}",
  "gitView.toast.checkedOut": "Cambiado a {name}",
  "gitView.toast.checkoutFailed": "No se pudo cambiar a {name}",
  "gitView.toast.commitCreated": "Commit creado",
  "gitView.toast.commitHashCopied": "Hash del commit copiado",
  "gitView.toast.continueOperationFailed": "No se pudo continuar la operación",
  "gitView.toast.copyFailed": "No se pudo copiar",
  "gitView.toast.createBranchFailed": "No se pudo crear la rama",
  "gitView.toast.createCommitFailed": "No se pudo crear el commit",
  "gitView.toast.createdBranch": "Rama {name} creada",
  "gitView.toast.enterCommitMessage": "Escribe un mensaje de commit",
  "gitView.toast.fetchedFromRemote": "Recuperado de {name}",
  "gitView.toast.generateCommitMessageFailed": "No se pudo generar el mensaje de commit",
  "gitView.toast.mergeAborted": "Merge abortado",
  "gitView.toast.mergeCompleted": "Merge completado",
  "gitView.toast.mergeConflictsDetected": "Se detectaron conflictos al hacer merge",
  "gitView.toast.mergedIntoBranch": "Merge de {branch} en {currentBranch}",
  "gitView.toast.pulledFilesPlural": "Se trajeron {count} archivos de {name}",
  "gitView.toast.pulledFilesSingle": "Se trajo {count} archivo de {name}",
  "gitView.toast.pushedToUpstream": "Enviado a {name}",
  "gitView.toast.commitOrStashBeforeSync": "Haz commit o stash de tus cambios antes de sincronizar",
  "gitView.toast.alreadyUpToDate": "Ya está actualizado",
  "gitView.toast.syncedPulledPluralAndPushed": "Se trajeron {count} archivos de {name} y se envió al upstream",
  "gitView.toast.syncedPulledSingleAndPushed": "Se trajo {count} archivo de {name} y se envió al upstream",
  "gitView.toast.syncedChanges": "Cambios sincronizados",
  "gitView.toast.rebaseAborted": "Rebase abortado",
  "gitView.toast.rebaseConflictsDetected": "Se detectaron conflictos al hacer rebase",
  "gitView.toast.rebaseStepCompleted": "Paso de rebase completado",
  "gitView.toast.rebasedOntoBranch": "Rebase de {currentBranch} sobre {branch}",
  "gitView.toast.refreshRepositoryFailed": "No se pudo actualizar el repositorio",
  "gitView.toast.remoteNameRequired": "Se requiere nombre del remoto",
  "gitView.toast.removedRemote": "Remoto {name} eliminado",
  "gitView.toast.renameBranchFailed": "No se pudo cambiar el nombre de {oldName} a {newName}",
  "gitView.toast.renamedBranch": "{oldName} renombrado a {newName}",
  "gitView.toast.restoreStashFailed": "No se pudo restaurar el stash",
  "gitView.toast.restoreStashManually": "Debes restaurar el stash manualmente",
  "gitView.toast.revertFailed": "No se pudieron revertir los cambios",
  "gitView.toast.revertedFile": "{path} revertido",
  "gitView.toast.revertedFilesPlural": "{count} archivos revertidos",
  "gitView.toast.revertedFilesSingle": "{count} archivo revertido",
  "gitView.toast.revertedSomePlural": "{success} archivos revertidos, {failed} fallidos",
  "gitView.toast.revertedSomeSingle": "{success} archivo revertido, {failed} fallido",
  "gitView.toast.stageFileFailed": "No se pudieron preparar los cambios",
  "gitView.toast.stageFileToCommit": "Prepara al menos un archivo para el commit",
  "gitView.toast.stageFileToDescribe": "Prepara al menos un archivo para describir",
  "gitView.toast.selectFileToCommit": "Selecciona al menos un archivo para el commit",
  "gitView.toast.selectFileToDescribe": "Selecciona al menos un archivo para describir",
  "gitView.toast.stashedRestored": "Cambios del stash restaurados",
  "gitView.toast.syncActionFailed": "{action} falló",
  "gitView.toast.unstageFileFailed": "No se pudieron quitar los cambios del área preparada",
  "gitView.toast.upstreamSet": "Upstream de {branch} configurado como {remote}",
  "gitView.worktree.availableInWorktreeMode": "Disponible solo en modo worktree",
  "contextPanel.mode.chat": "Chat",
  "contextPanel.mode.files": "Archivos",
  "contextPanel.mode.diff": "Cambios",
  "contextPanel.mode.stagedDiff": "Staged Diff",
  "contextPanel.mode.workingDiff": "Working Diff",
  "contextPanel.mode.plan": "Plan",
  "contextPanel.mode.context": "Contexto",
  "contextPanel.mode.preview": "Vista previa",
  "contextPanel.mode.browser": "Navegador",
  "contextPanel.browser.open": "Abrir panel del navegador",
  "contextPanel.browser.addressAria": "Dirección del navegador",
  "contextPanel.browser.empty": "Navegador web",
  "contextPanel.browser.emptyHint": "Ingrese una dirección arriba para comenzar a navegar",
  "contextPanel.browser.inspectUnavailable": "Esta página no se puede inspeccionar desde el panel del navegador.",
  "contextPanel.browser.trustNotice": "Las páginas que abras aquí se ejecutan con acceso completo a OpenChamber: necesario para la inspección y las capturas. Abre solo sitios de confianza: una página maliciosa podría leer tus datos o actuar en tu nombre.",
  "contextPanel.tab.closeTabAria": "Cerrar pestaña {label}",
  "contextPanel.actions.collapsePanel": "Colapsar panel",
  "contextPanel.actions.expandPanel": "Expandir panel",
  "contextPanel.actions.closePanel": "Cerrar panel",
  "contextPanel.actions.resizePanelAria": "Ajustar tamaño del panel de contexto",
  "contextPanel.iframe.sessionChatTitle": "Chat de sesión {sessionID}",
  "contextPanel.preview.actions.reload": "Recargar vista previa",
  "contextPanel.preview.actions.openExternal": "Abrir en el navegador",
  "contextPanel.preview.actions.retry": "Reintentar",
  "contextPanel.preview.iframeTitle": "Vista previa",
  "contextPanel.preview.invalidUrl": "La vista previa necesita una URL http(s) válida.",
  "contextPanel.preview.empty": "Sin URL de vista previa",
  "contextPanel.preview.loading": "Conectando proxy de vista previa...",
  "contextPanel.preview.proxyError": "No se pudo iniciar el proxy de vista previa.",
  "contextPanel.preview.upstreamUnreachable": "El servidor de desarrollo no responde.",
  "contextPanel.preview.upstreamUnreachableHint": "Verifica que tu servidor de desarrollo siga en ejecución y vuelve a intentarlo.",

  "terminalView.preview.open": "Vista previa",
  "terminalView.preview.openTitle": "Abrir panel de vista previa",
  "sidebarFilesTree.menu.rename": "Cambiar nombre",
  "sidebarFilesTree.menu.copyPath": "Copiar ruta",
  "sidebarFilesTree.menu.save": "Guardar",
  "sidebarFilesTree.menu.newFile": "Nuevo archivo",
  "sidebarFilesTree.menu.newFolder": "Nueva carpeta",
  "sidebarFilesTree.menu.delete": "Eliminar",
  "sidebarFilesTree.toast.pathCopied": "Ruta copiada",
  "sidebarFilesTree.toast.copyFailed": "No se pudo copiar",
  "sidebarFilesTree.toast.revealFailed": "No se pudo revelar la ruta",
  "sidebarFilesTree.toast.filenameRequired": "El nombre de archivo es obligatorio",
  "sidebarFilesTree.toast.writeNotSupported": "La escritura no es compatible",
  "sidebarFilesTree.toast.fileCreated": "Archivo creado",
  "sidebarFilesTree.toast.operationFailed": "No se pudo completar la operación",
  "sidebarFilesTree.toast.folderNameRequired": "El nombre de carpeta es obligatorio",
  "sidebarFilesTree.toast.folderCreated": "Carpeta creada",
  "sidebarFilesTree.toast.nameRequired": "El nombre es obligatorio",
  "sidebarFilesTree.toast.renameNotSupported": "El cambio de nombre no es compatible",
  "sidebarFilesTree.toast.renamedSuccessfully": "Nombre cambiado",
  "sidebarFilesTree.toast.deleteNotSupported": "La eliminación no es compatible",
  "sidebarFilesTree.toast.deletedSuccessfully": "Eliminado",
  "sidebarFilesTree.search.placeholder": "Buscar archivos...",
  "sidebarFilesTree.search.clearAria": "Limpiar búsqueda",
  "sidebarFilesTree.actions.newFileTitle": "Nuevo archivo",
  "sidebarFilesTree.actions.newFolderTitle": "Nueva carpeta",
  "sidebarFilesTree.actions.refreshTitle": "Actualizar",
  "sidebarFilesTree.actions.fileMenuTitle": "Menú de archivo",
  "sidebarFilesTree.state.searching": "Buscando...",
  "sidebarFilesTree.state.loading": "Cargando...",
  "sidebarFilesTree.dialog.createFile.title": "Crear archivo",
  "sidebarFilesTree.dialog.createFolder.title": "Crear carpeta",
  "sidebarFilesTree.dialog.rename.title": "Cambiar nombre",
  "sidebarFilesTree.dialog.delete.title": "Eliminar",
  "sidebarFilesTree.dialog.createFile.description": "Crea un archivo nuevo en {path}",
  "sidebarFilesTree.dialog.createFolder.description": "Crea una carpeta nueva en {path}",
  "sidebarFilesTree.dialog.rename.description": "Cambiar el nombre de {name}",
  "sidebarFilesTree.dialog.delete.description": "¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.",
  "sidebarFilesTree.dialog.rootFallback": "raíz",
  "sidebarFilesTree.dialog.rename.placeholder": "Nuevo nombre",
  "sidebarFilesTree.dialog.namePlaceholder": "Nombre",
  "sidebarFilesTree.dialog.cancel": "Cancelar",
  "sidebarFilesTree.dialog.confirm": "Confirmar",
  "sidebarFilesTree.dialog.delete.confirm": "Eliminar",
  "filesView.dialog.createFile.title": "Crear archivo",
  "filesView.dialog.createFolder.title": "Crear carpeta",
  "filesView.dialog.rename.title": "Cambiar nombre",
  "filesView.dialog.delete.title": "Eliminar",
  "filesView.dialog.createFile.description": "Crea un archivo nuevo en {path}",
  "filesView.dialog.createFolder.description": "Crea una carpeta nueva en {path}",
  "filesView.dialog.rename.description": "Cambiar el nombre de {name}",
  "filesView.dialog.delete.description": "¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.",
  "filesView.dialog.rootFallback": "raíz",
  "filesView.dialog.rename.placeholder": "Nuevo nombre",
  "filesView.dialog.namePlaceholder": "Nombre",
  "filesView.dialog.cancel": "Cancelar",
  "filesView.dialog.confirm": "Confirmar",
  "filesView.dialog.delete.confirm": "Eliminar",
  "filesView.editor.saving": "Guardando...",
  "filesView.editor.saved": "Guardado",
  "filesView.editor.autoSaveOn": "Guardado automático activado",
  "filesView.editor.manualSave": "Guardado manual",
  "filesView.editor.saveNowTitle": "Guardar ahora ({shortcut}) - se guarda automáticamente después de 1.5 segundos",
  "filesView.editor.saveNowManualTitle": "Guardar ahora ({shortcut})",
  "filesView.editor.saveAria": "Guardar ({shortcut})",
  "filesView.editor.openInDesktopApp": "Abrir en la aplicación de escritorio",
  "filesView.editor.refreshApps": "Actualizar aplicaciones",
  "filesView.editor.disableLineWrap": "Desactivar ajuste de línea",
  "filesView.editor.enableLineWrap": "Activar ajuste de línea",
  "filesView.editor.findInFile": "Buscar en el archivo",
  "filesView.editor.goToLine": "Ir a línea",
  "filesView.editor.switchToTextView": "Cambiar a vista de texto",
  "filesView.editor.switchToTreeView": "Cambiar a vista de árbol",
  "filesView.toast.copyFailed": "No se pudo copiar",
  "filesView.toast.openInAppFailed": "No se pudo abrir en {app}",
  "filesView.toast.savingNotSupported": "El guardado no es compatible",
  "filesView.toast.writeFileFailed": "No se pudo escribir el archivo",
  "filesView.toast.saveFailed": "No se pudo guardar",
  "filesView.editor.copyFileContents": "Copiar contenido del archivo",
  "filesView.editor.copyFilePathTitle": "Copiar ruta del archivo ({path})",
  "filesView.editor.saveFile": "Guardar archivo",
  "filesView.editor.exitFullscreen": "Salir de pantalla completa",
  "filesView.editor.fullscreen": "Pantalla completa",
  "filesView.unsaved.title": "Cambios no guardados",
  "filesView.unsaved.description": "¿Quieres guardar tus cambios antes de continuar?",
  "filesView.unsaved.saveChanges": "Guardar cambios",
  "filesView.unsaved.discard": "Descartar",
  "filesView.editor.back": "Atrás",
  "filesView.editor.openFilesAria": "Abrir archivos",
  "filesView.editor.closeFileAria": "Cerrar {name}",
  "filesView.editor.selectFile": "Seleccionar un archivo",
  "filesView.editor.showControlsAria": "Mostrar controles del editor",
  "filesView.editor.controlsTitle": "Controles del editor",
  "filesView.editor.pickFileFromTree": "Selecciona un archivo del árbol.",
  "filesView.state.loading": "Cargando...",
  "filesView.state.openingFileAtChange": "Abriendo archivo en cambio...",
  "filesView.tree.search.placeholder": "Buscar archivos...",
  "filesView.tree.search.clearAria": "Limpiar búsqueda",
  "filesView.tree.search.searching": "Buscando...",
  "filesView.tree.actions.newFileTitle": "Nuevo archivo",
  "filesView.tree.actions.newFolderTitle": "Nueva carpeta",
  "filesView.tree.actions.refreshTitle": "Actualizar",
  "filesView.editor.imageAltFallback": "Imagen",
  "filesView.error.jsonViewerUnavailable": "Visualizador JSON no disponible",
  "filesView.error.switchToTextMode": "Cambia al modo de texto para ver contenido bruto.",
  "filesView.warning.largeFilePreviewLimited": "Este archivo es grande ({sizeKb}KB). La vista previa puede estar limitada.",
  "filesView.error.previewUnavailable": "Vista previa no disponible",
  "filesView.error.switchToEditMode": "Cambia al modo de edición para resolver el problema.",
  "filesView.error.readFileFailed": "No se pudo leer el archivo",
  "filesView.editor.htmlPreviewTitle": "Vista previa HTML",
  "filesView.diagram.closeDiagramView": "Cerrar vista de diagrama",
  "filesView.diagram.saveDiagram": "Guardar diagrama",
  "contextUsage.aria.label": "Uso del contexto",
  "contextUsage.mobile.title": "Uso del contexto",
  "contextUsage.mobile.usedTokens": "Tokens usados",
  "contextUsage.mobile.contextLimit": "Límite de contexto",
  "contextUsage.mobile.outputLimit": "Límite de salida",
  "contextUsage.mobile.usage": "Uso",
  "contextUsage.tooltip.usedTokens": "Tokens usados: {tokens}",
  "contextUsage.tooltip.contextLimit": "Límite de contexto: {tokens}",
  "contextUsage.tooltip.outputLimit": "Límite de salida: {tokens}",
  "contextSidebar.session.untitled": "Sesión sin título",
  "contextSidebar.empty.openSession": "Abrir una sesión para inspeccionar el contexto.",
  "contextSidebar.section.context": "Contexto",
  "contextSidebar.section.lastAssistantMessage": "Último mensaje del asistente",
  "contextSidebar.section.rawMessages": "Mensajes brutos",
  "contextSidebar.context.percentUsed": "{percent}% usado",
  "contextSidebar.breakdown.user": "Usuario",
  "contextSidebar.breakdown.assistant": "Asistente",
  "contextSidebar.breakdown.toolCalls": "Llamadas a herramientas",
  "contextSidebar.breakdown.other": "Otro",
  "contextSidebar.stats.messages": "Mensajes",
  "contextSidebar.stats.user": "Usuario",
  "contextSidebar.stats.assistant": "Asistente",
  "contextSidebar.stats.cost": "Costo",
  "contextSidebar.tokens.input": "Entrada",
  "contextSidebar.tokens.output": "Salida",
  "contextSidebar.tokens.reasoning": "Razonamiento",
  "contextSidebar.tokens.cacheRead": "Lectura de caché",
  "contextSidebar.tokens.cacheWrite": "Escritura de caché",
  "contextSidebar.tokens.cacheHit": "Acierto de caché",
  "contextSidebar.actions.copyJson": "Copiar JSON",
  "contextSidebar.actions.copy": "Copiar",
  "contextSidebar.actions.copied": "Copiado",
  "planView.file.defaultName": "plan",
  "planView.title.default": "Plan",
  "planView.error.saveFailed": "No se pudo guardar",
  "planView.error.previewUnavailable": "Vista previa no disponible",
  "planView.error.switchToEditMode": "Cambia al modo de edición para resolver el problema.",
  "planView.error.writeFailed": "No se pudo escribir",
  "planView.error.writePlanFileFailed": "No se pudo escribir el archivo de plan ({status})",
  "planView.actions.improvePlanAria": "Mejorar plan",
  "planView.actions.improve": "Mejorar",
  "planView.actions.implementPlanAria": "Implementar plan",
  "planView.actions.implement": "Implementar",
  "planView.actions.sendToNewSession": "Enviar a nueva sesión",
  "planView.actions.sendToNewWorktreeSession": "Enviar a nueva sesión de worktree",
  "planView.actions.copyPlanContents": "Copiar contenido del plan",
  "planView.state.loading": "Cargando...",
  "diffView.binary.unavailable": "El contenido de este archivo no puede visualizarse.",
  "diffView.change.untracked": "Archivo no rastreado",
  "diffView.change.new": "Archivo nuevo",
  "diffView.change.deleted": "Archivo eliminado",
  "diffView.change.renamed": "Archivo renombrado",
  "diffView.change.copied": "Archivo copiado",
  "diffView.change.modified": "Archivo modificado",
  "diffView.selector.selectFile": "Seleccionar archivo",
  "diffView.image.original": "Original",
  "diffView.image.modified": "Modificado",
  "diffView.image.new": "Nuevo",
  "diffView.image.originalAlt": "Original: {path}",
  "diffView.image.modifiedAlt": "Modificado: {path}",
  "diffView.section.files": "Archivos",
  "diffView.state.selectSessionDirectory": "Selecciona un directorio de sesión para ver diferencias",
  "diffView.state.loadingRepositoryStatus": "Cargando estado del repositorio...",
  "diffView.state.notGitRepository": "No es un repositorio Git. Usa la pestaña Git para inicializar o cambiar de directorio.",
  "diffView.state.cleanWorkingTree": "Worktree limpio, no hay cambios para mostrar",
  "diffView.state.failedToLoadDiff": "No se pudo cargar la diferencia",
  "diffView.state.loadingDiff": "Cargando diff...",
  "diffView.state.loadingChanges": "Cargando cambios...",
  "diffView.state.largeDiff": "Diff grande ({count} líneas modificadas)",
  "diffView.state.largeDiffDescription": "El renderizado puede ser lento. Aun así puedes ver el diff con el botón de abajo.",
  "diffView.summary.changedFilesSingle": "{count} archivo modificado",
  "diffView.summary.changedFilesPlural": "{count} archivos modificados",
  "diffView.scope.changed": "Cambiados",
  "diffView.scope.staged": "Staged",
  "diffView.scope.selectorAria": "Seleccionar modo de cambios",
  "diffView.actions.retry": "Volver a intentar",
  "diffView.actions.renderAnyway": "Renderizar de todos modos",
  "diffView.actions.expandAll": "Expandir todo",
  "diffView.actions.collapseAll": "Contraer todo",
  "diffView.actions.loadFullFiles": "Cargar archivos completos",
  "diffView.actions.disableFullFiles": "No cargar archivos completos",
  "diffView.actions.disableLineWrap": "Desactivar ajuste de línea",
  "diffView.actions.enableLineWrap": "Activar ajuste de línea",
  "diffView.actions.openFileInEditorAtChange": "Abrir este archivo en el editor en el cambio",
  "diffView.actions.openFileAtFirstChangedLine": "Abrir este archivo en la primera línea modificada",
  'diffView.actions.review': 'Revisar',
  'diffView.actions.reviewAria': 'Revisar cambios',
  'diffView.reviewDialog.title': 'Revisar cambios',
  'diffView.reviewDialog.description': 'Inicia una sesión de revisión separada para los cambios actuales.',
  'diffView.reviewDialog.generateHandoff': 'Generar handoff',
  'diffView.reviewDialog.autoReview': 'Ejecutar ciclo de revisión automática',
  'diffView.reviewDialog.info': 'Este flujo funciona mejor si se inicia desde la sesión donde se implementaron los cambios.',
  'diffView.reviewDialog.actions.cancel': 'Cancelar',
  'diffView.reviewDialog.actions.start': 'Revisar',
  'diffView.reviewDialog.actions.starting': 'Iniciando...',
  'diffView.reviewDialog.toast.noSessionDirectory': 'El directorio de la sesión no está disponible',
  'diffView.reviewDialog.toast.startFailed': 'No se pudo iniciar el flujo de revisión',
  'chat.dictation.start': 'Iniciar dictado',
  'chat.dictation.overlayAria': 'Dictado',
  'chat.dictation.downloadingModel': 'Descargando el modelo de voz...',
  'chat.dictation.downloadingModelProgress': 'Descargando el modelo de voz... {percent}%',
  'chat.dictation.listening': 'Escuchando...',
  'chat.dictation.processing': 'Transcribiendo...',
  'chat.dictation.failed': 'La transcripción falló',
  'chat.dictation.cancel': 'Descartar dictado',
  'chat.dictation.insert': 'Insertar transcripción',
  'chat.dictation.insertAndSend': 'Insertar y enviar',
  'chat.dictation.retry': 'Reintentar transcripción',
  'chat.dictation.discard': 'Descartar grabación',
  'chat.history.loadOlder': 'Cargar mensajes anteriores',
  'chat.autoReview.title': 'El ciclo de revisión de código está en curso',
  'chat.autoReview.status.waitingForReviewer': 'Esperando al revisor',
  'chat.autoReview.status.waitingForImplementer': 'Esperando al implementador',
  'chat.autoReview.reviewSessionLabel': 'Sesión de revisión',
  'chat.autoReview.actions.open': 'Abrir',
  'chat.autoReview.actions.stop': 'Detener',
  "diffView.hunk.label": "Fragmentos",
  "diffView.hunk.stage": "Preparar",
  "diffView.hunk.unstage": "Quitar",
  "diffView.hunk.discard": "Descartar",
  "diffView.hunk.stageTitle": "Preparar fragmento {index}",
  "diffView.hunk.unstageTitle": "Quitar fragmento {index} de la preparación",
  "diffView.hunk.discardTitle": "Descartar fragmento {index}",
  "diffView.hunk.unavailable": "Este fragmento ya no está disponible. Actualice el diff e inténtelo de nuevo.",
  "diffView.hunk.unsupported": "Preparar fragmentos individuales no es compatible en este entorno.",
  "rightSidebar.contextNotesTodo.plan.defaultTitle": "Plan",
  "rightSidebar.contextNotesTodo.empty.selectProject": "Selecciona un proyecto para añadir notas y tareas pendientes.",
  "rightSidebar.contextNotesTodo.notes.title": "Notas rápidas — {project}",
  "rightSidebar.contextNotesTodo.notes.placeholder": "Captura contexto, recordatorios o enlaces",
  "rightSidebar.contextNotesTodo.todo.title": "Tareas pendientes",
  "rightSidebar.contextNotesTodo.todo.itemsSingle": "{count} elemento",
  "rightSidebar.contextNotesTodo.todo.itemsPlural": "{count} elementos",
  "rightSidebar.contextNotesTodo.todo.clearCompleted": "Limpiar completadas",
  "rightSidebar.contextNotesTodo.todo.inputPlaceholder": "Añade una tarea pendiente",
  "rightSidebar.contextNotesTodo.todo.addAria": "Añadir tarea pendiente",
  "rightSidebar.contextNotesTodo.todo.empty": "No hay tareas pendientes aún. Añade una pequeña lista de verificación para este proyecto.",
  "rightSidebar.contextNotesTodo.todo.actions.markComplete": "Marcar \"{text}\" como completada",
  "rightSidebar.contextNotesTodo.todo.actions.collapse": "Colapsar tarea pendiente \"{text}\"",
  "rightSidebar.contextNotesTodo.todo.actions.expand": "Expandir tarea pendiente \"{text}\"",
  "rightSidebar.contextNotesTodo.todo.actions.delete": "Eliminar \"{text}\"",
  "rightSidebar.contextNotesTodo.todo.actions.send": "Enviar \"{text}\"",
  "rightSidebar.contextNotesTodo.todo.actions.reorder": "Reordenar \"{text}\"",
  "rightSidebar.contextNotesTodo.todo.resizeAria": "Redimensionar lista de tareas",
  "rightSidebar.contextNotesTodo.todo.sendMenu.currentSession": "Enviar a la sesión actual",
  "rightSidebar.contextNotesTodo.todo.sendMenu.newSession": "Enviar a una nueva sesión",
  "rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession": "Enviar a una nueva sesión de worktree",
  "rightSidebar.contextNotesTodo.plans.title": "Planes",
  "rightSidebar.contextNotesTodo.plans.filesSingle": "{count} archivo",
  "rightSidebar.contextNotesTodo.plans.filesPlural": "{count} archivos",
  "rightSidebar.contextNotesTodo.plans.importFromFile": "Importar plan desde archivo",
  "rightSidebar.contextNotesTodo.plans.empty": "Aún no hay plans guardados.",
  "rightSidebar.contextNotesTodo.plans.deletePlan": "Eliminar plan",
  "rightSidebar.contextNotesTodo.plans.deletePlanWithTitle": "Eliminar plan \"{title}\"",
  "rightSidebar.contextNotesTodo.sendDialog.title.newSession": "Enviar a una nueva sesión",
  "rightSidebar.contextNotesTodo.sendDialog.title.newWorktree": "Enviar a una nueva sesión de worktree",
  "rightSidebar.contextNotesTodo.sendDialog.variant.default": "Predeterminado",
  "rightSidebar.contextNotesTodo.sendDialog.actions.cancel": "Cancelar",
  "rightSidebar.contextNotesTodo.sendDialog.actions.send": "Enviar",
  "rightSidebar.contextNotesTodo.sendDialog.actions.sending": "Enviando",
  "rightSidebar.contextNotesTodo.toast.saveNotesFailed": "No se pudieron guardar las notas del proyecto",
  "rightSidebar.contextNotesTodo.toast.loadNotesFailed": "No se pudieron cargar las notas del proyecto",
  "rightSidebar.contextNotesTodo.toast.noActiveSession": "No hay ninguna sesión activa seleccionada",
  "rightSidebar.contextNotesTodo.toast.sentToCurrentSession": "Tarea enviada a la sesión actual",
  "rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo": "Las acciones de worktree solo están disponibles para repositorios Git",
  "rightSidebar.contextNotesTodo.toast.createSessionFailed": "No se pudo crear la sesión",
  "rightSidebar.contextNotesTodo.toast.sentToNewSession": "Tarea enviada a una nueva sesión",
  "rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession": "Tarea enviada a una nueva sesión de worktree",
  "rightSidebar.contextNotesTodo.toast.sendTodoFailed": "No se pudo enviar la tarea",
  "rightSidebar.contextNotesTodo.toast.deletePlanFailed": "No se pudo eliminar el plan",
  "rightSidebar.contextNotesTodo.toast.planFileEmpty": "El archivo del plan está vacío",
  "rightSidebar.contextNotesTodo.toast.importPlanFailed": "No se pudo importar el plan",
  "rightSidebar.contextNotesTodo.toast.planImported": "Plan importado",
  "rightSidebar.contextNotesTodo.toast.readPlanFileFailed": "No se pudo leer el archivo del plan",
  "inlineComment.range.lines": "Líneas {start}-{end}",
  "inlineComment.input.placeholder": "Añadir un comentario... (Cmd+Enter para guardar)",
  "inlineComment.input.placeholderShort": "Añadir un comentario...",
  "inlineComment.actions.cancel": "Cancelar",
  "inlineComment.actions.save": "Guardar",
  "inlineComment.actions.comment": "Comentar",
  "inlineComment.actions.showLess": "Mostrar menos",
  "inlineComment.actions.showMore": "Mostrar más",
  "inlineComment.actions.editComment": "Editar comentario",
  "inlineComment.actions.deleteComment": "Eliminar comentario",
  "inlineComment.toast.selectSessionToSave": "Selecciona una sesión para guardar el comentario",
  "header.github.connectedWithLogin": "GitHub: {login}",
  "header.github.connected": "Conectado a GitHub",
  "header.github.avatarWithLogin": "Avatar de {login}",
  "header.github.avatar": "Avatar de GitHub",
  "header.github.accountsTitle": "Cuentas de GitHub",
  "header.github.accountSource.oauth": "OAuth",
  "header.github.accountSource.cli": "CLI",
  "header.services.openWithCurrent": "Abrir instancia, uso y MCP (actual: {current})",
  "header.services.open": "Abrir servicios, uso y MCP",
  "header.services.tooltip.currentInstanceWithShortcuts": "Instancia actual: {current} ({toggle}; siguiente pestaña {nextTab})",
  "header.services.tooltip.servicesWithShortcuts": "Servicios ({toggle}; siguiente pestaña {nextTab})",
  "header.services.title": "Servicios",
  "header.services.viewAria": "Ver servicios",
  "header.services.closeAria": "Cerrar servicios",
  "header.services.rateLimits": "Límites de tasa",
  "header.services.refreshRateLimitsAria": "Actualizar límites de tasa",
  "header.services.noRateLimits": "No hay límites de tasa disponibles.",
  "header.services.noRateLimitsReported": "No se reportaron límites de tasa.",
  "header.services.remoteUpdate.title": "Actualización de instancia remota",
  "header.services.remoteUpdate.checking": "Buscando actualizaciones...",
  "header.services.remoteUpdate.upToDate": "Esta instancia está actualizada.",
  "header.services.remoteUpdate.available": "La versión {version} está disponible para esta instancia.",
  "header.services.remoteUpdate.error": "No se pudieron comprobar las actualizaciones de la instancia remota",
  "header.services.remoteUpdate.actions.open": "Actualizar",
  "header.services.used": "Usado",
  "header.services.remaining": "Restante",
  "header.services.modelFamily.other": "Otro",
  "header.services.shutdownDev": "Detener OpenChamber",
  "header.actions.openPlanAria": "Abrir plan",
  "header.actions.toggleChangesPanel": "Panel de cambios",
  "header.actions.toggleChangesPanelAria": "Alternar panel de cambios",
  "header.actions.planWithShortcut": "Plan ({shortcut})",
  "header.actions.terminalPanelWithShortcut": "Panel de terminal ({shortcut})",
  "header.actions.toggleTerminalPanelAria": "Mostrar u ocultar panel de terminal",
  "terminalView.stream.processExitedMessage": "\r\n[Proceso terminado{exitCodeSegment}{signalSegment}]\r\n",
  "terminalView.stream.processExitedWithCode": " con código {exitCode}",
  "terminalView.stream.processExitedWithSignal": " (señal {signal})",
  "terminalView.error.sessionEnded": "Sesión de terminal terminada",
  "terminalView.error.connectionFailed": "Error de conexión: {message}",
  "terminalView.error.startSessionFailed": "No se pudo iniciar la sesión de terminal",
  "terminalView.error.restartFailed": "No se pudo reiniciar la terminal",
  "terminalView.error.sendInputFailed": "No se pudo enviar entrada",
  "terminalView.empty.noWorkingDirectory": "No hay directorio de trabajo disponible para la terminal.",
  "terminalView.empty.selectSession": "Selecciona una sesión para abrir la terminal.",
  "terminalView.empty.noWorkingDirectoryForSession": "No hay directorio de trabajo disponible para esta sesión.",
  "terminalView.actions.retry": "Volver a intentar",
  "terminalView.actions.hardRestart": "Reinicio forzado",
  "terminalView.actions.hardRestartTitle": "Forzar el cierre y crear una sesión nueva",
  "terminalView.quickKeys.escape": "Esc",
  "terminalView.quickKeys.tabAria": "Tab",
  "terminalView.quickKeys.controlLabel": "Ctrl",
  "terminalView.quickKeys.controlModifierAria": "Modificador de control",
  "terminalView.quickKeys.commandModifierAria": "Modificador de comando",
  "terminalView.quickKeys.arrowUpAria": "Flecha arriba",
  "terminalView.quickKeys.arrowLeftAria": "Flecha izquierda",
  "terminalView.quickKeys.arrowDownAria": "Flecha abajo",
  "terminalView.quickKeys.arrowRightAria": "Flecha derecha",
  "terminalView.quickKeys.enterAria": "Enter",
  "terminalView.tabs.closeTabTitle": "Cerrar pestaña",
  "terminalView.tabs.newTabTitle": "Nueva pestaña",
  "terminalView.bottomDock.resizeAria": "Ajustar tamaño del panel de terminal",
  "terminalView.bottomDock.restoreTitle": "Restaurar altura del panel de terminal",
  "terminalView.bottomDock.restoreAria": "Restaurar altura del panel de terminal",
  "terminalView.bottomDock.expandTitle": "Expandir panel de terminal",
  "terminalView.bottomDock.expandAria": "Expandir panel de terminal",
  "terminalView.bottomDock.closeTitle": "Cerrar panel de terminal",
  "terminalView.bottomDock.closeAria": "Cerrar panel de terminal",
  "terminalView.viewport.inputAria": "Entrada de terminal",
  "directoryExplorerDialog.title": "Añadir directorio de proyecto",
  "directoryExplorerDialog.description": "Elige una carpeta para añadir como proyecto.",
  "directoryExplorerDialog.toggle.showHidden": "Mostrar ocultos",
  "directoryExplorerDialog.pathInput.placeholder": "Escribe la ruta o selecciona desde el árbol...",
  "directoryExplorerDialog.actions.openingFinder": "Abriendo...",
  "directoryExplorerDialog.actions.openInFinder": "Abrir en Finder",
  "directoryExplorerDialog.actions.adding": "Añadiendo...",
  "directoryExplorerDialog.actions.addProject": "Añadir proyecto",
  "directoryExplorerDialog.actions.addLocalProject": "Añadir proyecto local",
  "directoryExplorerDialog.actions.cloneRepository": "Clonar repositorio",
  "directoryExplorerDialog.actions.cloneAndAdd": "Clonar y añadir",
  "directoryExplorerDialog.actions.cloning": "Clonando...",
  "directoryExplorerDialog.actions.createAndAdd": "Crear y añadir",
  "directoryExplorerDialog.actions.alreadyAdded": "Ya añadido",
  "directoryExplorerDialog.clone.remoteUrlPlaceholder": "URL del repositorio (HTTPS o SSH)",
  "directoryExplorerDialog.browse.directories": "Directorios",
  "directoryExplorerDialog.browse.loading": "Cargando directorios...",
  "directoryExplorerDialog.browse.empty": "No hay directorios coincidentes.",
  "directoryExplorerDialog.browse.parentDirectory": "Directorio padre",
  "directoryExplorerDialog.browse.addedBadge": "Añadido",
  "directoryExplorerDialog.browse.quickAdd": "Añadir",
  "directoryExplorerDialog.footer.navigate": "Navegar",
  "directoryExplorerDialog.footer.select": "Seleccionar",
  "directoryExplorerDialog.footer.add": "Añadir",
  "directoryExplorerDialog.shortcut.enter": "Enter",
  "directoryExplorerDialog.toast.unableToAccessDirectory": "No se puede acceder al directorio",
  "directoryExplorerDialog.toast.desktopDeniedAccess": "El escritorio denegó el acceso al directorio.",
  "directoryExplorerDialog.toast.failedToOpenDirectory": "No se pudo abrir el directorio",
  "directoryExplorerDialog.toast.desktopCouldNotGrantAccess": "El escritorio no pudo otorgar acceso al archivo.",
  "directoryExplorerDialog.toast.failedToAddProject": "No se pudo añadir el proyecto",
  "directoryExplorerDialog.toast.cloneUrlRequired": "Introduce una URL de repositorio antes de clonar.",
  "directoryExplorerDialog.toast.selectValidDirectoryPath": "Por favor selecciona una ruta de directorio válida.",
  "directoryExplorerDialog.toast.failedToSelectDirectory": "No se pudo seleccionar el directorio",
  "directoryExplorerDialog.toast.unknownError": "Ocurrió un error desconocido.",
  "directoryTree.actions.createNewDirectory": "Crear nueva carpeta",
  "directoryTree.actions.pinDirectory": "Fijar carpeta",
  "directoryTree.actions.unpinDirectory": "Desfijar carpeta",
  "directoryTree.actions.createDirectory": "Crear carpeta",
  "directoryTree.actions.cancel": "Cancelar",
  "directoryTree.actions.selectWorkingDirectoryAria": "Seleccionar carpeta de trabajo",
  "directoryTree.state.locatingHomeDirectory": "Buscando la carpeta de inicio...",
  "directoryTree.state.loading": "Cargando...",
  "directoryTree.state.noDirectoriesFound": "No se encontraron directorios",
  "directoryTree.section.pinned": "Fijados",
  "directoryTree.section.browse": "Explorar",
  "aboutDialog.versionLabel": "Versión {version}",
  "aboutDialog.openChamberVersionLabel": "Versión de OpenChamber {version}",
  "aboutDialog.openCodeVersionLabel": "Versión de OpenCode {version}",
  "aboutDialog.actions.copyDiagnostics": "Copiar diagnósticos",
  "aboutDialog.actions.preparingDiagnostics": "Preparando diagnósticos...",
  "aboutDialog.actions.diagnosticsCopied": "Diagnósticos copiados",
  "aboutDialog.diagnosticsDescription": "Incluye el estado de OpenChamber, el estado de OpenCode, directorios y proyectos.",
  "aboutDialog.footerNote": "Hecho con amor para la comunidad",
  "aboutDialog.toast.copyFailed": "No se pudo copiar",
  "aboutDialog.toast.diagnosticsNotReady": "Los diagnósticos aún no están listos. Espera un segundo y vuelve a intentarlo.",
  "aboutDialog.toast.diagnosticsCopied": "Diagnósticos copiados",
  "helpDialog.title": "Atajos de teclado",
  "helpDialog.description": "Usa estos atajos de teclado para navegar por OpenChamber de manera eficiente",
  "helpDialog.section.navigationCommands": "Navegación y comandos",
  "helpDialog.section.sessionManagement": "Gestión de sesiones",
  "helpDialog.section.panels": "Paneles",
  "helpDialog.section.interface": "Interfaz",
  "helpDialog.item.openCommandPalette": "Abrir paleta de comandos",
  "helpDialog.item.showKeyboardShortcuts": "Mostrar atajos de teclado (este diálogo)",
  "helpDialog.item.toggleSessionSidebar": "Mostrar u ocultar barra lateral de sesión",
  "helpDialog.item.cycleAgent": "Cambiar agente (entrada de chat)",
  "helpDialog.item.openModelSelector": "Abrir selector de modelos",
  "helpDialog.item.navigateModels": "Navegar modelos (en selector)",
  "helpDialog.item.adjustThinkingMode": "Ajustar modo de pensamiento (en selector, cuando esté disponible)",
  "helpDialog.item.cycleThinkingVariant": "Cambiar variante de pensamiento (atajo global)",
  "helpDialog.item.newWindow": "Nueva ventana (solo escritorio)",
  "helpDialog.item.createNewSession": "Crear nueva sesión",
  "helpDialog.item.createNewWorktreeDraft": "Crear nuevo borrador de worktree",
  "helpDialog.item.focusChatInput": "Enfocar entrada de chat",
  "helpDialog.item.abortActiveRun": "Detener ejecución activa (doble presionar)",
  "helpDialog.item.toggleRightSidebar": "Mostrar u ocultar barra lateral derecha",
  "helpDialog.item.openRightSidebarGitTab": "Abrir pestaña de Git en barra lateral derecha",
  "helpDialog.item.openRightSidebarFilesTab": "Abrir pestaña de archivos en barra lateral derecha",
  "helpDialog.item.cycleRightSidebarTab": "Cambiar pestaña de la barra lateral derecha",
  "helpDialog.item.toggleTerminalDock": "Mostrar u ocultar dock de terminal",
  "helpDialog.item.toggleTerminalExpanded": "Expandir o contraer terminal",
  "helpDialog.item.togglePlanContextPanel": "Alternar panel de contexto del plan",
  "helpDialog.item.cycleTheme": "Cambiar tema (Claro → Oscuro → Sistema)",
  "helpDialog.item.switchProject": "Cambiar proyecto",
  "helpDialog.item.toggleServicesMenu": "Mostrar u ocultar menú de servicios",
  "helpDialog.item.cycleServicesTab": "Cambiar pestaña de servicios",
  "helpDialog.item.openSettings": "Abrir configuración",
  "helpDialog.keyCombiner.or": "o",
  "helpDialog.proTips.title": "Consejos:",
  "helpDialog.proTips.commandPalette": "Usa la paleta de comandos ({shortcut}) para acceder rápidamente a todas las acciones",
  "helpDialog.proTips.recentSessions": "Las cinco sesiones más recientes aparecen en la paleta de comandos",
  "helpDialog.proTips.themeCycling": "El ciclo de tema recuerda tu preferencia entre sesiones",
  "header.actions.rightSidebarWithShortcut": "Barra lateral derecha ({shortcut})",
  "header.actions.toggleRightSidebarAria": "Mostrar u ocultar barra lateral derecha",
  "header.actions.openAppMenu": "Menú de OpenChamber",
  "header.actions.openAppMenuAria": "Abrir menú de OpenChamber",
  "header.actions.openSessionsWithShortcut": "Abrir sesiones ({shortcut})",
  "header.actions.openSessionsAria": "Abrir sesiones",
  "header.actions.closeSessionsAria": "Cerrar sesiones",
  "header.actions.newSessionAria": "Nueva sesión",
  "header.actions.newSessionWithShortcut": "Nueva sesión ({shortcut})",
  "header.actions.backAria": "Atrás",
  "header.navigation.mainAria": "Navegación principal",
  "header.sessions.title": "Sesiones",
  "header.changes.availableAria": "Cambios disponibles",
  "session.githubIssuePicker.error.noActiveProject": "No hay ningún proyecto activo",
  "session.githubIssuePicker.error.runtimeUnavailable": "API de runtime de GitHub no disponible",
  "session.githubIssuePicker.error.notConnected": "GitHub no está conectado",
  "session.githubIssuePicker.error.repoNotResolvable": "No se pudo resolver el repositorio",
  "session.githubIssuePicker.error.repoMustBeGithub": "El remoto origin debe ser una URL de GitHub",
  "session.githubIssuePicker.error.issueNotFound": "No se encontró el issue",
  "session.githubIssuePicker.error.noModelSelected": "No hay ningún modelo seleccionado",
  "session.githubIssuePicker.toast.loadMoreFailed": "No se pudo cargar más issues",
  "session.githubIssuePicker.toast.loadIssueDetailsFailed": "No se pudieron cargar los detalles del issue",
  "session.githubIssuePicker.toast.sendContextFailed": "No se pudo enviar el contexto del issue",
  "session.githubIssuePicker.toast.sessionCreated": "Sesión creada desde el issue",
  "session.githubIssuePicker.toast.startSessionFailed": "No se pudo iniciar la sesión",
  "session.githubIssuePicker.title.select": "Vincular issue de GitHub",
  "session.githubIssuePicker.title.createSession": "Nueva sesión desde issue de GitHub",
  "session.githubIssuePicker.description.select": "Selecciona un issue para vincularlo a esta sesión.",
  "session.githubIssuePicker.description.createSession": "Inicia una nueva sesión con contexto oculto del issue (título/cuerpo/etiquetas/comentarios).",
  "session.githubIssuePicker.searchPlaceholder": "Buscar usando la sintaxis de búsqueda de código de GitHub",
  "session.githubIssuePicker.empty.noActiveProject": "No hay ningún proyecto activo seleccionado.",
  "session.githubIssuePicker.empty.runtimeUnavailable": "API de runtime de GitHub no disponible.",
  "session.githubIssuePicker.empty.notConnected": "GitHub no está conectado. Conecta tu cuenta de GitHub en configuración.",
  "session.githubIssuePicker.empty.noIssuesFound": "No se encontraron issues",
  "session.githubIssuePicker.empty.noOpenIssuesFound": "No se encontraron issues abiertos",
  "session.githubIssuePicker.loading.issues": "Cargando issues...",
  "session.githubIssuePicker.loading.more": "Cargando...",
  "session.githubIssuePicker.actions.openSettings": "Abrir configuración",
  "session.githubIssuePicker.actions.useIssue": "Usar issue #{number}",
  "session.githubIssuePicker.actions.openInGitHubAria": "Abrir en GitHub",
  "session.githubIssuePicker.actions.loadMore": "Cargar más",
  "session.githubIssuePicker.actions.sectionTitle": "Acciones",
  "session.githubIssuePicker.actions.toggleWorktreeAria": "Activar worktree",
  "session.githubIssuePicker.actions.createInWorktree": "Crear en worktree",
  "session.githubIssuePicker.actions.openRepo": "Abrir repositorio",
  "session.githubIssuePicker.actions.refresh": "Actualizar",
  "session.githubPrPicker.error.noActiveProject": "No hay ningún proyecto activo",
  "session.githubPrPicker.error.runtimeUnavailable": "API de runtime de GitHub no disponible",
  "session.githubPrPicker.error.notConnected": "GitHub no está conectado",
  "session.githubPrPicker.error.prNotFound": "No se encontró la PR",
  "session.githubPrPicker.error.repoNotResolvable": "No se pudo resolver el repositorio",
  "session.githubPrPicker.error.repoMustBeGithub": "El remoto origin debe ser una URL de GitHub",
  "session.githubPrPicker.toast.loadMoreFailed": "No se pudieron cargar más PR",
  "session.githubPrPicker.toast.loadDetailsFailed": "No se pudieron cargar los detalles de la PR",
  "session.githubPrPicker.title": "Vincular PR de GitHub",
  "session.githubPrPicker.description": "Selecciona una PR para adjuntar contexto de revisión a este mensaje.",
  "session.githubPrPicker.searchPlaceholder": "Buscar usando la sintaxis de búsqueda de código de GitHub",
  "session.githubPrPicker.includeDiffAria": "Incluir diff de la PR en el contexto adjunto",
  "session.githubPrPicker.includeDiff": "Incluir diff de la PR",
  "session.githubPrPicker.empty.noActiveProject": "No hay ningún proyecto activo seleccionado.",
  "session.githubPrPicker.empty.runtimeUnavailable": "API de runtime de GitHub no disponible.",
  "session.githubPrPicker.empty.notConnected": "GitHub no está conectado. Conecta tu cuenta de GitHub en configuración.",
  "session.githubPrPicker.empty.noPullRequestsFound": "No se encontraron PR",
  "session.githubPrPicker.empty.noOpenPullRequestsFound": "No se encontraron PR abiertas",
  "session.githubPrPicker.loading.pullRequests": "Cargando PR...",
  "session.githubPrPicker.loading.more": "Cargando...",
  "session.githubPrPicker.actions.openSettings": "Abrir configuración",
  "session.githubPrPicker.actions.usePullRequest": "Usar PR #{number}",
  "session.githubPrPicker.actions.openInGitHubAria": "Abrir en GitHub",
  "session.githubPrPicker.actions.loadMore": "Cargar más",
  "session.newWorktree.title": "Nuevo worktree",
  "session.newWorktree.mode.newBranch": "Nueva rama",
  "session.newWorktree.mode.existingBranch": "Rama existente",
  "session.newWorktree.selectBranch": "Seleccionar rama",
  "session.newWorktree.chooseBranch": "Elige una rama...",
  "session.newWorktree.fetchBranches": "Obtener ramas",
  "session.newWorktree.searchBranches": "Buscar ramas...",
  "session.newWorktree.loadingBranches": "Cargando ramas...",
  "session.newWorktree.noBranchesFound": "No se encontraron ramas",
  "session.newWorktree.matchingBranches": "Ramas coincidentes",
  "session.newWorktree.noMatchingBranches": "No hay ramas coincidentes",
  "session.newWorktree.localBranches": "Ramas locales",
  "session.newWorktree.remoteBranches": "Ramas remotas",
  "session.newWorktree.otherLocalBranches": "Otras ramas locales",
  "session.newWorktree.otherRemoteBranches": "Otras ramas remotas",
  "session.newWorktree.branchName": "Nombre de la rama",
  "session.newWorktree.branchNamePlaceholder": "feature/my-awesome-feature",
  "session.newWorktree.actions.change": "Cambiar",
  "session.newWorktree.actions.startFromGitHubIssuePr": "Iniciar desde Issue/PR de GitHub",
  "session.newWorktree.usingPrBranch": "Usando rama de la PR: {branch}",
  "session.newWorktree.fromIssue": "De issue #{number}: {title}",
  "session.newWorktree.worktreeDirectory": "Directorio del worktree",
  "session.newWorktree.worktreeDirectoryPlaceholder": "my-worktree-directory",
  "session.newWorktree.resetToMatchBranchName": "Restablecer para coincidir con el nombre de la rama",
  "session.newWorktree.sourceBranch": "Rama de origen",
  "session.newWorktree.selectSourceBranch": "Seleccionar rama de origen",
  "session.newWorktree.selectSourceBranchPlaceholder": "Seleccionar rama de origen...",
  "session.newWorktree.newBranchFromSource": "Se creará una nueva rama desde {source}",
  "session.newWorktree.issueNumber": "Issue #{number}",
  "session.newWorktree.prNumber": "PR #{number}",
  "session.newWorktree.includeDiffBadge": "+diff",
  "session.newWorktree.newSessionTitle": "Nueva sesión",
  "session.newWorktree.fromSource": "desde {source}",
  "session.newWorktree.actions.cancel": "Cancelar",
  "session.newWorktree.actions.creating": "Creando...",
  "session.newWorktree.actions.createWorktree": "Crear worktree",
  "session.newWorktree.actions.reset": "Restablecer",
  "session.newWorktree.error.noModelSelected": "No hay ningún modelo seleccionado",
  "session.newWorktree.error.noActiveProject": "No hay ningún proyecto activo",
  "session.newWorktree.error.branchNameRequired": "Se requiere el nombre de la rama",
  "session.newWorktree.error.worktreeDirectoryRequired": "Se requiere el directorio del worktree",
  "session.newWorktree.error.sendGitHubContextFailed": "No se pudo enviar el contexto de GitHub",
  "session.newWorktree.error.createWorktreeFailed": "No se pudo crear el worktree",
  "session.newWorktree.toast.sessionFromIssue": "Sesión creada desde issue",
  "session.newWorktree.toast.sessionFromPr": "Sesión creada desde PR",
  "session.newWorktree.toast.worktreeCreated": "Worktree creado",
  "session.newWorktree.toast.worktreeCreatedDescription": "{target} - configurando en segundo plano",
  "session.githubIntegration.title": "Seleccionar desde GitHub",
  "session.githubIntegration.tabs.issues": "Issues",
  "session.githubIntegration.tabs.pullRequests": "PR",
  "session.githubIntegration.connect.title": "Conectar a GitHub",
  "session.githubIntegration.connect.description": "Vincula issues o PR para rellenar automáticamente los detalles del worktree",
  "session.githubIntegration.connect.action": "Conectar a GitHub",
  "session.githubIntegration.search.issuesPlaceholder": "Buscar usando la sintaxis de búsqueda de código de GitHub",
  "session.githubIntegration.search.prsPlaceholder": "Buscar usando la sintaxis de búsqueda de código de GitHub",
  "session.githubIntegration.empty.noIssuesFound": "No se encontraron issues",
  "session.githubIntegration.empty.noPullRequestsFound": "No se encontraron PR",
  "session.githubIntegration.actions.loadMore": "Cargar más",
  "session.githubIntegration.actions.cancel": "Cancelar",
  "session.githubIntegration.actions.select": "Seleccionar",
  "session.githubIntegration.selected.issueNumber": "Issue #{number}",
  "session.githubIntegration.selected.prNumber": "PR #{number}",
  "session.githubIntegration.includeDiffAria": "Incluir diff del PR en el contexto de la sesión",
  "session.githubIntegration.includeDiff": "Incluir diff del PR",
  "session.githubIntegration.error.notConnected": "GitHub no está conectado",
  "session.githubIntegration.error.loadDataFailed": "No se pudieron cargar los datos",
  "session.githubIntegration.validation.branchAlreadyCheckedOut": "La rama ya está en uso en un worktree",
  "session.githubIntegration.validation.branchAlreadyExists": "La rama ya existe localmente",
  "session.githubIntegration.validation.failed": "No se pudo validar",
  "chat.fileAttachment.toast.attachFailed": "No se pudo adjuntar el archivo",
  "chat.fileAttachment.toast.someFilesSkipped": "Algunos archivos se omitieron:\n{summary}",
  "chat.fileAttachment.toast.vscodePickFailed": "No se pudieron seleccionar archivos en VS Code",
  "chat.fileAttachment.fileFallback": "archivo",
  "chat.fileAttachment.skippedFallback": "omitido",
  "chat.fileAttachment.actions.attachAria": "Adjuntar archivos",
  "chat.fileAttachment.actions.attach": "Adjuntar archivos",
  "chat.fileAttachment.actions.removeNamed": "Eliminar {name}",
  "chat.fileAttachment.actions.removeImage": "Eliminar imagen",
  "chat.fileAttachment.activeEditor.addFile": "Agregar archivo:{name} al contexto",
  "chat.fileAttachment.activeEditor.pinSelection": "Anclar selección al contexto",
  "chat.fileAttachment.activeEditor.remove": "Quitar del contexto",
  "chat.fileAttachment.openInDiagram": "Abrir en vista de diagrama",
  "chat.pendingChanges.fileCountSingle": "{count} archivo",
  "chat.pendingChanges.fileCountPlural": "{count} archivos",
  "chat.pendingChanges.changedInWorkspace": "modificado en el espacio de trabajo",
  "chat.changedFiles.title": "Archivos modificados",
  "chat.changedFiles.actions.openFileTitle": "Abrir {path}",
  "chat.emptyState.opencodeUnreachable": "OpenCode no es accesible",
  "chat.emptyState.startNewChat": "Iniciar una nueva conversación",
  "chat.emptyState.draftTitle": "What are we working on?",
  "chat.emptyState.draftTitleWithProject": "What are we working on in {project}?",
  "chat.draftPresets.explore.label": "Explore the codebase",
  "chat.draftPresets.catchup.label": "Catch me up",
  "chat.draftPresets.weigh.label": "Weigh my options",
  "chat.draftPresets.plan.label": "Start feature planning",
  "chat.draftPresets.debug.label": "Debug an issue",
  "chat.draftPresets.review.label": "Review my changes",
  "chat.draftStarters.add": "Add a starter",
  "chat.draftStarters.searchPlaceholder": "Search commands and skills…",
  "chat.draftStarters.empty": "Nothing to add",
  "chat.draftStarters.sectionBuiltIn": "Built-in",
  "chat.draftStarters.sectionCommands": "Commands",
  "chat.draftStarters.sectionSkills": "Skills",
  "chat.draftStarters.remove": "Remove",
  "chat.scrollToBottom.aria": "Ir al final",
  "chat.timeline.relative.justNow": "ahora mismo",
  "chat.timeline.relative.minutesAgo": "hace {count}m",
  "chat.timeline.relative.hoursAgo": "hace {count}h",
  "chat.timeline.relative.daysAgo": "hace {count}d",
  "chat.timeline.title": "Línea de tiempo de la conversación",
  "chat.timeline.description": "Navega hasta cualquier punto de la conversación o crea una nueva sesión",
  "chat.timeline.searchPlaceholder": "Buscar mensajes...",
  "chat.timeline.empty.search": "No se encontraron mensajes",
  "chat.timeline.empty.session": "No hay mensajes en esta sesión aún",
  "chat.timeline.noTextContent": "[No hay contenido de texto]",
  "chat.timeline.actions.title": "Acciones",
  "chat.timeline.actions.revertFromHere": "Revertir desde aquí",
  "chat.timeline.actions.forkFromHere": "Crear una rama desde aquí",
  "chat.timeline.actions.previousTurn": "Turno anterior",
  "chat.timeline.actions.latest": "Último",
  "chat.timeline.help.clickMessage": "Haz clic en un mensaje para desplazarse hasta él en la conversación",
  "chat.timeline.help.undoToPoint": "Deshacer hasta este punto (el texto del mensaje se llenará en la entrada)",
  "chat.timeline.help.createSessionFromHere": "Crear una nueva sesión desde aquí",
  "chat.statusRow.todo.status.inProgress": "En progreso",
  "chat.statusRow.todo.status.pending": "Pendiente",
  "chat.statusRow.todo.status.completed": "Completado",
  "chat.statusRow.todo.status.cancelled": "Cancelado",
  "chat.statusRow.todo.priority.high": "Prioridad alta",
  "chat.statusRow.todo.priority.medium": "Prioridad media",
  "chat.statusRow.todo.priority.low": "Prioridad baja",
  "chat.statusRow.actions.stopGeneratingAria": "Detener la generación",
  "chat.statusRow.tasksTitle": "Tareas",
  "chat.statusRow.summary.activeLeft": "{active} activas · {left} restantes",
  "chat.statusRow.aborted": "Interrumpido",
  "chat.revertIndicator.redo": "Rehacer",
  "chat.revertIndicator.redoAria": "Rehacer — restaurar mensajes revertidos",
  "chat.revertPopover.title": "Revertidos",
  "chat.revertPopover.noTextContent": "Sin contenido de texto",
  "chat.revertPopover.forkFromHere": "Bifurcar desde aquí",
  "chat.revertPopover.forkFromMessage": "Bifurcar desde este mensaje",
  "chat.revertPopover.restoreAll": "Restaurar todo",
  "chat.revertPopover.restore": "Restaurar",
  "chat.revertPopover.revert": "Revertir",
  "chat.revertPopover.fork": "Bifurcar",
  "chat.revert.toast.undo": "Revertido a {preview}",
  "chat.revert.toast.redo": "Rehecho",
  "chat.revert.toast.restored": "Todos los mensajes restaurados",
  "chat.errorBoundary.title": "Error en la conversación",
  "chat.errorBoundary.description": "La interfaz de la conversación encontró un error. Esto podría deberse a un problema de red temporal o a datos de mensaje corruptos.",
  "chat.errorBoundary.sessionLabel": "Sesión",
  "chat.errorBoundary.detailsSummary": "Detalles del error",
  "chat.errorBoundary.resetAction": "Restablecer la conversación",
  "chat.errorBoundary.persistentHint": "Si el problema persiste, intenta actualizar la página.",
  "chat.autocomplete.tabs.commands": "Comandos",
  "chat.autocomplete.tabs.agents": "Agentes",
  "chat.autocomplete.tabs.files": "Archivos",
  "chat.autocomplete.keyboardHint": "↑↓ navegar • Enter seleccionar • Esc cerrar",
  "chat.commandAutocomplete.command.initDescription": "Crear/actualizar el archivo AGENTS.md",
  "chat.commandAutocomplete.command.undoDescription": "Deshacer el último mensaje",
  "chat.commandAutocomplete.command.redoDescription": "Rehacer mensajes previamente deshechos",
  "chat.commandAutocomplete.command.timelineDescription": "Abrir la línea de tiempo de la conversación",
  "chat.commandAutocomplete.command.compactDescription": "Comprimir el historial de la sesión usando IA para reducir el tamaño del contexto",
  "chat.commandAutocomplete.command.summaryDescription": "Resumen no destructivo de la sesión. Pista opcional del tema después del comando.",
  "chat.commandAutocomplete.command.workspaceReviewDescription": "Revisa el diff del espacio de trabajo en intención, corrección y adecuación, con hallazgos por severidad.",
  "chat.commandAutocomplete.command.handoffReviewDescription": "Crea o reutiliza una sesión de revisión separada a partir de un handoff generado.",
  "chat.commandAutocomplete.command.featurePlanDescription": "Inicia una sesión de planificación guiada e interactiva para una nueva función.",
  "chat.commandAutocomplete.command.catchUpDescription": "Recupera el contexto: qué estabas haciendo y por dónde continuar.",
  "chat.commandAutocomplete.command.debugDescription": "Investigación guiada de la causa raíz de un error antes de proponer una solución.",
  "chat.commandAutocomplete.command.weighDescription": "Compara 2-3 enfoques con sus ventajas y desventajas y una recomendación antes de decidir.",
  "chat.commandAutocomplete.command.exploreDescription": "Oriéntate en este código: un recorrido general de la arquitectura y las partes principales.",
  "chat.commandAutocomplete.badge.skill": "habilidad",
  "chat.commandAutocomplete.badge.command": "comando",
  "chat.commandAutocomplete.badge.system": "sistema",
  "chat.commandAutocomplete.empty": "No se encontraron comandos",
  "chat.agentMentionAutocomplete.badge.system": "sistema",
  "chat.agentMentionAutocomplete.empty": "No se encontraron agentes",
  "chat.fileMentionAutocomplete.searchMoreAgents": "Escribe para buscar más agentes",
  "chat.fileMentionAutocomplete.empty": "No se encontraron coincidencias",
  "chat.queuedMessage.attachments": "+{count} archivo(s)",
  "chat.queuedMessage.empty": "(vacío)",
  "chat.queuedMessage.title": "Queued messages",
  "chat.queuedMessage.edit": "edit",
  "chat.queuedMessage.send": "send",
  "chat.queuedMessage.removeAria": "Eliminar de la cola",
  "chat.queuedMessage.reorderAria": "Arrastra para reordenar",
  "chat.container.returnToParent.aria": "Volver a la sesión principal",
  "chat.container.returnToParent.titleNamed": "Volver a: {title}",
  "chat.container.returnToParent.title": "Volver a la sesión principal",
  "chat.container.returnToParent.label": "Principal",
  "chat.container.readOnlySubagentPromptBanner": "Las sesiones de subagentes no pueden recibir prompts.",
  "chat.unifiedControls.title": "Controles",
  "chat.unifiedControls.model.title": "Modelo",
  "chat.unifiedControls.model.noRecent": "No hay modelos recientes",
  "chat.unifiedControls.model.moreAria": "Más modelos",
  "chat.unifiedControls.effort.title": "Esfuerzo",
  "chat.unifiedControls.effort.moreAria": "Más opciones de esfuerzo",
  "chat.questionCard.summaryTab": "Resumen",
  "chat.questionCard.noAnswer": "(no hay respuesta)",
  "chat.questionCard.inputNeeded": "Entrada necesaria",
  "chat.questionCard.fromSubagent": "De un subagente",
  "chat.questionCard.questionFallback": "Pregunta {index}",
  "chat.questionCard.selectMultiple": "Seleccionar múltiples",
  "chat.questionCard.recommended": "recomendado",
  "chat.questionCard.other": "Otro…",
  "chat.questionCard.yourAnswer": "Tu respuesta",
  "chat.questionCard.submit": "Enviar",
  "chat.questionCard.next": "Siguiente",
  "chat.questionCard.dismiss": "Descartar",
  "chat.questionCard.copyMarkdown": "Copiar como Markdown",
  "chat.questionCard.copyJson": "Copiar como JSON",
  "chat.questionCard.copiedMarkdown": "Pregunta copiada como Markdown",
  "chat.questionCard.copiedJson": "Pregunta copiada como JSON",
  "chat.questionCard.copyFailed": "No se pudo copiar la pregunta",
  "chat.questionCard.submitFailed": "No se pudo enviar la respuesta",
  "chat.questionCard.dismissFailed": "No se pudo descartar la pregunta",
  "chat.questionCard.noLongerPending": "Esta pregunta ya no espera una respuesta.",
  "chat.questionCard.tryAgain": "Inténtalo de nuevo en un momento.",
  "chat.textSelection.toast.noProject": "No se encontró proyecto para esta sesión",
  "chat.textSelection.toast.addToNotesFailed": "No se pudo añadir a las notas",
  "chat.textSelection.toast.addToNotesSuccess": "Texto seleccionado añadido a notas",
  "chat.textSelection.toast.addToNotesSummaryFailed": "No se pudo resumir la selección; se añadió el texto seleccionado a las notas",
  "chat.textSelection.actions.addToChat": "Añadir al chat",
  "chat.textSelection.actions.newSession": "Nueva sesión",
  "chat.textSelection.actions.copy": "Copiar",
  "chat.textSelection.actions.addToNotes": "Añadir a las notas",
  "chat.textSelection.title.addToCurrentChat": "Añadir al chat actual",
  "chat.textSelection.title.newSessionWithSelection": "Crear nueva sesión con selección",
  "chat.textSelection.title.saveInsightToNotes": "Guardar texto seleccionado en notas",
  "chat.messageBody.actions.revertAria": "Volver a este mensaje",
  "chat.messageBody.actions.revert": "Volver desde aquí",
  "chat.messageBody.actions.forkAria": "Bifurcar desde este mensaje",
  "chat.messageBody.actions.fork": "Bifurcar desde aquí",
  "chat.messageBody.actions.copyMessageAria": "Copiar texto del mensaje",
  "chat.messageBody.actions.copyMessage": "Copiar mensaje",
  "chat.messageBody.actions.openPreviewAria": "Abrir vista previa",
  "chat.messageBody.actions.openPreview": "Abrir vista previa",
  "chat.messageBody.actions.copyAnswer": "Copiar respuesta",
  "chat.messageBody.actions.savingImage": "Guardando imagen...",
  "chat.messageBody.actions.saveAsImage": "Guardar como imagen",
  "chat.messageBody.actions.saveAsPlan": "Guardar como plan",
  "chat.messageBody.actions.startNewSession": "Iniciar nueva sesión desde esta respuesta",
  "chat.messageBody.actions.startNewMultiRun": "Iniciar nuevo multi-run desde esta respuesta",
  "chat.messageBody.forkDialog.instructions.label": "Instrucciones",
  "chat.messageBody.forkDialog.instructions.placeholder": "Añade instrucciones para la nueva sesión…",
  "chat.messageBody.forkDialog.createWorktree": "Crear worktree",
  "chat.generatedResult.actions.copy": "Copiar",
  "chat.generatedResult.actions.copied": "Copiado",
  "chat.generatedResult.commit.title": "Mensaje de commit generado",
  "chat.generatedResult.commit.highlights": "Puntos clave",
  "chat.generatedResult.pullRequest.title": "Pull request generado",
  "chat.generatedResult.pullRequest.titleLabel": "Título",
  "chat.generatedResult.pullRequest.bodyLabel": "Descripción",
  "chat.messageBody.tts.stopSpeaking": "Dejar de hablar",
  "chat.messageBody.tts.readAloud": "Leer en voz alta",
  "chat.messageBody.tts.readAloudWithProvider": "Leer en voz alta ({provider} voz)",
  "planView.tts.readAloud": "Leer plan en voz alta",
  "planView.tts.stopSpeaking": "Detener lectura",
  "filesView.tts.readAloud": "Leer archivo en voz alta",
  "filesView.tts.stopSpeaking": "Detener lectura",
  "chat.messageBody.toast.noProject": "No se encontró proyecto para esta sesión",
  "chat.messageBody.toast.savePlanFailed": "No se pudo guardar el plan",
  "chat.messageBody.toast.planSaved": "Plan guardado",
  "chat.messageBody.toast.imageSaved": "Imagen guardada",
  "chat.messageBody.toast.generateImageFailed": "No se pudo generar la imagen",
  "chat.chatInput.actions.commands": "Comandos",
  "chat.chatInput.actions.attachFiles": "Adjuntar archivos",
  "chat.chatInput.actions.addAttachment": "Añadir adjunto",
  "chat.chatInput.actions.linkGithubIssue": "Vincular issue de GitHub",
  "chat.chatInput.actions.linkGithubPr": "Vincular PR de GitHub",
  "chat.chatInput.actions.modelAgentSettings": "Configuración del modelo y agente",
  "chat.chatInput.actions.sendMessageAria": "Enviar mensaje",
  "chat.chatInput.actions.queueMessageAria": "Poner mensaje en cola",
  "chat.chatInput.actions.stopGeneratingAria": "Detener generación",
  "chat.chatInput.focusMode.toggleAria": "Activar o desactivar modo de enfoque",
  "chat.chatInput.focusMode.label": "Modo de enfoque",
  "chat.chatInput.permissionAutoAccept.disable": "Desactivar aceptación automática de permisos",
  "chat.chatInput.permissionAutoAccept.enable": "Activar aceptación automática de permisos",
  "chat.chatInput.permissionAutoAccept.on": "Aceptación automática de permisos: activada",
  "chat.chatInput.permissionAutoAccept.off": "Aceptación automática de permisos: desactivada",
  "chat.chatInput.linked.byAuthor": "por {author}",
  "chat.chatInput.linked.issue.openInBrowserAria": "Abrir issue en el navegador",
  "chat.chatInput.linked.issue.removeAria": "Eliminar issue vinculado",
  "chat.chatInput.linked.pr.number": "PR #{number}",
  "chat.chatInput.linked.pr.openInBrowserAria": "Abrir PR en el navegador",
  "chat.chatInput.linked.pr.removeAria": "Eliminar PR vinculada",
  "chat.chatInput.placeholder.shell": "Escribe un comando de shell...",
  "chat.chatInput.placeholder.chat": "@ para archivos/agentes; / para comandos y habilidades; ! para shell; # para snippets",
  "chat.chatInput.placeholder.chatCompact": "Usa @ / ! # para ayudas",
  "chat.chatInput.placeholder.selectSession": "Selecciona o crea una sesión para comenzar a chatear",
  "chat.snippetAutocomplete.action.addNew": "+ Agregar nuevo snippet",
  "chat.snippetAutocomplete.empty": "No se encontraron snippets",
  "chat.snippetAutocomplete.footer": "↑↓ navegar • Enter seleccionar • Esc cerrar",
  "snippets.source.global": "global",
  "snippets.source.project": "proyecto",
  "chat.chatInput.toast.compactFailed": "No se pudo comprimir la sesión",
  "chat.chatInput.toast.summaryFailed": "No se pudo generar el resumen",
  "chat.messageBody.actions.sendReviewFeedback": "Enviar feedback de revisión al agente que implementa los cambios",
  "chat.messageBody.actions.sendImplementationResponse": "Enviar respuesta de implementación al agente revisor",
  "chat.chatInput.toast.reviewFailed": "No se pudieron revisar los cambios",
  "chat.chatInput.toast.planFeatureFailed": "No se pudo iniciar la planificación de la función",
  "chat.chatInput.toast.catchUpFailed": "No se pudo recuperar el contexto",
  "chat.chatInput.toast.debugFailed": "No se pudo iniciar la depuración",
  "chat.chatInput.toast.weighFailed": "No se pudieron comparar las opciones",
  "chat.chatInput.toast.exploreFailed": "No se pudo iniciar el recorrido",
  "chat.chatInput.toast.attachmentsTooLarge": "Los adjuntos son demasiado grandes para enviar. Intenta reducir la cantidad o el tamaño de las imágenes.",
  "chat.chatInput.toast.sendAttachmentsFailed": "No se pudieron enviar los adjuntos. Intenta con menos archivos o imágenes más pequeñas.",
  "chat.chatInput.toast.messageSendFailed": "El mensaje no se pudo enviar. Los adjuntos se restauraron.",
  "chat.chatInput.toast.clipboardAttachFailed": "No se pudo adjuntar la imagen desde el portapapeles",
  "chat.chatInput.toast.addedFileMentions": "Se añadieron {count} mención(es) de archivo",
  "chat.chatInput.toast.attachFileFailed": "No se pudo adjuntar el archivo",
  "chat.chatInput.toast.attachNamedFailed": "No se pudo adjuntar {name}",
  "chat.chatInput.toast.someFilesSkipped": "Algunos archivos se omitieron:\n{summary}",
  "chat.chatInput.toast.vscodePickFailed": "No se pudieron seleccionar archivos en VS Code",
  "chat.chatInput.toast.openSessionFirst": "Abre una sesión primero",
  "chat.chatInput.toast.togglePermissionAutoAcceptFailed": "No se pudo cambiar la aceptación automática de permisos",
  "chat.chatInput.reviewComments": "Comentarios de revisión:",
  "chat.chatInput.reviewCommentsRemove": "Quitar comentarios de revisión",
  "chat.chatInput.devServerLogs": "Logs del Dev Server:",
  "chat.chatInput.devServerLogsRemove": "Quitar logs del Dev Server",
  "chat.chatInput.previewAnnotations": "Anotaciones de vista previa:",
  "chat.chatInput.previewContext": "Contexto de vista previa:",
  "chat.chatInput.previewContextRemove": "Quitar contexto de vista previa",
  "chat.chatInput.projectRoot": "Raíz del proyecto",
  "chat.chatInput.branch": "Rama",
  "chat.chatInput.draftPicker.projectTitle": "Proyecto",
  "chat.chatInput.draftPicker.searchProjects": "Buscar proyectos...",
  "chat.chatInput.draftPicker.searchBranches": "Buscar ramas...",
  "chat.chatInput.worktrees": "Worktrees",
  "chat.chatInput.worktreeNew": "+ Nuevo",
  "chat.chatInput.drop.insertMention": "Suelta para insertar como mención",
  "chat.chatInput.drop.attachFiles": "Suelta archivos aquí para adjuntar",
  "chat.chatInput.fileFallback": "archivo",
  "chat.mobileStatus.editProjects.title": "Editar proyectos",
  "chat.mobileStatus.editProjects.footer": "Arrastra los elementos para reordenar, o use flechas para mover. Toca editar para cambiar los detalles.",
  "chat.mobileStatus.editProjects.empty": "No hay proyectos para editar",
  "chat.mobileStatus.projects.empty": "No hay proyectos",
  "chat.mobileStatus.projects.addAria": "Añadir proyecto",
  "chat.mobileStatus.projects.removeTitle": "Eliminar proyecto",
  "chat.mobileStatus.projects.removeDescriptionPrefix": "¿Estás seguro de que quieres eliminar",
  "chat.mobileStatus.projects.cancel": "Cancelar",
  "chat.mobileStatus.projects.remove": "Eliminar",
  "chat.mobileStatus.new": "Nuevo",
  "chat.mobileStatus.noSessionsInProject": "No hay sesiones en este proyecto",
  "chat.mobileStatus.swipeHint": "← Desliza aquí para abrir los paneles laterales →",
  "chat.mobileStatus.toast.addProjectFailed": "No se pudo añadir el proyecto",
  "chat.mobileStatus.toast.selectValidDirectory": "Selecciona un directorio válido.",
  "chat.mobileStatus.toast.selectDirectoryFailed": "No se pudo seleccionar el directorio",
  "chat.toolOutputDialog.image.previousAria": "Imagen anterior",
  "chat.toolOutputDialog.image.nextAria": "Imagen siguiente",
  "chat.toolOutputDialog.image.closeAria": "Cerrar vista previa de imagen",
  "chat.toolOutputDialog.mermaid.missingSource": "Falta la URL de origen de Mermaid.",
  "chat.toolOutputDialog.mermaid.loadFailed": "No se pudo cargar el diagrama de Mermaid.",
  "chat.toolOutputDialog.mermaid.closeAria": "Cerrar vista previa del diagrama",
  "chat.toolOutputDialog.mermaid.loading": "Cargando diagrama...",
  "chat.toolOutputDialog.mermaid.renderFailed": "No se pudo renderizar el diagrama de Mermaid.",
  "chat.toolOutputDialog.mermaid.retry": "Volver a intentar",
  "chat.toolOutputDialog.commandCompleted": "Comando completado con éxito",
  "chat.toolOutputDialog.noOutputProduced": "No se produjo ninguna salida",
  "chat.toolPart.lspErrors": "Errores LSP",
  "chat.toolPart.moreErrors": "+{count} errores más",
  "chat.toolPart.error": "Error:",
  "chat.toolPart.awaitingResponse": "Esperando respuesta...",
  "chat.toolPart.noOutputProduced": "No se produjo ninguna salida",
  "chat.toolPart.output": "Salida",
  "chat.toolPart.showRawJson": "Mostrar JSON sin formato",
  "chat.toolPart.showFormattedJson": "Mostrar JSON formateado",
  "chat.toolPart.copyOutput": "Copiar salida",
  "chat.toolPart.copiedOutput": "Salida copiada",
  "chat.toolPart.copyOutputFailed": "No se pudo copiar la salida",
  "chat.toolPart.openSubtask": "Abrir subtarea {type}",
  "chat.todo.total": "Total",
  "chat.todo.inProgress": "En progreso",
  "chat.todo.pending": "Pendiente",
  "chat.todo.completed": "Completado",
  "chat.todo.cancelled": "Cancelado",
  "chat.permissionCard.workingDirectory": "Directorio de trabajo:",
  "chat.permissionCard.timeout": "Tiempo de espera:",
  "chat.permissionCard.request": "Solicitud:",
  "chat.permissionCard.headers": "Encabezados:",
  "chat.permissionCard.body": "Cuerpo:",
  "chat.permissionCard.action": "Acción:",
  "chat.permissionCard.details": "Detalles:",
  "chat.permissionCard.patterns": "Patrones:",
  "chat.permissionToast.sessionFallback": "Sesión",
  "chat.permissionToast.permissionFallback": "Detalles de permiso no disponibles",
  "chat.permissionToast.labels.session": "Sesión:",
  "chat.permissionToast.labels.permission": "Permiso:",
  "chat.permissionToast.actions.once": "Una vez",
  "chat.permissionToast.actions.always": "Siempre",
  "chat.permissionToast.actions.deny": "Denegar",
  "chat.permissionToast.actions.approveOnceAria": "Aprobar una vez",
  "chat.permissionToast.actions.approveOnceAriaWithSession": "Aprobar una vez para {session}",
  "chat.permissionToast.actions.approveAlwaysAria": "Aprobar siempre",
  "chat.permissionToast.actions.approveAlwaysAriaWithSession": "Aprobar siempre para {session}",
  "chat.permissionToast.actions.denyAria": "Denegar permiso",
  "chat.permissionToast.actions.denyAriaWithSession": "Denegar permiso para {session}",
  "chat.permissionRequest.required": "Permiso requerido:",
  "chat.permissionRequest.actions.once": "Una vez",
  "chat.permissionRequest.actions.always": "Siempre",
  "chat.permissionRequest.actions.reject": "Rechazar",
  "chat.modelControls.provider": "Proveedor",
  "chat.modelControls.capability.toolCalling": "Uso de herramientas",
  "chat.modelControls.capability.reasoning": "Razonamiento",
  "chat.modelControls.modality.text": "Texto",
  "chat.modelControls.modality.image": "Imagen",
  "chat.modelControls.modality.video": "Vídeo",
  "chat.modelControls.modality.audio": "Audio",
  "chat.modelControls.modality.pdf": "PDF",
  "chat.modelControls.capabilities": "Capacidades",
  "chat.modelControls.modalities": "Modalidades",
  "chat.modelControls.input": "Entrada",
  "chat.modelControls.output": "Salida",
  "chat.modelControls.limits": "Límites",
  "chat.modelControls.context": "Contexto",
  "chat.modelControls.metadata": "Metadatos",
  "chat.modelControls.knowledge": "Conocimiento",
  "chat.modelControls.release": "Lanzamiento",
  "chat.modelControls.mode": "Modo",
  "chat.modelControls.model": "Modelo",
  "chat.modelControls.temperature": "Temperatura",
  "chat.modelControls.topP": "Top P",
  "chat.modelControls.permissions": "Permisos",
  "chat.modelControls.edit": "Editar",
  "chat.modelControls.bash": "Bash",
  "chat.modelControls.webFetch": "WebFetch",
  "chat.modelControls.customPrompt": "Prompt personalizado",
  "chat.modelControls.selectModel": "Seleccionar modelo",
  "chat.modelControls.searchProvidersOrModels": "Buscar proveedores o modelos",
  "chat.modelControls.clearSearch": "Limpiar búsqueda",
  "chat.modelControls.current": "Actual",
  "chat.modelControls.thinking": "Pensando",
  "chat.modelControls.default": "Predeterminado",
  "chat.modelControls.selectAgent": "Seleccionar agente",
  "chat.modelControls.costPerMillion": "Costo ($/1M tokens)",
  "chat.modelControls.metadataUnavailable": "Metadatos del modelo no disponibles.",
  "chat.modelControls.addNewProvider": "Añadir nuevo proveedor",
  "chat.modelControls.noAgentSelected": "No se seleccionó ningún agente.",
  "chat.modelControls.resetToDefault": "Restablecer al valor predeterminado",
  "chat.modelControls.searchModels": "Buscar modelos",
  "chat.modelControls.searchAgents": "Buscar agentes",
  "chat.modelControls.noModelsFound": "No se encontraron modelos",
  "chat.modelControls.favorites": "Favoritos",
  "chat.modelControls.recent": "Recientes",
  "chat.modelControls.addToFavorites": "Añadir a favoritos",
  "chat.modelControls.removeFromFavorites": "Eliminar de favoritos",
  "chat.modelControls.favoriteAria": "Favorito",
  "chat.modelControls.unfavoriteAria": "Quitar de favoritos",
  "chat.modelControls.collapseProvider": "Colapsar proveedor",
  "chat.modelControls.expandProvider": "Expandir proveedor",
  "chat.modelControls.keyboardHint": "↑↓ navegar{thinking} • Enter seleccionar • Esc cerrar",
  "chat.modelControls.keyboardHintNavigate": "↑↓ navegar",
  "chat.modelControls.keyboardHintSwitchAgent": "{shortcut} cambiar agente",
  "chat.modelControls.keyboardHintThinking": "←→ cambiar razonamiento",
  "chat.modelControls.showThinkingModes": "Mostrar modos de razonamiento",
  "chat.modelControls.hideThinkingModes": "Ocultar modos de razonamiento",
  "chat.modelControls.moreThinkingModes": "Más modos de razonamiento",
  "chat.modelControls.noProvidersOrModelsFound": "Ningún proveedor o modelo coincide con tu búsqueda.",
  "chat.modelControls.reorderFavoriteAria": "Reordenar favorito",
  "chat.modelControls.reorderFavoriteTitle": "Arrastrar para reordenar favorito",
  "chat.modelControls.reorderProviderTitle": "Arrastrar para reordenar proveedor",
  "chat.modelControls.permissionLabel.custom": "Personalizado",
  "chat.modelControls.permissionLabel.allow": "Permitir",
  "chat.modelControls.permissionLabel.deny": "Denegar",
  "chat.modelControls.permissionLabel.ask": "Preguntar",
  "chat.modelControls.modeValue.primary": "Primario",
  "chat.modelControls.modeValue.subagent": "Subagente",
  "chat.modelControls.modeValue.all": "Todos",
  "chat.modelControls.modeValue.none": "—",
  "chat.reasoningTrace.thinking": "Pensando",
  "chat.reasoningTrace.justification": "Justificación",
  "chat.reasoningTrace.expandAria": "Expandir traza de razonamiento",
  "chat.reasoningTrace.collapseAria": "Contraer traza de razonamiento",
  "chat.reasoningTrace.thought": "Pensó",
  "chat.messageBody.subtask.title": "Tarea delegada",
  "chat.messageBody.subtask.hidePrompt": "Ocultar prompt",
  "chat.messageBody.subtask.showPrompt": "Mostrar prompt",
  "chat.messageBody.subtask.openSession": "Abrir sesión de subtarea",
  "chat.messageBody.shellCommand.title": "Comando de shell",
  "chat.messageBody.shellCommand.hideOutput": "Ocultar salida",
  "chat.messageBody.shellCommand.showOutput": "Mostrar salida",
  "chat.messageBody.shellCommand.copied": "Copiado",
  "chat.messageBody.shellCommand.copyOutput": "Copiar salida",
  "commandPalette.title": "Paleta de comandos",
  "commandPalette.description": "Buscar archivos, sesiones y comandos.",
  "commandPalette.input.placeholder": "Buscar archivos, sesiones, comandos...",
  "commandPalette.empty.noResults": "No se encontraron resultados.",
  "commandPalette.empty.searchingFiles": "Buscando archivos...",
  "commandPalette.item.newSession": "Nueva sesión",
  "commandPalette.item.newMiniChat": "Nueva ventana Mini Chat",
  "commandPalette.item.newWorktreeDraft": "Nuevo borrador de worktree",
  "commandPalette.item.addProject": "Añadir proyecto",
  "commandPalette.item.showSessionSwitcher": "Mostrar cambiador de sesiones",
  "commandPalette.item.toggleSidebar": "Mostrar u ocultar barra lateral",
  "commandPalette.item.toggleRightSidebar": "Mostrar u ocultar barra lateral derecha",
  "commandPalette.item.showContextUsage": "Mostrar uso del contexto",
  "commandPalette.item.toggleTerminal": "Mostrar u ocultar terminal",
  "commandPalette.item.openSettings": "Abrir configuración...",
  "commandPalette.session.untitled": "Sesión sin título",
  "openCodeStatusDialog.title": "Estado de OpenCode",
  "openCodeStatusDialog.description": "Inspecciona el estado actual de OpenCode y diagnósticos.",
  "openCodeStatusDialog.actions.copy": "Copiar",
  "openCodeStatusDialog.empty.noData": "No hay datos.",
  "openCodeStatusDialog.toast.copiedTitle": "Copiado",
  "openCodeStatusDialog.toast.copiedDescription": "Estado copiado al portapapeles",
  "openCodeStatusDialog.toast.copyFailed": "No se pudo copiar el estado",
  "saveProjectPlanDialog.title": "Guardar plan del proyecto",
  "saveProjectPlanDialog.description": "Guarda este plan en tu proyecto como un archivo Markdown.",
  "saveProjectPlanDialog.field.title": "Título",
  "saveProjectPlanDialog.field.titlePlaceholder": "Título del plan",
  "saveProjectPlanDialog.field.contentPreview": "Vista previa del contenido",
  "saveProjectPlanDialog.actions.cancel": "Cancelar",
  "saveProjectPlanDialog.actions.save": "Guardar",
  "saveProjectPlanDialog.actions.saving": "Guardando...",
  "branchPickerDialog.title": "Selector de rama",
  "branchPickerDialog.description.localBranchesForProject": "Ramas locales para {project}",
  "branchPickerDialog.description.selectProject": "Selecciona un proyecto para ver ramas",
  "branchPickerDialog.search.placeholder": "Buscar ramas...",
  "branchPickerDialog.search.renameBranchPlaceholder": "Cambiar nombre de rama",
  "branchPickerDialog.state.noProjectSelected": "No se seleccionó un proyecto",
  "branchPickerDialog.state.loadingBranches": "Cargando ramas...",
  "branchPickerDialog.state.noMatchingBranches": "No se encontraron ramas coincidentes",
  "branchPickerDialog.state.noBranchesFound": "No se encontraron ramas",
  "branchPickerDialog.badge.head": "HEAD",
  "branchPickerDialog.badge.worktree": "worktree",
  "branchPickerDialog.actions.createWorktreeAria": "Crear worktree desde rama",
  "branchPickerDialog.actions.renameAria": "Cambiar nombre de rama",
  "branchPickerDialog.actions.deleteAria": "Eliminar rama",
  "branchPickerDialog.actions.deleteWorktreeAria": "Eliminar worktree",
  "branchPickerDialog.actions.confirmRenameAria": "Confirmar cambio de nombre de",
  "branchPickerDialog.actions.cancelRenameAria": "Cancelar cambio de nombre de",
  "branchPickerDialog.actions.confirmDeleteAria": "Confirmar eliminación de rama",
  "branchPickerDialog.actions.cancelDeleteAria": "Cancelar eliminación de rama",
  "branchPickerDialog.actions.deletePrompt": "Eliminar",
  "branchPickerDialog.actions.forceDeletePrompt": "Forzar eliminación",
  "branchPickerDialog.tooltip.createWorktree": "Crear worktree",
  "branchPickerDialog.tooltip.worktreeAlreadyExists": "El worktree ya existe",
  "branchPickerDialog.tooltip.rename": "Cambiar nombre de rama",
  "branchPickerDialog.tooltip.renameDisabledForRoot": "No se puede cambiar el nombre de la rama raíz",
  "branchPickerDialog.tooltip.delete": "Eliminar rama",
  "branchPickerDialog.tooltip.deleteCurrentBranch": "No se puede eliminar la rama actual",
  "branchPickerDialog.tooltip.deleteDisabledForRoot": "No se puede eliminar la rama raíz",
  "branchPickerDialog.tooltip.deleteWorktree": "Eliminar worktree",
  "branchPickerDialog.tooltip.deleteWorktreeRootProtected": "No se puede eliminar el worktree raíz",
  "branchPickerDialog.toast.branchRenamed": "Rama renombrada",
  "branchPickerDialog.toast.failedToRenameBranch": "No se pudo cambiar el nombre de la rama",
  "branchPickerDialog.toast.branchDeleted": "Rama eliminada",
  "branchPickerDialog.toast.branchNotMerged": "La rama no tiene todos sus cambios integrados",
  "branchPickerDialog.toast.confirmAgainToForceDelete": "Confirma de nuevo para eliminar forzadamente",
  "branchPickerDialog.toast.failedToDeleteBranch": "No se pudo eliminar la rama",
  "branchPickerDialog.toast.worktreeCreated": "Worktree creado",
  "branchPickerDialog.toast.failedToCreateWorktree": "No se pudo crear el worktree",
  "branchPickerDialog.error.failedToLoad": "No se pudieron cargar las ramas",
  "branchPickerDialog.error.renameRejected": "El cambio de nombre fue rechazado",
  "branchPickerDialog.error.renameFailed": "No se pudo cambiar el nombre de la rama",
  "branchPickerDialog.error.deleteRejected": "La eliminación fue rechazada",
  "branchPickerDialog.error.deleteFailed": "No se pudo eliminar la rama",
  "branchPickerDialog.error.createWorktreeFailed": "No se pudo crear el worktree",
  "projectEditDialog.title": "Editar proyecto",
  "projectEditDialog.field.name": "Nombre",
  "projectEditDialog.field.namePlaceholder": "Nombre del proyecto",
  "projectEditDialog.field.color": "Color",
  "projectEditDialog.field.icon": "Icono",
  "projectEditDialog.field.preview": "Vista previa",
  "projectEditDialog.field.iconBackground": "Fondo del icono",
  "projectEditDialog.field.iconBackgroundAria": "Color del fondo del icono del proyecto",
  "projectEditDialog.option.none": "Ninguno",
  "projectEditDialog.actions.uploadIcon": "Subir icono",
  "projectEditDialog.actions.uploading": "Subiendo...",
  "projectEditDialog.actions.discoverFavicon": "Buscar icono",
  "projectEditDialog.actions.discovering": "Descubriendo...",
  "projectEditDialog.actions.removeProjectIcon": "Eliminar icono del proyecto",
  "projectEditDialog.actions.removing": "Eliminando...",
  "projectEditDialog.actions.undoRemove": "Deshacer eliminación",
  "projectEditDialog.actions.clear": "Limpiar",
  "projectEditDialog.actions.cancel": "Cancelar",
  "projectEditDialog.actions.save": "Guardar",
  "projectEditDialog.toast.failedToUploadIcon": "No se pudo subir el icono del proyecto",
  "projectEditDialog.toast.iconUpdated": "Icono del proyecto actualizado",
  "projectEditDialog.toast.failedToRemoveIcon": "No se pudo eliminar el icono del proyecto",
  "projectEditDialog.toast.iconRemoved": "Icono del proyecto eliminado",
  "projectEditDialog.toast.failedToDiscoverIcon": "No se pudo descubrir el icono del proyecto",
  "projectEditDialog.toast.customIconAlreadySet": "Icono personalizado ya establecido para este proyecto",
  "projectEditDialog.toast.iconDiscovered": "Icono del proyecto descubierto",
  "agentManager.sidebar.search.placeholder": "Buscar grupos de agentes...",
  "agentManager.sidebar.actions.newAgentGroup": "Nuevo grupo de agentes",
  "agentManager.sidebar.actions.more": "... Más ({count})",
  "agentManager.sidebar.actions.showLess": "Mostrar menos",
  "agentManager.sidebar.section.agentGroups": "Grupos de agentes",
  "agentManager.sidebar.state.loading": "Cargando...",
  "agentManager.sidebar.state.noGroupsFound": "No se encontraron grupos",
  "agentManager.sidebar.state.noGroupsYet": "No hay grupos de agentes aún",
  "agentManager.sidebar.state.createToGetStarted": "Crea un nuevo grupo de agentes para comenzar",
  "agentManager.sidebar.item.modelCountSingle": "{count} modelo",
  "agentManager.sidebar.item.modelCountPlural": "{count} modelos",
  "agentManager.sidebar.item.groupMenuAria": "Menú del grupo",
  "agentManager.sidebar.item.delete": "Eliminar",
  "agentManager.sidebar.relativeTime.now": "ahora",
  "agentManager.sidebar.relativeTime.minutes": "{count}m",
  "agentManager.sidebar.relativeTime.hours": "{count}h",
  "agentManager.sidebar.relativeTime.days": "{count}d",
  "agentManager.sidebar.dialog.deleteGroupTitle": "Eliminar grupo de agentes",
  "agentManager.sidebar.dialog.deleteGroupDescription": "¿Eliminar \"{group}\"? Esto elimina todos los worktrees y sesiones en este grupo.",
  "agentManager.sidebar.dialog.cancel": "Cancelar",
  "agentManager.sidebar.dialog.delete": "Eliminar",
  "agentManager.sidebar.dialog.deleting": "Eliminando...",
  "agentManager.sidebar.toast.deletingGroup": "Eliminando \"{group}\"...",
  "agentManager.sidebar.toast.deletedGroup": "Eliminado \"{group}\"",
  "agentManager.sidebar.toast.failedToDeleteGroup": "No se pudo eliminar completamente \"{group}\"",
  "agentManager.detail.header.modelCountSingle": "{count} modelo",
  "agentManager.detail.header.modelCountPlural": "{count} modelos",
  "agentManager.detail.header.noBranch": "Sin rama",
  "agentManager.detail.actions.worktreeActionsAria": "Acciones del worktree",
  "agentManager.detail.actions.removeThisWorktree": "Eliminar este worktree",
  "agentManager.detail.actions.keepThisRemoveOthers": "Conservar este y eliminar los demás",
  "agentManager.detail.actions.copyWorktreePath": "Copiar ruta del worktree",
  "agentManager.detail.dialog.removeWorktreeTitle": "Eliminar worktree",
  "agentManager.detail.dialog.removeOtherWorktreesTitle": "Eliminar otros worktrees",
  "agentManager.detail.dialog.removeWorktreeDescription": "¿Eliminar \"{label}\"? Esto elimina todas las sesiones de ese worktree y el propio worktree.",
  "agentManager.detail.dialog.removeOtherWorktreesDescription": "Mantener \"{label}\" y eliminar los demás worktrees en \"{group}\".",
  "agentManager.detail.dialog.cancel": "Cancelar",
  "agentManager.detail.dialog.remove": "Eliminar",
  "agentManager.detail.dialog.removeOthers": "Eliminar otros",
  "agentManager.detail.dialog.working": "Trabajando...",
  "agentManager.detail.state.loadingSessionFor": "Cargando sesión para {label}",
  "agentManager.detail.state.sessionId": "ID de sesión: {id}",
  "agentManager.detail.state.noSessionsInGroup": "No hay sesiones en este grupo",
  "agentManager.detail.toast.noWorktreePath": "No hay ruta disponible para el worktree",
  "agentManager.detail.toast.worktreePathCopied": "Ruta del worktree copiada",
  "agentManager.detail.toast.failedToCopyPath": "No se pudo copiar la ruta",
  "agentManager.detail.toast.removingWorktree": "Eliminando worktree...",
  "agentManager.detail.toast.removingOtherWorktrees": "Eliminando otros worktrees...",
  "agentManager.detail.toast.failedToFullyRemoveWorktree": "No se pudo eliminar completamente el worktree",
  "agentManager.detail.toast.worktreeRemoved": "Worktree eliminado",
  "agentManager.detail.toast.otherWorktreesRemoved": "Otros worktrees eliminados",
  "agentManager.empty.groupName.label": "Nombre del grupo",
  "agentManager.empty.groupName.placeholder": "p. ej. feature-auth, bugfix-login",
  "agentManager.empty.groupName.description": "Usado para el nombre de la carpeta y la rama del worktree",
  "agentManager.empty.baseBranch.label": "Rama base",
  "agentManager.empty.baseBranch.description": "Crea nuevas ramas desde {branch}",
  "agentManager.empty.setupCommands.label": "Comandos de configuración",
  "agentManager.empty.setupCommands.configured": "{count} configurados",
  "agentManager.empty.setupCommands.description": "Comandos que se ejecutan en cada nuevo worktree. Usa $ROOT_PROJECT_PATH para la raíz del proyecto.",
  "agentManager.empty.setupCommands.loading": "Cargando...",
  "agentManager.empty.setupCommands.commandPlaceholder": "p. ej., bun install",
  "agentManager.empty.setupCommands.removeCommandAria": "Eliminar comando",
  "agentManager.empty.setupCommands.addCommand": "Añadir comando",
  "agentManager.empty.agent.label": "Agente",
  "agentManager.empty.agent.description": "Usa el agente predeterminado configurado",
  "agentManager.empty.models.label": "Modelos",
  "agentManager.empty.models.addModel": "Añadir modelo",
  "agentManager.empty.models.selectedSingle": "{count} modelo seleccionado",
  "agentManager.empty.models.selectedPlural": "{count} modelos seleccionados",
  "agentManager.empty.prompt.label": "Prompt",
  "agentManager.empty.prompt.placeholder": "Pregunta algo...",
  "agentManager.empty.prompt.addAttachmentAria": "Añadir adjunto",
  "agentManager.empty.actions.startAgentGroupAria": "Iniciar grupo de agentes",
  "agentManager.empty.toast.fileTooLarge": "El archivo \"{fileName}\" es demasiado grande (máximo 10MB)",
  "agentManager.empty.toast.failedToAttach": "No se pudo adjuntar \"{fileName}\"",
  "agentManager.empty.toast.attachedSingle": "{count} archivo adjuntado",
  "agentManager.empty.toast.attachedPlural": "{count} archivos adjuntados",
  "agentManager.empty.toast.failedToCreateGroup": "No se pudo crear el grupo de agentes",
  "openInApp.actions.open": "Abrir",
  "openInApp.actions.openInAria": "Abrir en {app}",
  "openInApp.actions.chooseAppAria": "Elegir aplicación para abrir",
  "openInApp.actions.copyPath": "Copiar ruta",
  "openInApp.actions.refreshApps": "Actualizar aplicaciones",
  "openInApp.toast.pathCopied": "Ruta copiada al portapapeles",
  "projectActions.actions.addActionAria": "Añadir acción",
  "projectActions.actions.addAction": "Añadir acción",
  "projectActions.actions.addNewAction": "Añadir nueva acción",
  "projectActions.actions.autoDiscover": "Autodetectar",
  "projectActions.actions.chooseActionAria": "Elegir acción del proyecto",
  "projectActions.actions.openPreview": "Abrir Preview",
  "projectActions.actions.runNamedAria": "Ejecutar {name}",
  "projectActions.actions.stopNamedAria": "Detener {name}",
  "projectActions.label.fallbackAction": "Acción",
  "projectActions.toast.openedUrlFromOutput": "Abierto URL desde la salida de la acción",
  "projectActions.toast.openedForwardedUrl": "Abierto URL reenviada",
  "projectActions.toast.openedActionUrl": "Abierto URL de la acción",
  "projectActions.error.noActiveDirectory": "No hay directorio activo",
  "projectActions.error.noActiveDirectoryForAction": "No hay directorio activo para la acción",
  "projectActions.error.failedToCreateTerminalSession": "No se pudo crear la sesión de terminal",
  "projectActions.error.invalidCustomUrlFormat": "Formato de URL personalizada inválido",
  "projectActions.error.selectedDesktopSshForwardUnavailable": "La conexión SSH en la máquina de escritorio seleccionada no está disponible",
  "projectActions.error.failedToRunAction": "No se pudo ejecutar la acción",
  "mcpDropdown.title": "Servidores MCP",
  "mcpDropdown.actions.refreshAria": "Actualizar",
  "mcpDropdown.actions.openAria": "Servidores MCP",
  "mcpDropdown.statusAria": "Estado MCP",
  "mcpDropdown.status.unknown": "Desconocido",
  "mcpDropdown.status.connected": "Conectado",
  "mcpDropdown.status.failed": "Fallido: {error}",
  "mcpDropdown.status.unknownError": "Error desconocido",
  "mcpDropdown.status.needsAuth": "Necesita autenticación",
  "mcpDropdown.status.needsRegistration": "Necesita registro: {error}",
  "mcpDropdown.empty.configureInConfig": "Configura los servidores MCP en Ajustes.",
  "sessionAuth.error.rateLimitTitle": "Demasiados intentos",
  "sessionAuth.error.networkTitle": "No se puede alcanzar el servidor",
  "sessionAuth.error.rateLimitDescriptionSingle": "Por favor, espera {minutes} minuto antes de intentarlo de nuevo.",
  "sessionAuth.error.rateLimitDescriptionPlural": "Por favor, espera {minutes} minutos antes de intentarlo de nuevo.",
  "sessionAuth.error.networkDescription": "No pudimos verificar la sesión de la UI. Comprueba que el servicio esté en funcionamiento y vuelve a intentarlo.",
  "sessionAuth.error.retry": "Volver a intentar",
  "sessionAuth.error.passkeySetupFailed": "No se pudo configurar la clave de paso.",
  "sessionAuth.error.incorrectPassword": "Contraseña incorrecta. Inténtalo de nuevo.",
  "sessionAuth.error.unexpectedResponse": "Respuesta inesperada del servidor.",
  "sessionAuth.error.networkRetry": "Error de red. Comprueba la conexión y vuelve a intentarlo.",
  "sessionAuth.error.passkeySignInCanceled": "El inicio de sesión con clave de paso se canceló.",
  "sessionAuth.error.enterPasswordForPasskey": "Introduce tu contraseña para añadir una clave de paso.",
  "sessionAuth.locked.tunnelTitle": "Se requiere acceso por túnel",
  "sessionAuth.locked.unlockTitle": "Desbloquear OpenChamber",
  "sessionAuth.locked.tunnelDescription": "Abre este túnel usando el enlace de conexión única desde la aplicación de escritorio.",
  "sessionAuth.locked.passwordDescription": "Esta sesión está protegida con contraseña.",
  "sessionAuth.locked.hostSwitcherHint": "Usa Local si el servidor remoto no está disponible.",
  "sessionAuth.actions.cancelPasskey": "Cancelar clave de paso",
  "sessionAuth.actions.usePasskey": "Usar clave de paso",
  "sessionAuth.actions.unlockingAria": "Desbloqueando",
  "sessionAuth.actions.unlockAria": "Desbloquear",
  "sessionAuth.actions.trustDevice": "Confiar en este dispositivo",
  "sessionAuth.actions.trustDeviceAria": "Confiar en este dispositivo",
  "sessionAuth.actions.cancelPasskeySetup": "Cancelar configuración de clave de paso",
  "sessionAuth.actions.addPasskey": "Añadir clave de paso",
  "sessionAuth.password.placeholder": "Introduce contraseña",
  "sessionAuth.toast.passkeyAdded": "Clave de paso añadido",
  "sessionAuth.toast.passkeySetupCanceled": "Configuración de clave de paso cancelada",
  "desktopHostSwitcher.title": "Instancia",
  "desktopHostSwitcher.description": "Cambia entre Local y el servidor remoto de OpenChamber",
  "desktopHostSwitcher.header.current": "Actual",
  "desktopHostSwitcher.header.default": "Predeterminado",
  "desktopHostSwitcher.header.currentColon": "Actual:",
  "desktopHostSwitcher.header.currentDefaultColon": "Predeterminado actual:",
  "desktopHostSwitcher.status.connected": "Conectado",
  "desktopHostSwitcher.status.authRequired": "Autenticación requerida",
  "desktopHostSwitcher.status.checking": "Comprobando",
  "desktopHostSwitcher.status.updateRecommended": "Actualización recomendada",
  "desktopHostSwitcher.status.incompatible": "Incompatible",
  "desktopHostSwitcher.status.wrongService": "Servicio incorrecto",
  "desktopHostSwitcher.status.unreachable": "Inalcanzable",
  "desktopHostSwitcher.status.unknown": "Desconocido",
  "desktopHostSwitcher.status.ping": " · {ms}ms ping",
  "desktopHostSwitcher.statusAria": "Estado de la instancia",
  "desktopHostSwitcher.sshPhase.ready": "Listo",
  "desktopHostSwitcher.sshPhase.error": "Error",
  "desktopHostSwitcher.sshPhase.reconnecting": "Reconectando",
  "desktopHostSwitcher.sshPhase.resolvingConfig": "Resolviendo configuración",
  "desktopHostSwitcher.sshPhase.checkingAuth": "Verificando autenticación",
  "desktopHostSwitcher.sshPhase.connectingSsh": "Conectando SSH",
  "desktopHostSwitcher.sshPhase.probingRemote": "Explorando remoto",
  "desktopHostSwitcher.sshPhase.installing": "Instalando",
  "desktopHostSwitcher.sshPhase.updating": "Actualizando",
  "desktopHostSwitcher.sshPhase.detectingServer": "Detectando servidor",
  "desktopHostSwitcher.sshPhase.startingServer": "Iniciando servidor",
  "desktopHostSwitcher.sshPhase.forwardingPorts": "Redirigiendo puertos",
  "desktopHostSwitcher.sshPhase.idle": "Inactivo",
  "desktopHostSwitcher.ssh.needInstancesHint": "¿Necesitas instancias SSH? Gestiónalas en Configuración.",
  "desktopHostSwitcher.ssh.instanceFallback": "Instancia SSH",
  "desktopHostSwitcher.ssh.connectingTo": "Conectando a {host}",
  "desktopHostSwitcher.actions.refresh": "Actualizar",
  "desktopHostSwitcher.actions.refreshInstancesAria": "Actualizar instancias",
  "desktopHostSwitcher.actions.remoteSsh": "SSH remoto",
  "desktopHostSwitcher.actions.instanceActionsAria": "Acciones de instancia",
  "desktopHostSwitcher.actions.edit": "Editar",
  "desktopHostSwitcher.actions.delete": "Eliminar",
  "desktopHostSwitcher.actions.connect": "Conectar",
  "desktopHostSwitcher.actions.defaultInstanceAria": "Instancia predeterminada",
  "desktopHostSwitcher.actions.setAsDefaultAria": "Establecer como predeterminado",
  "desktopHostSwitcher.actions.setAsDefault": "Establecer como predeterminado",
  "desktopHostSwitcher.actions.openInNewWindowAria": "Abrir en nueva ventana",
  "desktopHostSwitcher.actions.openInNewWindow": "Abrir en nueva ventana",
  "desktopHostSwitcher.actions.addInstance": "Añadir instancia",
  "desktopHostSwitcher.actions.cancel": "Cancelar",
  "desktopHostSwitcher.actions.save": "Guardar",
  "desktopHostSwitcher.actions.add": "Añadir",
  "desktopHostSwitcher.actions.switchToLocal": "Cambiar a Local",
  "desktopHostSwitcher.actions.retry": "Reintentar",
  "desktopHostSwitcher.actions.switchInstanceAria": "Cambiar instancia",
  "desktopHostSwitcher.actions.switchInstance": "Cambiar instancia",
  "desktopHostSwitcher.actions.switchToAria": "Cambiar a {instance}",
  "desktopHostSwitcher.field.labelPlaceholder": "Etiqueta",
  "desktopHostSwitcher.field.labelOptionalPlaceholder": "Etiqueta (opcional)",
  "desktopHostSwitcher.field.urlPlaceholder": "https://host:port",
  "desktopHostSwitcher.state.limitedOnPage": "El selector de instancias está limitado en esta página. Usa Local para recuperar.",
  "desktopHostSwitcher.state.loading": "Cargando...",
  "desktopHostSwitcher.state.instanceUnreachable": "Instancia inalcanzable",
  "desktopHostSwitcher.edit.title": "Editar instancia",
  "desktopHostSwitcher.add.title": "Añadir instancia",
  "desktopHostSwitcher.error.failedToSave": "No se pudo guardar",
  "desktopHostSwitcher.error.failedToLoad": "No se pudo cargar",
  "desktopHostSwitcher.error.invalidUrl": "URL inválida (debe ser http/https)",
  "desktopHostSwitcher.error.failedToOpenNewWindow": "No se pudo abrir nueva ventana",
  "desktopHostSwitcher.instance.local": "Local",
  "desktopHostSwitcher.instance.fallback": "Instancia",
  "desktopHostSwitcher.startup.title": "Instancia SSH predeterminada no disponible",
  "desktopHostSwitcher.startup.connectingTo": "Conectando a {host}...",
  "desktopHostSwitcher.startup.failed": "No se pudo conectar con la instancia predeterminada de SSH.",
  "desktopHostSwitcher.toast.sshConnected": "Instancia SSH \"{host}\" conectada",
  "desktopHostSwitcher.toast.sshFailedToConnect": "No se pudo conectar con la instancia SSH \"{host}\"",
  "desktopHostSwitcher.toast.instanceUnreachable": "Instancia \"{host}\" no está disponible",
  "miniChat.header.newSession": "Nueva sesión",
  "miniChat.header.session": "Sesión",
  "miniChat.header.defaultAgent": "Agente predeterminado",
  "miniChat.header.noModel": "Sin modelo",
  "miniChat.status.busy": "En ejecución",
  "miniChat.status.retry": "Reintentando",
  "miniChat.status.idle": "Inactivo",
  "miniChat.actions.pin": "Fijar sobre otras ventanas",
  "miniChat.actions.unpin": "Desfijar ventana",
  "miniChat.actions.pinAria": "Fijar ventana Mini Chat",
  "miniChat.actions.unpinAria": "Desfijar ventana Mini Chat",
  "miniChat.actions.openMain": "Abrir en la ventana principal",
  "miniChat.actions.openMainAria": "Abrir sesión en la ventana principal",
  "miniChat.unavailable.title": "Sesión no disponible",
  "miniChat.unavailable.description": "No se pudo cargar esta sesión. Puede haber sido eliminada, archivada o abierta desde otro contexto de proyecto.",
  "sessions.sidebar.session.menu.openMiniChatWindow": "Abrir en ventana Mini Chat",
  "header.actions.newMiniChat": "Nueva ventana Mini Chat",
  "header.actions.newMiniChatAria": "Abrir una nueva ventana Mini Chat",
  "header.actions.openSessionMiniChat": "Abrir sesión en Mini Chat",
  "header.actions.openSessionMiniChatAria": "Abrir la sesión actual en Mini Chat",
  "header.windowControls.groupAria": "Controles de ventana",
  "header.windowControls.minimize": "Minimizar ventana",
  "header.windowControls.maximize": "Maximizar ventana",
  "header.windowControls.restore": "Restaurar ventana",
  "header.windowControls.close": "Cerrar ventana",
  "errorBoundary.title": "Algo salió mal",
  "errorBoundary.description": "La aplicación encontró un error inesperado. Esto se ha registrado para depuración.",
  "errorBoundary.state.unknownError": "Error desconocido",
  "errorBoundary.state.componentStackLabel": "Pila de componentes:",
  "errorBoundary.actions.errorDetails": "Detalles del error",
  "errorBoundary.actions.tryAgain": "Volver a intentarlo",
  "errorBoundary.actions.copy": "Copiar",
  "errorBoundary.actions.copied": "Copiado",
  "jsonTreeView.error.emptyJson": "Contenido JSON vacío",
  "jsonTreeView.error.invalidJson": "JSON inválido",
  "jsonTreeView.error.invalidJsonTitle": "JSON inválido",
  "jsonTreeView.actions.expandAll": "Expandir todo",
  "jsonTreeView.actions.collapseAll": "Colapsar todo",
  "numberInput.actions.decreaseAria": "Reducir valor",
  "numberInput.actions.increaseAria": "Aumentar valor",
  "goToLineDialog.field.linePlaceholderShort": "Línea",
  "goToLineDialog.field.linePlaceholder": "Número de línea",
  "goToLineDialog.actions.go": "Ir",
  "goToLineDialog.helper.editorUnavailable": "Editor no disponible.",
  "goToLineDialog.helper.currentLineRange": "Línea actual: {current}. Escribe un número de línea entre 1 y {max} para navegar.",
  "goToLineDialog.helper.goToLine": "Ir a la línea {line}",
  "dialog.common.actions.close": "Cerrar",
  "filesView.toast.relativePathCopied": "Ruta relativa copiada",
  "filesView.tree.menu.copyRelativePath": "Copiar ruta relativa",
  "multiRun.branchSelector.placeholder.selectSourceBranch": "Seleccionar rama de origen...",
  "multiRun.branchSelector.status.loadingBranches": "Cargando ramas...",
  "multiRun.branchSelector.status.noBranchesFound": "No se encontraron ramas",
  "multiRun.branchSelector.status.notInGitRepository": "No estás en un repositorio Git.",
  "multiRun.branchSelector.groups.localBranches": "Ramas locales",
  "multiRun.branchSelector.groups.remoteBranches": "Ramas remotas",
  "multiRun.window.actions.closeAria": "Cerrar Multi-Run",
  "multiRun.window.description": "Ventana de OpenChamber Multi-Run.",
  "voice.status.idle": "Voz lista",
  "voice.status.listening": "Escuchando...",
  "voice.status.processing": "Procesando...",
  "voice.status.speaking": "Hablando...",
  "voice.status.error": "Error de voz",
  "voice.status.conversationModeActiveAria": "Modo de conversación activo",
  "voice.action.finishAndTranscribe": "Finalizar y transcribir la entrada de voz",
  "onboarding.common.actions.back": "Atrás",
  "onboarding.common.copyToClipboard": "Copiar al portapapeles",
  "onboarding.common.status.copiedToClipboard": "Copiado al portapapeles",
  "onboarding.chooser.title": "Bienvenido a OpenChamber",
  "onboarding.chooser.description": "Elige cómo quieres conectar para comenzar.",
  "onboarding.chooser.tabs.localInstall": "Instalación local",
  "onboarding.chooser.tabs.connectRemote": "Conectar remoto",
  "onboarding.localSetup.title": "Configuración de OpenCode",
  "onboarding.localSetup.description": "Instala la CLI de OpenCode para continuar.",
  "onboarding.localSetup.dialog.selectOpencodeBinary": "Seleccionar ejecutable de opencode",
  "onboarding.localSetup.errors.cliNotReady": "La CLI de OpenCode aún no está lista. Confirma que la instalación está completa y intenta de nuevo.",
  "onboarding.localSetup.errors.detectionFailed": "Error de detección",
  "onboarding.localSetup.windows.title": "Configuración de Windows",
  "onboarding.localSetup.windows.stepInstallWsl": "Instala OpenCode con el comando siguiente.",
  "onboarding.localSetup.windows.stepInstallWslSuffix": "",
  "onboarding.localSetup.windows.stepRunInstallInWsl": "Ejecuta el comando de instalación a continuación en una terminal de Windows.",
  "onboarding.localSetup.windows.stepSetBinaryPath": "Si OpenChamber no detecta OpenCode automáticamente, establece la ruta del ejecutable a continuación.",
  "onboarding.localSetup.intro": "OpenCode es el corazón de OpenChamber. Instálalo para empezar.",
  "onboarding.localSetup.docs.windows": "Documentación de OpenCode",
  "onboarding.localSetup.docs.default": "Documentación de OpenCode",
  "onboarding.localSetup.actions.checking": "Verificando...",
  "onboarding.localSetup.actions.checkAndContinue": "He completado la instalación, verificar y continuar",
  "onboarding.localSetup.actions.checkNow": "Verificar ahora",
  "onboarding.localSetup.helper.checkAndContinue": "Haz clic para verificar si la CLI de OpenCode está disponible. Si la verificación funciona, entrarás automáticamente en la pantalla principal.",
  "onboarding.localSetup.status.watching": "Esperando OpenCode",
  "onboarding.localSetup.status.autoContinue": "Continuaremos automáticamente al detectarlo.",
  "onboarding.localSetup.field.alreadyInstalled": "¿Ya está instalado? Establece la ruta de la CLI de OpenCode:",
  "onboarding.localSetup.advanced.title": "Establecer una ruta personalizada del binario",
  "onboarding.localSetup.troubleshoot.title": "¿Tienes problemas?",
  "onboarding.localSetup.actions.browse": "Explorar",
  "onboarding.localSetup.actions.apply": "Aplicar",
  "onboarding.localSetup.helper.saveAndReload": "Guarda en la configuración de OpenChamber y recarga la configuración de OpenCode.",
  "onboarding.localSetup.remotePreference": "¿Prefieres usar un servidor remoto?",
  "onboarding.localSetup.actions.connectRemoteServer": "Conectar a un servidor remoto →",
  "onboarding.localSetup.windows.hintInstallInWsl": "En Windows, instala y ejecuta OpenCode de forma nativa.",
  "onboarding.localSetup.windows.hintDetectionFailed": "Si la detección falla, establece una ruta nativa como opencode.cmd u opencode.exe.",
  "onboarding.localSetup.hint.ensurePath": "¿Ya está instalado? Asegúrate de que opencode esté en tu PATH.",
  "onboarding.localSetup.hint.setEnv": "O establece la variable de entorno OPENCODE_BINARY.",
  "onboarding.localSetup.hint.missingRuntime": "Si ves \"env: node: No such file or directory\" o \"env: bun: No such file or directory\", instala ese runtime o asegúrate de que esté en PATH.",
  "onboarding.remoteConnection.title": "Conectar a servidor remoto",
  "onboarding.remoteConnection.titleRecovery": "Conectar a un servidor diferente",
  "onboarding.remoteConnection.description": "Introduce la dirección de un servidor de OpenChamber para conectar.",
  "onboarding.remoteConnection.field.serverAddress": "Dirección del servidor",
  "onboarding.remoteConnection.field.serverAddressPlaceholder": "https://your-server.example.com:4096",
  "onboarding.remoteConnection.field.nameOptional": "Nombre (opcional)",
  "onboarding.remoteConnection.field.namePlaceholder": "Mi servidor remoto",
  "onboarding.remoteConnection.errors.connectionTestFailed": "No se pudo probar la conexión",
  "onboarding.remoteConnection.errors.failedToSaveConnection": "No se pudo guardar la conexión",
  "onboarding.remoteConnection.status.connectedSuccessfully": "Conexión correcta ({latencyMs}ms)",
  "onboarding.remoteConnection.status.authWarning": "El servidor requiere autenticación. Puedes conectarte aún así.",
  "onboarding.remoteConnection.status.connectionFailed": "Error de conexión",
  "onboarding.remoteConnection.status.suggestionsUnreachable": "Sugerencias: Verifica la dirección del servidor, asegúrate de que el servidor esté en ejecución o revisa tu conexión de red.",
  "onboarding.remoteConnection.status.suggestionsWrongService": "Sugerencias: Verifica que la URL apunte a un servidor OpenChamber o contacta al administrador del servidor.",
  "onboarding.remoteConnection.actions.testing": "Probando…",
  "onboarding.remoteConnection.actions.testConnection": "Probar conexión",
  "onboarding.remoteConnection.actions.connectAndRestart": "Conectar & Restablecer",
  "onboarding.remoteConnection.actions.whatToDo": "¿Qué deseas hacer?",
  "onboarding.remoteConnection.actions.chooseDifferentServer": "Elegir otro servidor",
  "onboarding.remoteConnection.actions.useLocalInstead": "Usar Local en su lugar",
  "onboarding.remoteConnection.probe.authMessage": "El servidor requiere autenticación. Puedes conectarte aún así, pero puede que tengas que proporcionar credenciales.",
  "onboarding.remoteConnection.probe.updateRecommendedMessage": "Esta instancia ejecuta una versión diferente de OpenChamber. Puedes conectarte, pero actualiza ambas apps si algo no funciona.",
  "onboarding.remoteConnection.probe.incompatibleMessage": "El servidor ejecuta OpenChamber pero no es compatible con esta versión de la app. Actualiza OpenChamber en el servidor y vuelve a intentarlo.",
  "onboarding.remoteConnection.probe.wrongServiceMessage": "El servidor respondió pero no está ejecutando OpenChamber. Verifica que la dirección apunte a un servidor OpenChamber.",
  "onboarding.remoteConnection.probe.unreachableMessage": "El servidor no está disponible. Revisa tu conexión de red y verifica la dirección del servidor.",
  "onboarding.desktopRecovery.localUnavailable.title": "OpenCode Local no disponible",
  "onboarding.desktopRecovery.localUnavailable.description": "La CLI de OpenCode no pudo iniciarse o no está instalado. Instala OpenCode o conecta a un servidor remoto en su lugar.",
  "onboarding.desktopRecovery.localUnavailable.retry": "Reintentar Local",
  "onboarding.desktopRecovery.localUnavailable.useLocal": "Configurar Local",
  "onboarding.desktopRecovery.noDefaultConnection.title": "Sin conexión predeterminada",
  "onboarding.desktopRecovery.noDefaultConnection.description": "Tu conexión predeterminada guardada no pudo encontrarse. Elige cómo deseas conectarte.",
  "onboarding.desktopRecovery.remoteUnreachable.title": "Servidor remoto no disponible",
  "onboarding.desktopRecovery.remoteUnreachable.description": "No se pudo conectar a \"{host}\". Revisa tu conexión de red y verifica la dirección del servidor.",
  "onboarding.desktopRecovery.remoteUnreachable.retry": "Reintentar conexión",
  "onboarding.desktopRecovery.incompatibleServer.title": "Servidor incompatible",
  "onboarding.desktopRecovery.incompatibleServer.description": "El servidor en \"{host}\" no está ejecutando OpenChamber. Verifica que la dirección apunte a un servidor OpenChamber.",
  "onboarding.desktopRecovery.remoteIncompatible.title": "Actualización del servidor requerida",
  "onboarding.desktopRecovery.remoteIncompatible.description": "El servidor OpenChamber en \"{host}\" no es compatible con esta versión de la app. Actualiza OpenChamber en el servidor y vuelve a intentarlo.",
  "onboarding.desktopRecovery.common.useLocal": "Usar Local",
  "onboarding.desktopRecovery.common.useRemote": "Usar remoto",
  "onboarding.desktopRecovery.actions.retrying": "Reintentando…",
  "onboarding.desktopRecovery.actions.retryConnection": "Reintentar conexión",
  "startup.initRecovery.title": "Error al iniciar",
  "startup.initRecovery.description": "OpenChamber no pudo completar la inicialización. Comprueba que el servidor esté en ejecución y vuelve a intentarlo.",
  "startup.initRecovery.retry": "Reintentar",
  "startup.initRecovery.retrying": "Reintentando…",
  "onboarding.desktopRecovery.placeholders.remoteServer": "el servidor remoto",
  "onboarding.desktopRecovery.placeholders.unknownServer": "desconocido",
  "vscodeLayout.title.chat": "Chat",
  "vscodeLayout.title.newSession": "Nueva sesión",
  "vscodeLayout.title.sessions": "Sesiones",
  "vscodeLayout.title.sessionFallback": "Sesión",
  "vscodeLayout.actions.backToSessionsAria": "Volver a sesiones",
  "vscodeLayout.actions.newSessionAria": "Nueva sesión",
  "vscodeLayout.actions.archiveAllAria": "Archivar todas las sesiones",
  "vscodeLayout.actions.archiveAllConfirm": "Archivar todo",
  "vscodeLayout.actions.archiveAllSuccess": "{count} sesión(es) archivada(s)",
  "vscodeLayout.actions.archiveAllError": "Error al archivar {count} sesión(es)",
  "vscodeLayout.actions.cancel": "Cancelar",
  "vscodeLayout.actions.openAgentManagerAria": "Abrir gestor de agentes",
  "vscodeLayout.actions.resizeSessionsSidebarAria": "Ajustar tamaño del panel de sesiones",
  "vscodeLayout.actions.settingsAria": "Configuración",
  "vscodeLayout.quota.title": "Límites de tasa",
  "vscodeLayout.quota.mode.used": "Usado",
  "vscodeLayout.quota.mode.remaining": "Restante",
  "vscodeLayout.quota.lastUpdated": "Última actualización {time}",
  "vscodeLayout.quota.noRateLimitsAvailable": "No hay límites de tasa disponibles.",
  "vscodeLayout.quota.noRateLimitsReported": "No se reportaron límites de tasa.",
  "vscodeLayout.quota.actions.rateLimitsAria": "Límites de tasa",
  "vscodeLayout.quota.actions.showUsedAria": "Mostrar cuota usada",
  "vscodeLayout.quota.actions.showRemainingAria": "Mostrar cuota restante",
  "vscodeLayout.quota.actions.refreshAria": "Actualizar límites de tasa",
  "updateDialog.header.updateAvailable": "Actualización disponible",
  "updateDialog.header.updating": "Actualizando OpenChamber...",
  "updateDialog.changelog.title": "¿Qué hay de nuevo",
  "updateDialog.status.installingUpdate": "Instalando actualización...",
  "updateDialog.status.serverRestarting": "Servidor reiniciándose...",
  "updateDialog.status.waitingForServer": "Esperando al servidor...",
  "updateDialog.status.autoReloadHint": "La página se recargará automáticamente cuando la actualización finalice.",
  "updateDialog.fallback.updateViaTerminal": "O actualiza desde la terminal:",
  "updateDialog.actions.copyCommand": "Copiar comando",
  "updateDialog.actions.copied": "Copiado!",
  "updateDialog.status.downloadingPayload": "Descargando el payload de actualización...",
  "updateDialog.actions.downloadUpdate": "Descargar actualización",
  "updateDialog.status.downloading": "Descargando...",
  "updateDialog.actions.restartToUpdate": "Reiniciar para actualizar",
  "updateDialog.actions.updateNow": "Actualizar ahora",
  "updateDialog.status.updating": "Actualizando...",
  "updateDialog.error.updateFailed": "No se pudo actualizar",
  "updateDialog.error.takingLonger": "La actualización está tardando más de lo esperado. Espera un poco y refresca, o ejecuta: openchamber update",
  "opencodeUpdate.toast.available.title": "Actualización de OpenCode",
  "opencodeUpdate.toast.available.description": "Versión {version} disponible.",
  "opencodeUpdate.toast.actions.update": "Actualizar",
  "opencodeUpdate.toast.actions.dismiss": "Descartar",
  "opencodeUpdate.toast.actions.reload": "Recargar OpenCode",
  "opencodeUpdate.toast.upgrading.title": "Actualizando OpenCode...",
  "opencodeUpdate.toast.upgrading.description": "Mantén OpenChamber abierto.",
  "opencodeUpdate.toast.updated.title": "OpenCode actualizado",
  "opencodeUpdate.toast.updated.description": "Actualización instalada.",
  "opencodeUpdate.toast.updated.descriptionWithVersion": "Versión {version} instalada.",
  "opencodeUpdate.toast.failed.title": "No se pudo actualizar OpenCode",
  "opencodeUpdate.toast.failed.description": "La actualización de OpenCode falló.",
  "opencodeUpdate.toast.reload.message": "Reiniciando OpenCode...",
  "memoryDebugPanel.title": "Panel de depuración",
  "memoryDebugPanel.tabs.memory": "Memoria",
  "memoryDebugPanel.tabs.streaming": "Transmisión",
  "memoryDebugPanel.section.sessionsInMemory": "Sesiones en memoria",
  "memoryDebugPanel.section.uiStreamingMetrics": "Métricas de streaming de UI",
  "memoryDebugPanel.section.vscodeBridgeMetrics": "Métricas del puente de VS Code",
  "memoryDebugPanel.section.noUiSamples": "No hay muestras de transmisión de UI aún. Inicia una transmisión y mantén abierto este panel.",
  "memoryDebugPanel.section.noVscodeSamples": "No hay muestras de puente VS Code aún.",
  "memoryDebugPanel.metric.totalMessages": "Mensajes totales",
  "memoryDebugPanel.metric.cachedSessions": "Sesiones en caché",
  "memoryDebugPanel.metric.userMessages": "Mensajes del usuario",
  "memoryDebugPanel.metric.assistantMessages": "Mensajes del asistente",
  "memoryDebugPanel.metric.viewportWindow": "Ventana de visualización",
  "memoryDebugPanel.metric.zombieTimeout": "Timeout zombie",
  "memoryDebugPanel.metric.githubTotalRequests": "Solicitudes totales de GitHub",
  "memoryDebugPanel.metric.metrics": "Métricas",
  "memoryDebugPanel.metric.samples": "Muestras",
  "memoryDebugPanel.metric.lastUpdate": "Última actualización",
  "memoryDebugPanel.metric.uiMetrics": "Métricas de UI",
  "memoryDebugPanel.metric.vscodeMetrics": "Métricas de VS Code",
  "memoryDebugPanel.metric.messageListRenders": "Renderizados de MsgList",
  "memoryDebugPanel.metric.messageListStreamRenders": "Renderizados de MsgList en streaming",
  "memoryDebugPanel.metric.chatMessageRenders": "Renderizados de ChatMessage",
  "memoryDebugPanel.metric.chatMessageStreamRenders": "Renderizados de ChatMessage en streaming",
  "memoryDebugPanel.metric.chatMessageStaticDuringStream": "ChatMessage estático durante streaming",
  "memoryDebugPanel.metric.chatMessageStaticOutsideActiveTurn": "ChatMessage estático fuera del turno activo",
  "memoryDebugPanel.metric.messagesValue": "{count} mensajes",
  "memoryDebugPanel.metric.minutesValue": "{count} minutos",
  "memoryDebugPanel.metric.msgsValue": "{count} mensajes",
  "memoryDebugPanel.metric.roleMsgsValue": "U {user} / A {assistant}",
  "memoryDebugPanel.metric.countValue": "conteo {value}",
  "memoryDebugPanel.metric.avgValue": "prom. {value}",
  "memoryDebugPanel.metric.maxValue": "máx. {value}",
  "memoryDebugPanel.metric.totalValue": "total {value}",
  "memoryDebugPanel.actions.logState": "Registrar estado",
  "memoryDebugPanel.actions.copyJson": "Copiar JSON",
  "memoryDebugPanel.tooltip.logCurrentState": "Registrar el estado actual de memoria en la consola del navegador",
  "memoryDebugPanel.streaming.copy.copied": "JSON de depuración en streaming copiado",
  "memoryDebugPanel.streaming.copy.failed": "No se pudo copiar JSON",
  "memoryDebugPanel.streaming.copy.hint": "Copia exportaciones de métricas de UI como de métricas de VS Code en formato JSON",
  "memoryDebugPanel.common.idle": "inactivo",
  "memoryDebugPanel.common.live": "en vivo",
  "memoryDebugPanel.common.notAvailable": "n/a",
  "memoryDebugPanel.common.untitled": "Sin título",
  "directoryTree.field.newDirectoryPlaceholder": "new_directory",
  "textarea.resizeHandleAria": "Ajustar textarea",
  "sidebar.resize.leftPanelAria": "Ajustar panel izquierdo",
  "sidebar.resize.rightPanelAria": "Ajustar panel derecho",
  "mainLayout.mobile.closeDrawerAria": "Cerrar drawer",
  "sortableTabsStrip.aria.tabs": "Pestañas",
  "openChamberLogo.aria.logo": "Logo de OpenChamber",
  "markdownRenderer.table.actions.copyTitle": "Copiar tabla",
  "markdownRenderer.table.actions.downloadTitle": "Descargar tabla",
  "markdownRenderer.table.toast.downloadedAsFormat": "Tabla descargada como {format}",
  "markdownRenderer.mermaid.actions.copyTitle": "Copiar",
  "markdownRenderer.mermaid.actions.copySourceTitle": "Copiar fuente",
  "markdownRenderer.mermaid.actions.downloadSvgTitle": "Descargar SVG",
  "markdownRenderer.mermaid.toast.downloadFailed": "No se pudo descargar el diagrama",
  "contextPanel.preview.title": "Vista previa",
  "contextPanel.preview.description": "Usa Acciones del proyecto o el botón Preview del terminal para abrir una vista previa.",
  "contextPanel.preview.startPreview": "Iniciar vista previa",
  "contextPanel.preview.starting": "Iniciando...",
  "contextPanel.preview.noDevServer": "No se encontro un comando de servidor de desarrollo. Configura una accion del proyecto o anade un script \"dev\" a package.json.",
  "contextPanel.preview.startFailed": "Fallo al iniciar el servidor de vista previa.",
  "contextPanel.preview.serverExited": "El servidor de desarrollo se cerro inesperadamente.",
  "contextPanel.preview.noUrlDetected": "El servidor de desarrollo se inicio, pero no se detecto ningun URL en su salida. Abre la pestaña de terminal de vista previa para ver los registros.",
  "contextPanel.preview.serverExitedWithLog": "El servidor de desarrollo terminó inesperadamente. Última salida:\n\n{log}",
  "contextPanel.preview.noUrlDetectedWithLog": "El servidor de desarrollo no respondió. Última salida:\n\n{log}",
  "contextPanel.preview.startingServer": "Iniciando servidor de desarrollo...",
  "contextPanel.preview.startingServerHint": "Esperando a que el servidor acepte conexiones.",
  "contextPanel.preview.console.open": "Abrir consola de vista previa",
  "contextPanel.preview.console.waiting": "Esperando la consola de vista previa",
  "contextPanel.preview.console.title": "Consola de vista previa",
  "contextPanel.preview.console.attach": "Adjuntar",
  "contextPanel.preview.console.copy": "Copiar",
  "contextPanel.preview.console.clear": "Limpiar",
  "contextPanel.preview.console.empty": "Aún no hay eventos de consola de vista previa.",
  "contextPanel.preview.console.noFilteredEvents": "Ningún evento coincide con este filtro.",
  "contextPanel.preview.console.runtimeError": "Error de ejecución",
  "contextPanel.preview.console.copied": "Consola de vista previa copiada",
  "contextPanel.preview.console.copyFailed": "No se pudo copiar la consola de vista previa",
  "contextPanel.preview.console.attached": "Consola de vista previa adjuntada al chat",
  "contextPanel.preview.console.attachNoSession": "Abre una sesión de chat antes de adjuntar logs de vista previa",
  "contextPanel.preview.console.attachAnnotation": "Estos son logs de la consola del navegador del servidor de desarrollo que se ejecuta para este proyecto.",
  "contextPanel.preview.inspect.toggle": "Inspeccionar elemento de vista previa",
  "contextPanel.preview.inspect.attached": "Anotación de vista previa adjuntada al chat",
  "contextPanel.preview.inspect.attachNoSession": "Abre una sesión de chat antes de adjuntar anotaciones de vista previa",
  "contextPanel.preview.inspect.attachAnnotation": "Este es un elemento DOM seleccionado de la vista previa integrada.",
  "contextPanel.preview.inspect.attachAnnotationWithScreenshot": "Este es un elemento DOM seleccionado de la vista previa integrada. Se adjunta una captura del área visible de la vista previa con el elemento resaltado.",
  "contextPanel.preview.console.filter.all": "Todo",
  "contextPanel.preview.console.filter.errors": "Errores",
  "contextPanel.preview.console.filter.warnings": "Advertencias",
  "contextPanel.preview.console.filter.logs": "Registros",
  "common.date.today": "Today",
  "common.date.yesterday": "Yesterday",
  "common.date.yesterdayWithTime": "Yesterday {time}",
  "common.relative.justNow": "Just now",
  "common.relative.minutesAgoShort": "{count}min ago",
  "common.relative.hoursAgoShort": "{count}h ago",
  "common.relative.daysAgoShort": "{count}d ago",
  "common.relative.weeksAgoShort": "{count}w ago",
  "common.relative.yearsAgoShort": "{count}y ago",
  "common.relative.daysAgoCompact": "{count}d ago",
  "common.relative.weeksAgoCompact": "{count}w ago",
  "common.relative.yearsAgoCompact": "{count}y ago",
  "contextFileOpen.failure.tooLarge": "File is too large to open (>{count} lines)",
  "contextFileOpen.failure.missing": "File not found",
  "contextFileOpen.failure.unreadable": "Failed to open file",
  "quota.window.5h": "5-Hour",
  "quota.window.7d": "7-Day Limit",
  "quota.window.7dSonnet": "7-Day Sonnet Limit",
  "quota.window.7dOpus": "7-Day Opus Limit",
  "quota.window.weekly": "Weekly Limit",
  "quota.window.daily": "Daily",
  "quota.window.monthly": "Monthly Limit",
  "quota.window.credits": "Credits",
  "quota.window.creditsBalance": "Credits Balance",
  "quota.window.billingCycle": "Billing Cycle",
  "quota.window.auto": "Auto",
  "quota.window.api": "API",
  "quota.window.planLimit": "Plan Limit",
  "quota.window.onDemand": "On-demand",
  "quota.window.session": "Session",
  "quota.window.premium": "Premium Interactions",
  "quota.window.chat": "Chat Requests",
  "quota.window.completions": "Completions",
  "quota.window.premiumInteractions": "Premium interactions",
};
