Files
openchamber/packages/ui/src/lib/i18n/messages/es.ts
T
Cursor AgentandSerhii Dziupin abb396e080 fix(walkthrough): block unauthenticated providers with a friendly refusal
When the walkthrough small model resolves to a provider with no usable
login, readiness was still ready and generate returned a raw 500 message.
Refuse up front with no-provider-login and surface a blocker instead.

Closes openchamber/openchamber#2607

Co-authored-by: Serhii Dziupin <makeittech@users.noreply.github.com>
2026-08-04 11:29:58 +00:00

2925 lines
204 KiB
TypeScript

import type { I18nKey } from './en';
import { settingsDict } from './es.settings';
export const dict: Record<I18nKey, string> = {
...settingsDict,
'terminalView.actions.attachSelection': 'Adjuntar salida seleccionada',
'terminalView.actions.restart': 'Reiniciar terminal',
'chat.message.terminalContext': '{terminal}, líneas {start}-{end}',
'chat.chatInput.terminalContext': '{terminal}, líneas {start}-{end}',
'chat.chatInput.terminalContextRemove': 'Eliminar contexto del terminal',
'chat.chatInput.prCommentContext': 'Comentarios del PR',
'chat.chatInput.prCommentContextRemove': 'Quitar el contexto de comentarios del PR',
'chat.chatInput.prCheckContext': 'Comprobaciones del PR fallidas',
'chat.chatInput.prCheckContextRemove': 'Quitar el contexto de comprobaciones del PR',
"common.loading": "Cargando...",
"common.unavailable": "No disponible",
"common.language.english": "Inglés",
"common.language.german": "Alemán",
"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.notice.unreachable": "No se pudo conectar con {label}. Comprueba que el servidor esté en marcha.",
"mobile.connect.notice.authExpired": "El acceso a {label} caducó o fue revocado. Inicia sesión de nuevo.",
"mobile.connect.recovery.description": "No se pudo conectar con el servidor guardado. Comprueba que esté en marcha o elige otra instancia.",
"mobile.connect.scanQr": "Escanear código QR",
"mobile.connect.welcome.scanHint": "En tu ordenador, abre «Añadir un dispositivo» para mostrar un código QR y escanéalo aquí.",
"mobile.connect.advanced": "Avanzado",
"mobile.connect.manual.toggle": "Conectar por dirección",
"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.relay.badge": "a través de OpenChamber Relay",
"mobile.connect.error.urlRequired": "Introduce una URL de servidor.",
"mobile.connect.splash.connectingTo": "Conectando al dispositivo:",
"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.addManual": "Añadir por dirección",
"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.status.connectedDirect": "Conectado · Red local",
"mobile.instances.status.connectedRelay": "Conectado · Relay privado",
"mobile.instances.saveEdit": "Guardar cambios",
"mobile.nav.changes": "Cambios",
"mobile.nav.settings": "Ajustes",
"mobile.surface.closeAria": "Cerrar",
"mobile.header.openWorkspaceAria": "Abrir panel de trabajo",
"mobile.header.openMetadataAria": "Abrir metadatos de la sesión",
"mobile.header.metadata.context": "Contexto",
"mobile.header.metadata.usage": "Uso",
"mobile.menu.titleAria": "Herramientas del espacio de trabajo",
"mobile.menu.files": "Archivos",
"mobile.menu.changes": "Cambios",
"mobile.menu.terminal": "Terminal",
"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 para reordenar los proyectos. Toca un proyecto para mostrar sus worktrees y arrástralos también. Toca la marca para terminar.",
"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.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.renameSessionAria": "Renombrar {title}",
"mobile.sessions.renameError": "No se pudo renombrar la sesión",
"mobile.sessions.deleteSessionAria": "Eliminar {title}",
"mobile.sessions.confirmDeleteSessionAria": "Confirmar eliminación de {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.editAria": "Editar archivo",
"mobile.files.doneEditingAria": "Terminar edición",
"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.goal.label": "Ejecutar como objetivo",
"sessions.scheduledTasks.editor.goal.aria": "Ejecutar esta tarea como un objetivo que el agente persigue hasta completarlo",
"sessions.scheduledTasks.editor.goal.budgetLabel": "Presupuesto de tokens",
"sessions.scheduledTasks.editor.goal.budgetAria": "Limitar el objetivo a un presupuesto de tokens",
"sessions.scheduledTasks.editor.permissionAutoAccept.label": "Aceptar permisos automáticamente",
"sessions.scheduledTasks.editor.permissionAutoAccept.aria": "Iniciar la sesión de la tarea con la aceptación automática de permisos activada",
"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.sortProjects": "Ordenar proyectos",
"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.projectSort.manual": "Manual",
"sessions.sidebar.header.projectSort.aToZ": "A → Z",
"sessions.sidebar.header.projectSort.zToA": "Z → A",
"sessions.sidebar.header.projectSort.dateAdded": "Más recientes",
"sessions.sidebar.header.projectSort.recent": "Recientes",
"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.archivePage.allDirectories": "Todos los directorios",
"sessions.sidebar.header.displayMode.stickyHeaders": "Encabezados de proyecto fijos",
"sessions.sidebar.header.grouping.label": "Agrupar sesiones",
"sessions.sidebar.header.grouping.byWorktree": "Por worktree",
"sessions.sidebar.header.grouping.flat": "Lista plana",
"sessions.sidebar.project.actions.manageWorktrees": "Gestionar worktrees",
"sessions.worktreesPage.title": "Worktrees en {project}",
"sessions.worktreesPage.description": "Crea, inspecciona y elimina los worktrees de git de este proyecto.",
"sessions.worktreesPage.closeAria": "Cerrar worktrees",
"sessions.scheduledTasks.page.closeAria": "Cerrar tareas programadas",
"sessions.sidebar.nav.archive": "Archivo",
"sessions.archivePage.title": "Archivo",
"sessions.archivePage.countSingle": "{count} sesión archivada",
"sessions.archivePage.countPlural": "{count} sesiones archivadas",
"sessions.archivePage.closeAria": "Cerrar archivo",
"sessions.archivePage.searchPlaceholder": "Buscar sesiones archivadas",
"sessions.archivePage.empty.noArchived": "No hay sesiones archivadas",
"sessions.archivePage.empty.noMatches": "No hay sesiones archivadas coincidentes",
"sessions.archivePage.otherProjects": "otros proyectos",
"sessions.archivePage.deleteProject": "Eliminar todas las sesiones archivadas de este proyecto",
"sessions.archivePage.deleteProjectAria": "Eliminar todas las sesiones archivadas de {label}",
"sessions.archivePage.deleteSessionAria": "Eliminar {title}",
"sessions.archivePage.restoreSessionAria": "Restaurar {title}",
"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.bulkActions.restore": "Restaurar",
"sessions.sidebar.bulkActions.restoredSingle": "Se restauró {count} sesión",
"sessions.sidebar.bulkActions.restoredPlural": "Se restauraron {count} sesiones",
"sessions.sidebar.bulkActions.failedRestoreSingle": "No se pudo restaurar {count} sesión",
"sessions.sidebar.bulkActions.failedRestorePlural": "No se pudo restaurar {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.edit": "Editar",
"sessions.sidebar.project.actions.newDraftSession": "Nueva sesión de borrador",
"sessions.sidebar.session.menu.rename": "Cambiar nombre",
"sessions.sidebar.session.menu.copyId": "Copiar ID de sesión",
"sessions.sidebar.session.copyId.success": "ID de sesión copiado",
"sessions.sidebar.session.copyId.error": "No se pudo copiar el ID de sesión",
"header.sessionActions.openAria": "Abrir acciones de sesión",
"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.moveToWorktree": "Mover a un worktree nuevo",
"sessions.sidebar.session.moveToWorktree.success": "Sesión movida a un worktree nuevo",
"sessions.sidebar.session.moveToWorktree.failed": "No se pudo mover la sesión a un worktree nuevo",
"sessions.sidebar.session.moveToWorktree.tooltip": "Crea un worktree nuevo desde la rama actual, transfiere los cambios sin confirmar y mueve allí esta sesión y sus subsesiones.",
"sessions.sidebar.session.moveToWorktree.tooltipBusy": "Disponible cuando la sesión está inactiva. Detén la actividad actual o espera a que termine.",
"sessions.sidebar.session.moveToWorktree.tooltipMoving": "Esta sesión ya se está moviendo a un worktree nuevo.",
"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.failedLoadHistory": "No se pudo cargar el historial completo de la sesión",
"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.movingToWorktree": "Moviendo la sesión a un worktree nuevo",
"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": "El enlace para compartir se copió al portapapeles.",
"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.session.restore.success": "Sesión restaurada",
"sessions.sidebar.session.restore.error": "No se pudo restaurar 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.updateBranch": "Actualizar rama",
"gitView.header.openPullRequest": "Abrir pull request",
"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.history.refresh": "Actualizar",
"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.inProgressTitleManyConflicts": "{operation} en curso: {count} conflictos",
"gitView.operation.inProgressTitleOneConflict": "{operation} en curso: {count} conflicto",
"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.readyToContinueHint": "Todos los conflictos están resueltos. Continúa para finalizar la operación.",
"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": "Adjuntar comprobaciones fallidas",
"gitView.pr.actions.resolveFailedChecksAria": "Adjuntar comprobaciones fallidas al contexto del chat",
"gitView.pr.actions.savePr": "Guardar PR",
"gitView.pr.actions.savePrAria": "Guardar cambios de la PR",
"gitView.pr.actions.sendCommentToAgent": "Adjuntar comentario al contexto del chat",
"gitView.pr.actions.sendCommentToAgentAria": "Adjuntar este comentario al contexto del chat",
"gitView.pr.actions.sendToAgent": "Adjuntar al chat",
"gitView.pr.actions.shareComments": "Adjuntar comentarios",
"gitView.pr.actions.shareCommentsAria": "Adjuntar los comentarios del pull request al contexto del chat",
"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.segment.overview": "Resumen",
"gitView.pr.segment.checks": "Comprobaciones",
"gitView.pr.segment.comments": "Comentarios",
"gitView.pr.comments.addAll": "Adjuntar todo al chat",
"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.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.pr": "Pull Request",
"contextPanel.mode.context": "Contexto",
"contextPanel.mode.preview": "Vista previa",
"contextPanel.mode.browser": "Navegador",
"contextRail.aria.rail": "Superficies del panel",
"contextPanel.editorEmpty.title": "Ningún archivo abierto",
"contextPanel.editorEmpty.description": "Elige un archivo del árbol para empezar a editar.",
"contextRail.surface.editor.description": "Editar archivos del proyecto",
"contextRail.surface.git.description": "Commits, ramas y pull requests",
"contextRail.surface.terminal.description": "Terminal integrada",
"contextRail.surface.diff.description": "Revisar cambios en curso",
"contextPanel.mode.walkthrough": "Recorrido",
"contextRail.surface.walkthrough.description": "Un recorrido por tus cambios guiado por IA",
"walkthrough.scope.all": "Todo sin confirmar",
"walkthrough.scope.group.workingTree": "Árbol de trabajo",
"walkthrough.scope.group.committed": "Confirmado",
"walkthrough.scope.staged": "Preparados",
"walkthrough.scope.working": "Sin preparar",
"walkthrough.scope.branch": "Esta rama",
"walkthrough.scope.selectorAria": "Elegir qué revisar",
"walkthrough.language.menuLabel": "Idioma del recorrido",
"walkthrough.missing.language": "Aún no hay un recorrido en {requested}: se muestra el de {shown}.",
"walkthrough.missing.model": "Aún no hay un recorrido de {model}: se muestra el último generado aquí.",
"walkthrough.missing.languageAndModel": "Aún no hay un recorrido en este idioma con este modelo: se muestra el último generado aquí.",
"walkthrough.language.selectorAria": "Elegir el idioma del recorrido",
"walkthrough.scope.pullRequest": "PR n.º {number}",
"walkthrough.action.generate": "Generar recorrido",
"walkthrough.action.regenerate": "Regenerar",
"walkthrough.action.cancel": "Cancelar",
"walkthrough.action.next": "Paso siguiente",
"walkthrough.action.previous": "Paso anterior",
"walkthrough.action.refresh": "Actualizar",
"walkthrough.action.open": "Recorrido con IA",
"walkthrough.stage.collecting": "Reuniendo los cambios",
"walkthrough.stage.asking": "Esperando al modelo",
"walkthrough.stage.assembling": "Montando el recorrido",
"walkthrough.empty.title": "Todavía no hay recorrido",
"walkthrough.empty.description": "Crea una ruta de lectura guiada por estos cambios. Esto llama al modelo pequeño y consume tokens, así que solo se ejecuta cuando lo pides.",
"walkthrough.stale.banner": "El código cambió después de esta revisión. Pasos desactualizados: {count}",
"walkthrough.stop.staleAll": "Todo el código que describía este paso ha cambiado.",
"walkthrough.stop.stalePartial": "Parte del código que describía este paso ha cambiado. Fragmentos perdidos: {count}",
"walkthrough.stop.staleShort": "Desactualizado",
"walkthrough.stop.noCode": "El código de este paso no está en el diff actual.",
"walkthrough.uncovered.title": "Cambios que la revisión omitió: {count}",
"walkthrough.uncovered.description": "La revisión los consideró rutinarios. Despliega para revisarlos tú mismo.",
"walkthrough.toc.moreFiles": "Más archivos: {count}",
"walkthrough.toc.uncovered": "Sin cubrir: {count}",
"walkthrough.toc.resize": "Cambiar el ancho de la columna de contenidos",
"walkthrough.importance.critical": "Crítico",
"walkthrough.importance.context": "Contexto",
"walkthrough.blocked.noModel.title": "No hay ningún modelo pequeño disponible",
"walkthrough.blocked.noModel.description": "Inicia sesión en un proveedor de modelos para generar una revisión.",
"walkthrough.blocked.noProviderLogin.title": "Este proveedor no tiene sesión iniciada",
"walkthrough.blocked.noProviderLogin.description": "{model} necesita un inicio de sesión en su proveedor. Inicia sesión o elige un modelo de un proveedor que ya uses.",
"walkthrough.blocked.noProviderLogin.descriptionUnknownModel": "El modelo seleccionado necesita un inicio de sesión en su proveedor. Inicia sesión o elige un modelo de un proveedor que ya uses.",
"walkthrough.blocked.emptyDiff.title": "Nada que revisar",
"walkthrough.blocked.emptyDiff.description": "Todavía no hay cambios en este ámbito.",
"walkthrough.blocked.contextTooSmall.title": "Este diff es demasiado grande para el modelo actual",
"walkthrough.blocked.contextTooSmall.description": "{model} admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.",
"walkthrough.blocked.structuredOutput.title": "Este modelo no puede generar salida estructurada",
"walkthrough.blocked.structuredOutput.description": "{model} no admite las respuestas estructuradas que necesita un recorrido.",
"walkthrough.blocked.chooseModel": "Elige el modelo pequeño",
"walkthrough.blocked.outputExhausted.title": "El modelo se quedó sin presupuesto de respuesta",
"walkthrough.blocked.outputExhausted.description": "{model} gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.",
"walkthrough.blocked.outputExhausted.descriptionUnknownModel": "El modelo pequeño gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.",
"walkthrough.blocked.onlyGenerated.title": "Solo cambiaron archivos generados",
"walkthrough.blocked.onlyGenerated.description": "Todos los cambios son archivos de bloqueo u otra salida generada por herramientas, que la revisión omite a propósito.",
"walkthrough.blocked.contextTooSmall.descriptionUnknownModel": "El modelo pequeño admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.",
"walkthrough.blocked.structuredOutput.descriptionUnknownModel": "El modelo pequeño no admite las respuestas estructuradas que necesita un recorrido.",
"contextRail.surface.plan.description": "Ver el plan actual",
"contextRail.surface.pr.description": "Crea, revisa y fusiona el pull request de la rama actual",
"contextRail.surface.notes.description": "Notas, tareas y planes del proyecto",
"contextRail.surface.context.description": "Contexto de la sesión y uso de tokens",
"contextRail.surface.browser.description": "Navegador web integrado",
"contextRail.surface.preview.description": "Vista previa del servidor de desarrollo",
"contextRail.surface.chat.description": "Sesión abierta en paralelo",
"contextRail.surface.notes": "Notas del proyecto",
"contextRail.editorTree.toggle": "Alternar árbol de archivos",
"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.download": "Descargar",
"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.collapseAllTitle": "Contraer todas las carpetas",
"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.switchToEditMode": "Cambiar al modo de edición",
"filesView.editor.switchToPreviewMode": "Cambiar al modo de vista previa",
"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.editor.cannotPreviewBinary": "No se puede previsualizar el archivo binario",
"filesView.editor.binaryFileDescription": "Este archivo es binario y no se puede editar en OpenChamber. Descárgalo para abrirlo con otra aplicación.",
"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.noLastTurnChanges": "No hay cambios del último turno 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.lastTurn": "Último turno",
"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})",
"chat.recap.aria": "Resumen de la sesión",
"chat.recap.label": "Resumen:",
"chat.goal.dialog.titleCreate": "Definir objetivo de sesión",
"chat.goal.dialog.titleManage": "Objetivo de sesión",
"chat.goal.dialog.objectiveLabel": "Objetivo",
"chat.goal.dialog.objectivePlaceholder": "Describe el estado final que el agente debe alcanzar y verificar…",
"chat.goal.dialog.budgetLabel": "Presupuesto de tokens",
"chat.goal.dialog.evaluationModelLabel": "Modelo de evaluación",
"chat.goal.status.active": "Activo",
"chat.goal.status.evaluating": "Evaluando…",
"chat.goal.status.paused": "En pausa",
"chat.goal.status.blocked": "Bloqueado",
"chat.goal.status.budgetLimited": "Presupuesto alcanzado",
"chat.goal.status.complete": "Completado",
"chat.goal.usage.tokens": "{used} tokens",
"chat.goal.usage.tokensWithBudget": "{used}/{budget} tokens",
"chat.goal.usage.turns": "{turns} continuaciones",
"chat.goal.action.pause": "Pausar",
"chat.goal.action.resume": "Reanudar",
"chat.goal.action.markComplete": "Marcar como completado",
"chat.goal.action.clear": "Eliminar objetivo",
"chat.goal.action.cancel": "Cancelar",
"chat.goal.action.save": "Guardar objetivo",
"chat.goal.action.start": "Iniciar objetivo",
"chat.goal.toast.actionFailed": "No se pudo actualizar el objetivo",
"chat.goal.toast.distillFallback": "El objetivo superó el límite y no se pudo destilar — el auditor usa una versión recortada",
"chat.goal.row.aria": "Objetivo de sesión — abrir detalles",
"chat.goal.button.createAria": "Definir un objetivo de sesión",
"chat.goal.button.manageAria": "Gestionar el objetivo de sesión",
"chat.goal.button.armAria": "Iniciar un objetivo con el próximo mensaje",
"chat.goal.counter.aria": "Límite de longitud del objetivo",
"chat.goal.button.disarmAria": "Objetivo armado — toca para desactivarlo",
"chat.goal.button.cancelAria": "Objetivo en curso — toca para cancelarlo",
"chat.goal.cancelDialog.title": "¿Cancelar este objetivo?",
"chat.goal.cancelDialog.description": "El agente dejará de trabajar automáticamente hacia este objetivo.",
"chat.goal.cancelDialog.keep": "Mantener objetivo",
"chat.goal.cancelDialog.confirm": "Cancelar objetivo",
"chat.suggestion.applyAria": "Usar mensaje sugerido",
"chat.suggestion.dismissAria": "Descartar sugerencia",
"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.altLabel": "Alt",
"terminalView.quickKeys.altModifierAria": "Modificador Alt",
"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.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.addSelectionToChat": "Agregar selección al chat",
"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.togglePromptNavigator": "Mostrar u ocultar navegador de prompts",
"helpDialog.item.abortActiveRun": "Detener ejecución activa (doble presionar)",
"helpDialog.item.toggleRightSidebar": 'Alternar panel de contexto',
"helpDialog.item.openRightSidebarGitTab": 'Abrir superficie de Git',
"helpDialog.item.openRightSidebarFilesTab": 'Abrir superficie de archivos',
"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.craftGoal.label": "Crear un Goal",
"chat.draftPresets.scheduleTask.label": "Programar una tarea",
"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.promptNavigator.aria": "Navegación de prompts",
"chat.promptNavigator.currentPrompt": "Prompt actual",
"chat.promptNavigator.loadMore": "Cargar más prompts",
"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.modelStatus": "{model} · {status}",
"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.craftGoalDescription": "Convierte una idea o tarea en un Goal claro y verificable.",
"chat.commandAutocomplete.command.scheduleTaskDescription": "Define una tarea programada mediante un diálogo guiado.",
"chat.chatInput.toast.craftGoalFailed": "No se pudo iniciar la creación del Goal",
"chat.chatInput.toast.scheduleTaskFailed": "No se pudo iniciar la configuración de la tarea programada",
"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.container.sessionLoadError.title": "No se pudo cargar la sesión",
"chat.container.sessionLoadError.description": "Comprueba la conexión e intenta cargar esta sesión de nuevo.",
"chat.container.sessionLoadError.retry": "Reintentar",
"sessions.sidebar.group.empty.loadingSessions": "Cargando sesiones…",
"sessions.sidebar.group.empty.loadFailed": "No se pudieron actualizar las sesiones.",
"sessions.sidebar.group.empty.retry": "Reintentar",
"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.pinContext": "Fijar en el contexto (se conserva tras la compactación)",
"chat.messageBody.actions.unpinContext": "Quitar del contexto (no se conservará tras la compactación)",
"chat.messageBody.actions.contextPinFailed": "No se pudo actualizar el mensaje fijado en el contexto",
"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.unsupportedAttachmentModalities": "{model} no admite la entrada de {modalities} necesaria para {files}. Aún puedes enviar el mensaje, pero estos adjuntos podrían ignorarse.",
"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.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.dataUrlMalformed": "La URL de datos de Mermaid no tiene un formato válido.",
"chat.toolOutputDialog.mermaid.invalidLocalPath": "La ruta del archivo local de Mermaid no es válida.",
"chat.toolOutputDialog.mermaid.readFileFailedWithStatus": "No se pudo leer el archivo de Mermaid. Estado: {status}.",
"chat.toolOutputDialog.mermaid.unsupportedUrlProtocol": "El protocolo de la URL de Mermaid no es compatible.",
"chat.toolOutputDialog.mermaid.loadFailedWithStatus": "No se pudo cargar el diagrama de Mermaid. Estado: {status}.",
"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.showNavigableJson": "Mostrar JSON navegable",
"chat.toolPart.openFileAtFirstChange": "Abrir archivo en el primer cambio",
"chat.toolPart.openFileDiff": "Abrir diferencias del archivo",
"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.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.autoDiscoverTooltip": "Detecta y ejecuta automáticamente el servidor de desarrollo",
"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. Si abres OpenChamber desde otro dispositivo en tu red local, activa Desktop Network Access en la app de escritorio y usa la dirección LAN que aparece en Ajustes.",
"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.actions.openMobileUpdate": "Abrir actualización",
"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",
"mobileUpdate.toast.available.title": "Actualización de OpenChamber disponible",
"mobileUpdate.toast.available.description": "La versión {version} está lista para Android.",
"mobileUpdate.toast.actions.download": "Descargar",
"mobileUpdate.toast.actions.dismiss": "Descartar",
"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.code.actions.copyTitle": "Copiar código",
"markdownRenderer.code.actions.copiedTitle": "Copiado",
"markdownRenderer.table.actions.copyTitle": "Copiar tabla",
"markdownRenderer.code.actions.enableWrapTitle": "Activar ajuste de línea",
"markdownRenderer.code.actions.disableWrapTitle": "Desactivar ajuste de línea",
"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.actions.zoomInTitle": "Acercar",
"markdownRenderer.mermaid.actions.zoomOutTitle": "Alejar",
"markdownRenderer.mermaid.actions.resetViewTitle": "Restablecer vista",
"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",
};