@openchambery/web 1.18.4-beta.1 → 1.18.4-beta.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/cli.test.js +25 -0
- package/bin/lib/DOCUMENTATION.md +2 -1
- package/bin/lib/cli-args.js +19 -0
- package/bin/lib/commands-serve.js +73 -4
- package/dist/assets/{AgentAvatar-BvhXxFvg.js → AgentAvatar-DAnelAnB.js} +1 -1
- package/dist/assets/{AssistantView-hlKg0oWu.js → AssistantView-C7zpkYc-.js} +1 -1
- package/dist/assets/{ChatContainer-DNED1Svm.js → ChatContainer-tzO5rvhQ.js} +20 -20
- package/dist/assets/{DiagramView-XeulOlNU.js → DiagramView-D3WjJqff.js} +1 -1
- package/dist/assets/{FadeInOnReveal-98buIVdv.js → FadeInOnReveal-QxF1vuqX.js} +1 -1
- package/dist/assets/{Icon-BhSwbLaF.js → Icon-D-X70irR.js} +1 -1
- package/dist/assets/{MarkdownRendererImpl-d9QBiK5G.js → MarkdownRendererImpl-CBtszecD.js} +1 -1
- package/dist/assets/{MobileDetailNavigation-B4jWbHYc.js → MobileDetailNavigation-CP3L6x1-.js} +1 -1
- package/dist/assets/MobileShareBridge-BCuk5mbi.js +4 -0
- package/dist/assets/MobileSurface-Dz_oFrar.js +2 -0
- package/dist/assets/{MultiRunWindow-D_arSb26.js → MultiRunWindow-2JHpZSxf.js} +1 -1
- package/dist/assets/{OnboardingScreen-C1n_wVb-.js → OnboardingScreen-BhSzVmYo.js} +1 -1
- package/dist/assets/{OverlayScrollbar-CXFN6Cqq.js → OverlayScrollbar-CHXk_jvF.js} +1 -1
- package/dist/assets/{SettingsView-DXfuFYmm.js → SettingsView-_x5DRAHK.js} +10 -10
- package/dist/assets/{SettingsWindow-Doxf71u1.js → SettingsWindow-jWfQNCAS.js} +1 -1
- package/dist/assets/{TerminalView-DUViq7pn.js → TerminalView-DLlxlIWQ.js} +1 -1
- package/dist/assets/{ToolOutputDialog-CqI4XTnv.js → ToolOutputDialog-Cy-cG7Vn.js} +1 -1
- package/dist/assets/appThemeRegistry-DWUqOAxX.js +2 -0
- package/dist/assets/{button-BQY5ugjh.js → button-CwLFtUNT.js} +1 -1
- package/dist/assets/{clipboard-BvJ7NunE.js → clipboard-DhOMUCwT.js} +1 -1
- package/dist/assets/{collapsible-CqcZGw3W.js → collapsible-CP1-_pY6.js} +1 -1
- package/dist/assets/{context-menu-ouoIbvaf.js → context-menu-BOZfQke9.js} +1 -1
- package/dist/assets/desktopHosts-Cr3LE55y.js +1 -0
- package/dist/assets/desktopRelayRestore-VfMK9fdk.js +1 -0
- package/dist/assets/{diagram-B8D9Klct.js → diagram-rYL80jaS.js} +1 -1
- package/dist/assets/{dialog-sGFkIKP2.js → dialog-BoAAoL5Z.js} +1 -1
- package/dist/assets/{es-BuinIayO.js → es-BXQb1dPR.js} +2 -2
- package/dist/assets/{fileQueries-BSE4ycQt.js → fileQueries-CXaw4b1W.js} +1 -1
- package/dist/assets/{fr-CT7us58h.js → fr-BTyDIvxw.js} +3 -3
- package/dist/assets/{gitApi-DOxZ3K8G.js → gitApi-BNZDCH9W.js} +1 -1
- package/dist/assets/{input-CgIoxUJc.js → input-D52Jicb1.js} +1 -1
- package/dist/assets/{insertionBoundaries-AR76O7-L.js → insertionBoundaries-CFZyQPIS.js} +1 -1
- package/dist/assets/{ja-CCuAH4nO.js → ja-fcQgtBFy.js} +2 -2
- package/dist/assets/{ko-lXbhGt6P.js → ko-CgoVt1eb.js} +2 -2
- package/dist/assets/{main-DD_phlTS.js → main-5R9S2b57.js} +2 -2
- package/dist/assets/{main-Ddk6x18e.js → main-BNYmBvzd.js} +13 -13
- package/dist/assets/{markdown-worker-C5Om4TVK.js → markdown-worker-N9d_Z-7s.js} +1 -1
- package/dist/assets/{markdownTheme-BdF4C4-o.js → markdownTheme-Bl0Sy0Lf.js} +1 -1
- package/dist/assets/{miniChat-CZJW95dj.js → miniChat-CExPRYpL.js} +2 -2
- package/dist/assets/mobile-C7QGpUuZ.js +2 -0
- package/dist/assets/{multirun-kbDx1h6a.js → multirun-QU06PjW9.js} +1 -1
- package/dist/assets/persistence-vZ7H8WKh.js +3 -0
- package/dist/assets/pl-DVDnk2fT.js +15 -0
- package/dist/assets/platform-CTaznShj.js +2 -0
- package/dist/assets/{projectMeta-CjgYEZy8.js → projectMeta-CVVj8TB_.js} +2 -2
- package/dist/assets/{pt-BR-DWbGs1bc.js → pt-BR-ofV_Qcd_.js} +2 -2
- package/dist/assets/radio-CTMWDitv.js +1 -0
- package/dist/assets/{renderElectronMiniChatApp-Cy5wT-ok.js → renderElectronMiniChatApp-QBAHpTW_.js} +2 -2
- package/dist/assets/{renderMobileApp-B_sU9Gpw.js → renderMobileApp-CodaHpQJ.js} +5 -5
- package/dist/assets/runtimeConfig-BWMVRpO_.js +2 -0
- package/dist/assets/{runtimeEndpointReset-DB5K_fH8.js → runtimeEndpointReset-CqrqWzhd.js} +2 -2
- package/dist/assets/{sortable-tabs-strip-pSnPuBXA.js → sortable-tabs-strip-N3j5So4j.js} +1 -1
- package/dist/assets/src-Dbdlm5x1.css +2 -0
- package/dist/assets/{store-BuXogmxp.js → store-Hr-xvtDJ.js} +2 -2
- package/dist/assets/{terminalApi-jfes-HIU.js → terminalApi-KDUc5mh2.js} +1 -1
- package/dist/assets/{tooltip-rN8LrxMF.js → tooltip-CaCe-GAm.js} +1 -1
- package/dist/assets/{uk-DgOxtvS7.js → uk-Dzob0yMx.js} +2 -2
- package/dist/assets/{url-B0Ak7X6b.js → url-B-FWrnxu.js} +1 -1
- package/dist/assets/useAppFontEffects-CKhScw6W.js +7 -0
- package/dist/assets/{useAssistantUIStore-SPh025NE.js → useAssistantUIStore-ifqNyja4.js} +1 -1
- package/dist/assets/{useDesktopWindowControlsLayout-BoWzBf65.js → useDesktopWindowControlsLayout-D9kVYRmX.js} +1 -1
- package/dist/assets/{useEffectiveDirectory-DD8R37hZ.js → useEffectiveDirectory-srkYLmiC.js} +1 -1
- package/dist/assets/{useFontPreferences-Bz3crRRO.js → useFontPreferences-D_LFFhFS.js} +1 -1
- package/dist/assets/useMobileNavigationStore-DmXpNTih.js +476 -0
- package/dist/assets/useSessionAutoCleanup-BB45s--Y.js +1 -0
- package/dist/assets/useUIStore-NfqK-HA7.js +1 -0
- package/dist/assets/{useWorkerHighlightedLines-C9GG1QuS.js → useWorkerHighlightedLines-DyP0kh5l.js} +1 -1
- package/dist/assets/{utils-DfPDhqys.js → utils-C2P0wcWO.js} +1 -1
- package/dist/assets/{zh-CN-BPGatJp9.js → zh-CN-Sndj2nhS.js} +2 -2
- package/dist/assets/{zh-TW-qUWWsaxK.js → zh-TW-S24a8EMD.js} +2 -2
- package/dist/index.html +9 -9
- package/dist/mini-chat.html +9 -9
- package/dist/mobile.html +9 -9
- package/package.json +1 -1
- package/server/index.d.ts +0 -4
- package/server/index.js +11 -20
- package/server/lib/client-auth/pairing.js +1 -7
- package/server/lib/client-auth/pairing.test.js +0 -45
- package/server/lib/opencode/DOCUMENTATION.md +4 -4
- package/server/lib/opencode/bootstrap-runtime.js +0 -6
- package/server/lib/opencode/cli-entry-runtime.js +5 -1
- package/server/lib/opencode/cli-entry-runtime.test.js +17 -0
- package/server/lib/opencode/core-routes.js +0 -3
- package/server/lib/opencode/core-routes.test.js +0 -15
- package/server/lib/opencode/openchamber-routes.js +0 -11
- package/server/lib/relay/DOCUMENTATION.md +3 -45
- package/server/lib/relay/host-client.js +1 -4
- package/server/lib/relay/service.js +28 -16
- package/server/lib/relay/service.test.js +64 -4
- package/server/lib/relay/tunnel-host.js +2 -52
- package/server/lib/relay/tunnel-host.test.js +2 -250
- package/dist/assets/MobileShareBridge-DrNSL4C7.js +0 -4
- package/dist/assets/MobileSurface-BgHhiwbU.js +0 -2
- package/dist/assets/appThemeRegistry-L534iVhM.js +0 -2
- package/dist/assets/desktopHosts-aA40MHzB.js +0 -1
- package/dist/assets/desktopRelayRestore-CxUYRC6v.js +0 -1
- package/dist/assets/mobile-YvjvWRM9.js +0 -2
- package/dist/assets/persistence-DwXJK4-j.js +0 -3
- package/dist/assets/pl-DCsKBRAg.js +0 -15
- package/dist/assets/platform-CXJwZIZe.js +0 -2
- package/dist/assets/radio-DPp74W5W.js +0 -1
- package/dist/assets/runtimeConfig-DuCY41vV.js +0 -2
- package/dist/assets/src-DF4hiLrB.css +0 -2
- package/dist/assets/useAppFontEffects-awkP3dQX.js +0 -7
- package/dist/assets/useMobileNavigationStore-DEdx_KjS.js +0 -476
- package/dist/assets/useSessionAutoCleanup-01QEaqnI.js +0 -1
- package/dist/assets/useUIStore-BJpkPwky.js +0 -1
- package/server/lib/desktop-hosts/routes.js +0 -157
- package/server/lib/desktop-hosts/routes.test.js +0 -227
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var e={"settings.globalConfig.title":`Configuración global`,"settings.globalConfig.description":`Edita los archivos de configuración activos en ~/.config/opencode.`,"settings.globalConfig.actions.reload":`Recargar archivo`,"settings.globalConfig.restartHint":`Reinicia OpenCode después de guardar para aplicar los cambios de configuración.`,"settings.globalConfig.toast.loadFailed":`No se pudo cargar el archivo de configuración`,"settings.globalConfig.toast.saveFailed":`No se pudo guardar el archivo de configuración`,"settings.globalConfig.toast.saved":`Configuración guardada. Reinicia OpenCode para aplicarla.`,"settings.providers.page.openCodeGo.title":`Seguimiento de uso de OpenCode Go`,"settings.providers.page.openCodeGo.description":`Conecta el panel de OpenCode Go para ver las cuotas móvil, semanal y mensual.`,"settings.providers.page.openCodeGo.workspaceId":`ID del espacio de trabajo`,"settings.providers.page.openCodeGo.authCookie":`Cookie de autenticación`,"settings.providers.page.openCodeGo.help":`Copia el ID desde la URL del panel y la cookie auth desde las herramientas del navegador. OpenChamber nunca examina las cookies del navegador.`,"settings.providers.page.openCodeGo.save":`Guardar y validar`,"settings.providers.page.openCodeGo.replace":`Reemplazar`,"settings.providers.page.openCodeGo.validate":`Validar`,"settings.providers.page.openCodeGo.delete":`Eliminar`,"settings.providers.page.quotaCredentials.saved":`Credenciales de {provider} guardadas.`,"settings.providers.page.openCodeGo.saveFailed":`No se pudieron validar las credenciales de OpenCode Go.`,"settings.providers.page.openCodeGo.valid":`Las credenciales de OpenCode Go son válidas.`,"settings.providers.page.openCodeGo.invalid":`Las credenciales de OpenCode Go no son válidas o han caducado.`,"settings.providers.page.openCodeGo.deleted":`Credenciales de OpenCode Go eliminadas.`,"settings.providers.page.openCodeGo.deleteFailed":`No se pudieron eliminar las credenciales de OpenCode Go.`,"settings.appearance.language.label":`Idioma`,"settings.appearance.language.description":`Elige el idioma de la interfaz.`,"settings.appearance.language.select":`Seleccionar idioma`,"settings.window.description":`Ventana de configuración de OpenChamber.`,"settings.view.home.title":`Configuración`,"settings.view.home.description":`Saltar a páginas comunes.`,"settings.view.home.cards.providers.title":`Proveedores`,"settings.view.home.cards.providers.description":`Conectar modelos + credenciales`,"settings.view.home.cards.agents.title":`Agentes`,"settings.view.home.cards.agents.description":`Prompts, herramientas, permisos`,"settings.view.home.cards.skillsCatalog.title":`Catálogo de habilidades`,"settings.view.home.cards.skillsCatalog.description":`Instalar habilidades desde catálogos`,"settings.view.home.cards.mcp.title":`MCP`,"settings.view.home.cards.mcp.description":`Configurar servidores + conexiones MCP`,"settings.view.home.cards.plugins.title":`Plugins`,"settings.view.home.cards.plugins.description":`Manage opencode plugins`,"settings.view.home.cards.usage.title":`Uso`,"settings.view.home.cards.usage.description":`Cuota + visibilidad del gasto`,"settings.view.unavailable.title":`No disponible`,"settings.view.unavailable.description":`Esta página de configuración no está disponible en este entorno de ejecución.`,"settings.view.badge.beta":`beta`,"settings.view.actions.reloadOpenCode":`Recargar OpenCode`,"settings.view.actions.reloadOpenCodeTooltip":`Restablecer OpenCode y recargar su configuración.`,"settings.view.actions.backToSettings":`Volver a Configuración`,"settings.view.actions.closeSettings":`Cerrar configuración`,"settings.view.actions.openSectionList":`Abrir lista de secciones`,"settings.view.actions.closeSettingsWithShortcut":`Cerrar configuración ({shortcut}+,)`,"settings.view.actions.back":`Atrás`,"settings.view.actions.resizeNavigation":`Ajustar tamaño de la navegación`,"settings.view.navigation.groups.connection":`Conexión`,"settings.view.navigation.groups.personalization":`Personalización`,"settings.view.navigation.groups.workspace":`Espacio de trabajo`,"settings.view.navigation.groups.opencode":`OpenCode`,"settings.view.navigation.groups.content":`Contenido y automatización`,"settings.view.navigation.groups.system":`Sistema`,"settings.view.search.placeholder":`Buscar configuración`,"settings.view.search.aria":`Buscar configuración`,"settings.view.search.clear":`Borrar búsqueda de configuración`,"settings.view.search.noResults":`No hay configuraciones coincidentes`,"settings.page.projects.title":`Proyectos`,"settings.page.remoteInstances.title":`Instancias remotas`,"settings.page.providers.title":`Proveedores`,"settings.page.usage.title":`Uso`,"settings.page.agents.title":`Agentes`,"settings.page.commands.title":`Comandos`,"settings.page.mcp.title":`MCP`,"settings.page.plugins.title":`Plugins`,"settings.page.skills.title":`Habilidades`,"settings.page.skillsCatalog.title":`Catálogo de habilidades`,"settings.page.git.title":`Git`,"settings.page.appearance.title":`Apariencia`,"settings.page.chat.title":`Chat`,"settings.page.shortcuts.title":`Atajos`,"settings.page.sessions.title":`Sesiones`,"settings.page.summaryAI.title":`Resúmenes de IA`,"settings.page.magicPrompts.title":`Prompts mágicos`,"settings.page.notifications.title":`Notificaciones`,"settings.page.voice.title":`Voz`,"settings.page.about.title":`Acerca de`,"settings.page.snippets.title":`Snippets`,"settings.snippets.sidebar.title":`Snippets`,"settings.snippets.sidebar.total":`Total: {count}`,"settings.snippets.sidebar.actions.create":`Crear snippet`,"settings.snippets.sidebar.actions.more":`Más acciones para {name}`,"settings.snippets.sidebar.toast.deleted":`Snippet eliminado`,"settings.snippets.sidebar.toast.deleteFailed":`No se pudo eliminar el snippet`,"settings.snippets.sidebar.dialog.deleteTitle":`¿Eliminar snippet?`,"settings.snippets.sidebar.dialog.deleteDescription":`Esto eliminará permanentemente #{name}.`,"settings.snippets.page.empty.title":`Selecciona un snippet`,"settings.snippets.page.empty.description":`Elige un snippet de la barra lateral para editarlo.`,"settings.snippets.page.title.new":`Nuevo snippet`,"settings.snippets.page.field.namePlaceholder":`snippet-name`,"settings.snippets.page.field.descriptionPlaceholder":`Qué hace este snippet`,"settings.snippets.page.field.aliases":`Alias`,"settings.snippets.page.field.aliasesPlaceholder":`safe, careful`,"settings.snippets.page.field.content":`Contenido`,"settings.snippets.page.field.contentPlaceholder":`Markdown del snippet...`,"settings.snippets.page.hint":`Usa #name en los prompts. Admite alias y bloques prepend/append compatibles con opencode-snippets.`,"settings.snippets.page.toast.nameRequired":`El nombre del snippet es obligatorio`,"settings.snippets.page.toast.contentRequired":`El contenido del snippet es obligatorio`,"settings.snippets.page.toast.saveFailed":`No se pudo guardar el snippet`,"settings.snippets.page.toast.saved":`Snippet guardado`,"settings.magicPrompts.sidebar.title":`Prompts mágicos`,"settings.magicPrompts.sidebar.description":`Selecciona una plantilla de prompt para editar.`,"settings.magicPrompts.sidebar.group.git":`Git`,"settings.magicPrompts.sidebar.group.github":`GitHub`,"settings.magicPrompts.sidebar.group.planning":`Planificación`,"settings.magicPrompts.sidebar.group.session":`Sesión`,"settings.magicPrompts.sidebar.item.gitCommitGenerate":`Generación de commit`,"settings.magicPrompts.sidebar.item.gitPrGenerate":`Generación de PR`,"settings.magicPrompts.sidebar.item.gitConflictResolve":`Resolución de conflicto de merge/rebase`,"settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve":`Resolución de conflicto de cherry-pick`,"settings.magicPrompts.sidebar.item.githubPrReview":`Revisión de PR`,"settings.magicPrompts.sidebar.item.githubIssueReview":`Revisión de issue`,"settings.magicPrompts.sidebar.item.githubPrFailedChecksReview":`Revisión de PR con comprobaciones fallidas`,"settings.magicPrompts.sidebar.item.githubPrCommentsReview":`Revisión de comentarios de PR`,"settings.magicPrompts.sidebar.item.githubSinglePrCommentReview":`Revisión de comentario único de PR`,"settings.magicPrompts.sidebar.item.planTodo":`Planificar Todo`,"settings.magicPrompts.sidebar.item.planImprove":`Mejorar plan`,"settings.magicPrompts.sidebar.item.planImplement":`Implementar plan`,"settings.magicPrompts.sidebar.item.sessionSummary":`Resumen de sesión`,"settings.magicPrompts.sidebar.item.sessionWorkspaceReview":`Revisión del espacio de trabajo`,"settings.magicPrompts.sidebar.item.sessionExplore":`Recorrido del código`,"settings.magicPrompts.sidebar.item.sessionFeaturePlan":`Planificación de funciones`,"settings.magicPrompts.sidebar.item.sessionCraftGoal":`Creación de Goal`,"settings.magicPrompts.page.group.sessionCraftGoal.title":`Creación de Goal`,"settings.magicPrompts.page.group.sessionCraftGoal.description":`Prompts usados por el comando /craft-goal: mensaje visible del usuario + instrucciones ocultas. Convierte una idea o tarea en un Goal claro y verificable mediante un diálogo guiado.`,"settings.magicPrompts.sidebar.item.sessionCatchUp":`Ponerse al día`,"settings.magicPrompts.sidebar.item.sessionDebug":`Depuración`,"settings.magicPrompts.sidebar.item.sessionWeigh":`Comparar enfoques`,"settings.magicPrompts.sidebar.item.sessionFusion":`Fusion`,"settings.remoteInstances.sidebar.title":`Instancias remotas`,"settings.remoteInstances.sidebar.description":`Conéctate a otros servidores de OpenChamber con un enlace de importación o SSH.`,"settings.remoteInstances.sidebar.empty":`Aún no hay instancias remotas. Importa un enlace o añade una conexión SSH.`,"settings.remoteInstances.channel.link":`Enlace`,"settings.remoteInstances.channel.ssh":`SSH`,"settings.remoteInstances.sidebar.total":`Total {count}`,"settings.remoteInstances.sidebar.newSshInstanceName":`Nueva conexión SSH`,"settings.remoteInstances.sidebar.actions.addSshInstance":`Añadir conexión SSH`,"settings.remoteInstances.sidebar.actions.connect":`Conectar`,"settings.remoteInstances.sidebar.actions.disconnect":`Desconectar`,"settings.remoteInstances.sidebar.actions.retry":`Reintentar`,"settings.remoteInstances.sidebar.actions.remove":`Eliminar`,"settings.remoteInstances.sidebar.confirm.localPortInUseRetry":`El puerto local ya está en uso. ¿Elegir un puerto libre aleatorio y reintentar?`,"settings.remoteInstances.sidebar.toast.createFailed":`No se pudo crear la conexión SSH`,"settings.remoteInstances.sidebar.toast.retriedWithRandomPort":`Reintentado con un puerto local aleatorio`,"settings.remoteInstances.sidebar.toast.connectFailed":`No se pudo conectar la instancia`,"settings.remoteInstances.sidebar.toast.disconnectFailed":`No se pudo desconectar la instancia`,"settings.remoteInstances.sidebar.toast.retryFailed":`No se pudo reintentar la conexión`,"settings.remoteInstances.sidebar.toast.removeFailed":`No se pudo eliminar la instancia`,"settings.remoteInstances.direct.sidebarTitle":`Enlaces a servidores`,"settings.remoteInstances.direct.sidebarDescription":`Conecta con un enlace de emparejamiento`,"settings.remoteInstances.direct.title":`Otros servidores de OpenChamber`,"settings.remoteInstances.direct.description":`Servidores a los que esta aplicación puede cambiar. Importa un enlace de conexión de otro servidor.`,"settings.remoteInstances.direct.import.description":`Pega un enlace de conexión de otro servidor de OpenChamber.`,"settings.remoteInstances.direct.import.placeholder":`openchamber://connect?...`,"settings.remoteInstances.direct.import.action":`Importar enlace`,"settings.remoteInstances.direct.error.invalidConnectLink":`Enlace de conexión de OpenChamber no válido.`,"settings.remoteInstances.direct.state.loading":`Cargando servidores...`,"settings.remoteInstances.direct.state.empty":`Todavía no se han importado otros servidores.`,"settings.remoteInstances.clientAuth.title":`Conectarse a este servidor`,"settings.remoteInstances.clientAuth.description":`Crea un enlace o token seguro para que OpenChamber Desktop pueda conectarse a este servidor.`,"settings.remoteInstances.clientAuth.field.labelPlaceholder":`Nombre de la instancia — p. ej. Mac de casa`,"settings.remoteInstances.clientAuth.field.labelHint":`El otro dispositivo mostrará este nombre para este servidor.`,"settings.remoteInstances.clientAuth.actions.create":`Crear token`,"settings.remoteInstances.clientAuth.actions.pair":`Crear enlace`,"settings.remoteInstances.clientAuth.actions.revoke":`Revocar`,"settings.remoteInstances.clientAuth.actions.clearRevoked":`Borrar revocados`,"settings.remoteInstances.clientAuth.qrAlt":`OpenChamber connection QR code`,"settings.remoteInstances.clientAuth.qrEnlarge":`Ampliar código QR`,"settings.remoteInstances.clientAuth.qrScanHint":`Escanéalo con la app de OpenChamber en tu otro dispositivo. Es de un solo uso y caduca.`,"settings.remoteInstances.clientAuth.qrDialogTitle":`Escanear para conectar`,"settings.remoteInstances.clientAuth.actions.addDevice":`Añadir un dispositivo`,"settings.remoteInstances.clientAuth.actions.copied":`Copiado`,"settings.remoteInstances.clientAuth.addDevice.transportLabel":`¿Dónde usarás este dispositivo?`,"settings.remoteInstances.clientAuth.addDevice.subtitle":`Crea un código QR de un solo uso que conecta otro dispositivo a este servidor.`,"settings.remoteInstances.clientAuth.addDevice.transport.local":`Solo este equipo`,"settings.remoteInstances.clientAuth.addDevice.transport.localHint":`Para aplicaciones en esta misma máquina.`,"settings.remoteInstances.clientAuth.addDevice.transport.lan":`Solo red doméstica`,"settings.remoteInstances.clientAuth.addDevice.transport.lanHint":`Se conecta directamente por tu Wi-Fi. No funciona fuera de esta red.`,"settings.remoteInstances.clientAuth.addDevice.transport.relay":`En cualquier lugar`,"settings.remoteInstances.clientAuth.addDevice.transport.relayHint":`Funciona en casa y fuera. Fuera de casa el tráfico pasa por OpenChamber Private Relay, un túnel cifrado de extremo a extremo. Sin configuración.`,"settings.remoteInstances.clientAuth.addDevice.fallback.relay":`Permitir también el relay cifrado fuera de casa`,"settings.remoteInstances.clientAuth.addDevice.fallback.preferLocal":`Preferir la conexión doméstica directa cuando esté disponible`,"settings.remoteInstances.clientAuth.addDevice.relayUrlLabel":`Servidor Relay`,"settings.remoteInstances.clientAuth.addDevice.relayUrlHint":`Usa el Relay oficial de OpenChamber o introduce tu propio endpoint ws:// o wss://. El dispositivo guardará el endpoint incluido en el código QR.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlDeployLink":`Despliega tu propio Relay.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlLockedHint":`Este servidor fija el endpoint Relay mediante OPENCHAMBER_RELAY_URL.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlInvalid":`Introduce un endpoint Relay válido que empiece por ws:// o wss://.`,"settings.remoteInstances.clientAuth.addDevice.create":`Crear código QR`,"settings.remoteInstances.clientAuth.addDevice.targetLabel":`Instancia de destino`,"settings.remoteInstances.clientAuth.addDevice.target.local":`Este escritorio`,"settings.remoteInstances.clientAuth.addDevice.target.sshEmpty":`No hay instancias SSH conectadas`,"settings.remoteInstances.clientAuth.addDevice.target.sshNotReady":`Conecta primero la instancia SSH`,"settings.remoteInstances.sidebar.actions.mobileConnect":`Conectar teléfono`,"settings.remoteInstances.sidebar.actions.mobileConnectAria":`Crear QR de emparejamiento del teléfono para {instance}`,"settings.remoteInstances.sidebar.actions.mobileConnectDisabled":`Conecta esta instancia SSH antes de emparejar un teléfono`,"settings.remoteInstances.sidebar.actions.syncConfigDisabled":`Conecta esta instancia para sincronizar su configuración`,"settings.remoteInstances.sidebar.actions.syncConfig":`Sincronizar configuración`,"settings.remoteInstances.clientAuth.addDevice.done":`Listo`,"settings.remoteInstances.clientAuth.addDevice.connectedToast":`Dispositivo conectado.`,"settings.remoteInstances.clientAuth.pairingUrl":`Enlace de conexión`,"settings.remoteInstances.clientAuth.createdToken":`Copia este token ahora. Por seguridad, no se volverá a mostrar.`,"settings.remoteInstances.clientAuth.state.loading":`Cargando tokens...`,"settings.remoteInstances.clientAuth.state.empty":`Todavía no hay dispositivos conectados.`,"settings.remoteInstances.clientAuth.state.revoked":`Revocado`,"settings.remoteInstances.clientAuth.state.thisDevice":`Este dispositivo`,"settings.remoteInstances.clientAuth.state.pending":`Esperando conexión…`,"settings.remoteInstances.clientAuth.state.viaRelay":`Relay`,"settings.remoteInstances.clientAuth.state.connectedDirect":`Conectado · Red local`,"settings.remoteInstances.clientAuth.state.connectedRelay":`Conectado · Relay`,"settings.remoteInstances.clientAuth.lastUsed":`Último uso {date}`,"settings.remoteInstances.clientAuth.neverUsed":`Nunca usado`,"settings.remoteInstances.relay.title":`OpenChamber Relay`,"settings.remoteInstances.relay.autoHint":`Se activa automáticamente al vincular un dispositivo por relay.`,"settings.remoteInstances.relay.description":`Permite que tus otros dispositivos se conecten desde cualquier lugar sin abrir puertos. El tráfico está cifrado de extremo a extremo: el relay no puede leerlo.`,"settings.remoteInstances.relay.enableHint":`No se comparte nada hasta que actives el relay en este servidor.`,"settings.remoteInstances.relay.actions.enable":`Activar Relay`,"settings.remoteInstances.relay.actions.disable":`Desactivar`,"settings.remoteInstances.relay.confirm.disable":`¿Desactivar el relay? Los dispositivos conectados a través de él se desconectarán de inmediato.`,"settings.remoteInstances.relay.state.loading":`Comprobando el estado del relay...`,"settings.remoteInstances.relay.state.disabled":`Desactivado`,"settings.remoteInstances.relay.state.connecting":`Conectando`,"settings.remoteInstances.relay.state.connected":`Conectado`,"settings.remoteInstances.relay.state.reconnecting":`Reconectando`,"settings.remoteInstances.relay.state.error":`Error`,"settings.remoteInstances.relay.status.clientsOne":`{count} dispositivo conectado`,"settings.remoteInstances.relay.status.clientsMany":`{count} dispositivos conectados`,"settings.remoteInstances.relay.pair.title":`Emparejar un dispositivo`,"settings.remoteInstances.relay.pair.labelPlaceholder":`Nombre del dispositivo (opcional)`,"settings.remoteInstances.relay.pair.includeToken":`Incluir token de acceso (emparejamiento con un solo escaneo)`,"settings.remoteInstances.relay.pair.noTokenHint":`Sin token, el dispositivo inicia sesión con la contraseña de la interfaz de este servidor tras conectarse.`,"settings.remoteInstances.relay.pair.generate":`Crear enlace de emparejamiento`,"settings.remoteInstances.relay.pair.requiresConnected":`El emparejamiento estará disponible cuando el relay esté conectado.`,"settings.remoteInstances.relay.pair.linkLabel":`Enlace de emparejamiento`,"settings.remoteInstances.relay.pair.warning":`Este enlace concede acceso a este servidor. No lo compartas.`,"settings.remoteInstances.relay.pair.qrAlt":`Código QR de emparejamiento del relay`,"settings.remoteInstances.relay.pair.showQr":`Mostrar código QR`,"settings.remoteInstances.relay.pair.qrDialogTitle":`Escanear para emparejar`,"settings.remoteInstances.relay.pair.qrDialogDescription":`Escanea este código QR con la app de OpenChamber en tu otro dispositivo.`,"settings.remoteInstances.relay.pair.manageHint":`Gestiona o revoca los dispositivos emparejados en la lista «Conexión a este servidor» de arriba.`,"settings.remoteInstances.relay.toast.enableFailed":`No se pudo activar el relay`,"settings.remoteInstances.relay.toast.disableFailed":`No se pudo desactivar el relay`,"settings.remoteInstances.relay.toast.offerFailed":`No se pudo crear el enlace de emparejamiento`,"settings.remoteInstances.relay.toast.linkCopied":`Enlace de emparejamiento copiado`,"settings.remoteInstances.sidebar.phase.ready":`Listo`,"settings.remoteInstances.sidebar.phase.error":`Error`,"settings.remoteInstances.sidebar.phase.reconnect":`Reconectar`,"settings.remoteInstances.sidebar.phase.installing":`Instalando`,"settings.remoteInstances.sidebar.phase.updating":`Actualizando`,"settings.remoteInstances.sidebar.phase.forwarding":`Redirigiendo`,"settings.remoteInstances.sidebar.phase.starting":`Iniciando`,"settings.remoteInstances.sidebar.phase.connecting":`Conectando`,"settings.remoteInstances.sidebar.phase.idle":`Inactivo`,"settings.remoteInstances.page.section.instance":`Instancia`,"settings.remoteInstances.page.section.instanceDescription":`Choose the SSH command and a display name for this connection.`,"settings.remoteInstances.page.field.mode":`Modo`,"settings.remoteInstances.page.field.modeHint":`Elige si OpenChamber debe iniciar el servidor por ti o conectarse a uno que ya está en marcha.`,"settings.remoteInstances.page.field.modePlaceholder":`Seleccionar modo`,"settings.remoteInstances.page.field.modeManaged":`Iniciarlo por mí`,"settings.remoteInstances.page.field.modeExternal":`Ya está en marcha`,"settings.remoteInstances.page.field.preferredRemotePort":`Puerto remoto preferido`,"settings.remoteInstances.page.field.preferredRemotePortHint":`Port to use on the remote machine. Leave empty to choose one automatically.`,"settings.remoteInstances.page.field.keepServerRunning":`Mantener servidor en ejecución`,"settings.remoteInstances.page.field.keepServerRunningHint":`Keep OpenChamber running on the remote machine after you disconnect.`,"settings.remoteInstances.page.field.bindHost":`Host de enlace`,"settings.remoteInstances.page.field.bindHostHint":`Where the local connection should listen. Use 127.0.0.1 or localhost unless you need LAN access.`,"settings.remoteInstances.page.field.preferredLocalPort":`Puerto local preferido`,"settings.remoteInstances.page.field.preferredLocalPortHint":`Local port to open for this connection. Leave empty to choose one automatically.`,"settings.remoteInstances.page.field.forwardType":`Tipo de redirección`,"settings.remoteInstances.page.field.localListen":`Escucha local`,"settings.remoteInstances.page.field.localTarget":`Destino local`,"settings.remoteInstances.page.field.remoteListen":`Escucha remota`,"settings.remoteInstances.page.field.remoteTarget":`Destino remoto`,"settings.remoteInstances.page.field.localHostPlaceholder":`127.0.0.1`,"settings.remoteInstances.page.field.remoteHostPlaceholder":`127.0.0.1`,"settings.remoteInstances.page.field.auto":`Automático`,"settings.remoteInstances.page.confirm.bindAllInterfaces":`Vincular a 0.0.0.0 expone los puertos redirigidos a tu red local. ¿Continuar?`,"settings.remoteInstances.page.preview.localSocks5":`(local SOCKS5)`,"settings.remoteInstances.page.preview.local":`(local)`,"settings.remoteInstances.page.preview.remote":`(remoto)`,"settings.remoteInstances.page.toast.openLocalEndpointFailed":`No se pudo abrir la dirección local`,"settings.remoteInstances.page.toast.localUrlCopied":`URL local copiada`,"settings.remoteInstances.page.actions.copyLocalUrl":`Copiar URL local`,"settings.remoteInstances.page.actions.open":`Abrir`,"settings.remoteInstances.page.logsDialog.selectedInstanceFallback":`Instancia seleccionada`,"settings.remoteInstances.page.patternDialog.descriptionWithHost":`{host} requiere un destino concreto.`,"settings.remoteInstances.page.patternDialog.description":`Introduce destino.`,"settings.common.actions.cancel":`Cancelar`,"settings.common.actions.create":`Crear`,"settings.common.actions.delete":`Eliminar`,"settings.common.actions.reset":`Restablecer`,"settings.common.actions.rename":`Cambiar nombre`,"settings.common.actions.duplicate":`Duplicar`,"settings.common.actions.import":`Importar`,"settings.common.actions.copyAll":`Copiar todo`,"settings.common.actions.clear":`Limpiar`,"settings.common.actions.saving":`Guardando...`,"settings.common.actions.saveChanges":`Guardar cambios`,"settings.common.scope.global":`Global`,"settings.common.scope.project":`Proyecto`,"settings.common.field.description":`Descripción`,"settings.common.badge.new":`Nuevo`,"settings.common.badge.modified":`Modificado`,"settings.common.permission.allow":`Permitir`,"settings.common.permission.ask":`Preguntar`,"settings.common.permission.deny":`Denegar`,"settings.common.state.comingSoon":`Próximamente...`,"settings.projects.actions.title":`Acciones`,"settings.projects.actions.description":`Comandos por proyecto mostrados en el encabezado junto al nombre del proyecto.`,"settings.projects.actions.validation.fillNameAndCommand":`Completa el nombre de la acción y el comando antes de guardar.`,"settings.projects.actions.state.loading":`Cargando...`,"settings.projects.actions.state.empty":`No hay acciones configuradas aún.`,"settings.projects.actions.state.untitled":`Acción sin título`,"settings.projects.actions.state.noDesktopSshForwards":`No hay forwards SSH locales habilitados disponibles.`,"settings.projects.actions.field.selectIconAria":`Seleccionar icono`,"settings.projects.actions.field.iconAria":`Icono {icon}`,"settings.projects.actions.field.actionNamePlaceholder":`Nombre de la acción`,"settings.projects.actions.field.command":`Comando`,"settings.projects.actions.field.commandPlaceholder":`p. ej. bun run lint`,"settings.projects.actions.field.autoOpenUrl":`Abrir URL automáticamente`,"settings.projects.actions.field.autoOpenUrlForAria":`Abrir URL automáticamente para {title}`,"settings.projects.actions.field.autoOpenUrlDescription":`Abrir URL desde la salida o la URL personalizada de abajo`,"settings.projects.actions.field.overrideUrlPlaceholder":`URL de reemplazo (opcional)`,"settings.projects.actions.field.overrideUrlTooltip":`Si este campo está lleno, se usa la URL personalizada. Si está vacío, la aplicación abre la mejor URL de la salida.`,"settings.projects.actions.field.desktopSshForward":`Forward SSH de escritorio`,"settings.projects.actions.field.useOutputManualUrl":`Usar URL de salida/manual`,"settings.projects.actions.actions.add":`Añadir acción`,"settings.projects.actions.actions.save":`Guardar acciones`,"settings.projects.actions.toast.saveFailed":`No se pudieron guardar las acciones`,"settings.projects.actions.toast.saved":`Acciones del proyecto guardadas`,"settings.openchamber.about.title":`Acerca de OpenChamber`,"settings.openchamber.about.field.version":`Versión`,"settings.openchamber.about.field.clientVersion":`Cliente`,"settings.openchamber.about.field.webBundle":`Paquete web`,"settings.openchamber.about.field.instanceOpenChamberVersion":`OpenChamber`,"settings.openchamber.about.field.instanceOpenCodeVersion":`OpenCode`,"settings.openchamber.about.field.openCodeVersion":`Versión de OpenCode`,"settings.openchamber.about.state.checking":`Comprobando...`,"settings.openchamber.about.state.upToDate":`Actualizado`,"settings.openchamber.about.state.unknown":`desconocido`,"settings.openchamber.about.state.builtin":`integrado`,"settings.openchamber.about.actions.checkUpdates":`Comprobar actualizaciones`,"settings.openchamber.about.actions.update":`Actualizar`,"settings.openchamber.about.actions.updateToVersion":`Actualizar a {version}`,"settings.openchamber.about.actions.applyOtaToVersion":`Actualizar ahora a {version}`,"settings.openchamber.about.actions.installNativeToVersion":`Instalar {version}`,"settings.openchamber.about.actions.checkForUpdates":`Comprobar actualizaciones`,"settings.openchamber.about.toast.latestVersion":`Ya estás en la última versión`,"settings.openchamber.about.toast.checkFailed":`No se pudo comprobar actualizaciones`,"settings.openchamber.about.diagnostics.label":`Registro de diagnóstico`,"settings.openchamber.about.diagnostics.description":`Exporta los feat de diagnóstico locales para analizar problemas de visualización y sincronización. No incluye cuerpos de mensajes ni tokens.`,"settings.openchamber.about.diagnostics.export":`Exportar registro`,"settings.openchamber.about.diagnostics.exporting":`Exportando…`,"settings.openchamber.about.diagnostics.enable":`Registrar feat de diagnóstico`,"settings.openchamber.about.diagnostics.enableHint":`Disponible en versiones beta. Registra en este dispositivo el ciclo de sincronización y visualización de la sesión, sin el cuerpo del mensaje.`,"settings.openchamber.about.diagnostics.toast.exported":`Registro de diagnóstico exportado`,"settings.openchamber.about.diagnostics.toast.failed":`No se pudo exportar el registro de diagnóstico`,"settings.openchamber.about.diagnostics.toast.empty":`Registro de diagnóstico exportado. Aún no se registró ningún evento.`,"settings.agents.sidebar.title":`Agentes`,"settings.agents.sidebar.total":`Total {count}`,"settings.agents.sidebar.empty.title":`No hay agentes configurados`,"settings.agents.sidebar.empty.description":`Usa el botón + arriba para crear uno`,"settings.agents.sidebar.section.builtIn":`Agentes incorporados`,"settings.agents.sidebar.section.custom":`Agentes personalizados`,"settings.agents.sidebar.badge.system":`sistema`,"settings.agents.sidebar.dialog.deleteTitle":`Eliminar agente`,"settings.agents.sidebar.dialog.resetTitle":`Restablecer agente`,"settings.agents.sidebar.dialog.deleteDescription":`¿Seguro que quieres eliminar el agente "{name}"?`,"settings.agents.sidebar.dialog.resetDescription":`¿Seguro que quieres restablecer el agente "{name}" a su configuración predeterminada?`,"settings.agents.sidebar.renameDialog.title":`Cambiar nombre del agente`,"settings.agents.sidebar.renameDialog.description":`Introduce un nuevo nombre para el agente "@{name}"`,"settings.agents.sidebar.renameDialog.placeholder":`Nuevo nombre del agente...`,"settings.agents.sidebar.toast.builtInCannotDelete":`Los agentes incorporados no pueden eliminarse`,"settings.agents.sidebar.toast.agentDeleted":`Agente "{name}" eliminado correctamente`,"settings.agents.sidebar.toast.agentReset":`Agente "{name}" restablecido a la configuración predeterminada`,"settings.agents.sidebar.toast.deleteFailed":`No se pudo eliminar el agente`,"settings.agents.sidebar.toast.definitionNotFound":`No se encontró la definición del agente. No se cambió nada.`,"settings.agents.sidebar.toast.resetFailed":`No se pudo restablecer el agente`,"settings.agents.sidebar.toast.agentNameRequired":`Se requiere el nombre del agente`,"settings.agents.sidebar.toast.agentExists":`Ya existe un agente con este nombre`,"settings.agents.sidebar.toast.removeOldAfterRenameFailed":`No se pudo eliminar el antiguo agente después del cambio de nombre`,"settings.agents.sidebar.toast.renameFailed":`No se pudo cambiar el nombre del agente`,"settings.agents.sidebar.toast.agentRenamed":`Agente renombrado a "{name}"`,"settings.agents.page.toast.permissionNameRequired":`Se requiere el nombre del permiso`,"settings.agents.page.toast.created":`Agente creado correctamente`,"settings.agents.page.toast.updated":`Agente actualizado correctamente`,"settings.agents.page.toast.createFailed":`No se pudo crear el agente`,"settings.agents.page.toast.updateFailed":`No se pudo actualizar el agente`,"settings.agents.page.toast.saveUnexpectedError":`Ocurrió un error al guardar`,"settings.agents.page.toast.savedManualRestart":`Guardado en disco. Reinicia tu servidor OpenCode conectado para aplicar los cambios.`,"settings.agents.page.empty.title":`Selecciona un agente desde la barra lateral`,"settings.agents.page.empty.description":`o crea uno nuevo`,"settings.agents.page.title.new":`Nuevo agente`,"settings.agents.page.subtitle.new":`Configura una nueva asistente`,"settings.agents.page.subtitle.edit":`Editar configuración del agente`,"settings.agents.page.section.identityRole":`Identidad y rol`,"settings.agents.page.section.modelParameters":`Modelo y parámetros`,"settings.agents.page.section.systemPrompt":`Prompt del sistema`,"settings.agents.page.section.toolPermissions":`Permisos de herramientas`,"settings.agents.page.field.agentName":`Nombre del agente`,"settings.agents.page.field.agentNamePlaceholder":`nombre-agente`,"settings.agents.page.field.scopePlaceholder":`Ámbito`,"settings.agents.page.field.descriptionPlaceholder":`¿Qué hace este agente?`,"settings.agents.page.field.mode":`Modo`,"settings.agents.page.field.modeTooltip":`Visibilidad principal vs subagente`,"settings.agents.page.field.overrideModel":`Sobrescribir modelo`,"settings.agents.page.field.variant":`Variante de pensamiento`,"settings.agents.page.field.variantTooltip":`Opcional. Si el modelo admite razonamiento, la variante controla la profundidad del razonamiento.`,"settings.agents.page.field.variantHint":`Específico del modelo (p. ej. variante de Anthropic)`,"settings.agents.page.field.variantPlaceholder":`p. ej. high, max, low, none`,"settings.agents.page.field.temperature":`Temperatura`,"settings.agents.page.field.temperatureTooltip":`Controla la aleatoriedad. Mayor = más creativo, menor = más enfocado.`,"settings.agents.page.field.temperatureRange":`0.0 a 2.0`,"settings.agents.page.field.clearTemperatureAria":`Limpiar sobrescritura de temperatura`,"settings.agents.page.field.topP":`Top P`,"settings.agents.page.field.topPTooltip":`Diversidad de muestreo del núcleo. Más bajo = solo tokens más probables.`,"settings.agents.page.field.topPRange":`0.0 a 1.0`,"settings.agents.page.field.clearTopPAria":`Limpiar sobrescritura de top p`,"settings.agents.page.field.systemPromptPlaceholder":`Eres un asistente experto en programación...`,"settings.agents.page.mode.primary":`Primario`,"settings.agents.page.mode.subagent":`Subagente`,"settings.agents.page.mode.all":`Todos`,"settings.agents.page.permissions.defaultLabel":`Predeterminado`,"settings.agents.page.permissions.hideEditor":`Ocultar editor`,"settings.agents.page.permissions.advancedEditor":`Editor avanzado`,"settings.agents.page.permissions.globalSummary":`Global: {summary}`,"settings.agents.page.permissions.rulesSummary":`Reglas: {summary}`,"settings.agents.page.permissions.globalDefault":`Predeterminado global`,"settings.agents.page.permissions.pattern":`Patrón`,"settings.agents.page.permissions.addCustomRule":`Añadir regla personalizada`,"settings.agents.page.permissions.permissionPlaceholder":`Permiso...`,"settings.agents.page.permissions.patternPlaceholder":`Patrón (ej. *)`,"settings.page.behavior.title":`Comportamiento`,"settings.behavior.page.title":`Comportamiento`,"settings.behavior.page.warning.title":`Las reglas globales se combinan con las reglas del proyecto`,"settings.behavior.page.warning.description":`Los cambios realizados aquí actualizan {path}. OpenCode también incluye cualquier AGENTS.md a nivel de proyecto cuando existe.`,"settings.behavior.page.section.systemPrompt":`AGENTS.md global`,"settings.behavior.page.field.systemPromptPlaceholder":`Eres un asistente de IA útil...
|
|
1
|
+
var e={"settings.globalConfig.title":`Configuración global`,"settings.globalConfig.description":`Edita los archivos de configuración activos en ~/.config/opencode.`,"settings.globalConfig.actions.reload":`Recargar archivo`,"settings.globalConfig.restartHint":`Reinicia OpenCode después de guardar para aplicar los cambios de configuración.`,"settings.globalConfig.toast.loadFailed":`No se pudo cargar el archivo de configuración`,"settings.globalConfig.toast.saveFailed":`No se pudo guardar el archivo de configuración`,"settings.globalConfig.toast.saved":`Configuración guardada. Reinicia OpenCode para aplicarla.`,"settings.providers.page.openCodeGo.title":`Seguimiento de uso de OpenCode Go`,"settings.providers.page.openCodeGo.description":`Conecta el panel de OpenCode Go para ver las cuotas móvil, semanal y mensual.`,"settings.providers.page.openCodeGo.workspaceId":`ID del espacio de trabajo`,"settings.providers.page.openCodeGo.authCookie":`Cookie de autenticación`,"settings.providers.page.openCodeGo.help":`Copia el ID desde la URL del panel y la cookie auth desde las herramientas del navegador. OpenChamber nunca examina las cookies del navegador.`,"settings.providers.page.openCodeGo.save":`Guardar y validar`,"settings.providers.page.openCodeGo.replace":`Reemplazar`,"settings.providers.page.openCodeGo.validate":`Validar`,"settings.providers.page.openCodeGo.delete":`Eliminar`,"settings.providers.page.quotaCredentials.saved":`Credenciales de {provider} guardadas.`,"settings.providers.page.openCodeGo.saveFailed":`No se pudieron validar las credenciales de OpenCode Go.`,"settings.providers.page.openCodeGo.valid":`Las credenciales de OpenCode Go son válidas.`,"settings.providers.page.openCodeGo.invalid":`Las credenciales de OpenCode Go no son válidas o han caducado.`,"settings.providers.page.openCodeGo.deleted":`Credenciales de OpenCode Go eliminadas.`,"settings.providers.page.openCodeGo.deleteFailed":`No se pudieron eliminar las credenciales de OpenCode Go.`,"settings.appearance.language.label":`Idioma`,"settings.appearance.language.description":`Elige el idioma de la interfaz.`,"settings.appearance.language.select":`Seleccionar idioma`,"settings.window.description":`Ventana de configuración de OpenChamber.`,"settings.view.home.title":`Configuración`,"settings.view.home.description":`Saltar a páginas comunes.`,"settings.view.home.cards.providers.title":`Proveedores`,"settings.view.home.cards.providers.description":`Conectar modelos + credenciales`,"settings.view.home.cards.agents.title":`Agentes`,"settings.view.home.cards.agents.description":`Prompts, herramientas, permisos`,"settings.view.home.cards.skillsCatalog.title":`Catálogo de habilidades`,"settings.view.home.cards.skillsCatalog.description":`Instalar habilidades desde catálogos`,"settings.view.home.cards.mcp.title":`MCP`,"settings.view.home.cards.mcp.description":`Configurar servidores + conexiones MCP`,"settings.view.home.cards.plugins.title":`Plugins`,"settings.view.home.cards.plugins.description":`Manage opencode plugins`,"settings.view.home.cards.usage.title":`Uso`,"settings.view.home.cards.usage.description":`Cuota + visibilidad del gasto`,"settings.view.unavailable.title":`No disponible`,"settings.view.unavailable.description":`Esta página de configuración no está disponible en este entorno de ejecución.`,"settings.view.badge.beta":`beta`,"settings.view.actions.reloadOpenCode":`Recargar OpenCode`,"settings.view.actions.reloadOpenCodeTooltip":`Restablecer OpenCode y recargar su configuración.`,"settings.view.actions.backToSettings":`Volver a Configuración`,"settings.view.actions.closeSettings":`Cerrar configuración`,"settings.view.actions.openSectionList":`Abrir lista de secciones`,"settings.view.actions.closeSettingsWithShortcut":`Cerrar configuración ({shortcut}+,)`,"settings.view.actions.back":`Atrás`,"settings.view.actions.resizeNavigation":`Ajustar tamaño de la navegación`,"settings.view.navigation.groups.connection":`Conexión`,"settings.view.navigation.groups.personalization":`Personalización`,"settings.view.navigation.groups.workspace":`Espacio de trabajo`,"settings.view.navigation.groups.opencode":`OpenCode`,"settings.view.navigation.groups.content":`Contenido y automatización`,"settings.view.navigation.groups.system":`Sistema`,"settings.view.search.placeholder":`Buscar configuración`,"settings.view.search.aria":`Buscar configuración`,"settings.view.search.clear":`Borrar búsqueda de configuración`,"settings.view.search.noResults":`No hay configuraciones coincidentes`,"settings.page.projects.title":`Proyectos`,"settings.page.remoteInstances.title":`Instancias remotas`,"settings.page.providers.title":`Proveedores`,"settings.page.usage.title":`Uso`,"settings.page.agents.title":`Agentes`,"settings.page.commands.title":`Comandos`,"settings.page.mcp.title":`MCP`,"settings.page.plugins.title":`Plugins`,"settings.page.skills.title":`Habilidades`,"settings.page.skillsCatalog.title":`Catálogo de habilidades`,"settings.page.git.title":`Git`,"settings.page.appearance.title":`Apariencia`,"settings.page.chat.title":`Chat`,"settings.page.shortcuts.title":`Atajos`,"settings.page.sessions.title":`Sesiones`,"settings.page.summaryAI.title":`Resúmenes de IA`,"settings.page.magicPrompts.title":`Prompts mágicos`,"settings.page.notifications.title":`Notificaciones`,"settings.page.voice.title":`Voz`,"settings.page.about.title":`Acerca de`,"settings.page.snippets.title":`Snippets`,"settings.snippets.sidebar.title":`Snippets`,"settings.snippets.sidebar.total":`Total: {count}`,"settings.snippets.sidebar.actions.create":`Crear snippet`,"settings.snippets.sidebar.actions.more":`Más acciones para {name}`,"settings.snippets.sidebar.toast.deleted":`Snippet eliminado`,"settings.snippets.sidebar.toast.deleteFailed":`No se pudo eliminar el snippet`,"settings.snippets.sidebar.dialog.deleteTitle":`¿Eliminar snippet?`,"settings.snippets.sidebar.dialog.deleteDescription":`Esto eliminará permanentemente #{name}.`,"settings.snippets.page.empty.title":`Selecciona un snippet`,"settings.snippets.page.empty.description":`Elige un snippet de la barra lateral para editarlo.`,"settings.snippets.page.title.new":`Nuevo snippet`,"settings.snippets.page.field.namePlaceholder":`snippet-name`,"settings.snippets.page.field.descriptionPlaceholder":`Qué hace este snippet`,"settings.snippets.page.field.aliases":`Alias`,"settings.snippets.page.field.aliasesPlaceholder":`safe, careful`,"settings.snippets.page.field.content":`Contenido`,"settings.snippets.page.field.contentPlaceholder":`Markdown del snippet...`,"settings.snippets.page.hint":`Usa #name en los prompts. Admite alias y bloques prepend/append compatibles con opencode-snippets.`,"settings.snippets.page.toast.nameRequired":`El nombre del snippet es obligatorio`,"settings.snippets.page.toast.contentRequired":`El contenido del snippet es obligatorio`,"settings.snippets.page.toast.saveFailed":`No se pudo guardar el snippet`,"settings.snippets.page.toast.saved":`Snippet guardado`,"settings.magicPrompts.sidebar.title":`Prompts mágicos`,"settings.magicPrompts.sidebar.description":`Selecciona una plantilla de prompt para editar.`,"settings.magicPrompts.sidebar.group.git":`Git`,"settings.magicPrompts.sidebar.group.github":`GitHub`,"settings.magicPrompts.sidebar.group.planning":`Planificación`,"settings.magicPrompts.sidebar.group.session":`Sesión`,"settings.magicPrompts.sidebar.item.gitCommitGenerate":`Generación de commit`,"settings.magicPrompts.sidebar.item.gitPrGenerate":`Generación de PR`,"settings.magicPrompts.sidebar.item.gitConflictResolve":`Resolución de conflicto de merge/rebase`,"settings.magicPrompts.sidebar.item.gitCherrypickConflictResolve":`Resolución de conflicto de cherry-pick`,"settings.magicPrompts.sidebar.item.githubPrReview":`Revisión de PR`,"settings.magicPrompts.sidebar.item.githubIssueReview":`Revisión de issue`,"settings.magicPrompts.sidebar.item.githubPrFailedChecksReview":`Revisión de PR con comprobaciones fallidas`,"settings.magicPrompts.sidebar.item.githubPrCommentsReview":`Revisión de comentarios de PR`,"settings.magicPrompts.sidebar.item.githubSinglePrCommentReview":`Revisión de comentario único de PR`,"settings.magicPrompts.sidebar.item.planTodo":`Planificar Todo`,"settings.magicPrompts.sidebar.item.planImprove":`Mejorar plan`,"settings.magicPrompts.sidebar.item.planImplement":`Implementar plan`,"settings.magicPrompts.sidebar.item.sessionSummary":`Resumen de sesión`,"settings.magicPrompts.sidebar.item.sessionWorkspaceReview":`Revisión del espacio de trabajo`,"settings.magicPrompts.sidebar.item.sessionExplore":`Recorrido del código`,"settings.magicPrompts.sidebar.item.sessionFeaturePlan":`Planificación de funciones`,"settings.magicPrompts.sidebar.item.sessionCraftGoal":`Creación de Goal`,"settings.magicPrompts.page.group.sessionCraftGoal.title":`Creación de Goal`,"settings.magicPrompts.page.group.sessionCraftGoal.description":`Prompts usados por el comando /craft-goal: mensaje visible del usuario + instrucciones ocultas. Convierte una idea o tarea en un Goal claro y verificable mediante un diálogo guiado.`,"settings.magicPrompts.sidebar.item.sessionCatchUp":`Ponerse al día`,"settings.magicPrompts.sidebar.item.sessionDebug":`Depuración`,"settings.magicPrompts.sidebar.item.sessionWeigh":`Comparar enfoques`,"settings.magicPrompts.sidebar.item.sessionFusion":`Fusion`,"settings.remoteInstances.sidebar.title":`Instancias remotas`,"settings.remoteInstances.sidebar.description":`Conéctate a otros servidores de OpenChamber con un enlace de importación o SSH.`,"settings.remoteInstances.sidebar.empty":`Aún no hay instancias remotas. Importa un enlace o añade una conexión SSH.`,"settings.remoteInstances.channel.link":`Enlace`,"settings.remoteInstances.channel.ssh":`SSH`,"settings.remoteInstances.sidebar.total":`Total {count}`,"settings.remoteInstances.sidebar.newSshInstanceName":`Nueva conexión SSH`,"settings.remoteInstances.sidebar.actions.addSshInstance":`Añadir conexión SSH`,"settings.remoteInstances.sidebar.actions.connect":`Conectar`,"settings.remoteInstances.sidebar.actions.disconnect":`Desconectar`,"settings.remoteInstances.sidebar.actions.retry":`Reintentar`,"settings.remoteInstances.sidebar.actions.remove":`Eliminar`,"settings.remoteInstances.sidebar.confirm.localPortInUseRetry":`El puerto local ya está en uso. ¿Elegir un puerto libre aleatorio y reintentar?`,"settings.remoteInstances.sidebar.toast.createFailed":`No se pudo crear la conexión SSH`,"settings.remoteInstances.sidebar.toast.retriedWithRandomPort":`Reintentado con un puerto local aleatorio`,"settings.remoteInstances.sidebar.toast.connectFailed":`No se pudo conectar la instancia`,"settings.remoteInstances.sidebar.toast.disconnectFailed":`No se pudo desconectar la instancia`,"settings.remoteInstances.sidebar.toast.retryFailed":`No se pudo reintentar la conexión`,"settings.remoteInstances.sidebar.toast.removeFailed":`No se pudo eliminar la instancia`,"settings.remoteInstances.direct.sidebarTitle":`Enlaces a servidores`,"settings.remoteInstances.direct.sidebarDescription":`Conecta con un enlace de emparejamiento`,"settings.remoteInstances.direct.title":`Otros servidores de OpenChamber`,"settings.remoteInstances.direct.description":`Servidores a los que esta aplicación puede cambiar. Importa un enlace de conexión de otro servidor.`,"settings.remoteInstances.direct.import.description":`Pega un enlace de conexión de otro servidor de OpenChamber.`,"settings.remoteInstances.direct.import.placeholder":`openchamber://connect?...`,"settings.remoteInstances.direct.import.action":`Importar enlace`,"settings.remoteInstances.direct.error.invalidConnectLink":`Enlace de conexión de OpenChamber no válido.`,"settings.remoteInstances.direct.state.loading":`Cargando servidores...`,"settings.remoteInstances.direct.state.empty":`Todavía no se han importado otros servidores.`,"settings.remoteInstances.clientAuth.title":`Conectarse a este servidor`,"settings.remoteInstances.clientAuth.description":`Crea un enlace o token seguro para que OpenChamber Desktop pueda conectarse a este servidor.`,"settings.remoteInstances.clientAuth.field.labelPlaceholder":`Nombre de la instancia — p. ej. Mac de casa`,"settings.remoteInstances.clientAuth.field.labelHint":`El otro dispositivo mostrará este nombre para este servidor.`,"settings.remoteInstances.clientAuth.actions.create":`Crear token`,"settings.remoteInstances.clientAuth.actions.pair":`Crear enlace`,"settings.remoteInstances.clientAuth.actions.revoke":`Revocar`,"settings.remoteInstances.clientAuth.actions.clearRevoked":`Borrar revocados`,"settings.remoteInstances.clientAuth.qrAlt":`OpenChamber connection QR code`,"settings.remoteInstances.clientAuth.qrEnlarge":`Ampliar código QR`,"settings.remoteInstances.clientAuth.qrScanHint":`Escanéalo con la app de OpenChamber en tu otro dispositivo. Es de un solo uso y caduca.`,"settings.remoteInstances.clientAuth.qrDialogTitle":`Escanear para conectar`,"settings.remoteInstances.clientAuth.actions.addDevice":`Añadir un dispositivo`,"settings.remoteInstances.clientAuth.actions.copied":`Copiado`,"settings.remoteInstances.clientAuth.addDevice.transportLabel":`¿Dónde usarás este dispositivo?`,"settings.remoteInstances.clientAuth.addDevice.subtitle":`Crea un código QR de un solo uso que conecta otro dispositivo a este servidor.`,"settings.remoteInstances.clientAuth.addDevice.transport.local":`Solo este equipo`,"settings.remoteInstances.clientAuth.addDevice.transport.localHint":`Para aplicaciones en esta misma máquina.`,"settings.remoteInstances.clientAuth.addDevice.transport.lan":`Solo red doméstica`,"settings.remoteInstances.clientAuth.addDevice.transport.lanHint":`Se conecta directamente por tu Wi-Fi. No funciona fuera de esta red.`,"settings.remoteInstances.clientAuth.addDevice.transport.relay":`En cualquier lugar`,"settings.remoteInstances.clientAuth.addDevice.transport.relayHint":`Funciona en casa y fuera. Fuera de casa el tráfico pasa por OpenChamber Private Relay, un túnel cifrado de extremo a extremo. Sin configuración.`,"settings.remoteInstances.clientAuth.addDevice.fallback.relay":`Permitir también el relay cifrado fuera de casa`,"settings.remoteInstances.clientAuth.addDevice.fallback.preferLocal":`Preferir la conexión doméstica directa cuando esté disponible`,"settings.remoteInstances.clientAuth.addDevice.relayUrlLabel":`Servidor Relay`,"settings.remoteInstances.clientAuth.addDevice.relayUrlHint":`Usa el Relay oficial de OpenChamber o introduce tu propio endpoint ws:// o wss://. El dispositivo guardará el endpoint incluido en el código QR.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlDeployLink":`Despliega tu propio Relay.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlLockedHint":`Este servidor fija el endpoint Relay mediante OPENCHAMBER_RELAY_URL.`,"settings.remoteInstances.clientAuth.addDevice.relayUrlInvalid":`Introduce un endpoint Relay válido que empiece por ws:// o wss://.`,"settings.remoteInstances.clientAuth.addDevice.create":`Crear código QR`,"settings.remoteInstances.clientAuth.addDevice.targetLabel":`Instancia de destino`,"settings.remoteInstances.clientAuth.addDevice.target.local":`Este escritorio`,"settings.remoteInstances.clientAuth.addDevice.target.sshEmpty":`No hay instancias SSH conectadas`,"settings.remoteInstances.clientAuth.addDevice.target.sshNotReady":`Conecta primero la instancia SSH`,"settings.remoteInstances.sidebar.actions.switchInstanceDisabled":`Conecta esta instancia SSH antes de cambiar`,"settings.remoteInstances.sidebar.actions.syncConfigDisabled":`Conecta esta instancia para sincronizar su configuración`,"settings.remoteInstances.sidebar.actions.syncConfig":`Sincronizar configuración`,"settings.remoteInstances.clientAuth.addDevice.done":`Listo`,"settings.remoteInstances.clientAuth.addDevice.connectedToast":`Dispositivo conectado.`,"settings.remoteInstances.clientAuth.pairingUrl":`Enlace de conexión`,"settings.remoteInstances.clientAuth.createdToken":`Copia este token ahora. Por seguridad, no se volverá a mostrar.`,"settings.remoteInstances.clientAuth.state.loading":`Cargando tokens...`,"settings.remoteInstances.clientAuth.state.empty":`Todavía no hay dispositivos conectados.`,"settings.remoteInstances.clientAuth.state.revoked":`Revocado`,"settings.remoteInstances.clientAuth.state.thisDevice":`Este dispositivo`,"settings.remoteInstances.clientAuth.state.pending":`Esperando conexión…`,"settings.remoteInstances.clientAuth.state.viaRelay":`Relay`,"settings.remoteInstances.clientAuth.state.connectedDirect":`Conectado · Red local`,"settings.remoteInstances.clientAuth.state.connectedRelay":`Conectado · Relay`,"settings.remoteInstances.clientAuth.lastUsed":`Último uso {date}`,"settings.remoteInstances.clientAuth.neverUsed":`Nunca usado`,"settings.remoteInstances.relay.title":`OpenChamber Relay`,"settings.remoteInstances.relay.autoHint":`Se activa automáticamente al vincular un dispositivo por relay.`,"settings.remoteInstances.relay.description":`Permite que tus otros dispositivos se conecten desde cualquier lugar sin abrir puertos. El tráfico está cifrado de extremo a extremo: el relay no puede leerlo.`,"settings.remoteInstances.relay.enableHint":`No se comparte nada hasta que actives el relay en este servidor.`,"settings.remoteInstances.relay.actions.enable":`Activar Relay`,"settings.remoteInstances.relay.actions.disable":`Desactivar`,"settings.remoteInstances.relay.confirm.disable":`¿Desactivar el relay? Los dispositivos conectados a través de él se desconectarán de inmediato.`,"settings.remoteInstances.relay.state.loading":`Comprobando el estado del relay...`,"settings.remoteInstances.relay.state.disabled":`Desactivado`,"settings.remoteInstances.relay.state.connecting":`Conectando`,"settings.remoteInstances.relay.state.connected":`Conectado`,"settings.remoteInstances.relay.state.reconnecting":`Reconectando`,"settings.remoteInstances.relay.state.error":`Error`,"settings.remoteInstances.relay.status.clientsOne":`{count} dispositivo conectado`,"settings.remoteInstances.relay.status.clientsMany":`{count} dispositivos conectados`,"settings.remoteInstances.relay.pair.title":`Emparejar un dispositivo`,"settings.remoteInstances.relay.pair.labelPlaceholder":`Nombre del dispositivo (opcional)`,"settings.remoteInstances.relay.pair.includeToken":`Incluir token de acceso (emparejamiento con un solo escaneo)`,"settings.remoteInstances.relay.pair.noTokenHint":`Sin token, el dispositivo inicia sesión con la contraseña de la interfaz de este servidor tras conectarse.`,"settings.remoteInstances.relay.pair.generate":`Crear enlace de emparejamiento`,"settings.remoteInstances.relay.pair.requiresConnected":`El emparejamiento estará disponible cuando el relay esté conectado.`,"settings.remoteInstances.relay.pair.linkLabel":`Enlace de emparejamiento`,"settings.remoteInstances.relay.pair.warning":`Este enlace concede acceso a este servidor. No lo compartas.`,"settings.remoteInstances.relay.pair.qrAlt":`Código QR de emparejamiento del relay`,"settings.remoteInstances.relay.pair.showQr":`Mostrar código QR`,"settings.remoteInstances.relay.pair.qrDialogTitle":`Escanear para emparejar`,"settings.remoteInstances.relay.pair.qrDialogDescription":`Escanea este código QR con la app de OpenChamber en tu otro dispositivo.`,"settings.remoteInstances.relay.pair.manageHint":`Gestiona o revoca los dispositivos emparejados en la lista «Conexión a este servidor» de arriba.`,"settings.remoteInstances.relay.toast.enableFailed":`No se pudo activar el relay`,"settings.remoteInstances.relay.toast.disableFailed":`No se pudo desactivar el relay`,"settings.remoteInstances.relay.toast.offerFailed":`No se pudo crear el enlace de emparejamiento`,"settings.remoteInstances.relay.toast.linkCopied":`Enlace de emparejamiento copiado`,"settings.remoteInstances.sidebar.phase.ready":`Listo`,"settings.remoteInstances.sidebar.phase.error":`Error`,"settings.remoteInstances.sidebar.phase.reconnect":`Reconectar`,"settings.remoteInstances.sidebar.phase.installing":`Instalando`,"settings.remoteInstances.sidebar.phase.updating":`Actualizando`,"settings.remoteInstances.sidebar.phase.forwarding":`Redirigiendo`,"settings.remoteInstances.sidebar.phase.starting":`Iniciando`,"settings.remoteInstances.sidebar.phase.connecting":`Conectando`,"settings.remoteInstances.sidebar.phase.idle":`Inactivo`,"settings.remoteInstances.page.section.instance":`Instancia`,"settings.remoteInstances.page.section.instanceDescription":`Choose the SSH command and a display name for this connection.`,"settings.remoteInstances.page.field.mode":`Modo`,"settings.remoteInstances.page.field.modeHint":`Elige si OpenChamber debe iniciar el servidor por ti o conectarse a uno que ya está en marcha.`,"settings.remoteInstances.page.field.modePlaceholder":`Seleccionar modo`,"settings.remoteInstances.page.field.modeManaged":`Iniciarlo por mí`,"settings.remoteInstances.page.field.modeExternal":`Ya está en marcha`,"settings.remoteInstances.page.field.preferredRemotePort":`Puerto remoto preferido`,"settings.remoteInstances.page.field.preferredRemotePortHint":`Port to use on the remote machine. Leave empty to choose one automatically.`,"settings.remoteInstances.page.field.keepServerRunning":`Mantener servidor en ejecución`,"settings.remoteInstances.page.field.keepServerRunningHint":`Keep OpenChamber running on the remote machine after you disconnect.`,"settings.remoteInstances.page.field.bindHost":`Host de enlace`,"settings.remoteInstances.page.field.bindHostHint":`Where the local connection should listen. Use 127.0.0.1 or localhost unless you need LAN access.`,"settings.remoteInstances.page.field.preferredLocalPort":`Puerto local preferido`,"settings.remoteInstances.page.field.preferredLocalPortHint":`Local port to open for this connection. Leave empty to choose one automatically.`,"settings.remoteInstances.page.field.forwardType":`Tipo de redirección`,"settings.remoteInstances.page.field.localListen":`Escucha local`,"settings.remoteInstances.page.field.localTarget":`Destino local`,"settings.remoteInstances.page.field.remoteListen":`Escucha remota`,"settings.remoteInstances.page.field.remoteTarget":`Destino remoto`,"settings.remoteInstances.page.field.localHostPlaceholder":`127.0.0.1`,"settings.remoteInstances.page.field.remoteHostPlaceholder":`127.0.0.1`,"settings.remoteInstances.page.field.auto":`Automático`,"settings.remoteInstances.page.confirm.bindAllInterfaces":`Vincular a 0.0.0.0 expone los puertos redirigidos a tu red local. ¿Continuar?`,"settings.remoteInstances.page.preview.localSocks5":`(local SOCKS5)`,"settings.remoteInstances.page.preview.local":`(local)`,"settings.remoteInstances.page.preview.remote":`(remoto)`,"settings.remoteInstances.page.toast.openLocalEndpointFailed":`No se pudo abrir la dirección local`,"settings.remoteInstances.page.toast.localUrlCopied":`URL local copiada`,"settings.remoteInstances.page.actions.copyLocalUrl":`Copiar URL local`,"settings.remoteInstances.page.actions.open":`Abrir`,"settings.remoteInstances.page.logsDialog.selectedInstanceFallback":`Instancia seleccionada`,"settings.remoteInstances.page.patternDialog.descriptionWithHost":`{host} requiere un destino concreto.`,"settings.remoteInstances.page.patternDialog.description":`Introduce destino.`,"settings.common.actions.cancel":`Cancelar`,"settings.common.actions.create":`Crear`,"settings.common.actions.delete":`Eliminar`,"settings.common.actions.reset":`Restablecer`,"settings.common.actions.rename":`Cambiar nombre`,"settings.common.actions.duplicate":`Duplicar`,"settings.common.actions.import":`Importar`,"settings.common.actions.copyAll":`Copiar todo`,"settings.common.actions.clear":`Limpiar`,"settings.common.actions.saving":`Guardando...`,"settings.common.actions.saveChanges":`Guardar cambios`,"settings.common.scope.global":`Global`,"settings.common.scope.project":`Proyecto`,"settings.common.field.description":`Descripción`,"settings.common.badge.new":`Nuevo`,"settings.common.badge.modified":`Modificado`,"settings.common.permission.allow":`Permitir`,"settings.common.permission.ask":`Preguntar`,"settings.common.permission.deny":`Denegar`,"settings.common.state.comingSoon":`Próximamente...`,"settings.projects.actions.title":`Acciones`,"settings.projects.actions.description":`Comandos por proyecto mostrados en el encabezado junto al nombre del proyecto.`,"settings.projects.actions.validation.fillNameAndCommand":`Completa el nombre de la acción y el comando antes de guardar.`,"settings.projects.actions.state.loading":`Cargando...`,"settings.projects.actions.state.empty":`No hay acciones configuradas aún.`,"settings.projects.actions.state.untitled":`Acción sin título`,"settings.projects.actions.state.noDesktopSshForwards":`No hay forwards SSH locales habilitados disponibles.`,"settings.projects.actions.field.selectIconAria":`Seleccionar icono`,"settings.projects.actions.field.iconAria":`Icono {icon}`,"settings.projects.actions.field.actionNamePlaceholder":`Nombre de la acción`,"settings.projects.actions.field.command":`Comando`,"settings.projects.actions.field.commandPlaceholder":`p. ej. bun run lint`,"settings.projects.actions.field.autoOpenUrl":`Abrir URL automáticamente`,"settings.projects.actions.field.autoOpenUrlForAria":`Abrir URL automáticamente para {title}`,"settings.projects.actions.field.autoOpenUrlDescription":`Abrir URL desde la salida o la URL personalizada de abajo`,"settings.projects.actions.field.overrideUrlPlaceholder":`URL de reemplazo (opcional)`,"settings.projects.actions.field.overrideUrlTooltip":`Si este campo está lleno, se usa la URL personalizada. Si está vacío, la aplicación abre la mejor URL de la salida.`,"settings.projects.actions.field.desktopSshForward":`Forward SSH de escritorio`,"settings.projects.actions.field.useOutputManualUrl":`Usar URL de salida/manual`,"settings.projects.actions.actions.add":`Añadir acción`,"settings.projects.actions.actions.save":`Guardar acciones`,"settings.projects.actions.toast.saveFailed":`No se pudieron guardar las acciones`,"settings.projects.actions.toast.saved":`Acciones del proyecto guardadas`,"settings.openchamber.about.title":`Acerca de OpenChamber`,"settings.openchamber.about.field.version":`Versión`,"settings.openchamber.about.field.clientVersion":`Cliente`,"settings.openchamber.about.field.webBundle":`Paquete web`,"settings.openchamber.about.field.instanceOpenChamberVersion":`OpenChamber`,"settings.openchamber.about.field.instanceOpenCodeVersion":`OpenCode`,"settings.openchamber.about.field.openCodeVersion":`Versión de OpenCode`,"settings.openchamber.about.state.checking":`Comprobando...`,"settings.openchamber.about.state.upToDate":`Actualizado`,"settings.openchamber.about.state.unknown":`desconocido`,"settings.openchamber.about.state.builtin":`integrado`,"settings.openchamber.about.actions.checkUpdates":`Comprobar actualizaciones`,"settings.openchamber.about.actions.update":`Actualizar`,"settings.openchamber.about.actions.updateToVersion":`Actualizar a {version}`,"settings.openchamber.about.actions.applyOtaToVersion":`Actualizar ahora a {version}`,"settings.openchamber.about.actions.installNativeToVersion":`Instalar {version}`,"settings.openchamber.about.actions.checkForUpdates":`Comprobar actualizaciones`,"settings.openchamber.about.actions.submitFeedback":`Enviar comentarios`,"settings.openchamber.about.toast.latestVersion":`Ya estás en la última versión`,"settings.openchamber.about.toast.checkFailed":`No se pudo comprobar actualizaciones`,"settings.openchamber.about.betaUpdates.label":`Unirse a las actualizaciones beta`,"settings.openchamber.about.betaUpdates.description":`Recibe antes las actualizaciones de la aplicación en este dispositivo.`,"settings.openchamber.about.betaUpdates.rollback.title":`¿Volver a la versión estable?`,"settings.openchamber.about.betaUpdates.rollback.description":`Estás usando una versión beta. Al desactivar las actualizaciones beta, OpenChamber volverá a la versión estable v{version}. Reinicia la aplicación para aplicar el cambio.`,"settings.openchamber.about.betaUpdates.rollback.actions.cancel":`Mantener beta`,"settings.openchamber.about.betaUpdates.rollback.actions.confirm":`Volver a estable`,"settings.openchamber.about.diagnostics.label":`Registro de diagnóstico`,"settings.openchamber.about.diagnostics.description":`Exporta los feat de diagnóstico locales para analizar problemas de visualización y sincronización. No incluye cuerpos de mensajes ni tokens.`,"settings.openchamber.about.diagnostics.export":`Exportar registro`,"settings.openchamber.about.diagnostics.exporting":`Exportando…`,"settings.openchamber.about.diagnostics.enable":`Registrar feat de diagnóstico`,"settings.openchamber.about.diagnostics.enableHint":`Disponible en versiones beta. Registra en este dispositivo el ciclo de sincronización y visualización de la sesión, sin el cuerpo del mensaje.`,"settings.openchamber.about.diagnostics.toast.exported":`Registro de diagnóstico exportado`,"settings.openchamber.about.diagnostics.toast.failed":`No se pudo exportar el registro de diagnóstico`,"settings.openchamber.about.diagnostics.toast.empty":`Registro de diagnóstico exportado. Aún no se registró ningún evento.`,"settings.agents.sidebar.title":`Agentes`,"settings.agents.sidebar.total":`Total {count}`,"settings.agents.sidebar.empty.title":`No hay agentes configurados`,"settings.agents.sidebar.empty.description":`Usa el botón + arriba para crear uno`,"settings.agents.sidebar.section.builtIn":`Agentes incorporados`,"settings.agents.sidebar.section.custom":`Agentes personalizados`,"settings.agents.sidebar.badge.system":`sistema`,"settings.agents.sidebar.dialog.deleteTitle":`Eliminar agente`,"settings.agents.sidebar.dialog.resetTitle":`Restablecer agente`,"settings.agents.sidebar.dialog.deleteDescription":`¿Seguro que quieres eliminar el agente "{name}"?`,"settings.agents.sidebar.dialog.resetDescription":`¿Seguro que quieres restablecer el agente "{name}" a su configuración predeterminada?`,"settings.agents.sidebar.renameDialog.title":`Cambiar nombre del agente`,"settings.agents.sidebar.renameDialog.description":`Introduce un nuevo nombre para el agente "@{name}"`,"settings.agents.sidebar.renameDialog.placeholder":`Nuevo nombre del agente...`,"settings.agents.sidebar.toast.builtInCannotDelete":`Los agentes incorporados no pueden eliminarse`,"settings.agents.sidebar.toast.agentDeleted":`Agente "{name}" eliminado correctamente`,"settings.agents.sidebar.toast.agentReset":`Agente "{name}" restablecido a la configuración predeterminada`,"settings.agents.sidebar.toast.deleteFailed":`No se pudo eliminar el agente`,"settings.agents.sidebar.toast.definitionNotFound":`No se encontró la definición del agente. No se cambió nada.`,"settings.agents.sidebar.toast.resetFailed":`No se pudo restablecer el agente`,"settings.agents.sidebar.toast.agentNameRequired":`Se requiere el nombre del agente`,"settings.agents.sidebar.toast.agentExists":`Ya existe un agente con este nombre`,"settings.agents.sidebar.toast.removeOldAfterRenameFailed":`No se pudo eliminar el antiguo agente después del cambio de nombre`,"settings.agents.sidebar.toast.renameFailed":`No se pudo cambiar el nombre del agente`,"settings.agents.sidebar.toast.agentRenamed":`Agente renombrado a "{name}"`,"settings.agents.page.toast.permissionNameRequired":`Se requiere el nombre del permiso`,"settings.agents.page.toast.created":`Agente creado correctamente`,"settings.agents.page.toast.updated":`Agente actualizado correctamente`,"settings.agents.page.toast.createFailed":`No se pudo crear el agente`,"settings.agents.page.toast.updateFailed":`No se pudo actualizar el agente`,"settings.agents.page.toast.saveUnexpectedError":`Ocurrió un error al guardar`,"settings.agents.page.toast.savedManualRestart":`Guardado en disco. Reinicia tu servidor OpenCode conectado para aplicar los cambios.`,"settings.agents.page.empty.title":`Selecciona un agente desde la barra lateral`,"settings.agents.page.empty.description":`o crea uno nuevo`,"settings.agents.page.title.new":`Nuevo agente`,"settings.agents.page.subtitle.new":`Configura una nueva asistente`,"settings.agents.page.subtitle.edit":`Editar configuración del agente`,"settings.agents.page.section.identityRole":`Identidad y rol`,"settings.agents.page.section.modelParameters":`Modelo y parámetros`,"settings.agents.page.section.systemPrompt":`Prompt del sistema`,"settings.agents.page.section.toolPermissions":`Permisos de herramientas`,"settings.agents.page.field.agentName":`Nombre del agente`,"settings.agents.page.field.agentNamePlaceholder":`nombre-agente`,"settings.agents.page.field.scopePlaceholder":`Ámbito`,"settings.agents.page.field.descriptionPlaceholder":`¿Qué hace este agente?`,"settings.agents.page.field.mode":`Modo`,"settings.agents.page.field.modeTooltip":`Visibilidad principal vs subagente`,"settings.agents.page.field.overrideModel":`Sobrescribir modelo`,"settings.agents.page.field.variant":`Variante de pensamiento`,"settings.agents.page.field.variantTooltip":`Opcional. Si el modelo admite razonamiento, la variante controla la profundidad del razonamiento.`,"settings.agents.page.field.variantHint":`Específico del modelo (p. ej. variante de Anthropic)`,"settings.agents.page.field.variantPlaceholder":`p. ej. high, max, low, none`,"settings.agents.page.field.temperature":`Temperatura`,"settings.agents.page.field.temperatureTooltip":`Controla la aleatoriedad. Mayor = más creativo, menor = más enfocado.`,"settings.agents.page.field.temperatureRange":`0.0 a 2.0`,"settings.agents.page.field.clearTemperatureAria":`Limpiar sobrescritura de temperatura`,"settings.agents.page.field.topP":`Top P`,"settings.agents.page.field.topPTooltip":`Diversidad de muestreo del núcleo. Más bajo = solo tokens más probables.`,"settings.agents.page.field.topPRange":`0.0 a 1.0`,"settings.agents.page.field.clearTopPAria":`Limpiar sobrescritura de top p`,"settings.agents.page.field.systemPromptPlaceholder":`Eres un asistente experto en programación...`,"settings.agents.page.mode.primary":`Primario`,"settings.agents.page.mode.subagent":`Subagente`,"settings.agents.page.mode.all":`Todos`,"settings.agents.page.permissions.defaultLabel":`Predeterminado`,"settings.agents.page.permissions.hideEditor":`Ocultar editor`,"settings.agents.page.permissions.advancedEditor":`Editor avanzado`,"settings.agents.page.permissions.globalSummary":`Global: {summary}`,"settings.agents.page.permissions.rulesSummary":`Reglas: {summary}`,"settings.agents.page.permissions.globalDefault":`Predeterminado global`,"settings.agents.page.permissions.pattern":`Patrón`,"settings.agents.page.permissions.addCustomRule":`Añadir regla personalizada`,"settings.agents.page.permissions.permissionPlaceholder":`Permiso...`,"settings.agents.page.permissions.patternPlaceholder":`Patrón (ej. *)`,"settings.page.behavior.title":`Comportamiento`,"settings.behavior.page.title":`Comportamiento`,"settings.behavior.page.warning.title":`Las reglas globales se combinan con las reglas del proyecto`,"settings.behavior.page.warning.description":`Los cambios realizados aquí actualizan {path}. OpenCode también incluye cualquier AGENTS.md a nivel de proyecto cuando existe.`,"settings.behavior.page.section.systemPrompt":`AGENTS.md global`,"settings.behavior.page.field.systemPromptPlaceholder":`Eres un asistente de IA útil...
|
|
2
2
|
|
|
3
3
|
Usa este espacio para definir reglas absolutas sobre cómo la IA debe comportarse en todas las sesiones y proveedores.`,"settings.behavior.page.section.responseStyle":`Estilo de respuesta`,"settings.behavior.page.responseStyle.tooltip":`Cuando está habilitado, estas instrucciones guían cómo responde el asistente en cada conversación nueva. Se envían con tu primer mensaje y no cambian tus reglas globales de AGENTS.md.`,"settings.behavior.page.responseStyle.enableAria":`Habilitar instrucciones de estilo de respuesta`,"settings.behavior.page.responseStyle.enable":`Agregar instrucciones de estilo de respuesta a conversaciones nuevas`,"settings.behavior.page.responseStyle.preset":`Preset`,"settings.behavior.page.responseStyle.option.concise":`Conciso`,"settings.behavior.page.responseStyle.option.detailed":`Detallado`,"settings.behavior.page.responseStyle.option.mentor":`Mentor`,"settings.behavior.page.responseStyle.option.pushback":`Réplica`,"settings.behavior.page.responseStyle.option.noFiller":`Sin relleno`,"settings.behavior.page.responseStyle.option.matchEnergy":`Igualar mi tono`,"settings.behavior.page.responseStyle.option.warmPeer":`Colega cercano`,"settings.behavior.page.responseStyle.option.custom":`Personalizado`,"settings.behavior.page.responseStyle.customPlaceholder":`Escribe la instrucción que se agregará al primer mensaje...`,"settings.behavior.page.toast.saved":`Comportamiento guardado correctamente`,"settings.behavior.page.toast.saveFailed":`Error al guardar el comportamiento`,"settings.commands.sidebar.title":`Comandos`,"settings.commands.sidebar.total":`Total {count}`,"settings.commands.sidebar.empty.title":`No hay comandos configurados`,"settings.commands.sidebar.empty.description":`Usa el botón + arriba para crear uno`,"settings.commands.sidebar.section.builtIn":`Comandos incorporados`,"settings.commands.sidebar.section.custom":`Comandos personalizados`,"settings.commands.sidebar.dialog.deleteTitle":`Eliminar comando`,"settings.commands.sidebar.dialog.resetTitle":`Restablecer comando`,"settings.commands.sidebar.dialog.deleteDescription":`¿Estás seguro de que quieres eliminar el comando "{name}"?`,"settings.commands.sidebar.dialog.resetDescription":`¿Estás seguro de que quieres restablecer el comando "{name}" a su configuración predeterminada?`,"settings.commands.sidebar.renameDialog.title":`Cambiar nombre del comando`,"settings.commands.sidebar.renameDialog.description":`Introduce un nuevo nombre para el comando "/{name}"`,"settings.commands.sidebar.renameDialog.placeholder":`Nuevo nombre del comando...`,"settings.commands.sidebar.toast.builtInCannotDelete":`Los comandos incorporados no pueden eliminarse`,"settings.commands.sidebar.toast.commandDeleted":`Comando "{name}" eliminado`,"settings.commands.sidebar.toast.commandReset":`Comando "{name}" restablecido al valor predeterminado`,"settings.commands.sidebar.toast.deleteFailed":`No se pudo eliminar el comando`,"settings.commands.sidebar.toast.resetFailed":`No se pudo restablecer el comando`,"settings.commands.sidebar.toast.commandNameRequired":`Se requiere nombre del comando`,"settings.commands.sidebar.toast.commandExists":`Ya existe un comando con este nombre`,"settings.commands.sidebar.toast.removeOldAfterRenameFailed":`No se pudo eliminar el comando antiguo después del cambio de nombre`,"settings.commands.sidebar.toast.renameFailed":`No se pudo cambiar el nombre del comando`,"settings.commands.page.toast.templateRequired":`Se requiere plantilla del comando`,"settings.commands.page.toast.created":`Comando creado`,"settings.commands.page.toast.updated":`Comando actualizado`,"settings.commands.page.toast.createFailed":`No se pudo crear el comando`,"settings.commands.page.toast.updateFailed":`No se pudo actualizar el comando`,"settings.commands.page.toast.saveUnexpectedError":`Ocurrió un error al guardar`,"settings.commands.page.empty.title":`Selecciona un comando de la barra lateral`,"settings.commands.page.empty.description":`o crea uno nuevo`,"settings.commands.page.title.new":`Nuevo comando`,"settings.commands.page.subtitle.new":`Configura un nuevo comando slash`,"settings.commands.page.subtitle.edit":`Editar configuración del comando`,"settings.commands.page.section.identity":`Identidad`,"settings.commands.page.section.executionContext":`Contexto de ejecución`,"settings.commands.page.section.template":`Plantilla del comando`,"settings.commands.page.field.commandName":`Nombre del comando`,"settings.commands.page.field.commandNamePlaceholder":`nombre-del-comando`,"settings.commands.page.field.descriptionPlaceholder":`¿Qué hace este comando?`,"settings.commands.page.field.overrideAgent":`Sobrescribir agente`,"settings.commands.page.field.templatePlaceholder":`Tu plantilla de comando aquí...
|
|
4
4
|
|
|
@@ -8,7 +8,7 @@ Usa @filename para añadir el contenido del archivo.`,"settings.commands.page.te
|
|
|
8
8
|
[Proceso terminado{exitCodeSegment}{signalSegment}]\r
|
|
9
9
|
`,"terminalView.stream.processExitedWithCode":` con código {exitCode}`,"terminalView.stream.processExitedWithSignal":` (señal {signal})`,"terminalView.error.sessionEnded":`Sesión de terminal terminada`,"terminalView.error.connectionFailed":`Error de conexión: {message}`,"terminalView.error.startSessionFailed":`No se pudo iniciar la sesión de terminal`,"terminalView.error.restartFailed":`No se pudo reiniciar la terminal`,"terminalView.error.sendInputFailed":`No se pudo enviar entrada`,"terminalView.empty.noWorkingDirectory":`No hay directorio de trabajo disponible para la terminal.`,"terminalView.empty.selectSession":`Selecciona una sesión para abrir la terminal.`,"terminalView.empty.noWorkingDirectoryForSession":`No hay directorio de trabajo disponible para esta sesión.`,"terminalView.actions.retry":`Volver a intentar`,"terminalView.actions.hardRestart":`Reinicio forzado`,"terminalView.actions.hardRestartTitle":`Forzar el cierre y crear una sesión nueva`,"terminalView.quickKeys.escape":`Esc`,"terminalView.quickKeys.tabAria":`Tab`,"terminalView.quickKeys.controlLabel":`Ctrl`,"terminalView.quickKeys.controlModifierAria":`Modificador de control`,"terminalView.quickKeys.commandModifierAria":`Modificador de comando`,"terminalView.quickKeys.arrowUpAria":`Flecha arriba`,"terminalView.quickKeys.arrowLeftAria":`Flecha izquierda`,"terminalView.quickKeys.arrowDownAria":`Flecha abajo`,"terminalView.quickKeys.arrowRightAria":`Flecha derecha`,"terminalView.quickKeys.enterAria":`Enter`,"terminalView.tabs.closeTabTitle":`Cerrar pestaña`,"terminalView.tabs.newTabTitle":`Nueva pestaña`,"terminalView.bottomDock.resizeAria":`Ajustar tamaño del panel de terminal`,"terminalView.bottomDock.restoreTitle":`Restaurar altura del panel de terminal`,"terminalView.bottomDock.restoreAria":`Restaurar altura del panel de terminal`,"terminalView.bottomDock.expandTitle":`Expandir panel de terminal`,"terminalView.bottomDock.expandAria":`Expandir panel de terminal`,"terminalView.bottomDock.closeTitle":`Cerrar panel de terminal`,"terminalView.bottomDock.closeAria":`Cerrar panel de terminal`,"terminalView.viewport.inputAria":`Entrada de terminal`,"directoryExplorerDialog.title":`Añadir directorio de proyecto`,"directoryExplorerDialog.description":`Elige una carpeta para añadir como proyecto.`,"directoryExplorerDialog.toggle.showHidden":`Mostrar ocultos`,"directoryExplorerDialog.pathInput.placeholder":`Escribe la ruta o selecciona desde el árbol...`,"directoryExplorerDialog.actions.openingFinder":`Abriendo...`,"directoryExplorerDialog.actions.openInFinder":`Abrir en Finder`,"directoryExplorerDialog.actions.adding":`Añadiendo...`,"directoryExplorerDialog.actions.addProject":`Añadir proyecto`,"directoryExplorerDialog.actions.addLocalProject":`Añadir proyecto local`,"directoryExplorerDialog.actions.cloneRepository":`Clonar repositorio`,"directoryExplorerDialog.actions.cloneAndAdd":`Clonar y añadir`,"directoryExplorerDialog.actions.cloning":`Clonando...`,"directoryExplorerDialog.actions.createAndAdd":`Crear y añadir`,"directoryExplorerDialog.actions.alreadyAdded":`Ya añadido`,"directoryExplorerDialog.clone.remoteUrlPlaceholder":`URL del repositorio (HTTPS o SSH)`,"directoryExplorerDialog.browse.directories":`Directorios`,"directoryExplorerDialog.browse.loading":`Cargando directorios...`,"directoryExplorerDialog.browse.empty":`No hay directorios coincidentes.`,"directoryExplorerDialog.browse.parentDirectory":`Directorio padre`,"directoryExplorerDialog.browse.addedBadge":`Añadido`,"directoryExplorerDialog.browse.quickAdd":`Añadir`,"directoryExplorerDialog.footer.navigate":`Navegar`,"directoryExplorerDialog.footer.select":`Seleccionar`,"directoryExplorerDialog.footer.add":`Añadir`,"directoryExplorerDialog.shortcut.enter":`Enter`,"directoryExplorerDialog.toast.unableToAccessDirectory":`No se puede acceder al directorio`,"directoryExplorerDialog.toast.desktopDeniedAccess":`El escritorio denegó el acceso al directorio.`,"directoryExplorerDialog.toast.failedToOpenDirectory":`No se pudo abrir el directorio`,"directoryExplorerDialog.toast.desktopCouldNotGrantAccess":`El escritorio no pudo otorgar acceso al archivo.`,"directoryExplorerDialog.toast.failedToAddProject":`No se pudo añadir el proyecto`,"directoryExplorerDialog.toast.cloneUrlRequired":`Introduce una URL de repositorio antes de clonar.`,"directoryExplorerDialog.toast.selectValidDirectoryPath":`Por favor selecciona una ruta de directorio válida.`,"directoryExplorerDialog.toast.failedToSelectDirectory":`No se pudo seleccionar el directorio`,"directoryExplorerDialog.toast.unknownError":`Ocurrió un error desconocido.`,"directoryTree.actions.createNewDirectory":`Crear nueva carpeta`,"directoryTree.actions.pinDirectory":`Fijar carpeta`,"directoryTree.actions.unpinDirectory":`Desfijar carpeta`,"directoryTree.actions.createDirectory":`Crear carpeta`,"directoryTree.actions.cancel":`Cancelar`,"directoryTree.actions.selectWorkingDirectoryAria":`Seleccionar carpeta de trabajo`,"directoryTree.state.locatingHomeDirectory":`Buscando la carpeta de inicio...`,"directoryTree.state.loading":`Cargando...`,"directoryTree.state.noDirectoriesFound":`No se encontraron directorios`,"directoryTree.section.pinned":`Fijados`,"directoryTree.section.browse":`Explorar`,"aboutDialog.versionLabel":`Versión {version}`,"aboutDialog.openChamberVersionLabel":`Versión de OpenChamber {version}`,"aboutDialog.openCodeVersionLabel":`Versión de OpenCode {version}`,"aboutDialog.actions.copyDiagnostics":`Copiar diagnósticos`,"aboutDialog.actions.preparingDiagnostics":`Preparando diagnósticos...`,"aboutDialog.actions.diagnosticsCopied":`Diagnósticos copiados`,"aboutDialog.diagnosticsDescription":`Incluye el estado de OpenChamber, el estado de OpenCode, directorios y proyectos.`,"aboutDialog.footerNote":`Hecho con amor para la comunidad`,"aboutDialog.toast.copyFailed":`No se pudo copiar`,"aboutDialog.toast.diagnosticsNotReady":`Los diagnósticos aún no están listos. Espera un segundo y vuelve a intentarlo.`,"aboutDialog.toast.diagnosticsCopied":`Diagnósticos copiados`,"helpDialog.title":`Atajos de teclado`,"helpDialog.description":`Usa estos atajos de teclado para navegar por OpenChamber de manera eficiente`,"helpDialog.section.navigationCommands":`Navegación y comandos`,"helpDialog.section.sessionManagement":`Gestión de sesiones`,"helpDialog.section.panels":`Paneles`,"helpDialog.section.interface":`Interfaz`,"helpDialog.item.openCommandPalette":`Abrir paleta de comandos`,"helpDialog.item.showKeyboardShortcuts":`Mostrar atajos de teclado (este diálogo)`,"helpDialog.item.toggleSessionSidebar":`Mostrar u ocultar barra lateral de sesión`,"helpDialog.item.cycleAgent":`Cambiar agente (entrada de chat)`,"helpDialog.item.openModelSelector":`Abrir selector de modelos`,"helpDialog.item.navigateModels":`Navegar modelos (en selector)`,"helpDialog.item.adjustThinkingMode":`Ajustar modo de pensamiento (en selector, cuando esté disponible)`,"helpDialog.item.cycleThinkingVariant":`Cambiar variante de pensamiento (atajo global)`,"helpDialog.item.newWindow":`Nueva ventana (solo escritorio)`,"helpDialog.item.createNewSession":`Crear nueva sesión`,"helpDialog.item.createNewWorktreeDraft":`Crear nuevo borrador de worktree`,"helpDialog.item.previousSession":`Sesión anterior`,"helpDialog.item.nextSession":`Sesión siguiente`,"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":`Mostrar u ocultar panel de revisión`,"helpDialog.item.openRightSidebarGitTab":`Abrir pestaña de Git en barra lateral derecha`,"helpDialog.item.openRightSidebarFilesTab":`Abrir pestaña de archivos en barra lateral derecha`,"helpDialog.item.cycleRightSidebarTab":`Cambiar pestaña de la barra lateral derecha`,"helpDialog.item.closeContextPanelTab":`Cerrar pestaña del panel de contexto`,"helpDialog.item.toggleTerminal":`Mostrar u ocultar terminal`,"helpDialog.item.newTerminalTab":`Nueva pestaña de terminal (con el terminal enfocado)`,"helpDialog.item.openNewTerminal":`Abrir terminal nuevo`,"helpDialog.item.previousTerminalTab":`Pestaña de terminal anterior (con el terminal enfocado)`,"helpDialog.item.nextTerminalTab":`Pestaña de terminal siguiente (con el terminal enfocado)`,"helpDialog.item.toggleBottomPanel":`Mostrar u ocultar el panel inferior`,"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.zoomIn":`Acercar`,"helpDialog.item.zoomOut":`Alejar`,"helpDialog.item.zoomReset":`Restablecer zoom`,"helpDialog.item.switchSession":`Cambiar sesión`,"helpDialog.item.toggleServicesMenu":`Mostrar u ocultar menú de servicios`,"helpDialog.item.openUsage":`Ver uso`,"helpDialog.item.cycleServicesTab":`Cambiar pestaña de servicios`,"helpDialog.item.openSettings":`Abrir configuración`,"helpDialog.section.leaderChords":`Tecla líder (Ctrl+X)`,"helpDialog.item.leaderOpenModel":`Abrir selector de modelo`,"helpDialog.item.leaderOpenAgent":`Abrir selector de agente`,"helpDialog.item.leaderNewSession":`Crear nueva sesión`,"helpDialog.item.leaderCompact":`Compactar sesión actual`,"chat.leaderKey.pendingAria":`Tecla líder activa. Pulsa una tecla de seguimiento.`,"chat.leaderKey.action.model":`Modelo`,"chat.leaderKey.action.agent":`Agente`,"chat.leaderKey.action.newSession":`Nueva`,"chat.leaderKey.action.compact":`Compactar`,"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:
|
|
10
10
|
{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.actions.expandImages":`Mostrar más imágenes`,"chat.fileAttachment.actions.collapseImages":`Mostrar menos imágenes`,"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.activity.title":`Detalles del procesamiento`,"chat.activity.active":`Procesando`,"chat.activity.compacting":`Comprimiendo`,"chat.activity.compactionCompleted":`Compresión completada`,"chat.activity.expandAria":`Expandir detalles del procesamiento`,"chat.activity.collapseAria":`Contraer detalles del procesamiento`,"chat.activity.completed":`Procesado en {duration}`,"chat.activity.completedStatus":`Procesado`,"chat.activity.agentsWorking":`{count} agentes trabajando`,"chat.activity.agentsInvolved":`{count} agentes involucrados`,"chat.activity.moreHidden":`+{count} más...`,"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.emptyState.establishingConversation":`Estableciendo conversación`,"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.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":`Quitar`,"chat.draftStarters.expand":`Mostrar más`,"chat.draftStarters.collapse":`Mostrar menos`,"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.summary.activeLeft":`{active} activas · {left} restantes`,"chat.statusRow.aborted":`Interrumpido`,"chat.statusRow.abortPrompt":`Pulsa Esc de nuevo para detener`,"chat.assistantStatus.readingFile":`Leyendo archivo`,"chat.assistantStatus.writingFile":`Escribiendo archivo`,"chat.assistantStatus.editingFile":`Editando archivo`,"chat.assistantStatus.editingFiles":`Editando archivos`,"chat.assistantStatus.compacting":`Comprimiendo`,"chat.assistantStatus.applyingPatch":`Aplicando parche`,"chat.assistantStatus.runningCommand":`Ejecutando comando`,"chat.assistantStatus.searchingContent":`Buscando contenido`,"chat.assistantStatus.findingFiles":`Buscando archivos`,"chat.assistantStatus.listingDirectory":`Listando directorio`,"chat.assistantStatus.delegatingTask":`Delegando tarea`,"chat.assistantStatus.taskWorking":`{name} en curso`,"chat.assistantStatus.fetchingUrl":`Obteniendo URL`,"chat.assistantStatus.searchingWeb":`Buscando en la web`,"chat.assistantStatus.webCodeSearch":`Buscando código web`,"chat.assistantStatus.updatingTodos":`Actualizando tareas`,"chat.assistantStatus.readingTodos":`Leyendo tareas`,"chat.assistantStatus.learningSkill":`Aprendiendo habilidad`,"chat.assistantStatus.askingQuestion":`Haciendo pregunta`,"chat.assistantStatus.switchingToPlanning":`Cambiando a planificación`,"chat.assistantStatus.switchingToBuilding":`Cambiando a construcción`,"chat.assistantStatus.usingTool":`Usando {tool}`,"chat.assistantStatus.working":`Trabajando`,"chat.assistantStatus.processing":`Procesando`,"chat.assistantStatus.preparing":`Preparando`,"chat.assistantStatus.warmingUp":`Preparando el entorno`,"chat.assistantStatus.gearsTurning":`En marcha`,"chat.assistantStatus.computing":`Computando`,"chat.assistantStatus.calculating":`Calculando`,"chat.assistantStatus.analyzing":`Analizando`,"chat.assistantStatus.wheelsSpinning":`En funcionamiento`,"chat.assistantStatus.calibrating":`Calibrando`,"chat.assistantStatus.synthesizing":`Sintetizando`,"chat.assistantStatus.connectingDots":`Conectando ideas`,"chat.assistantStatus.inspectingLogic":`Revisando lógica`,"chat.assistantStatus.weighingOptions":`Evaluando opciones`,"chat.assistantStatus.thinking":`Pensando`,"chat.assistantStatus.composing":`Redactando`,"chat.assistantStatus.sendingMessage":`Enviando mensaje`,"chat.assistantStatus.waitingForPermission":`Esperando permiso`,"chat.assistantStatus.retrying":`Reintentando`,"chat.assistantStatus.retryingIn":`Reintentando {duration}`,"chat.assistantStatus.retryingAttempt":`Reintentando (intento {attempt})`,"chat.assistantStatus.retryingInAttempt":`Reintentando {duration} (intento {attempt})`,"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.forkDescription":`Crear una sesión nueva desde el estado actual de la conversación`,"chat.commandAutocomplete.command.timelineDescription":`Abrir la línea de tiempo de la conversación`,"chat.commandAutocomplete.command.modelDescription":`Abrir el selector de modelos`,"chat.commandAutocomplete.command.compactDescription":`Comprimir el historial de la sesión usando IA para reducir el tamaño del contexto`,"chat.commandAutocomplete.command.newDescription":`Iniciar una nueva sesión en el proyecto actual.`,"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.chatInput.toast.craftGoalFailed":`No se pudo iniciar la creación del Goal`,"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.groups.agents":`Agentes`,"chat.fileMentionAutocomplete.groups.sessions":`Sesiones cargadas`,"chat.fileMentionAutocomplete.groups.directories":`Directorios`,"chat.fileMentionAutocomplete.groups.recentFiles":`Archivos recientes`,"chat.fileMentionAutocomplete.groups.files":`Archivos`,"chat.fileMentionAutocomplete.sessionType":`Sesión de OpenCode`,"chat.fileMentionAutocomplete.untitledSession":`Sesión sin título`,"chat.fileMentionAutocomplete.empty":`No se encontraron coincidencias`,"chat.queuedMessage.attachments":`+{count} archivo(s)`,"chat.queuedMessage.empty":`(vacío)`,"chat.queuedMessage.title":`Cola`,"chat.queuedMessage.edit":`editar`,"chat.queuedMessage.send":`enviar`,"chat.queuedMessage.queuing":`Encolando…`,"chat.queuedMessage.queuingAria":`Encolando mensaje`,"chat.queuedMessage.sending":`Enviando…`,"chat.queuedMessage.sendingAria":`Enviando mensaje`,"chat.queuedMessage.removeAria":`Eliminar de la cola`,"chat.queuedMessage.reorderAria":`Arrastra para reordenar`,"chat.container.returnToParent.aria":`Volver a la sesión principal`,"chat.container.returnToParent.titleNamed":`Volver a: {title}`,"chat.container.returnToParent.title":`Volver a la sesión principal`,"chat.container.returnToParent.label":`Principal`,"chat.container.readOnlySubagentPromptBanner":`Las sesiones de subagentes no pueden recibir prompts.`,"chat.unifiedControls.title":`Controles`,"chat.unifiedControls.model.title":`Modelo`,"chat.unifiedControls.model.noRecent":`No hay modelos recientes`,"chat.unifiedControls.model.moreAria":`Más modelos`,"chat.unifiedControls.effort.title":`Esfuerzo`,"chat.unifiedControls.effort.moreAria":`Más opciones de esfuerzo`,"chat.questionCard.summaryTab":`Resumen`,"chat.questionCard.noAnswer":`(no hay respuesta)`,"chat.questionCard.inputNeeded":`Entrada necesaria`,"chat.questionCard.fromSubagent":`De un subagente`,"chat.questionCard.questionFallback":`Pregunta {index}`,"chat.questionCard.selectMultiple":`Seleccionar múltiples`,"chat.questionCard.recommended":`recomendado`,"chat.questionCard.other":`Otro…`,"chat.questionCard.yourAnswer":`Tu respuesta`,"chat.questionCard.submit":`Enviar`,"chat.questionCard.next":`Siguiente`,"chat.questionCard.dismiss":`Descartar`,"chat.questionCard.copyMarkdown":`Copiar como Markdown`,"chat.questionCard.copyJson":`Copiar como JSON`,"chat.questionCard.copiedMarkdown":`Pregunta copiada como Markdown`,"chat.questionCard.copiedJson":`Pregunta copiada como JSON`,"chat.questionCard.copyFailed":`No se pudo copiar la pregunta`,"chat.questionCard.submitFailed":`No se pudo enviar la respuesta`,"chat.questionCard.dismissFailed":`No se pudo descartar la pregunta`,"chat.questionCard.noLongerPending":`Esta pregunta ya no espera una respuesta.`,"chat.questionCard.tryAgain":`Inténtalo de nuevo en un momento.`,"chat.textSelection.toast.noProject":`No se encontró proyecto para esta sesión`,"chat.textSelection.toast.addToNotesFailed":`No se pudo añadir a las notas`,"chat.textSelection.toast.addToNotesSuccess":`Texto seleccionado añadido a notas`,"chat.textSelection.toast.addToNotesSummaryFailed":`No se pudo resumir la selección; se añadió el texto seleccionado a las notas`,"chat.textSelection.actions.addToChat":`Añadir al chat`,"chat.textSelection.actions.newSession":`Nueva sesión`,"chat.textSelection.actions.copy":`Copiar`,"chat.textSelection.actions.addToNotes":`Añadir a las notas`,"chat.textSelection.title.addToCurrentChat":`Añadir al chat actual`,"chat.textSelection.title.newSessionWithSelection":`Crear nueva sesión con selección`,"chat.textSelection.title.saveInsightToNotes":`Guardar texto seleccionado en notas`,"chat.messageBody.actions.editing":`Editando…`,"chat.messageBody.actions.editStaged":`Edición pendiente`,"chat.messageBody.actions.cancelEdit":`Cancelar la edición`,"chat.messageBody.actions.editAria":`Editar el mensaje y conservar los cambios`,"chat.messageBody.actions.edit":`Editar y conservar los cambios`,"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.openSourceSessionAria":`Abrir sesión original`,"chat.messageBody.actions.openSourceSession":`Abrir sesión original`,"chat.messageBody.actions.copyMessageAria":`Copiar texto del mensaje`,"chat.messageBody.actions.copyMessage":`Copiar mensaje`,"chat.messageBody.actions.openPreviewAria":`Abrir vista previa`,"chat.messageBody.actions.openPreview":`Abrir vista previa`,"chat.messageBody.actions.copyAnswer":`Copiar respuesta`,"chat.messageBody.actions.savingImage":`Guardando imagen...`,"chat.messageBody.actions.saveAsImage":`Guardar como imagen`,"chat.messageBody.meta.tpsAria":`Velocidad de generación: {rate}`,"chat.messageBody.meta.tpsTooltip":`Velocidad de generación (tokens/s), sin incluir el tiempo de las herramientas`,"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.forkTransition.preparing":`Preparando la bifurcación`,"chat.forkTransition.copying":`Copiando la conversación (las sesiones largas pueden tardar)`,"chat.forkTransition.opening":`Abriendo la nueva sesión`,"chat.forkTransition.loading":`Cargando mensajes recientes`,"chat.forkTransition.progress":`{current} / {total}`,"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.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.attachPhotos":`Adjuntar fotos`,"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.queuingMessageAria":`Encolando…`,"chat.chatInput.actions.sendingMessageAria":`Enviando…`,"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.compactTap":`Toca para escribir`,"chat.chatInput.placeholder.selectSession":`Selecciona o crea una sesión para comenzar a chatear`,"chat.chatInput.pastedTextReference":`Texto pegado #{index} · {count} caracteres`,"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.sendStatusUnknown":`Estado del mensaje desconocido. Verifique e intente de nuevo.`,"chat.chatInput.toast.queueOperationFailed":`La operación de la cola falló.`,"chat.chatInput.toast.queueOperationStatusUnknown":`Se desconoce el estado de la operación de la cola. El estado del servidor se actualizará automáticamente.`,"chat.chatInput.toast.clipboardAttachFailed":`No se pudo adjuntar la imagen desde el portapapeles`,"chat.chatInput.toast.attachFileFailed":`No se pudo adjuntar el archivo`,"chat.chatInput.toast.attachNamedFailed":`No se pudo adjuntar {name}`,"chat.chatInput.toast.someFilesSkipped":`Algunos archivos se omitieron:
|
|
11
|
-
{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.toast.sessionReferenceLoadFailed":`No se pudo cargar la referencia de la sesión.`,"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.newProject":`Nuevo proyecto`,"chat.chatInput.draftPicker.searchProjects":`Buscar proyectos...`,"chat.chatInput.draftPicker.searchBranches":`Buscar ramas...`,"chat.chatInput.worktrees":`Worktrees`,"chat.chatInput.worktreeNew":`+ Nuevo`,"chat.chatInput.branchSwitch.title":`¿Cambiar a {branch}?`,"chat.chatInput.branchSwitch.description":`¿Cómo quieres abrir esta rama para la nueva conversación?`,"chat.chatInput.branchSwitch.createWorktree":`Crear worktree`,"chat.chatInput.branchSwitch.createWorktreeDescription":`Mantén el directorio actual y trabaja en un worktree aislado.`,"chat.chatInput.branchSwitch.checkoutHere":`Hacer checkout aquí`,"chat.chatInput.branchSwitch.checkoutHereDescription":`Cambia el directorio actual a esta rama.`,"chat.chatInput.branchSwitch.cancel":`Cancelar`,"chat.chatInput.drop.insertMention":`Suelta para insertar como mención`,"chat.chatInput.drop.attachFiles":`Suelta archivos aquí para adjuntar`,"chat.chatInput.fileFallback":`archivo`,"chat.mobileStatus.editProjects.title":`Editar proyectos`,"chat.mobileStatus.editProjects.footer":`Arrastra los elementos para reordenar, o use flechas para mover. Toca editar para cambiar los detalles.`,"chat.mobileStatus.editProjects.empty":`No hay proyectos para editar`,"chat.mobileStatus.projects.empty":`No hay proyectos`,"chat.mobileStatus.projects.addAria":`Añadir proyecto`,"chat.mobileStatus.projects.removeTitle":`Eliminar proyecto`,"chat.mobileStatus.projects.removeDescriptionPrefix":`¿Estás seguro de que quieres eliminar`,"chat.mobileStatus.projects.cancel":`Cancelar`,"chat.mobileStatus.projects.remove":`Eliminar`,"chat.mobileStatus.new":`Nuevo`,"chat.mobileStatus.noSessionsInProject":`No hay sesiones en este proyecto`,"chat.mobileStatus.swipeHint":`← Desliza aquí para abrir los paneles laterales →`,"chat.mobileStatus.toast.addProjectFailed":`No se pudo añadir el proyecto`,"chat.mobileStatus.toast.selectValidDirectory":`Selecciona un directorio válido.`,"chat.mobileStatus.toast.selectDirectoryFailed":`No se pudo seleccionar el directorio`,"chat.toolOutputDialog.image.previousAria":`Imagen anterior`,"chat.toolOutputDialog.image.nextAria":`Imagen siguiente`,"chat.toolOutputDialog.image.zoomInAria":`Acercar`,"chat.toolOutputDialog.image.zoomOutAria":`Alejar`,"chat.toolOutputDialog.image.resetZoomAria":`Restablecer zoom`,"chat.image.actions.sheetTitle":`Imagen`,"chat.image.actions.saveImage":`Guardar imagen`,"chat.image.actions.saveToPhotos":`Guardar en Fotos`,"chat.image.actions.saving":`Guardando…`,"chat.image.actions.saveSuccess":`Imagen guardada`,"chat.image.actions.saveFailed":`No se pudo guardar la 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.activity.outputLoading":`Cargando la salida completa…`,"chat.activity.outputLoadFailed":`No se pudo cargar la salida completa.`,"chat.activity.outputRetry":`Reintentar`,"chat.fileAttachment.image.loading":`Cargando imagen…`,"chat.fileAttachment.image.loadFailed":`No se pudo cargar la imagen.`,"chat.fileAttachment.image.retry":`Reintentar la carga de la imagen`,"chat.fileAttachment.image.loadManually":`Cargar imagen`,"chat.fileAttachment.image.loadManuallyCount":`Cargar {count} imágenes`,"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.permissionCard.replaceAll":`Reemplazar todas las coincidencias`,"chat.permissionCard.responseFormat":`Formato de respuesta:`,"chat.permissionCard.allowOnce":`Permitir una vez`,"chat.permissionCard.alwaysAgree":`Permitir siempre`,"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`,"chat.modelControls.costInput":`Entrada`,"chat.modelControls.costOutput":`Salida`,"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.keyboardHintSwitchAgentLabel":`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.contextGroup.exploring":`Explorando`,"chat.contextGroup.explored":`Explorado`,"chat.contextGroup.expandAria":`Expandir herramientas exploradas`,"chat.contextGroup.collapseAria":`Contraer herramientas exploradas`,"chat.contextGroup.readSingle":`{count} lectura`,"chat.contextGroup.readPlural":`{count} lecturas`,"chat.contextGroup.searchSingle":`{count} búsqueda`,"chat.contextGroup.searchPlural":`{count} búsquedas`,"chat.contextGroup.listSingle":`{count} lista`,"chat.contextGroup.listPlural":`{count} listas`,"chat.skillGroup.expandAria":`Expandir skills cargadas`,"chat.skillGroup.collapseAria":`Contraer skills cargadas`,"chat.skillGroup.summaryOverflow":`{names} y {count} más`,"chat.tools.display.read":`Leer archivo`,"chat.tools.display.write":`Escribir archivo`,"chat.tools.display.edit":`Editar archivo`,"chat.tools.display.multiedit":`Edición múltiple`,"chat.tools.display.apply_patch":`Aplicar parche`,"chat.tools.display.bash":`Comando de shell`,"chat.tools.display.grep":`Buscar en archivos`,"chat.tools.display.glob":`Buscar archivos`,"chat.tools.display.list":`Listar directorio`,"chat.tools.display.task":`Tarea de agente`,"chat.tools.display.webfetch":`Obtener URL`,"chat.tools.display.websearch":`Búsqueda web`,"chat.tools.display.codesearch":`Búsqueda de código`,"chat.tools.display.todowrite":`Actualizar lista de tareas`,"chat.tools.display.todoread":`Leer lista de tareas`,"chat.tools.display.skill":`Cargar skill`,"chat.tools.display.question":`Pregunta`,"chat.tools.display.lsp":`LSP`,"chat.tools.display.plan_enter":`Modo plan`,"chat.tools.display.plan_exit":`Modo construcción`,"chat.tools.display.structuredoutput":`Salida estructurada`,"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.subagent.completed":`Completado`,"chat.messageBody.subagent.error":`Fallido`,"chat.messageBody.subagent.cancelled":`Cancelado`,"chat.messageBody.subagent.completedDescription":`El subagente en segundo plano ha terminado`,"chat.messageBody.subagent.errorDescription":`El subagente en segundo plano ha fallado`,"chat.messageBody.subagent.cancelledDescription":`El subagente en segundo plano se ha cancelado`,"chat.messageBody.subagent.openSession":`Abrir sesión del subagente: {label}`,"chat.messageBody.shellCommand.title":`Comando de shell`,"chat.messageBody.shellCommand.hideOutput":`Ocultar salida`,"chat.messageBody.shellCommand.showOutput":`Mostrar salida`,"chat.messageBody.shellCommand.copied":`Copiado`,"chat.messageBody.shellCommand.copyOutput":`Copiar salida`,"commandPalette.title":`Paleta de comandos`,"commandPalette.description":`Buscar archivos, sesiones y comandos.`,"commandPalette.input.placeholder":`Buscar archivos, sesiones, comandos...`,"commandPalette.empty.noResults":`No se encontraron resultados.`,"commandPalette.empty.searchingFiles":`Buscando archivos...`,"commandPalette.item.newSession":`Nueva sesión`,"commandPalette.item.newMiniChat":`Nueva ventana Mini Chat`,"commandPalette.item.newWorktreeDraft":`Nuevo borrador de worktree`,"commandPalette.item.addProject":`Añadir proyecto`,"commandPalette.item.showSessionSwitcher":`Mostrar cambiador de sesiones`,"commandPalette.item.toggleSidebar":`Mostrar u ocultar barra lateral`,"commandPalette.item.toggleRightSidebar":`Mostrar u ocultar barra lateral derecha`,"commandPalette.item.showContextUsage":`Mostrar uso del contexto`,"commandPalette.item.toggleTerminal":`Mostrar u ocultar terminal`,"commandPalette.item.newTerminalTab":`Nueva pestaña de 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`,"branchPickerDialog.title":`Selector de rama`,"branchPickerDialog.description.localBranchesForProject":`Ramas locales para {project}`,"branchPickerDialog.description.selectProject":`Selecciona un proyecto para ver ramas`,"branchPickerDialog.search.placeholder":`Buscar ramas...`,"branchPickerDialog.search.renameBranchPlaceholder":`Cambiar nombre de rama`,"branchPickerDialog.state.noProjectSelected":`No se seleccionó un proyecto`,"branchPickerDialog.state.loadingBranches":`Cargando ramas...`,"branchPickerDialog.state.noMatchingBranches":`No se encontraron ramas coincidentes`,"branchPickerDialog.state.noBranchesFound":`No se encontraron ramas`,"branchPickerDialog.badge.head":`HEAD`,"branchPickerDialog.badge.worktree":`worktree`,"branchPickerDialog.actions.createWorktreeAria":`Crear worktree desde rama`,"branchPickerDialog.actions.renameAria":`Cambiar nombre de rama`,"branchPickerDialog.actions.deleteAria":`Eliminar rama`,"branchPickerDialog.actions.deleteWorktreeAria":`Eliminar worktree`,"branchPickerDialog.actions.confirmRenameAria":`Confirmar cambio de nombre de`,"branchPickerDialog.actions.cancelRenameAria":`Cancelar cambio de nombre de`,"branchPickerDialog.actions.confirmDeleteAria":`Confirmar eliminación de rama`,"branchPickerDialog.actions.cancelDeleteAria":`Cancelar eliminación de rama`,"branchPickerDialog.actions.deletePrompt":`Eliminar`,"branchPickerDialog.actions.forceDeletePrompt":`Forzar eliminación`,"branchPickerDialog.tooltip.createWorktree":`Crear worktree`,"branchPickerDialog.tooltip.worktreeAlreadyExists":`El worktree ya existe`,"branchPickerDialog.tooltip.rename":`Cambiar nombre de rama`,"branchPickerDialog.tooltip.renameDisabledForRoot":`No se puede cambiar el nombre de la rama raíz`,"branchPickerDialog.tooltip.delete":`Eliminar rama`,"branchPickerDialog.tooltip.deleteCurrentBranch":`No se puede eliminar la rama actual`,"branchPickerDialog.tooltip.deleteDisabledForRoot":`No se puede eliminar la rama raíz`,"branchPickerDialog.tooltip.deleteWorktree":`Eliminar worktree`,"branchPickerDialog.tooltip.deleteWorktreeRootProtected":`No se puede eliminar el worktree raíz`,"branchPickerDialog.toast.branchRenamed":`Rama renombrada`,"branchPickerDialog.toast.failedToRenameBranch":`No se pudo cambiar el nombre de la rama`,"branchPickerDialog.toast.branchDeleted":`Rama eliminada`,"branchPickerDialog.toast.branchNotMerged":`La rama no tiene todos sus cambios integrados`,"branchPickerDialog.toast.confirmAgainToForceDelete":`Confirma de nuevo para eliminar forzadamente`,"branchPickerDialog.toast.failedToDeleteBranch":`No se pudo eliminar la rama`,"branchPickerDialog.toast.worktreeCreated":`Worktree creado`,"branchPickerDialog.toast.failedToCreateWorktree":`No se pudo crear el worktree`,"branchPickerDialog.error.failedToLoad":`No se pudieron cargar las ramas`,"branchPickerDialog.error.renameRejected":`El cambio de nombre fue rechazado`,"branchPickerDialog.error.renameFailed":`No se pudo cambiar el nombre de la rama`,"branchPickerDialog.error.deleteRejected":`La eliminación fue rechazada`,"branchPickerDialog.error.deleteFailed":`No se pudo eliminar la rama`,"branchPickerDialog.error.createWorktreeFailed":`No se pudo crear el worktree`,"projectEditDialog.title":`Editar proyecto`,"projectEditDialog.field.name":`Nombre`,"projectEditDialog.field.namePlaceholder":`Nombre del proyecto`,"projectEditDialog.field.color":`Color`,"projectEditDialog.field.icon":`Icono`,"projectEditDialog.field.preview":`Vista previa`,"projectEditDialog.field.iconBackground":`Fondo del icono`,"projectEditDialog.field.iconBackgroundAria":`Color del fondo del icono del proyecto`,"projectEditDialog.option.none":`Ninguno`,"projectEditDialog.actions.uploadIcon":`Subir icono`,"projectEditDialog.actions.uploading":`Subiendo...`,"projectEditDialog.actions.discoverFavicon":`Buscar icono`,"projectEditDialog.actions.discovering":`Descubriendo...`,"projectEditDialog.actions.removeProjectIcon":`Eliminar icono del proyecto`,"projectEditDialog.actions.removing":`Eliminando...`,"projectEditDialog.actions.undoRemove":`Deshacer eliminación`,"projectEditDialog.actions.clear":`Limpiar`,"projectEditDialog.actions.cancel":`Cancelar`,"projectEditDialog.actions.save":`Guardar`,"projectEditDialog.toast.failedToUploadIcon":`No se pudo subir el icono del proyecto`,"projectEditDialog.toast.iconUpdated":`Icono del proyecto actualizado`,"projectEditDialog.toast.failedToRemoveIcon":`No se pudo eliminar el icono del proyecto`,"projectEditDialog.toast.iconRemoved":`Icono del proyecto eliminado`,"projectEditDialog.toast.failedToDiscoverIcon":`No se pudo descubrir el icono del proyecto`,"projectEditDialog.toast.customIconAlreadySet":`Icono personalizado ya establecido para este proyecto`,"projectEditDialog.toast.iconDiscovered":`Icono del proyecto descubierto`,"agentManager.sidebar.search.placeholder":`Buscar grupos de agentes...`,"agentManager.sidebar.actions.newAgentGroup":`Nuevo grupo de agentes`,"agentManager.sidebar.actions.more":`... Más ({count})`,"agentManager.sidebar.actions.showLess":`Mostrar menos`,"agentManager.sidebar.section.agentGroups":`Grupos de agentes`,"agentManager.sidebar.state.loading":`Cargando...`,"agentManager.sidebar.state.noGroupsFound":`No se encontraron grupos`,"agentManager.sidebar.state.noGroupsYet":`No hay grupos de agentes aún`,"agentManager.sidebar.state.createToGetStarted":`Crea un nuevo grupo de agentes para comenzar`,"agentManager.sidebar.item.modelCountSingle":`{count} modelo`,"agentManager.sidebar.item.modelCountPlural":`{count} modelos`,"agentManager.sidebar.item.groupMenuAria":`Menú del grupo`,"agentManager.sidebar.item.delete":`Eliminar`,"agentManager.sidebar.relativeTime.now":`ahora`,"agentManager.sidebar.relativeTime.minutes":`{count}m`,"agentManager.sidebar.relativeTime.hours":`{count}h`,"agentManager.sidebar.relativeTime.days":`{count}d`,"agentManager.sidebar.dialog.deleteGroupTitle":`Eliminar grupo de agentes`,"agentManager.sidebar.dialog.deleteGroupDescription":`¿Eliminar "{group}"? Esto elimina todos los worktrees y sesiones en este grupo.`,"agentManager.sidebar.dialog.cancel":`Cancelar`,"agentManager.sidebar.dialog.delete":`Eliminar`,"agentManager.sidebar.dialog.deleting":`Eliminando...`,"agentManager.sidebar.toast.deletingGroup":`Eliminando "{group}"...`,"agentManager.sidebar.toast.deletedGroup":`Eliminado "{group}"`,"agentManager.sidebar.toast.failedToDeleteGroup":`No se pudo eliminar completamente "{group}"`,"agentManager.detail.header.modelCountSingle":`{count} modelo`,"agentManager.detail.header.modelCountPlural":`{count} modelos`,"agentManager.detail.header.noBranch":`Sin rama`,"agentManager.detail.actions.worktreeActionsAria":`Acciones del worktree`,"agentManager.detail.actions.removeThisWorktree":`Eliminar este worktree`,"agentManager.detail.actions.keepThisRemoveOthers":`Conservar este y eliminar los demás`,"agentManager.detail.actions.copyWorktreePath":`Copiar ruta del worktree`,"agentManager.detail.dialog.removeWorktreeTitle":`Eliminar worktree`,"agentManager.detail.dialog.removeOtherWorktreesTitle":`Eliminar otros worktrees`,"agentManager.detail.dialog.removeWorktreeDescription":`¿Eliminar "{label}"? Esto elimina todas las sesiones de ese worktree y el propio worktree.`,"agentManager.detail.dialog.removeOtherWorktreesDescription":`Mantener "{label}" y eliminar los demás worktrees en "{group}".`,"agentManager.detail.dialog.cancel":`Cancelar`,"agentManager.detail.dialog.remove":`Eliminar`,"agentManager.detail.dialog.removeOthers":`Eliminar otros`,"agentManager.detail.dialog.working":`Trabajando...`,"agentManager.detail.state.loadingSessionFor":`Cargando sesión para {label}`,"agentManager.detail.state.sessionId":`ID de sesión: {id}`,"agentManager.detail.state.noSessionsInGroup":`No hay sesiones en este grupo`,"agentManager.detail.toast.noWorktreePath":`No hay ruta disponible para el worktree`,"agentManager.detail.toast.worktreePathCopied":`Ruta del worktree copiada`,"agentManager.detail.toast.failedToCopyPath":`No se pudo copiar la ruta`,"agentManager.detail.toast.removingWorktree":`Eliminando worktree...`,"agentManager.detail.toast.removingOtherWorktrees":`Eliminando otros worktrees...`,"agentManager.detail.toast.failedToFullyRemoveWorktree":`No se pudo eliminar completamente el worktree`,"agentManager.detail.toast.worktreeRemoved":`Worktree eliminado`,"agentManager.detail.toast.otherWorktreesRemoved":`Otros worktrees eliminados`,"agentManager.empty.groupName.label":`Nombre del grupo`,"agentManager.empty.groupName.placeholder":`p. ej. feature-auth, bugfix-login`,"agentManager.empty.groupName.description":`Usado para el nombre de la carpeta y la rama del worktree`,"agentManager.empty.baseBranch.label":`Rama base`,"agentManager.empty.baseBranch.description":`Crea nuevas ramas desde {branch}`,"agentManager.empty.setupCommands.label":`Comandos de configuración`,"agentManager.empty.setupCommands.configured":`{count} configurados`,"agentManager.empty.setupCommands.description":`Comandos que se ejecutan en cada nuevo worktree. Usa $ROOT_PROJECT_PATH para la raíz del proyecto.`,"agentManager.empty.setupCommands.loading":`Cargando...`,"agentManager.empty.setupCommands.commandPlaceholder":`p. ej., bun install`,"agentManager.empty.setupCommands.removeCommandAria":`Eliminar comando`,"agentManager.empty.setupCommands.addCommand":`Añadir comando`,"agentManager.empty.agent.label":`Agente`,"agentManager.empty.agent.description":`Usa el agente predeterminado configurado`,"agentManager.empty.models.label":`Modelos`,"agentManager.empty.models.addModel":`Añadir modelo`,"agentManager.empty.models.selectedSingle":`{count} modelo seleccionado`,"agentManager.empty.models.selectedPlural":`{count} modelos seleccionados`,"agentManager.empty.prompt.label":`Prompt`,"agentManager.empty.prompt.placeholder":`Pregunta algo...`,"agentManager.empty.prompt.addAttachmentAria":`Añadir adjunto`,"agentManager.empty.actions.startAgentGroupAria":`Iniciar grupo de agentes`,"agentManager.empty.toast.fileTooLarge":`El archivo "{fileName}" es demasiado grande (máximo 10MB)`,"agentManager.empty.toast.failedToAttach":`No se pudo adjuntar "{fileName}"`,"agentManager.empty.toast.attachedSingle":`{count} archivo adjuntado`,"agentManager.empty.toast.attachedPlural":`{count} archivos adjuntados`,"agentManager.empty.toast.failedToCreateGroup":`No se pudo crear el grupo de agentes`,"openInApp.actions.open":`Abrir`,"openInApp.actions.openInAria":`Abrir en {app}`,"openInApp.actions.chooseAppAria":`Elegir aplicación para abrir`,"openInApp.actions.copyPath":`Copiar ruta`,"openInApp.actions.refreshApps":`Actualizar aplicaciones`,"openInApp.toast.pathCopied":`Ruta copiada al portapapeles`,"projectActions.actions.addActionAria":`Añadir acción`,"projectActions.actions.addAction":`Añadir acción`,"projectActions.actions.addNewAction":`Añadir nueva acción`,"projectActions.actions.autoDiscover":`Autodetectar`,"projectActions.actions.chooseActionAria":`Elegir acción del proyecto`,"projectActions.actions.openPreview":`Abrir Preview`,"projectActions.actions.runNamedAria":`Ejecutar {name}`,"projectActions.actions.stopNamedAria":`Detener {name}`,"projectActions.label.fallbackAction":`Acción`,"projectActions.toast.openedUrlFromOutput":`Abierto URL desde la salida de la acción`,"projectActions.toast.openedForwardedUrl":`Abierto URL reenviada`,"projectActions.toast.openedActionUrl":`Abierto URL de la acción`,"projectActions.error.noActiveDirectory":`No hay directorio activo`,"projectActions.error.noActiveDirectoryForAction":`No hay directorio activo para la acción`,"projectActions.error.failedToCreateTerminalSession":`No se pudo crear la sesión de terminal`,"projectActions.error.invalidCustomUrlFormat":`Formato de URL personalizada inválido`,"projectActions.error.selectedDesktopSshForwardUnavailable":`La conexión SSH en la máquina de escritorio seleccionada no está disponible`,"projectActions.error.failedToRunAction":`No se pudo ejecutar la acción`,"mcpDropdown.title":`Servidores MCP`,"mcpDropdown.actions.refreshAria":`Actualizar`,"mcpDropdown.actions.openAria":`Servidores MCP`,"mcpDropdown.statusAria":`Estado MCP`,"mcpDropdown.status.unknown":`Desconocido`,"mcpDropdown.status.connected":`Conectado`,"mcpDropdown.status.failed":`Fallido: {error}`,"mcpDropdown.status.unknownError":`Error desconocido`,"mcpDropdown.status.needsAuth":`Necesita autenticación`,"mcpDropdown.status.needsRegistration":`Necesita registro: {error}`,"mcpDropdown.empty.configureInConfig":`Configura los servidores MCP en Ajustes.`,"sessionAuth.error.rateLimitTitle":`Demasiados intentos`,"sessionAuth.error.networkTitle":`No se puede alcanzar el servidor`,"sessionAuth.error.rateLimitDescriptionSingle":`Por favor, espera {minutes} minuto antes de intentarlo de nuevo.`,"sessionAuth.error.rateLimitDescriptionPlural":`Por favor, espera {minutes} minutos antes de intentarlo de nuevo.`,"sessionAuth.error.networkDescription":`No pudimos verificar la sesión de la UI. 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.transition.title":`Cambiando de instancia…`,"desktopHostSwitcher.transition.description":`Cargando los datos de la instancia seleccionada.`,"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.sshError.openRemoteSettings":`Abrir instancias remotas`,"desktopHostSwitcher.sshError.nodeRuntimeMissing.title":`El host remoto no tiene Node.js 22+`,"desktopHostSwitcher.sshError.nodeRuntimeMissing.guidance":`Instala Node.js 22 o 24 LTS en la máquina remota (nvm, fnm o el paquete del sistema). Un shell de inicio que solo expone Node 18/20 no basta, salvo que exista un binario 22+ en una ruta estándar.`,"desktopHostSwitcher.sshError.packageManagerMissing.title":`El host remoto no tiene npm ni bun`,"desktopHostSwitcher.sshError.packageManagerMissing.guidance":`Instala npm (incluido con Node.js) o bun en la máquina remota y vuelve a intentarlo. OpenChamber necesita uno de ellos para instalar el CLI Host.`,"desktopHostSwitcher.sshError.nativeBinding.title":`Falló la compilación del módulo de base de datos remoto`,"desktopHostSwitcher.sshError.nativeBinding.guidance":`Instala Node.js 22 o 24 LTS en el host remoto. Las versiones impares como Node 23 suelen no tener binario prediseñado y necesitan python3, gcc y make. Cuando haya un runtime LTS, vuelve a conectar.`,"desktopHostSwitcher.sshError.openchamberInstall.title":`No se pudo instalar OpenChamber en el host remoto`,"desktopHostSwitcher.sshError.openchamberInstall.guidance":`Comprueba que el remoto pueda acceder al registro npm y reintenta. También puedes instalar @openchambery/web tú mismo con Node 22 o 24 y npm.`,"desktopHostSwitcher.sshError.opencodeInstall.title":`No se pudo instalar OpenCode CLI en el host remoto`,"desktopHostSwitcher.sshError.opencodeInstall.guidance":`Revisa la red y el gestor de paquetes remotos y reintenta. También puedes instalar OpenCode CLI manualmente.`,"desktopHostSwitcher.sshError.serverStart.title":`El servidor OpenChamber remoto no arrancó`,"desktopHostSwitcher.sshError.serverStart.guidance":`SSH conectó, pero el proceso Host no quedó accesible. Confirma que el remoto use Node 22/24 y que el puerto elegido esté libre, y reintenta.`,"desktopHostSwitcher.sshError.sshAuth.title":`Falló la autenticación SSH`,"desktopHostSwitcher.sshError.sshAuth.guidance":`Revisa la clave SSH, la contraseña y el destino en Ajustes → Instancias remotas. El arranque no termina hasta que el inicio de sesión SSH funcione.`,"desktopHostSwitcher.sshError.sshUnreachable.title":`No se pudo alcanzar el host SSH`,"desktopHostSwitcher.sshError.sshUnreachable.guidance":`Revisa el nombre de host, el puerto y la red (conecta primero la VPN o un bastión si hace falta) y reintenta.`,"desktopHostSwitcher.sshError.timeout.title":`La conexión SSH agotó el tiempo`,"desktopHostSwitcher.sshError.timeout.guidance":`El host remoto no terminó el arranque a tiempo. Revisa la red y que Node 22 o 24 esté instalado, y reintenta.`,"desktopHostSwitcher.sshError.unknown.title":`La instancia remota no pudo iniciarse`,"desktopHostSwitcher.sshError.unknown.guidance":`Abre Ajustes → Instancias remotas para este host y reintenta. Si sigue fallando, instala Node.js 22 o 24 LTS en el remoto y confirma el login SSH en una terminal.`,"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.status.otaBundleReused":`Se usó el paquete de actualización descargado anteriormente. No hace falta descargarlo de nuevo.`,"updateDialog.actions.downloadUpdate":`Descargar actualización`,"updateDialog.status.downloading":`Descargando...`,"updateDialog.actions.restartToUpdate":`Reiniciar para actualizar`,"updateDialog.actions.updateNow":`Actualizar ahora`,"updateDialog.actions.applyOtaNow":`Actualizar ahora`,"updateDialog.actions.later":`Más tarde`,"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`,"mobileUpdate.ota.toast.available.title":`Actualización disponible`,"mobileUpdate.ota.toast.available.description":`La versión {version} está lista para instalar.`,"mobileUpdate.ota.toast.actions.update":`Actualizar`,"mobileUpdate.ota.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:
|
|
11
|
+
{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.toast.sessionReferenceLoadFailed":`No se pudo cargar la referencia de la sesión.`,"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.newProject":`Nuevo proyecto`,"chat.chatInput.draftPicker.searchProjects":`Buscar proyectos...`,"chat.chatInput.draftPicker.searchBranches":`Buscar ramas...`,"chat.chatInput.worktrees":`Worktrees`,"chat.chatInput.worktreeNew":`+ Nuevo`,"chat.chatInput.branchSwitch.title":`¿Cambiar a {branch}?`,"chat.chatInput.branchSwitch.description":`¿Cómo quieres abrir esta rama para la nueva conversación?`,"chat.chatInput.branchSwitch.createWorktree":`Crear worktree`,"chat.chatInput.branchSwitch.createWorktreeDescription":`Mantén el directorio actual y trabaja en un worktree aislado.`,"chat.chatInput.branchSwitch.checkoutHere":`Hacer checkout aquí`,"chat.chatInput.branchSwitch.checkoutHereDescription":`Cambia el directorio actual a esta rama.`,"chat.chatInput.branchSwitch.cancel":`Cancelar`,"chat.chatInput.drop.insertMention":`Suelta para insertar como mención`,"chat.chatInput.drop.attachFiles":`Suelta archivos aquí para adjuntar`,"chat.chatInput.fileFallback":`archivo`,"chat.mobileStatus.editProjects.title":`Editar proyectos`,"chat.mobileStatus.editProjects.footer":`Arrastra los elementos para reordenar, o use flechas para mover. Toca editar para cambiar los detalles.`,"chat.mobileStatus.editProjects.empty":`No hay proyectos para editar`,"chat.mobileStatus.projects.empty":`No hay proyectos`,"chat.mobileStatus.projects.addAria":`Añadir proyecto`,"chat.mobileStatus.projects.removeTitle":`Eliminar proyecto`,"chat.mobileStatus.projects.removeDescriptionPrefix":`¿Estás seguro de que quieres eliminar`,"chat.mobileStatus.projects.cancel":`Cancelar`,"chat.mobileStatus.projects.remove":`Eliminar`,"chat.mobileStatus.new":`Nuevo`,"chat.mobileStatus.noSessionsInProject":`No hay sesiones en este proyecto`,"chat.mobileStatus.swipeHint":`← Desliza aquí para abrir los paneles laterales →`,"chat.mobileStatus.toast.addProjectFailed":`No se pudo añadir el proyecto`,"chat.mobileStatus.toast.selectValidDirectory":`Selecciona un directorio válido.`,"chat.mobileStatus.toast.selectDirectoryFailed":`No se pudo seleccionar el directorio`,"chat.toolOutputDialog.image.previousAria":`Imagen anterior`,"chat.toolOutputDialog.image.nextAria":`Imagen siguiente`,"chat.toolOutputDialog.image.zoomInAria":`Acercar`,"chat.toolOutputDialog.image.zoomOutAria":`Alejar`,"chat.toolOutputDialog.image.resetZoomAria":`Restablecer zoom`,"chat.image.actions.sheetTitle":`Imagen`,"chat.image.actions.saveImage":`Guardar imagen`,"chat.image.actions.saveToPhotos":`Guardar en Fotos`,"chat.image.actions.saving":`Guardando…`,"chat.image.actions.saveSuccess":`Imagen guardada`,"chat.image.actions.saveFailed":`No se pudo guardar la 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.activity.outputLoading":`Cargando la salida completa…`,"chat.activity.outputLoadFailed":`No se pudo cargar la salida completa.`,"chat.activity.outputRetry":`Reintentar`,"chat.fileAttachment.image.loading":`Cargando imagen…`,"chat.fileAttachment.image.loadFailed":`No se pudo cargar la imagen.`,"chat.fileAttachment.image.retry":`Reintentar la carga de la imagen`,"chat.fileAttachment.image.loadManually":`Cargar imagen`,"chat.fileAttachment.image.loadManuallyCount":`Cargar {count} imágenes`,"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.permissionCard.replaceAll":`Reemplazar todas las coincidencias`,"chat.permissionCard.responseFormat":`Formato de respuesta:`,"chat.permissionCard.allowOnce":`Permitir una vez`,"chat.permissionCard.alwaysAgree":`Permitir siempre`,"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`,"chat.modelControls.costInput":`Entrada`,"chat.modelControls.costOutput":`Salida`,"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.keyboardHintSwitchAgentLabel":`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.contextGroup.exploring":`Explorando`,"chat.contextGroup.explored":`Explorado`,"chat.contextGroup.expandAria":`Expandir herramientas exploradas`,"chat.contextGroup.collapseAria":`Contraer herramientas exploradas`,"chat.contextGroup.readSingle":`{count} lectura`,"chat.contextGroup.readPlural":`{count} lecturas`,"chat.contextGroup.searchSingle":`{count} búsqueda`,"chat.contextGroup.searchPlural":`{count} búsquedas`,"chat.contextGroup.listSingle":`{count} lista`,"chat.contextGroup.listPlural":`{count} listas`,"chat.skillGroup.expandAria":`Expandir skills cargadas`,"chat.skillGroup.collapseAria":`Contraer skills cargadas`,"chat.skillGroup.summaryOverflow":`{names} y {count} más`,"chat.tools.display.read":`Leer archivo`,"chat.tools.display.write":`Escribir archivo`,"chat.tools.display.edit":`Editar archivo`,"chat.tools.display.multiedit":`Edición múltiple`,"chat.tools.display.apply_patch":`Aplicar parche`,"chat.tools.display.bash":`Comando de shell`,"chat.tools.display.grep":`Buscar en archivos`,"chat.tools.display.glob":`Buscar archivos`,"chat.tools.display.list":`Listar directorio`,"chat.tools.display.task":`Tarea de agente`,"chat.tools.display.webfetch":`Obtener URL`,"chat.tools.display.websearch":`Búsqueda web`,"chat.tools.display.codesearch":`Búsqueda de código`,"chat.tools.display.todowrite":`Actualizar lista de tareas`,"chat.tools.display.todoread":`Leer lista de tareas`,"chat.tools.display.skill":`Cargar skill`,"chat.tools.display.question":`Pregunta`,"chat.tools.display.lsp":`LSP`,"chat.tools.display.plan_enter":`Modo plan`,"chat.tools.display.plan_exit":`Modo construcción`,"chat.tools.display.structuredoutput":`Salida estructurada`,"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.subagent.completed":`Completado`,"chat.messageBody.subagent.error":`Fallido`,"chat.messageBody.subagent.cancelled":`Cancelado`,"chat.messageBody.subagent.completedDescription":`El subagente en segundo plano ha terminado`,"chat.messageBody.subagent.errorDescription":`El subagente en segundo plano ha fallado`,"chat.messageBody.subagent.cancelledDescription":`El subagente en segundo plano se ha cancelado`,"chat.messageBody.subagent.openSession":`Abrir sesión del subagente: {label}`,"chat.messageBody.shellCommand.title":`Comando de shell`,"chat.messageBody.shellCommand.hideOutput":`Ocultar salida`,"chat.messageBody.shellCommand.showOutput":`Mostrar salida`,"chat.messageBody.shellCommand.copied":`Copiado`,"chat.messageBody.shellCommand.copyOutput":`Copiar salida`,"commandPalette.title":`Paleta de comandos`,"commandPalette.description":`Buscar archivos, sesiones y comandos.`,"commandPalette.input.placeholder":`Buscar archivos, sesiones, comandos...`,"commandPalette.empty.noResults":`No se encontraron resultados.`,"commandPalette.empty.searchingFiles":`Buscando archivos...`,"commandPalette.item.newSession":`Nueva sesión`,"commandPalette.item.newMiniChat":`Nueva ventana Mini Chat`,"commandPalette.item.newWorktreeDraft":`Nuevo borrador de worktree`,"commandPalette.item.addProject":`Añadir proyecto`,"commandPalette.item.showSessionSwitcher":`Mostrar cambiador de sesiones`,"commandPalette.item.toggleSidebar":`Mostrar u ocultar barra lateral`,"commandPalette.item.toggleRightSidebar":`Mostrar u ocultar barra lateral derecha`,"commandPalette.item.showContextUsage":`Mostrar uso del contexto`,"commandPalette.item.toggleTerminal":`Mostrar u ocultar terminal`,"commandPalette.item.newTerminalTab":`Nueva pestaña de 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`,"branchPickerDialog.title":`Selector de rama`,"branchPickerDialog.description.localBranchesForProject":`Ramas locales para {project}`,"branchPickerDialog.description.selectProject":`Selecciona un proyecto para ver ramas`,"branchPickerDialog.search.placeholder":`Buscar ramas...`,"branchPickerDialog.search.renameBranchPlaceholder":`Cambiar nombre de rama`,"branchPickerDialog.state.noProjectSelected":`No se seleccionó un proyecto`,"branchPickerDialog.state.loadingBranches":`Cargando ramas...`,"branchPickerDialog.state.noMatchingBranches":`No se encontraron ramas coincidentes`,"branchPickerDialog.state.noBranchesFound":`No se encontraron ramas`,"branchPickerDialog.badge.head":`HEAD`,"branchPickerDialog.badge.worktree":`worktree`,"branchPickerDialog.actions.createWorktreeAria":`Crear worktree desde rama`,"branchPickerDialog.actions.renameAria":`Cambiar nombre de rama`,"branchPickerDialog.actions.deleteAria":`Eliminar rama`,"branchPickerDialog.actions.deleteWorktreeAria":`Eliminar worktree`,"branchPickerDialog.actions.confirmRenameAria":`Confirmar cambio de nombre de`,"branchPickerDialog.actions.cancelRenameAria":`Cancelar cambio de nombre de`,"branchPickerDialog.actions.confirmDeleteAria":`Confirmar eliminación de rama`,"branchPickerDialog.actions.cancelDeleteAria":`Cancelar eliminación de rama`,"branchPickerDialog.actions.deletePrompt":`Eliminar`,"branchPickerDialog.actions.forceDeletePrompt":`Forzar eliminación`,"branchPickerDialog.tooltip.createWorktree":`Crear worktree`,"branchPickerDialog.tooltip.worktreeAlreadyExists":`El worktree ya existe`,"branchPickerDialog.tooltip.rename":`Cambiar nombre de rama`,"branchPickerDialog.tooltip.renameDisabledForRoot":`No se puede cambiar el nombre de la rama raíz`,"branchPickerDialog.tooltip.delete":`Eliminar rama`,"branchPickerDialog.tooltip.deleteCurrentBranch":`No se puede eliminar la rama actual`,"branchPickerDialog.tooltip.deleteDisabledForRoot":`No se puede eliminar la rama raíz`,"branchPickerDialog.tooltip.deleteWorktree":`Eliminar worktree`,"branchPickerDialog.tooltip.deleteWorktreeRootProtected":`No se puede eliminar el worktree raíz`,"branchPickerDialog.toast.branchRenamed":`Rama renombrada`,"branchPickerDialog.toast.failedToRenameBranch":`No se pudo cambiar el nombre de la rama`,"branchPickerDialog.toast.branchDeleted":`Rama eliminada`,"branchPickerDialog.toast.branchNotMerged":`La rama no tiene todos sus cambios integrados`,"branchPickerDialog.toast.confirmAgainToForceDelete":`Confirma de nuevo para eliminar forzadamente`,"branchPickerDialog.toast.failedToDeleteBranch":`No se pudo eliminar la rama`,"branchPickerDialog.toast.worktreeCreated":`Worktree creado`,"branchPickerDialog.toast.failedToCreateWorktree":`No se pudo crear el worktree`,"branchPickerDialog.error.failedToLoad":`No se pudieron cargar las ramas`,"branchPickerDialog.error.renameRejected":`El cambio de nombre fue rechazado`,"branchPickerDialog.error.renameFailed":`No se pudo cambiar el nombre de la rama`,"branchPickerDialog.error.deleteRejected":`La eliminación fue rechazada`,"branchPickerDialog.error.deleteFailed":`No se pudo eliminar la rama`,"branchPickerDialog.error.createWorktreeFailed":`No se pudo crear el worktree`,"projectEditDialog.title":`Editar proyecto`,"projectEditDialog.field.name":`Nombre`,"projectEditDialog.field.namePlaceholder":`Nombre del proyecto`,"projectEditDialog.field.color":`Color`,"projectEditDialog.field.icon":`Icono`,"projectEditDialog.field.preview":`Vista previa`,"projectEditDialog.field.iconBackground":`Fondo del icono`,"projectEditDialog.field.iconBackgroundAria":`Color del fondo del icono del proyecto`,"projectEditDialog.option.none":`Ninguno`,"projectEditDialog.actions.uploadIcon":`Subir icono`,"projectEditDialog.actions.uploading":`Subiendo...`,"projectEditDialog.actions.discoverFavicon":`Buscar icono`,"projectEditDialog.actions.discovering":`Descubriendo...`,"projectEditDialog.actions.removeProjectIcon":`Eliminar icono del proyecto`,"projectEditDialog.actions.removing":`Eliminando...`,"projectEditDialog.actions.undoRemove":`Deshacer eliminación`,"projectEditDialog.actions.clear":`Limpiar`,"projectEditDialog.actions.cancel":`Cancelar`,"projectEditDialog.actions.save":`Guardar`,"projectEditDialog.toast.failedToUploadIcon":`No se pudo subir el icono del proyecto`,"projectEditDialog.toast.iconUpdated":`Icono del proyecto actualizado`,"projectEditDialog.toast.failedToRemoveIcon":`No se pudo eliminar el icono del proyecto`,"projectEditDialog.toast.iconRemoved":`Icono del proyecto eliminado`,"projectEditDialog.toast.failedToDiscoverIcon":`No se pudo descubrir el icono del proyecto`,"projectEditDialog.toast.customIconAlreadySet":`Icono personalizado ya establecido para este proyecto`,"projectEditDialog.toast.iconDiscovered":`Icono del proyecto descubierto`,"agentManager.sidebar.search.placeholder":`Buscar grupos de agentes...`,"agentManager.sidebar.actions.newAgentGroup":`Nuevo grupo de agentes`,"agentManager.sidebar.actions.more":`... Más ({count})`,"agentManager.sidebar.actions.showLess":`Mostrar menos`,"agentManager.sidebar.section.agentGroups":`Grupos de agentes`,"agentManager.sidebar.state.loading":`Cargando...`,"agentManager.sidebar.state.noGroupsFound":`No se encontraron grupos`,"agentManager.sidebar.state.noGroupsYet":`No hay grupos de agentes aún`,"agentManager.sidebar.state.createToGetStarted":`Crea un nuevo grupo de agentes para comenzar`,"agentManager.sidebar.item.modelCountSingle":`{count} modelo`,"agentManager.sidebar.item.modelCountPlural":`{count} modelos`,"agentManager.sidebar.item.groupMenuAria":`Menú del grupo`,"agentManager.sidebar.item.delete":`Eliminar`,"agentManager.sidebar.relativeTime.now":`ahora`,"agentManager.sidebar.relativeTime.minutes":`{count}m`,"agentManager.sidebar.relativeTime.hours":`{count}h`,"agentManager.sidebar.relativeTime.days":`{count}d`,"agentManager.sidebar.dialog.deleteGroupTitle":`Eliminar grupo de agentes`,"agentManager.sidebar.dialog.deleteGroupDescription":`¿Eliminar "{group}"? Esto elimina todos los worktrees y sesiones en este grupo.`,"agentManager.sidebar.dialog.cancel":`Cancelar`,"agentManager.sidebar.dialog.delete":`Eliminar`,"agentManager.sidebar.dialog.deleting":`Eliminando...`,"agentManager.sidebar.toast.deletingGroup":`Eliminando "{group}"...`,"agentManager.sidebar.toast.deletedGroup":`Eliminado "{group}"`,"agentManager.sidebar.toast.failedToDeleteGroup":`No se pudo eliminar completamente "{group}"`,"agentManager.detail.header.modelCountSingle":`{count} modelo`,"agentManager.detail.header.modelCountPlural":`{count} modelos`,"agentManager.detail.header.noBranch":`Sin rama`,"agentManager.detail.actions.worktreeActionsAria":`Acciones del worktree`,"agentManager.detail.actions.removeThisWorktree":`Eliminar este worktree`,"agentManager.detail.actions.keepThisRemoveOthers":`Conservar este y eliminar los demás`,"agentManager.detail.actions.copyWorktreePath":`Copiar ruta del worktree`,"agentManager.detail.dialog.removeWorktreeTitle":`Eliminar worktree`,"agentManager.detail.dialog.removeOtherWorktreesTitle":`Eliminar otros worktrees`,"agentManager.detail.dialog.removeWorktreeDescription":`¿Eliminar "{label}"? Esto elimina todas las sesiones de ese worktree y el propio worktree.`,"agentManager.detail.dialog.removeOtherWorktreesDescription":`Mantener "{label}" y eliminar los demás worktrees en "{group}".`,"agentManager.detail.dialog.cancel":`Cancelar`,"agentManager.detail.dialog.remove":`Eliminar`,"agentManager.detail.dialog.removeOthers":`Eliminar otros`,"agentManager.detail.dialog.working":`Trabajando...`,"agentManager.detail.state.loadingSessionFor":`Cargando sesión para {label}`,"agentManager.detail.state.sessionId":`ID de sesión: {id}`,"agentManager.detail.state.noSessionsInGroup":`No hay sesiones en este grupo`,"agentManager.detail.toast.noWorktreePath":`No hay ruta disponible para el worktree`,"agentManager.detail.toast.worktreePathCopied":`Ruta del worktree copiada`,"agentManager.detail.toast.failedToCopyPath":`No se pudo copiar la ruta`,"agentManager.detail.toast.removingWorktree":`Eliminando worktree...`,"agentManager.detail.toast.removingOtherWorktrees":`Eliminando otros worktrees...`,"agentManager.detail.toast.failedToFullyRemoveWorktree":`No se pudo eliminar completamente el worktree`,"agentManager.detail.toast.worktreeRemoved":`Worktree eliminado`,"agentManager.detail.toast.otherWorktreesRemoved":`Otros worktrees eliminados`,"agentManager.empty.groupName.label":`Nombre del grupo`,"agentManager.empty.groupName.placeholder":`p. ej. feature-auth, bugfix-login`,"agentManager.empty.groupName.description":`Usado para el nombre de la carpeta y la rama del worktree`,"agentManager.empty.baseBranch.label":`Rama base`,"agentManager.empty.baseBranch.description":`Crea nuevas ramas desde {branch}`,"agentManager.empty.setupCommands.label":`Comandos de configuración`,"agentManager.empty.setupCommands.configured":`{count} configurados`,"agentManager.empty.setupCommands.description":`Comandos que se ejecutan en cada nuevo worktree. Usa $ROOT_PROJECT_PATH para la raíz del proyecto.`,"agentManager.empty.setupCommands.loading":`Cargando...`,"agentManager.empty.setupCommands.commandPlaceholder":`p. ej., bun install`,"agentManager.empty.setupCommands.removeCommandAria":`Eliminar comando`,"agentManager.empty.setupCommands.addCommand":`Añadir comando`,"agentManager.empty.agent.label":`Agente`,"agentManager.empty.agent.description":`Usa el agente predeterminado configurado`,"agentManager.empty.models.label":`Modelos`,"agentManager.empty.models.addModel":`Añadir modelo`,"agentManager.empty.models.selectedSingle":`{count} modelo seleccionado`,"agentManager.empty.models.selectedPlural":`{count} modelos seleccionados`,"agentManager.empty.prompt.label":`Prompt`,"agentManager.empty.prompt.placeholder":`Pregunta algo...`,"agentManager.empty.prompt.addAttachmentAria":`Añadir adjunto`,"agentManager.empty.actions.startAgentGroupAria":`Iniciar grupo de agentes`,"agentManager.empty.toast.fileTooLarge":`El archivo "{fileName}" es demasiado grande (máximo 10MB)`,"agentManager.empty.toast.failedToAttach":`No se pudo adjuntar "{fileName}"`,"agentManager.empty.toast.attachedSingle":`{count} archivo adjuntado`,"agentManager.empty.toast.attachedPlural":`{count} archivos adjuntados`,"agentManager.empty.toast.failedToCreateGroup":`No se pudo crear el grupo de agentes`,"openInApp.actions.open":`Abrir`,"openInApp.actions.openInAria":`Abrir en {app}`,"openInApp.actions.chooseAppAria":`Elegir aplicación para abrir`,"openInApp.actions.copyPath":`Copiar ruta`,"openInApp.actions.refreshApps":`Actualizar aplicaciones`,"openInApp.toast.pathCopied":`Ruta copiada al portapapeles`,"projectActions.actions.addActionAria":`Añadir acción`,"projectActions.actions.addAction":`Añadir acción`,"projectActions.actions.addNewAction":`Añadir nueva acción`,"projectActions.actions.autoDiscover":`Autodetectar`,"projectActions.actions.chooseActionAria":`Elegir acción del proyecto`,"projectActions.actions.openPreview":`Abrir Preview`,"projectActions.actions.runNamedAria":`Ejecutar {name}`,"projectActions.actions.stopNamedAria":`Detener {name}`,"projectActions.label.fallbackAction":`Acción`,"projectActions.toast.openedUrlFromOutput":`Abierto URL desde la salida de la acción`,"projectActions.toast.openedForwardedUrl":`Abierto URL reenviada`,"projectActions.toast.openedActionUrl":`Abierto URL de la acción`,"projectActions.error.noActiveDirectory":`No hay directorio activo`,"projectActions.error.noActiveDirectoryForAction":`No hay directorio activo para la acción`,"projectActions.error.failedToCreateTerminalSession":`No se pudo crear la sesión de terminal`,"projectActions.error.invalidCustomUrlFormat":`Formato de URL personalizada inválido`,"projectActions.error.selectedDesktopSshForwardUnavailable":`La conexión SSH en la máquina de escritorio seleccionada no está disponible`,"projectActions.error.failedToRunAction":`No se pudo ejecutar la acción`,"mcpDropdown.title":`Servidores MCP`,"mcpDropdown.actions.refreshAria":`Actualizar`,"mcpDropdown.actions.openAria":`Servidores MCP`,"mcpDropdown.statusAria":`Estado MCP`,"mcpDropdown.status.unknown":`Desconocido`,"mcpDropdown.status.connected":`Conectado`,"mcpDropdown.status.failed":`Fallido: {error}`,"mcpDropdown.status.unknownError":`Error desconocido`,"mcpDropdown.status.needsAuth":`Necesita autenticación`,"mcpDropdown.status.needsRegistration":`Necesita registro: {error}`,"mcpDropdown.empty.configureInConfig":`Configura los servidores MCP en Ajustes.`,"sessionAuth.error.rateLimitTitle":`Demasiados intentos`,"sessionAuth.error.networkTitle":`No se puede alcanzar el servidor`,"sessionAuth.error.rateLimitDescriptionSingle":`Por favor, espera {minutes} minuto antes de intentarlo de nuevo.`,"sessionAuth.error.rateLimitDescriptionPlural":`Por favor, espera {minutes} minutos antes de intentarlo de nuevo.`,"sessionAuth.error.networkDescription":`No pudimos verificar la sesión de la UI. 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.transition.title":`Cambiando de instancia…`,"desktopHostSwitcher.transition.description":`Cargando los datos de la instancia seleccionada.`,"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.sshError.openRemoteSettings":`Abrir instancias remotas`,"desktopHostSwitcher.sshError.nodeRuntimeMissing.title":`El host remoto no tiene Node.js 22+`,"desktopHostSwitcher.sshError.nodeRuntimeMissing.guidance":`Instala Node.js 22 o 24 LTS en la máquina remota (nvm, fnm o el paquete del sistema). Un shell de inicio que solo expone Node 18/20 no basta, salvo que exista un binario 22+ en una ruta estándar.`,"desktopHostSwitcher.sshError.packageManagerMissing.title":`El host remoto no tiene npm ni bun`,"desktopHostSwitcher.sshError.packageManagerMissing.guidance":`Instala npm (incluido con Node.js) o bun en la máquina remota y vuelve a intentarlo. OpenChamber necesita uno de ellos para instalar el CLI Host.`,"desktopHostSwitcher.sshError.nativeBinding.title":`Falló la compilación del módulo de base de datos remoto`,"desktopHostSwitcher.sshError.nativeBinding.guidance":`Instala Node.js 22 o 24 LTS en el host remoto. Las versiones impares como Node 23 suelen no tener binario prediseñado y necesitan python3, gcc y make. Cuando haya un runtime LTS, vuelve a conectar.`,"desktopHostSwitcher.sshError.openchamberCliMissing.title":`No se encontró el comando OpenChamber en el remoto`,"desktopHostSwitcher.sshError.openchamberCliMissing.guidance":`La instalación terminó, pero openchamber --version no devolvió una versión usable. Comprueba que ~/.bun/bin o el bin global de npm esté en el PATH y reintenta. También puedes ejecutar openchamber --version por SSH.`,"desktopHostSwitcher.sshError.openchamberRegistry.title":`No se pudo descargar OpenChamber en el host remoto`,"desktopHostSwitcher.sshError.openchamberRegistry.guidance":`El remoto no pudo alcanzar el registro npm ni el espejo configurado. Revisa la red, el proxy y el registry de npm, y reintenta. También puedes instalar @openchambery/web tú mismo con Node 22 o 24 y npm.`,"desktopHostSwitcher.sshError.openchamberInstall.title":`No se pudo instalar OpenChamber en el host remoto`,"desktopHostSwitcher.sshError.openchamberInstall.guidance":`bun o npm no pudieron instalar @openchambery/web. Revisa la salida del gestor de paquetes en los registros SSH de este host y reintenta. También puedes instalar @openchambery/web tú mismo con Node 22 o 24.`,"desktopHostSwitcher.sshError.openchamberCliIncompatible.title":`El CLI remoto de OpenChamber es demasiado antiguo`,"desktopHostSwitcher.sshError.openchamberCliIncompatible.guidance":`El CLI remoto rechazó un flag que envió este escritorio (por ejemplo --relay-host). Actualiza @openchambery/web en el remoto a una versión con SSH relay host y reintenta.`,"desktopHostSwitcher.sshError.opencodeInstall.title":`No se pudo instalar OpenCode CLI en el host remoto`,"desktopHostSwitcher.sshError.opencodeInstall.guidance":`Revisa la red y el gestor de paquetes remotos y reintenta. También puedes instalar OpenCode CLI manualmente.`,"desktopHostSwitcher.sshError.serverStart.title":`El servidor OpenChamber remoto no arrancó`,"desktopHostSwitcher.sshError.serverStart.guidance":`SSH conectó, pero el proceso Host no quedó accesible. Confirma que el remoto use Node 22/24 y que el puerto elegido esté libre, y reintenta.`,"desktopHostSwitcher.sshError.sshAuth.title":`Falló la autenticación SSH`,"desktopHostSwitcher.sshError.sshAuth.guidance":`Revisa la clave SSH, la contraseña y el destino en Ajustes → Instancias remotas. El arranque no termina hasta que el inicio de sesión SSH funcione.`,"desktopHostSwitcher.sshError.sshUnreachable.title":`No se pudo alcanzar el host SSH`,"desktopHostSwitcher.sshError.sshUnreachable.guidance":`Revisa el nombre de host, el puerto y la red (conecta primero la VPN o un bastión si hace falta) y reintenta.`,"desktopHostSwitcher.sshError.timeout.title":`La conexión SSH agotó el tiempo`,"desktopHostSwitcher.sshError.timeout.guidance":`El host remoto no terminó el arranque a tiempo. Revisa la red y que Node 22 o 24 esté instalado, y reintenta.`,"desktopHostSwitcher.sshError.unknown.title":`La instancia remota no pudo iniciarse`,"desktopHostSwitcher.sshError.unknown.guidance":`Falló la inicialización remota. Mira el error concreto abajo, o abre Ajustes → Instancias remotas y revisa los registros SSH de este 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.status.otaBundleReused":`Se usó el paquete de actualización descargado anteriormente. No hace falta descargarlo de nuevo.`,"updateDialog.actions.downloadUpdate":`Descargar actualización`,"updateDialog.status.downloading":`Descargando...`,"updateDialog.actions.restartToUpdate":`Reiniciar para actualizar`,"updateDialog.actions.updateNow":`Actualizar ahora`,"updateDialog.actions.applyOtaNow":`Actualizar ahora`,"updateDialog.actions.later":`Más tarde`,"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`,"mobileUpdate.ota.toast.available.title":`Actualización disponible`,"mobileUpdate.ota.toast.available.description":`La versión {version} está lista para instalar.`,"mobileUpdate.ota.toast.actions.update":`Actualizar`,"mobileUpdate.ota.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:
|
|
12
12
|
|
|
13
13
|
{log}`,"contextPanel.preview.noUrlDetectedWithLog":`El servidor de desarrollo no respondió. Última salida:
|
|
14
14
|
|