@vantran-se/openchamber-web 2.4.1 → 2.5.0

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.
Files changed (104) hide show
  1. package/dist/assets/{AboutDialog-BItSBkkK.js → AboutDialog-C8mAGhnz.js} +1 -1
  2. package/dist/assets/{ArchiveView-CEGi3y1V.js → ArchiveView-4-LVDLmf.js} +1 -1
  3. package/dist/assets/{ChangedPathLabel-CQNGnF-T.js → ChangedPathLabel-BCiU4QDF.js} +1 -1
  4. package/dist/assets/{CommandPalette-DWX1HV4m.js → CommandPalette-DEcmPHdC.js} +1 -1
  5. package/dist/assets/{DiffView-Be1Xoy_F.js → DiffView-CaDZ4gTk.js} +3 -3
  6. package/dist/assets/{FilesView-DONPk8-K.js → FilesView-Csrs_BGv.js} +1 -1
  7. package/dist/assets/{GitView-D10y-u46.js → GitView-DvxCZgCW.js} +3 -3
  8. package/dist/assets/{GuestSurfacePane-Cot0OO7x.js → GuestSurfacePane-DNg0xBTD.js} +1 -1
  9. package/dist/assets/{HelpDialog-Bw836_tH.js → HelpDialog-CLyz3_xd.js} +1 -1
  10. package/dist/assets/{InProgressOperationBanner-saAihIub.js → InProgressOperationBanner-BVDKUDqn.js} +2 -2
  11. package/dist/assets/{IntegrationsCatalogView-BtdMeTHf.js → IntegrationsCatalogView-u1gS0Vk8.js} +1 -1
  12. package/dist/assets/{JsonTreeView-BOQC0uTM.js → JsonTreeView-BpJU14WJ.js} +1 -1
  13. package/dist/assets/{MarkdownRendererImpl-CuZntPVf.js → MarkdownRendererImpl-t3OoYn_0.js} +1 -1
  14. package/dist/assets/{MemoryDebugPanel-BZgSuf-z.js → MemoryDebugPanel-9z1jGWze.js} +1 -1
  15. package/dist/assets/{OnboardingScreen-Bx2h2w69.js → OnboardingScreen-xzT7ckY0.js} +1 -1
  16. package/dist/assets/{OpenCodeStatusDialog-N9JgIC1p.js → OpenCodeStatusDialog-skpJZSjK.js} +1 -1
  17. package/dist/assets/{PatchDiff-Ca_Ci2CX.js → PatchDiff-BWW_8bob.js} +1 -1
  18. package/dist/assets/{PierreDiffViewer-Ck0P8Q2W.js → PierreDiffViewer-BZDNV4Uj.js} +1 -1
  19. package/dist/assets/{PlanView-dx70wKWR.js → PlanView-D7wshtfZ.js} +1 -1
  20. package/dist/assets/{ProjectActionsDialog-BS20dYCJ.js → ProjectActionsDialog-BPh74BCt.js} +1 -1
  21. package/dist/assets/{PullRequestComparisonSelector-DOW9_VlK.js → PullRequestComparisonSelector-BBdU2rL1.js} +3 -3
  22. package/dist/assets/{RunOverview-DtxjzGnX.js → RunOverview-Cngm2OOp.js} +2 -2
  23. package/dist/assets/{ScheduledTasksDialog-HcypGtky.js → ScheduledTasksDialog-DUjDdkw2.js} +1 -1
  24. package/dist/assets/{SettingsView-IBrGwDoM.js → SettingsView-CCZOw018.js} +2 -2
  25. package/dist/assets/{SettingsWindow-Bugr9Hmx.js → SettingsWindow-Cndsj5Vu.js} +1 -1
  26. package/dist/assets/{SourceBoardView-BD5rmib8.js → SourceBoardView-8Wp0oUvB.js} +1 -1
  27. package/dist/assets/{SpaceAccessDialog-BYhp5gfB.js → SpaceAccessDialog-CxfCzTpe.js} +1 -1
  28. package/dist/assets/{SpaceApplyDialog-CC0axZal.js → SpaceApplyDialog-CYp0A76N.js} +1 -1
  29. package/dist/assets/{SpaceRow-DDWTQgfP.js → SpaceRow-CQp4PkPJ.js} +1 -1
  30. package/dist/assets/{SpaceSetupOutput-BqurG7V4.js → SpaceSetupOutput-RNo0mWrR.js} +1 -1
  31. package/dist/assets/{SpacesView-Bcbb9aXY.js → SpacesView-BwcDCv3D.js} +1 -1
  32. package/dist/assets/{SubmoduleDiffSummary-BS1PSa4l.js → SubmoduleDiffSummary-BQduif5s.js} +1 -1
  33. package/dist/assets/{ToolOutputDialog-DXWQ17Fv.js → ToolOutputDialog-BVCvqYsK.js} +1 -1
  34. package/dist/assets/{ToolPartDiffPreview-DXRs6cSg.js → ToolPartDiffPreview-BXpCHBW9.js} +1 -1
  35. package/dist/assets/{UsageStatsView-DFVydqMY.js → UsageStatsView-CsC_RzAH.js} +1 -1
  36. package/dist/assets/{Virtualizer-B8rX50qD.js → Virtualizer-nenVQKi3.js} +1 -1
  37. package/dist/assets/{WalkthroughView-CECS5lDs.js → WalkthroughView-CdIYpttA.js} +1 -1
  38. package/dist/assets/{WorktreesView-FH0uzPQG.js → WorktreesView-D102xE1o.js} +1 -1
  39. package/dist/assets/{appThemeRegistry-CnS_OWEL.js → appThemeRegistry-BWap7OfW.js} +1 -1
  40. package/dist/assets/{ar-BlEU--PN.js → ar-9CiK5cuu.js} +3 -3
  41. package/dist/assets/{computeVirtualFileMetrics-rZJ-MSfY.js → computeVirtualFileMetrics-DDyA16hp.js} +1 -1
  42. package/dist/assets/{de-DWs4Mcjc.js → de-Drq6oIkP.js} +3 -3
  43. package/dist/assets/{decorate-Bbbyq0tX.js → decorate-CemSwkUs.js} +1 -1
  44. package/dist/assets/{es-k5T7CE97.js → es-0bkFr34F.js} +3 -3
  45. package/dist/assets/{flexokiTheme-DECIbITo.js → flexokiTheme-PoX6Vqyn.js} +1 -1
  46. package/dist/assets/{fr-CzmypgZ8.js → fr-CjgWVupK.js} +3 -3
  47. package/dist/assets/{he-DdkxJnUn.js → he-BrJa9oPB.js} +4 -4
  48. package/dist/assets/{index-DElZNtel.js → index-B2WHEal3.js} +1 -1
  49. package/dist/assets/{initializeSharedPreferences-C5qncsHs.js → initializeSharedPreferences-1Vo6G7CM.js} +1 -1
  50. package/dist/assets/{install-D-H6uk7D.js → install-FletzeYD.js} +1 -1
  51. package/dist/assets/{isDiffPlainText-DMFSMXcK.js → isDiffPlainText-yXcpftjI.js} +1 -1
  52. package/dist/assets/{isFilePlainText-BQGSJxcX.js → isFilePlainText-Dpm-_Qu8.js} +1 -1
  53. package/dist/assets/{ja-Qqkyglaf.js → ja-cfyrqWPa.js} +3 -3
  54. package/dist/assets/katex.min-F4TD1ekM.js +69 -0
  55. package/dist/assets/{ko-B8idPK2d.js → ko-herKAlGO.js} +3 -3
  56. package/dist/assets/{main-DMdUGpFx.js → main-CO7wKNtS.js} +2 -2
  57. package/dist/assets/{main-CcnDurk6.js → main-DN47yDMe.js} +19 -19
  58. package/dist/assets/markdownCore-BY21GJ_M.js +10 -0
  59. package/dist/assets/{miniChat-B8DW3cmv.js → miniChat-BmFJFQph.js} +2 -2
  60. package/dist/assets/{mobile-Caqsx1Op.js → mobile-DTi98S93.js} +2 -2
  61. package/dist/assets/{moveWorkspacePath-By4gjwmW.js → moveWorkspacePath-CENAo75W.js} +1 -1
  62. package/dist/assets/{nl-CFXZKHp7.js → nl-mZ4VCoiQ.js} +3 -3
  63. package/dist/assets/{parseDiffFromFile-C9ASoy7R.js → parseDiffFromFile-BSmRvd3V.js} +1 -1
  64. package/dist/assets/{pierreDiffTint-IfgQ6oty.js → pierreDiffTint-cyYFR1bm.js} +1 -1
  65. package/dist/assets/{pl-slLgZWDu.js → pl-C98lvkcZ.js} +4 -4
  66. package/dist/assets/{pt-BR-C319g_nn.js → pt-BR-CB63WPLS.js} +3 -3
  67. package/dist/assets/{relocateRestoredSession-DBWTClOj.js → relocateRestoredSession-D8Sf_FG_.js} +1 -1
  68. package/dist/assets/{renderElectronMiniChatApp-C5irgP-w.js → renderElectronMiniChatApp-DmQ8i5jp.js} +2 -2
  69. package/dist/assets/{renderMobileApp-DnyN_ARh.js → renderMobileApp-CND9CafV.js} +3 -3
  70. package/dist/assets/{restartOpenCode-VU-OEAvZ.js → restartOpenCode-D8ExMl55.js} +1 -1
  71. package/dist/assets/{runtimeEndpointReset-BJUtkqal.js → runtimeEndpointReset-lg1O2gVX.js} +3 -3
  72. package/dist/assets/{scheduledTasksApi-FZ9stPNl.js → scheduledTasksApi-CJBNpwgy.js} +1 -1
  73. package/dist/assets/{selectionMarkdown-DV_HvvmZ.js → selectionMarkdown-B_3WTOUr.js} +1 -1
  74. package/dist/assets/{shikiHighlight-BKmAuapa.js → shikiHighlight-DBj_a_TN.js} +1 -1
  75. package/dist/assets/{space-apply-Br_BRuH8.js → space-apply-COMscpEL.js} +1 -1
  76. package/dist/assets/{space-close-D_1iLJrX.js → space-close-DDLvYCUc.js} +1 -1
  77. package/dist/assets/{spaceNetwork-Dcj-qJy-.js → spaceNetwork-CNxs51y4.js} +1 -1
  78. package/dist/assets/{textMateThemeFromAppTheme-Bye_bpEL.js → textMateThemeFromAppTheme-tYpAceV3.js} +1 -1
  79. package/dist/assets/{tr-DNnJ5oqk.js → tr-C5KUa-8X.js} +3 -3
  80. package/dist/assets/{uk-Bw0BJwHw.js → uk-D44Grdmc.js} +3 -3
  81. package/dist/assets/{useAppFontEffects-d9vsRNKm.js → useAppFontEffects-Dm6zEvrf.js} +200 -199
  82. package/dist/assets/{useCallableModelProviders-8CrUkERW.js → useCallableModelProviders-BK3j8Sde.js} +1 -1
  83. package/dist/assets/{useDiffFindSurface-sw5jZ-9V.js → useDiffFindSurface-CaCh-qt2.js} +1 -1
  84. package/dist/assets/{useInlineCommentController-Cw5IRM5Y.js → useInlineCommentController-a2JepiF3.js} +1 -1
  85. package/dist/assets/{useMarkdownLocalAssets-D3a1j44d.js → useMarkdownLocalAssets-BEApAshz.js} +2 -2
  86. package/dist/assets/{useRootScrollLock-BWsNuapq.js → useRootScrollLock-mqVhK2HB.js} +2 -2
  87. package/dist/assets/{useWalkthroughReview-D7I1H6_J.js → useWalkthroughReview-BspAr9Aa.js} +1 -1
  88. package/dist/assets/{vendor-codemirror-language-data-DP_Bh3S8.js → vendor-codemirror-language-data-VzNDjH03.js} +2 -2
  89. package/dist/assets/{zh-CN-Brx5Btej.js → zh-CN-DwBC4Qtd.js} +3 -3
  90. package/dist/assets/{zh-TW-WokiutLA.js → zh-TW-DXEqDBAm.js} +3 -3
  91. package/dist/index.html +2 -2
  92. package/dist/mini-chat.html +2 -2
  93. package/dist/mobile.html +2 -2
  94. package/package.json +2 -2
  95. package/server/index.js +4 -2
  96. package/server/lib/git/service.test.js +1 -1
  97. package/server/lib/opencode/openchamber-routes.test.js +1 -0
  98. package/server/lib/opencode/settings-helpers.js +2 -2
  99. package/server/lib/opencode/settings-helpers.test.js +1 -1
  100. package/server/lib/opencode/settings-registry.json +1 -1
  101. package/server/lib/outbound-proxy.test.js +2 -2
  102. package/server/lib/spaces/tools.test.js +2 -2
  103. package/dist/assets/katex.min-u4DtE8E5.js +0 -69
  104. package/dist/assets/markdownCore-BwFkWhmZ.js +0 -10
@@ -1,4 +1,4 @@
1
- import{B as e,C as a,D as t,E as s,F as o,G as i,H as n,I as r,J as l,K as c,L as d,M as p,N as u,O as m,P as g,Q as h,R as b,T as v,U as f,V as w,W as y,X as k,Y as C,Z as S,_ as A,$ as P,a0 as T,a1 as I,a2 as R,a3 as D,a4 as N}from"./katex.min-u4DtE8E5.js";import"./vendor-zod-DDir2TeQ.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-react-BUCujlKS.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-opencode-client-h8RufjAw.js";const E={"settings.sourceControl.ssh.title":"Claves SSH","settings.sourceControl.ssh.load":"Mostrar claves","settings.sourceControl.ssh.discover":"Buscar claves en ~/.ssh","settings.sourceControl.ssh.empty":"Todavía no hay claves SSH añadidas.","settings.sourceControl.ssh.hostSetup":"OpenChamber solo mira los archivos de clave que están directamente en ~/.ssh del equipo donde se ejecuta y guarda su propia copia de los que añades. Para una clave con frase de contraseña o que vive en un agente SSH, usa la identidad del sistema.","settings.sourceControl.ssh.unreadable":"No se puede leer esta clave. Arréglala en el equipo o usa la identidad del sistema.","settings.sourceControl.ssh.changed":"Esta clave cambió desde que se añadió. Añádela de nuevo o usa la identidad del sistema.","settings.sourceControl.ssh.unverifiable":"Esta clave tiene frase de contraseña o no se puede comprobar. Usa una sin frase o la identidad del sistema.","settings.sourceControl.ssh.insecurePermissions":"Otros usuarios de este equipo pueden leer la clave. Ejecuta chmod 600 sobre ella primero.","settings.sourceControl.ssh.discoveredEmpty":"No se encontraron claves en ~/.ssh.","settings.sourceControl.ssh.discoveryTruncated":"~/.ssh tiene demasiados archivos, así que algunos no se revisaron.","settings.sourceControl.ssh.confirmFingerprint":"Esta es mi clave: {fingerprint}","settings.sourceControl.ssh.import":"Añadir clave","settings.sourceControl.ssh.imported":"Clave añadida.","settings.sourceControl.ssh.candidateExpired":"Esta lista está desactualizada. Busca claves de nuevo.","settings.sourceControl.ssh.candidateChanged":"La clave cambió después de encontrarla. Busca claves de nuevo.","settings.sourceControl.ssh.confirmationMismatch":"Esa huella no coincide con la clave. Busca claves de nuevo.","settings.sourceControl.ssh.candidateUnavailable":"Esta clave ya no está. Busca claves de nuevo.","settings.sourceControl.ssh.inventoryFull":"Hay demasiadas claves añadidas. Quita primero una que no uses.","settings.sourceControl.ssh.operationFailed":"Algo salió mal con las claves SSH. Inténtalo de nuevo.","settings.themeImport.selectAll":"Seleccionar todo","settings.themeImport.deselectAll":"Deseleccionar todo","settings.themeImport.complete":"Importación completada","settings.themeImport.catalogTitle":"Importar tema de VS Code (Open VSX)","settings.themeImport.catalogHint":"Busca temas de VS Code en Open VSX. Los temas publicados solo en Microsoft Marketplace pueden no aparecer aquí.","settings.themeImport.search":"Buscar temas","settings.themeImport.catalogError":"No se pudieron cargar los temas de Open VSX. Vuelve a buscar.","settings.themeImport.empty":"No se encontraron temas en Open VSX.","settings.themeImport.back":"Volver a la búsqueda","settings.themeImport.chooseFile":"Elegir archivo JSON","settings.themeImport.importSelected":"Importar variantes seleccionadas","settings.themeImport.installed":"Importado","settings.themeImport.partialError":"No se pudieron guardar algunos temas. Se conservaron los importados correctamente. Puedes reintentar las variantes restantes.","settings.themeImport.delete":"Eliminar el tema importado {name}","settings.themeImport.deleteError":"No se pudo eliminar el tema. Se ha conservado.","settings.themeImport.action":"Importar tema de VS Code","settings.themeImport.busy":"Importando tema…","settings.themeImport.hint":"Importa un tema de VS Code .json o .jsonc con los colores de sintaxis y diff. Se guarda en el servidor OpenChamber conectado.","settings.themeImport.success":"Se importó {name}.","settings.themeImport.error.invalid":"Este archivo no es un tema de colores de VS Code compatible.","settings.themeImport.error.include":"El tema hace referencia a otro archivo. Expórtalo desde VS Code con Developer: Generate Color Theme From Current Settings e importa el JSON generado.","settings.themeImport.error.size":"Los archivos de temas no pueden superar los 512 KiB.","settings.themeImport.error.background":"Este tema no tiene el color editor.background. Exporta un tema de colores completo desde VS Code.","settings.themeImport.error.save":"No se pudo guardar el tema. Comprueba la conexión e inténtalo de nuevo.","settings.themeImport.error.connection":"El servidor conectado ha cambiado. No se aplicó el tema.","settings.themeImport.error.unsupported":"La importación de temas no está disponible en VS Code.","settings.themeImport.error.conflict":"Este tema importado se modificó en el servidor. No se sobrescribió.","settings.openchamber.visual.field.alwaysShowScrollbars":"Mostrar siempre las barras de desplazamiento","settings.openchamber.visual.field.alwaysShowScrollbarsHint":"Mantén las barras de desplazamiento visibles incluso cuando el puntero esté fuera del área desplazable. Solo se aplica en este dispositivo.","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.apiKey":"Clave API","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.quotaCredentials.accessToken":"Token de acceso","settings.providers.page.quotaCredentials.usageToken":"Token de API de uso","settings.providers.page.quotaCredentials.exeDevTokenInstructions":"Ejecuta este comando en tu terminal y pega el token abajo. Solo puede leer el uso de créditos de LLM y caduca después de 30 días.","settings.providers.page.quotaCredentials.refreshToken":"Token de actualización","settings.providers.page.quotaCredentials.tokenPlaceholder":"Pega el token","settings.providers.page.quotaCredentials.platformApiKey":"Clave de API de plataforma","settings.providers.page.quotaCredentials.zenmuxInstructions":"El uso necesita una clave de API de plataforma de la consola de ZenMux. La clave que OpenCode usa para el chat es distinta y no se usa aquí.","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.backToSettings":"Volver a Configuración","settings.view.actions.closeSettings":"Cerrar configuración","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.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.view.nav.group.general":"OpenChamber","settings.view.nav.group.projects":"Espacio de trabajo","settings.view.nav.group.opencode":"OpenCode","settings.view.nav.group.content":"Biblioteca","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.appearance.description":"Personaliza el aspecto y la sensación de OpenChamber.","settings.page.chat.title":"Chat","settings.page.chat.description":"Configura cómo se muestran los mensajes y las herramientas.","settings.page.shortcuts.title":"Atajos","settings.page.shortcuts.description":"Personaliza los atajos de teclado.","settings.page.general.title":"General","settings.page.general.description":"Inicio de la aplicación, seguridad, conexión y privacidad.","settings.page.sessions.title":"Sesiones","settings.page.sessions.description":"Define valores predeterminados y retención de sesiones.","settings.page.magicPrompts.title":"Prompts mágicos","settings.page.notifications.title":"Notificaciones","settings.page.notifications.description":"Elige cuándo y cómo recibir notificaciones.","settings.page.voice.title":"Voz","settings.page.voice.description":"Configura la voz y el dictado.","settings.page.tunnel.title":"Túnel externo","settings.page.tunnel.description":"Expón esta instancia a través de un túnel remoto.","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.openchamber.tunnel.title":"Túnel externo","settings.openchamber.tunnel.enterpriseMode":"Los túneles externos no están disponibles en modo empresa, ya que el servicio de túnel vería el tráfico. Para acceder a este servidor desde otros dispositivos, emparéjalos en tu red o a través del relay de tu organización.","settings.openchamber.tunnel.description":"Configura el acceso remoto seguro con enlaces rápidos o tu propio túnel gestionado de Cloudflare.","settings.openchamber.tunnel.note.serverSideEnforced":"El acceso seguro al túnel se aplica en el servidor.","settings.openchamber.tunnel.note.connectLinksOneTime":"Los enlaces de conexión son de un solo uso: se revocan cuando el túnel se detiene o vence el TTL del enlace.","settings.openchamber.tunnel.note.cloudflareConnectorTarget":"Destino del conector de Cloudflare:","settings.openchamber.tunnel.note.cloudflareConnectorTargetUse":"Para el destino del conector de Cloudflare, usa","settings.openchamber.tunnel.note.tokensSavedPerTunnel":"Los tokens se almacenan por túnel y se reutilizan desde el disco.","settings.openchamber.tunnel.note.customConfigUsed":"Se usará un archivo de configuración personalizado al iniciar el túnel.","settings.openchamber.tunnel.note.defaultConfigUsed":"Cuando esté vacío, cloudflared usa su configuración predeterminada (~/.cloudflared/config.yml).","settings.openchamber.tunnel.note.managedRemoteRequiresDomain":"Los túneles remotos gestionados requieren un dominio comprado en tu cuenta de Cloudflare.","settings.openchamber.tunnel.note.managedLocalUsesConfig":"Los túneles locales gestionados usan tu archivo de configuración local de cloudflared.","settings.openchamber.tunnel.note.startModeAndGenerateLink":"Inicia un túnel {mode} y genera un enlace de conexión de un solo uso. No cierres la aplicación mientras este túnel esté en uso.","settings.openchamber.tunnel.note.scanQrToConnect":"Escanea con tu teléfono para conectar.","settings.openchamber.tunnel.section.redeemedAccessLinks":"Enlaces de acceso canjeados","settings.openchamber.tunnel.section.savedManagedRemoteTunnels":"Túneles remotos gestionados guardados","settings.openchamber.tunnel.notAvailable.cloudflaredNotFound":"cloudflared no encontrado","settings.openchamber.tunnel.notAvailable.dependencyNotFound":"No se encontró {dependency}.","settings.openchamber.tunnel.notAvailable.installHint":"Instálalo para habilitar el acceso al túnel remoto:","settings.openchamber.tunnel.field.provider":"Proveedor","settings.openchamber.tunnel.field.providerPlaceholder":"Seleccionar proveedor","settings.openchamber.tunnel.field.tunnelType":"Tipo de túnel","settings.openchamber.tunnel.field.connectLinkTtl":"TTL del enlace de conexión","settings.openchamber.tunnel.field.tunnelSessionTtl":"TTL de la sesión del túnel","settings.openchamber.tunnel.field.hostnameLabel":"Nombre de host:","settings.openchamber.tunnel.field.savedTokenAvailablePlaceholder":"Token guardado disponible (opcional para reemplazar)","settings.openchamber.tunnel.field.pasteTokenPlaceholder":"Pegar token para este túnel","settings.openchamber.tunnel.field.newPresetNamePlaceholder":"Nombre del túnel (ej. Producción)","settings.openchamber.tunnel.field.newPresetHostnamePlaceholder":"Nombre de host (p. ej. oc.example.com)","settings.openchamber.tunnel.field.newPresetTokenPlaceholder":"Token","settings.openchamber.tunnel.field.managedRemoteTokenInfoAria":"Información del token del túnel remoto gestionado","settings.openchamber.tunnel.field.configurationFile":"Archivo de configuración","settings.openchamber.tunnel.field.configurationFilePlaceholder":"Se usa la configuración predeterminada de cloudflared","settings.openchamber.tunnel.field.managedRemoteTunnelToConnect":"Túnel remoto gestionado para conectar","settings.openchamber.tunnel.field.selectSavedTunnelPlaceholder":"Seleccionar túnel guardado","settings.openchamber.tunnel.field.publicUrlHint":"URL pública (no accesible sin un token)","settings.openchamber.tunnel.field.connectLink":"Enlace de conexión","settings.openchamber.tunnel.field.expires":"Expira","settings.openchamber.tunnel.field.connectQrAlt":"Código QR de conexión del túnel","settings.openchamber.tunnel.actions.removePresetAria":"Eliminar {name}","settings.openchamber.tunnel.actions.saveToken":"Guardar token","settings.openchamber.tunnel.actions.browseConfigFileAria":"Explorar archivo de configuración","settings.openchamber.tunnel.actions.clearConfigFileAria":"Limpiar archivo de configuración","settings.openchamber.tunnel.actions.openManagedRemoteDocs":"Ver documentación sobre cómo configurar un túnel remoto gestionado","settings.openchamber.tunnel.actions.openManagedLocalDocs":"Ver documentación sobre la configuración de un túnel local gestionado","settings.openchamber.tunnel.actions.startTunnel":"Iniciar túnel","settings.openchamber.tunnel.actions.startingTunnel":"Iniciando túnel...","settings.openchamber.tunnel.actions.stopTunnel":"Detener túnel","settings.openchamber.tunnel.actions.stopping":"Deteniendo...","settings.openchamber.tunnel.actions.newConnectLink":"Nuevo enlace de conexión","settings.openchamber.tunnel.actions.copied":"Copiado","settings.openchamber.tunnel.actions.retry":"Reintentar","settings.openchamber.tunnel.option.moreProvidersSoon":"Más proveedores llegarán pronto","settings.openchamber.tunnel.option.mode.quick.label":"Rápido","settings.openchamber.tunnel.option.mode.quick.tooltip":"El túnel rápido funciona en modo best effort y su disponibilidad no está garantizada.","settings.openchamber.tunnel.option.mode.managedRemote.label":"Remoto gestionado","settings.openchamber.tunnel.option.mode.managedRemote.tooltip":"El modo remoto gestionado usa tu cuenta de Cloudflare y un nombre de host para acceso de larga duración.","settings.openchamber.tunnel.option.mode.managedLocal.label":"Local gestionado","settings.openchamber.tunnel.option.mode.managedLocal.tooltip":"El modo local gestionado usa tu configuración local de cloudflared.","settings.openchamber.tunnel.warning.quickModeReliability":"Para un acceso de larga duración más confiable, cambie a modo de túnel remoto o local gestionado.","settings.openchamber.tunnel.warning.replacesActiveTunnel":"Iniciar este túnel reemplazará el túnel activo y revocará los enlaces de conexión y sesiones remotas existentes.","settings.openchamber.tunnel.badge.quick":"RÁPIDO","settings.openchamber.tunnel.badge.remote":"REMOTO","settings.openchamber.tunnel.badge.local":"LOCAL","settings.openchamber.tunnel.state.loading":"Cargando","settings.openchamber.tunnel.state.expired":"Expirado","settings.openchamber.tunnel.state.revoked":"Revocado","settings.openchamber.tunnel.state.inactive":"Inactivo","settings.openchamber.tunnel.state.never":"Nunca","settings.openchamber.tunnel.state.tunnelReady":"Túnel listo","settings.openchamber.tunnel.session.redeemedAt":"Canjeado {time}","settings.openchamber.tunnel.session.expiresIn":"Expira en {remaining}","settings.openchamber.tunnel.session.inactiveWithReason":"Inactivo ({reason})","settings.openchamber.tunnel.error.invalidConfigExtension":"El archivo de configuración debe usar la extensión .yml, .yaml o .json.","settings.openchamber.tunnel.tooltip.tokensSavedPath":"Los tokens se almacenan en ~/.config/openchamber/cloudflare-managed-remote-tunnels.json.","settings.openchamber.tunnel.empty.noManagedRemoteTunnels":"Aún no se han guardado túneles remotos gestionados.","settings.openchamber.tunnel.toast.checkAvailabilityFailed":"No se pudo verificar la disponibilidad del túnel","settings.openchamber.tunnel.toast.saveSettingsFailed":"No se pudo guardar la configuración del túnel","settings.openchamber.tunnel.toast.saveTtlFailed":"No se pudo guardar la configuración del TTL del túnel","settings.openchamber.tunnel.toast.saveTokenFailed":"No se pudo guardar el token del túnel remoto gestionado","settings.openchamber.tunnel.toast.selectOrAddManagedRemoteFirst":"Selecciona o agrega un túnel remoto gestionado primero","settings.openchamber.tunnel.toast.managedRemoteTokenRequiredBeforeStarting":"Se requiere un token del túnel remoto gestionado antes de iniciar","settings.openchamber.tunnel.toast.addManagedRemoteTokenBeforeStarting":"Agrega un token del túnel remoto gestionado antes de iniciar","settings.openchamber.tunnel.toast.startFailed":"No se pudo iniciar el túnel","settings.openchamber.tunnel.toast.startedButNoPublicUrl":"El túnel se inició pero no se devolvió una URL pública","settings.openchamber.tunnel.toast.replacedTunnelSingleSingle":"Reemplazó el túnel anterior: revocó 1 enlace, invalidó 1 sesión.","settings.openchamber.tunnel.toast.replacedTunnelSingleManySessions":"Reemplazó el túnel anterior: revocó 1 enlace, invalidó {invalidatedSessionCount} sesiones.","settings.openchamber.tunnel.toast.replacedTunnelManyLinksSingleSession":"Reemplazó el túnel anterior: revocó {revokedBootstrapCount} enlaces, invalidó 1 sesión.","settings.openchamber.tunnel.toast.replacedTunnelManyMany":"Reemplazó el túnel anterior: revocó {revokedBootstrapCount} enlaces, invalidó {invalidatedSessionCount} sesiones.","settings.openchamber.tunnel.toast.linkReady":"Enlace del túnel listo","settings.openchamber.tunnel.toast.stopped":"Túnel detenido","settings.openchamber.tunnel.toast.stopFailed":"No se pudo detener el túnel","settings.openchamber.tunnel.toast.connectLinkCopied":"Enlace de conexión copiado","settings.openchamber.tunnel.toast.copyUrlFailed":"No se pudo copiar la URL","settings.openchamber.tunnel.toast.saveSelectedManagedRemoteFailed":"No se pudo guardar el túnel remoto gestionado seleccionado","settings.openchamber.tunnel.toast.tunnelNameRequired":"Se requiere el nombre del túnel","settings.openchamber.tunnel.toast.managedRemoteHostnameRequired":"Se requiere el nombre de host del túnel remoto gestionado","settings.openchamber.tunnel.toast.managedRemoteTokenRequired":"Se requiere el token del túnel remoto gestionado","settings.openchamber.tunnel.toast.hostnameAlreadyExists":"Este nombre de host ya existe","settings.openchamber.tunnel.toast.managedRemoteSaved":"Túnel remoto gestionado guardado","settings.openchamber.tunnel.toast.managedRemoteRemoved":"Túnel remoto gestionado eliminado","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.planning":"Planificación","settings.magicPrompts.sidebar.group.session":"Sesión","settings.magicPrompts.sidebar.group.memory":"Memoria","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.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.magicPrompts.sidebar.item.memoryTidy":"Ordenar","settings.remoteInstances.sidebar.title":"Instancias remotas","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 o token","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 del otro servidor o añádelo por dirección.","settings.remoteInstances.direct.addDialog.description":"Añade otro servidor de OpenChamber por URL. Úsalo cuando el servidor ya esté en marcha y tengas un token de conexión.","settings.remoteInstances.direct.field.labelPlaceholder":"Etiqueta (opcional)","settings.remoteInstances.direct.field.urlPlaceholder":"https://host:port","settings.remoteInstances.direct.field.tokenPlaceholder":"Token de conexión (opcional para servidores locales de confianza)","settings.remoteInstances.direct.note":"Los tokens de conexión se guardan en este dispositivo y solo se usan cuando esta app se conecta a ese servidor.","settings.remoteInstances.direct.headers.title":"Additional headers","settings.remoteInstances.direct.headers.description":"Optional HTTP headers for desktop API requests. Authorization is reserved for the connection token.","settings.remoteInstances.direct.headers.field.namePlaceholder":"Header name","settings.remoteInstances.direct.headers.field.valuePlaceholder":"Header value","settings.remoteInstances.direct.headers.actions.add":"Add header","settings.remoteInstances.direct.headers.removeAria":"Remove header","settings.remoteInstances.direct.actions.add":"Añadir 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 añadido 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 del dispositivo — p. ej. Mi iPhone","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.lanUnavailableDesktopHint":"Para usar esta opción, ve a Ajustes > Acceso de red de escritorio, establece una contraseña para la interfaz de escritorio y permite que otros dispositivos de tu red local abran esta aplicación.","settings.remoteInstances.clientAuth.addDevice.transport.lanUnavailableServerHint":"Este servidor solo escucha en este equipo. Reinícialo con `--host 0.0.0.0` para que los dispositivos de tu red puedan conectarse.","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.create":"Crear código QR","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.clientAuth.relayConflict.title":"Otro ordenador está respondiendo por este","settings.remoteInstances.clientAuth.relayConflict.description":"Los dispositivos que añadiste para «En cualquier lugar» cambian entre este ordenador y otro. Pasa cuando los datos de OpenChamber se copiaron a un segundo ordenador y ambos están en marcha.","settings.remoteInstances.clientAuth.relayConflict.action":"Separar este ordenador","settings.remoteInstances.clientAuth.relayConflict.confirmTitle":"¿Separar este ordenador?","settings.remoteInstances.clientAuth.relayConflict.confirmMessage":`Los dispositivos añadidos para «En cualquier lugar» seguirán conectándose al otro ordenador. Para usar uno con este ordenador, añádelo aquí de nuevo con «Añadir un dispositivo».
1
+ import{B as e,C as a,D as t,E as s,F as o,G as i,H as n,I as r,J as l,K as c,L as d,M as p,N as u,O as m,P as g,Q as h,R as b,T as v,U as f,V as w,W as y,X as k,Y as C,Z as S,_ as A,$ as P,a0 as T,a1 as I,a2 as R,a3 as D,a4 as N}from"./katex.min-F4TD1ekM.js";import"./vendor-zod-DDir2TeQ.js";import"./vendor-vite-runtime-DD1OZmLC.js";import"./vendor-zustand-BAGL70zf.js";import"./vendor-react-BUCujlKS.js";import"./vendor-scheduler-7OC5HNn7.js";import"./vendor-opencode-client-h8RufjAw.js";const E={"settings.sourceControl.ssh.title":"Claves SSH","settings.sourceControl.ssh.load":"Mostrar claves","settings.sourceControl.ssh.discover":"Buscar claves en ~/.ssh","settings.sourceControl.ssh.empty":"Todavía no hay claves SSH añadidas.","settings.sourceControl.ssh.hostSetup":"OpenChamber solo mira los archivos de clave que están directamente en ~/.ssh del equipo donde se ejecuta y guarda su propia copia de los que añades. Para una clave con frase de contraseña o que vive en un agente SSH, usa la identidad del sistema.","settings.sourceControl.ssh.unreadable":"No se puede leer esta clave. Arréglala en el equipo o usa la identidad del sistema.","settings.sourceControl.ssh.changed":"Esta clave cambió desde que se añadió. Añádela de nuevo o usa la identidad del sistema.","settings.sourceControl.ssh.unverifiable":"Esta clave tiene frase de contraseña o no se puede comprobar. Usa una sin frase o la identidad del sistema.","settings.sourceControl.ssh.insecurePermissions":"Otros usuarios de este equipo pueden leer la clave. Ejecuta chmod 600 sobre ella primero.","settings.sourceControl.ssh.discoveredEmpty":"No se encontraron claves en ~/.ssh.","settings.sourceControl.ssh.discoveryTruncated":"~/.ssh tiene demasiados archivos, así que algunos no se revisaron.","settings.sourceControl.ssh.confirmFingerprint":"Esta es mi clave: {fingerprint}","settings.sourceControl.ssh.import":"Añadir clave","settings.sourceControl.ssh.imported":"Clave añadida.","settings.sourceControl.ssh.candidateExpired":"Esta lista está desactualizada. Busca claves de nuevo.","settings.sourceControl.ssh.candidateChanged":"La clave cambió después de encontrarla. Busca claves de nuevo.","settings.sourceControl.ssh.confirmationMismatch":"Esa huella no coincide con la clave. Busca claves de nuevo.","settings.sourceControl.ssh.candidateUnavailable":"Esta clave ya no está. Busca claves de nuevo.","settings.sourceControl.ssh.inventoryFull":"Hay demasiadas claves añadidas. Quita primero una que no uses.","settings.sourceControl.ssh.operationFailed":"Algo salió mal con las claves SSH. Inténtalo de nuevo.","settings.themeImport.selectAll":"Seleccionar todo","settings.themeImport.deselectAll":"Deseleccionar todo","settings.themeImport.complete":"Importación completada","settings.themeImport.catalogTitle":"Importar tema de VS Code (Open VSX)","settings.themeImport.catalogHint":"Busca temas de VS Code en Open VSX. Los temas publicados solo en Microsoft Marketplace pueden no aparecer aquí.","settings.themeImport.search":"Buscar temas","settings.themeImport.catalogError":"No se pudieron cargar los temas de Open VSX. Vuelve a buscar.","settings.themeImport.empty":"No se encontraron temas en Open VSX.","settings.themeImport.back":"Volver a la búsqueda","settings.themeImport.chooseFile":"Elegir archivo JSON","settings.themeImport.importSelected":"Importar variantes seleccionadas","settings.themeImport.installed":"Importado","settings.themeImport.partialError":"No se pudieron guardar algunos temas. Se conservaron los importados correctamente. Puedes reintentar las variantes restantes.","settings.themeImport.delete":"Eliminar el tema importado {name}","settings.themeImport.deleteError":"No se pudo eliminar el tema. Se ha conservado.","settings.themeImport.action":"Importar tema de VS Code","settings.themeImport.busy":"Importando tema…","settings.themeImport.hint":"Importa un tema de VS Code .json o .jsonc con los colores de sintaxis y diff. Se guarda en el servidor OpenChamber conectado.","settings.themeImport.success":"Se importó {name}.","settings.themeImport.error.invalid":"Este archivo no es un tema de colores de VS Code compatible.","settings.themeImport.error.include":"El tema hace referencia a otro archivo. Expórtalo desde VS Code con Developer: Generate Color Theme From Current Settings e importa el JSON generado.","settings.themeImport.error.size":"Los archivos de temas no pueden superar los 512 KiB.","settings.themeImport.error.background":"Este tema no tiene el color editor.background. Exporta un tema de colores completo desde VS Code.","settings.themeImport.error.save":"No se pudo guardar el tema. Comprueba la conexión e inténtalo de nuevo.","settings.themeImport.error.connection":"El servidor conectado ha cambiado. No se aplicó el tema.","settings.themeImport.error.unsupported":"La importación de temas no está disponible en VS Code.","settings.themeImport.error.conflict":"Este tema importado se modificó en el servidor. No se sobrescribió.","settings.openchamber.visual.field.alwaysShowScrollbars":"Mostrar siempre las barras de desplazamiento","settings.openchamber.visual.field.alwaysShowScrollbarsHint":"Mantén las barras de desplazamiento visibles incluso cuando el puntero esté fuera del área desplazable. Solo se aplica en este dispositivo.","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.apiKey":"Clave API","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.quotaCredentials.accessToken":"Token de acceso","settings.providers.page.quotaCredentials.usageToken":"Token de API de uso","settings.providers.page.quotaCredentials.exeDevTokenInstructions":"Ejecuta este comando en tu terminal y pega el token abajo. Solo puede leer el uso de créditos de LLM y caduca después de 30 días.","settings.providers.page.quotaCredentials.refreshToken":"Token de actualización","settings.providers.page.quotaCredentials.tokenPlaceholder":"Pega el token","settings.providers.page.quotaCredentials.platformApiKey":"Clave de API de plataforma","settings.providers.page.quotaCredentials.zenmuxInstructions":"El uso necesita una clave de API de plataforma de la consola de ZenMux. La clave que OpenCode usa para el chat es distinta y no se usa aquí.","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.backToSettings":"Volver a Configuración","settings.view.actions.closeSettings":"Cerrar configuración","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.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.view.nav.group.general":"OpenChamber","settings.view.nav.group.projects":"Espacio de trabajo","settings.view.nav.group.opencode":"OpenCode","settings.view.nav.group.content":"Biblioteca","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.appearance.description":"Personaliza el aspecto y la sensación de OpenChamber.","settings.page.chat.title":"Chat","settings.page.chat.description":"Configura cómo se muestran los mensajes y las herramientas.","settings.page.shortcuts.title":"Atajos","settings.page.shortcuts.description":"Personaliza los atajos de teclado.","settings.page.general.title":"General","settings.page.general.description":"Inicio de la aplicación, seguridad, conexión y privacidad.","settings.page.sessions.title":"Sesiones","settings.page.sessions.description":"Define valores predeterminados y retención de sesiones.","settings.page.magicPrompts.title":"Prompts mágicos","settings.page.notifications.title":"Notificaciones","settings.page.notifications.description":"Elige cuándo y cómo recibir notificaciones.","settings.page.voice.title":"Voz","settings.page.voice.description":"Configura la voz y el dictado.","settings.page.tunnel.title":"Túnel externo","settings.page.tunnel.description":"Expón esta instancia a través de un túnel remoto.","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.openchamber.tunnel.title":"Túnel externo","settings.openchamber.tunnel.enterpriseMode":"Los túneles externos no están disponibles en modo empresa, ya que el servicio de túnel vería el tráfico. Para acceder a este servidor desde otros dispositivos, emparéjalos en tu red o a través del relay de tu organización.","settings.openchamber.tunnel.description":"Configura el acceso remoto seguro con enlaces rápidos o tu propio túnel gestionado de Cloudflare.","settings.openchamber.tunnel.note.serverSideEnforced":"El acceso seguro al túnel se aplica en el servidor.","settings.openchamber.tunnel.note.connectLinksOneTime":"Los enlaces de conexión son de un solo uso: se revocan cuando el túnel se detiene o vence el TTL del enlace.","settings.openchamber.tunnel.note.cloudflareConnectorTarget":"Destino del conector de Cloudflare:","settings.openchamber.tunnel.note.cloudflareConnectorTargetUse":"Para el destino del conector de Cloudflare, usa","settings.openchamber.tunnel.note.tokensSavedPerTunnel":"Los tokens se almacenan por túnel y se reutilizan desde el disco.","settings.openchamber.tunnel.note.customConfigUsed":"Se usará un archivo de configuración personalizado al iniciar el túnel.","settings.openchamber.tunnel.note.defaultConfigUsed":"Cuando esté vacío, cloudflared usa su configuración predeterminada (~/.cloudflared/config.yml).","settings.openchamber.tunnel.note.managedRemoteRequiresDomain":"Los túneles remotos gestionados requieren un dominio comprado en tu cuenta de Cloudflare.","settings.openchamber.tunnel.note.managedLocalUsesConfig":"Los túneles locales gestionados usan tu archivo de configuración local de cloudflared.","settings.openchamber.tunnel.note.startModeAndGenerateLink":"Inicia un túnel {mode} y genera un enlace de conexión de un solo uso. No cierres la aplicación mientras este túnel esté en uso.","settings.openchamber.tunnel.note.scanQrToConnect":"Escanea con tu teléfono para conectar.","settings.openchamber.tunnel.section.redeemedAccessLinks":"Enlaces de acceso canjeados","settings.openchamber.tunnel.section.savedManagedRemoteTunnels":"Túneles remotos gestionados guardados","settings.openchamber.tunnel.notAvailable.cloudflaredNotFound":"cloudflared no encontrado","settings.openchamber.tunnel.notAvailable.dependencyNotFound":"No se encontró {dependency}.","settings.openchamber.tunnel.notAvailable.installHint":"Instálalo para habilitar el acceso al túnel remoto:","settings.openchamber.tunnel.field.provider":"Proveedor","settings.openchamber.tunnel.field.providerPlaceholder":"Seleccionar proveedor","settings.openchamber.tunnel.field.tunnelType":"Tipo de túnel","settings.openchamber.tunnel.field.connectLinkTtl":"TTL del enlace de conexión","settings.openchamber.tunnel.field.tunnelSessionTtl":"TTL de la sesión del túnel","settings.openchamber.tunnel.field.hostnameLabel":"Nombre de host:","settings.openchamber.tunnel.field.savedTokenAvailablePlaceholder":"Token guardado disponible (opcional para reemplazar)","settings.openchamber.tunnel.field.pasteTokenPlaceholder":"Pegar token para este túnel","settings.openchamber.tunnel.field.newPresetNamePlaceholder":"Nombre del túnel (ej. Producción)","settings.openchamber.tunnel.field.newPresetHostnamePlaceholder":"Nombre de host (p. ej. oc.example.com)","settings.openchamber.tunnel.field.newPresetTokenPlaceholder":"Token","settings.openchamber.tunnel.field.managedRemoteTokenInfoAria":"Información del token del túnel remoto gestionado","settings.openchamber.tunnel.field.configurationFile":"Archivo de configuración","settings.openchamber.tunnel.field.configurationFilePlaceholder":"Se usa la configuración predeterminada de cloudflared","settings.openchamber.tunnel.field.managedRemoteTunnelToConnect":"Túnel remoto gestionado para conectar","settings.openchamber.tunnel.field.selectSavedTunnelPlaceholder":"Seleccionar túnel guardado","settings.openchamber.tunnel.field.publicUrlHint":"URL pública (no accesible sin un token)","settings.openchamber.tunnel.field.connectLink":"Enlace de conexión","settings.openchamber.tunnel.field.expires":"Expira","settings.openchamber.tunnel.field.connectQrAlt":"Código QR de conexión del túnel","settings.openchamber.tunnel.actions.removePresetAria":"Eliminar {name}","settings.openchamber.tunnel.actions.saveToken":"Guardar token","settings.openchamber.tunnel.actions.browseConfigFileAria":"Explorar archivo de configuración","settings.openchamber.tunnel.actions.clearConfigFileAria":"Limpiar archivo de configuración","settings.openchamber.tunnel.actions.openManagedRemoteDocs":"Ver documentación sobre cómo configurar un túnel remoto gestionado","settings.openchamber.tunnel.actions.openManagedLocalDocs":"Ver documentación sobre la configuración de un túnel local gestionado","settings.openchamber.tunnel.actions.startTunnel":"Iniciar túnel","settings.openchamber.tunnel.actions.startingTunnel":"Iniciando túnel...","settings.openchamber.tunnel.actions.stopTunnel":"Detener túnel","settings.openchamber.tunnel.actions.stopping":"Deteniendo...","settings.openchamber.tunnel.actions.newConnectLink":"Nuevo enlace de conexión","settings.openchamber.tunnel.actions.copied":"Copiado","settings.openchamber.tunnel.actions.retry":"Reintentar","settings.openchamber.tunnel.option.moreProvidersSoon":"Más proveedores llegarán pronto","settings.openchamber.tunnel.option.mode.quick.label":"Rápido","settings.openchamber.tunnel.option.mode.quick.tooltip":"El túnel rápido funciona en modo best effort y su disponibilidad no está garantizada.","settings.openchamber.tunnel.option.mode.managedRemote.label":"Remoto gestionado","settings.openchamber.tunnel.option.mode.managedRemote.tooltip":"El modo remoto gestionado usa tu cuenta de Cloudflare y un nombre de host para acceso de larga duración.","settings.openchamber.tunnel.option.mode.managedLocal.label":"Local gestionado","settings.openchamber.tunnel.option.mode.managedLocal.tooltip":"El modo local gestionado usa tu configuración local de cloudflared.","settings.openchamber.tunnel.warning.quickModeReliability":"Para un acceso de larga duración más confiable, cambie a modo de túnel remoto o local gestionado.","settings.openchamber.tunnel.warning.replacesActiveTunnel":"Iniciar este túnel reemplazará el túnel activo y revocará los enlaces de conexión y sesiones remotas existentes.","settings.openchamber.tunnel.badge.quick":"RÁPIDO","settings.openchamber.tunnel.badge.remote":"REMOTO","settings.openchamber.tunnel.badge.local":"LOCAL","settings.openchamber.tunnel.state.loading":"Cargando","settings.openchamber.tunnel.state.expired":"Expirado","settings.openchamber.tunnel.state.revoked":"Revocado","settings.openchamber.tunnel.state.inactive":"Inactivo","settings.openchamber.tunnel.state.never":"Nunca","settings.openchamber.tunnel.state.tunnelReady":"Túnel listo","settings.openchamber.tunnel.session.redeemedAt":"Canjeado {time}","settings.openchamber.tunnel.session.expiresIn":"Expira en {remaining}","settings.openchamber.tunnel.session.inactiveWithReason":"Inactivo ({reason})","settings.openchamber.tunnel.error.invalidConfigExtension":"El archivo de configuración debe usar la extensión .yml, .yaml o .json.","settings.openchamber.tunnel.tooltip.tokensSavedPath":"Los tokens se almacenan en ~/.config/openchamber/cloudflare-managed-remote-tunnels.json.","settings.openchamber.tunnel.empty.noManagedRemoteTunnels":"Aún no se han guardado túneles remotos gestionados.","settings.openchamber.tunnel.toast.checkAvailabilityFailed":"No se pudo verificar la disponibilidad del túnel","settings.openchamber.tunnel.toast.saveSettingsFailed":"No se pudo guardar la configuración del túnel","settings.openchamber.tunnel.toast.saveTtlFailed":"No se pudo guardar la configuración del TTL del túnel","settings.openchamber.tunnel.toast.saveTokenFailed":"No se pudo guardar el token del túnel remoto gestionado","settings.openchamber.tunnel.toast.selectOrAddManagedRemoteFirst":"Selecciona o agrega un túnel remoto gestionado primero","settings.openchamber.tunnel.toast.managedRemoteTokenRequiredBeforeStarting":"Se requiere un token del túnel remoto gestionado antes de iniciar","settings.openchamber.tunnel.toast.addManagedRemoteTokenBeforeStarting":"Agrega un token del túnel remoto gestionado antes de iniciar","settings.openchamber.tunnel.toast.startFailed":"No se pudo iniciar el túnel","settings.openchamber.tunnel.toast.startedButNoPublicUrl":"El túnel se inició pero no se devolvió una URL pública","settings.openchamber.tunnel.toast.replacedTunnelSingleSingle":"Reemplazó el túnel anterior: revocó 1 enlace, invalidó 1 sesión.","settings.openchamber.tunnel.toast.replacedTunnelSingleManySessions":"Reemplazó el túnel anterior: revocó 1 enlace, invalidó {invalidatedSessionCount} sesiones.","settings.openchamber.tunnel.toast.replacedTunnelManyLinksSingleSession":"Reemplazó el túnel anterior: revocó {revokedBootstrapCount} enlaces, invalidó 1 sesión.","settings.openchamber.tunnel.toast.replacedTunnelManyMany":"Reemplazó el túnel anterior: revocó {revokedBootstrapCount} enlaces, invalidó {invalidatedSessionCount} sesiones.","settings.openchamber.tunnel.toast.linkReady":"Enlace del túnel listo","settings.openchamber.tunnel.toast.stopped":"Túnel detenido","settings.openchamber.tunnel.toast.stopFailed":"No se pudo detener el túnel","settings.openchamber.tunnel.toast.connectLinkCopied":"Enlace de conexión copiado","settings.openchamber.tunnel.toast.copyUrlFailed":"No se pudo copiar la URL","settings.openchamber.tunnel.toast.saveSelectedManagedRemoteFailed":"No se pudo guardar el túnel remoto gestionado seleccionado","settings.openchamber.tunnel.toast.tunnelNameRequired":"Se requiere el nombre del túnel","settings.openchamber.tunnel.toast.managedRemoteHostnameRequired":"Se requiere el nombre de host del túnel remoto gestionado","settings.openchamber.tunnel.toast.managedRemoteTokenRequired":"Se requiere el token del túnel remoto gestionado","settings.openchamber.tunnel.toast.hostnameAlreadyExists":"Este nombre de host ya existe","settings.openchamber.tunnel.toast.managedRemoteSaved":"Túnel remoto gestionado guardado","settings.openchamber.tunnel.toast.managedRemoteRemoved":"Túnel remoto gestionado eliminado","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.planning":"Planificación","settings.magicPrompts.sidebar.group.session":"Sesión","settings.magicPrompts.sidebar.group.memory":"Memoria","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.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.magicPrompts.sidebar.item.memoryTidy":"Ordenar","settings.remoteInstances.sidebar.title":"Instancias remotas","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 o token","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 del otro servidor o añádelo por dirección.","settings.remoteInstances.direct.addDialog.description":"Añade otro servidor de OpenChamber por URL. Úsalo cuando el servidor ya esté en marcha y tengas un token de conexión.","settings.remoteInstances.direct.field.labelPlaceholder":"Etiqueta (opcional)","settings.remoteInstances.direct.field.urlPlaceholder":"https://host:port","settings.remoteInstances.direct.field.tokenPlaceholder":"Token de conexión (opcional para servidores locales de confianza)","settings.remoteInstances.direct.note":"Los tokens de conexión se guardan en este dispositivo y solo se usan cuando esta app se conecta a ese servidor.","settings.remoteInstances.direct.headers.title":"Additional headers","settings.remoteInstances.direct.headers.description":"Optional HTTP headers for desktop API requests. Authorization is reserved for the connection token.","settings.remoteInstances.direct.headers.field.namePlaceholder":"Header name","settings.remoteInstances.direct.headers.field.valuePlaceholder":"Header value","settings.remoteInstances.direct.headers.actions.add":"Add header","settings.remoteInstances.direct.headers.removeAria":"Remove header","settings.remoteInstances.direct.actions.add":"Añadir 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 añadido 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 del dispositivo — p. ej. Mi iPhone","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.lanUnavailableDesktopHint":"Para usar esta opción, ve a Ajustes > Acceso de red de escritorio, establece una contraseña para la interfaz de escritorio y permite que otros dispositivos de tu red local abran esta aplicación.","settings.remoteInstances.clientAuth.addDevice.transport.lanUnavailableServerHint":"Este servidor solo escucha en este equipo. Reinícialo con `--host 0.0.0.0` para que los dispositivos de tu red puedan conectarse.","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.create":"Crear código QR","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.clientAuth.relayConflict.title":"Otro ordenador está respondiendo por este","settings.remoteInstances.clientAuth.relayConflict.description":"Los dispositivos que añadiste para «En cualquier lugar» cambian entre este ordenador y otro. Pasa cuando los datos de OpenChamber se copiaron a un segundo ordenador y ambos están en marcha.","settings.remoteInstances.clientAuth.relayConflict.action":"Separar este ordenador","settings.remoteInstances.clientAuth.relayConflict.confirmTitle":"¿Separar este ordenador?","settings.remoteInstances.clientAuth.relayConflict.confirmMessage":`Los dispositivos añadidos para «En cualquier lugar» seguirán conectándose al otro ordenador. Para usar uno con este ordenador, añádelo aquí de nuevo con «Añadir un dispositivo».
2
2
 
3
3
  Los dispositivos añadidos para «Solo red doméstica» siguen funcionando.`,"settings.remoteInstances.clientAuth.relayConflict.confirmAction":"Separar","settings.remoteInstances.clientAuth.relayConflict.toast.success":"Este ordenador ya es independiente. Vuelve a añadir tus dispositivos aquí para conectarte desde cualquier lugar.","settings.remoteInstances.clientAuth.relayConflict.toast.failed":"No se pudo separar este ordenador","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 en la máquina remota","settings.remoteInstances.page.field.preferredRemotePortHint":"Puerto que OpenChamber usa en la máquina remota. Déjalo vacío para elegir uno automáticamente.","settings.remoteInstances.page.field.keepServerRunning":"Mantener servidor en ejecución","settings.remoteInstances.page.field.keepServerRunningHint":"Dejar el servidor remoto en marcha tras desconectar. Si está desactivado, se detiene al desconectar y se inicia de nuevo la próxima vez que conectes.","settings.remoteInstances.page.field.bindHost":"Quién puede acceder","settings.remoteInstances.page.field.bindHostHint":"Quién puede abrir la dirección reenviada en este equipo. La máquina remota sigue siendo accesible únicamente por el túnel SSH en cualquier caso.","settings.remoteInstances.page.field.preferredLocalPort":"Puerto en este equipo","settings.remoteInstances.page.field.preferredLocalPortHint":"Puerto que se abre en este equipo para el túnel. Déjalo vacío para elegir uno automáticamente.","settings.remoteInstances.page.field.forwardType":"Tipo de redirección","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.infoAria":"Más información","settings.common.actions.cancel":"Cancelar","settings.common.actions.close":"Cerrar","settings.common.actions.create":"Crear","settings.common.actions.delete":"Eliminar","settings.openchamber.appLinks.title":"Enlaces de aplicaciones de confianza","settings.openchamber.appLinks.info":"Los enlaces de esta lista se abren sin volver a preguntar en este dispositivo. Los demás enlaces de aplicaciones siempre piden confirmación.","settings.openchamber.appLinks.empty":'No hay enlaces de aplicaciones de confianza en este dispositivo. Elige "Confiar y abrir" al abrir un enlace para añadirlo aquí.',"settings.openchamber.appLinks.removeAria":"Quitar los enlaces {scheme} de confianza","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.status.saved":"Guardado","settings.common.status.saveFailed":"Error al guardar","settings.common.status.saveFailedReason":"No se pudo guardar: {reason}","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.actionEditor.openUrl":"Abrir la URL que imprime","settings.projects.actionEditor.platforms":"Plataformas","settings.projects.actionEditor.platformsAll":"Todas","settings.projects.actionEditor.save":"Guardar","settings.projects.actionEditor.savedIn":"Guardado en","settings.projects.actionEditor.savedIn.personalHint":"Se queda en tu propia configuración en esta máquina.","settings.projects.actionEditor.savedIn.teamHint":"Va a .openchamber/project.json en el repositorio. Haz commit y todo el que haga pull tendrá esta acción.","settings.projects.actionEditor.savedIn.teamUnavailable":"No se puede leer el archivo del repositorio, así que no se puede guardar nada en él hasta que se corrija.","settings.projects.actionEditor.titleEdit":"Editar acción","settings.projects.actionEditor.titleNew":"Nueva acción","settings.projects.actions.confirmDelete.message":"Se elimina de .openchamber/project.json. Tus compañeros la perderán en cuanto hagan pull de tu commit.","settings.projects.actions.confirmDelete.title":"¿Eliminar «{name}» para todos?","settings.projects.actions.hiddenBadge":"Oculta para ti","settings.projects.actions.info":"Comandos que inicia el botón de ejecución. Las acciones del equipo viven en el repositorio, así que las recibe todo el que hace pull.","settings.projects.actions.menu.delete":"Eliminar","settings.projects.actions.menu.deleteForEveryone":"Eliminar para todos","settings.projects.actions.menu.show":"Mostrar para mí","settings.projects.actions.menuAria":"Opciones de la acción","settings.projects.actions.new":"Nueva acción","settings.projects.appearance.color":"Color","settings.projects.appearance.colorCustomAria":"Color personalizado","settings.projects.appearance.colorHexAria":"Código hex del color","settings.projects.appearance.colorNone":"Sin color","settings.projects.appearance.colorSwatchAria":"Color {color}","settings.projects.appearance.icon":"Icono","settings.projects.appearance.imageColorHint":"El color rellena el fondo detrás de la imagen.","settings.projects.appearance.imageEmpty":"Aún no hay imagen. Sube un PNG, JPG o SVG, o busca un favicon en el proyecto.","settings.projects.appearance.mode.image":"Imagen","settings.projects.appearance.mode.symbol":"Símbolo","settings.projects.appearance.symbolNone":"Carpeta","settings.projects.header.appearanceAria":"Cambiar icono y color","settings.projects.scope.personal":"Solo yo","settings.projects.scope.team":"Equipo","settings.projects.setup.loadFailed":"No se pudo leer la configuración del proyecto, así que ahora no se puede editar.","settings.projects.setup.retry":"Reintentar","settings.projects.tab.actions":"Acciones","settings.projects.tab.environment":"Entorno","settings.projects.tab.general":"General","settings.projects.tab.worktrees":"Worktrees","settings.projects.team.info":"El archivo de configuración del propio repositorio. Todo el que haga pull recibe las acciones del equipo, los comandos de preparación y la carpeta de planes guardados ahí. No se escribe nada en él hasta que guardes algo para el equipo.","settings.projects.team.title":"Compartido con el equipo","settings.projects.team.description.ok":"Las acciones del equipo, los comandos de preparación y la carpeta de planes viven en {path} en el repositorio. Todo el que haga pull los recibe.","settings.projects.team.description.missing":"Aún no se comparte nada. Al guardar una acción o un comando de preparación para el equipo se crea {path} en el repositorio.","settings.projects.team.trust.allowed":"Los comandos del equipo pueden ejecutarse en esta máquina.","settings.projects.team.trust.waiting":"Los comandos del equipo son nuevos o cambiaron en el repositorio. No se ejecutarán aquí hasta que los revises.","settings.projects.team.trust.revoke":"Revocar","settings.projects.team.trust.review":"Revisar","settings.projects.worktrees.commandAria":"Comando de preparación {position}","settings.projects.worktrees.commandMenuAria":"Opciones del comando","settings.projects.worktrees.manageDescription":"Abre, crea y elimina los worktrees de este proyecto.","settings.projects.worktrees.manageTitle":"Worktrees","settings.projects.worktrees.removeForEveryone":"Quitar para todos","settings.projects.worktrees.skipped":"Omitido para ti","settings.projects.shared.invalid":"No se pudo leer la configuración del proyecto en {path}: {reason}","settings.projects.shared.plansDir":"Carpeta de planes","settings.projects.shared.plansDirPlaceholder":".openchamber/plans","settings.projects.shared.plansDirInfo":"Dónde viven los planes del repositorio, relativo al repositorio. Vacío significa .openchamber/plans. Una carpeta propia como docs/plans reemplaza por completo la predeterminada: solo se lee y escribe esa carpeta. Mueve tú mismo los archivos existentes al cambiarla.","settings.projects.shared.plansDirAria":"Carpeta de planes en el repositorio","settings.projects.shared.actions.share":"Mover al repositorio","settings.projects.shared.actions.makePersonal":"Mover a mis ajustes","settings.projects.shared.actions.hide":"Ocultar para mí","settings.projects.shared.replaceMode":"Usar solo mis comandos de configuración y omitir los del repositorio","settings.projects.shared.toast.shareFailed":"No se pudo actualizar la configuración del repositorio","settings.projects.actions.state.loading":"Cargando...","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.runIn.label":"Ejecutar en","settings.projects.actions.runIn.info":"Elige dónde se ejecuta esta acción cuando se inicia desde un worktree vinculado.","settings.projects.actions.runIn.project":"Checkout principal","settings.projects.actions.runIn.worktree":"Worktree actual","settings.projects.actions.runIn.aria":"Directorio de trabajo de esta acción","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.overrideUrlVariables":"Usa {worktree} o {branch} para la copia de trabajo donde se ejecuta la acción, p. ej. https://{worktree}.myapp.localhost","settings.projects.actions.field.desktopSshForward":"Forward SSH de escritorio","settings.projects.actions.field.useOutputManualUrl":"Usar URL de salida/manual","settings.projects.actions.toast.saveFailed":"No se pudieron guardar las acciones","settings.openchamber.about.title":"Acerca de OpenChamber","settings.openchamber.about.field.version":"Versión","settings.openchamber.about.field.openCodeVersion":"Versión de OpenCode","settings.openchamber.about.field.appVersion":"Versión de la app","settings.openchamber.about.field.serverVersion":"Versión del servidor","settings.openchamber.about.field.instanceUrls":"URLs de la instancia","settings.openchamber.about.field.applicationUrl":"Aplicación","settings.openchamber.about.field.tunnelUrl":"Túnel","settings.openchamber.about.state.checking":"Comprobando...","settings.openchamber.about.state.upToDate":"Actualizado","settings.openchamber.about.state.unknown":"desconocido","settings.openchamber.about.actions.checkUpdates":"Comprobar actualizaciones","settings.openchamber.about.actions.update":"Actualizar","settings.openchamber.about.actions.updateOpenChamberToVersion":"Actualizar OpenChamber a {version}","settings.openchamber.about.actions.updateServerToVersion":"Actualizar el servidor de OpenChamber a {version}","settings.openchamber.about.actions.updateDesktopToVersion":"Actualizar OpenChamber de escritorio a {version}","settings.openchamber.about.actions.updateAppToVersion":"Actualizar esta app a {version}","settings.openchamber.about.actions.updateOpenCodeToVersion":"Actualizar OpenCode a {version}","settings.openchamber.about.actions.checkServerForUpdates":"Buscar actualizaciones del servidor","settings.openchamber.about.serviceManagerUpdate":"OpenChamber {version} está disponible. Este servidor se ejecuta bajo un gestor de servicios y no puede actualizarse solo. Ejecuta esto en el servidor y luego reinicia el servicio:","settings.openchamber.about.manualInstallUpdate":"OpenChamber {version} está disponible. Esta copia no se instaló con un gestor de paquetes y no puede actualizarse sola. Instala la nueva versión de la misma forma que instalaste esta.","settings.openchamber.about.openCode.installedVersion":"OpenCode {version} instalado. Recarga OpenCode para empezar a usarlo.","settings.openchamber.about.openCode.installed":"Actualización de OpenCode instalada. Recarga OpenCode para empezar a usarla.","settings.openchamber.about.openCode.manualUpdate":"OpenCode {version} está disponible. Actualiza OpenCode de la misma forma en que lo instalaste y luego reinicia OpenChamber.","settings.openchamber.about.native.serverOpenChamberVersion":"Servidor: OpenChamber {version}","settings.openchamber.about.native.serverOpenCodeVersion":"Servidor: OpenCode {version}","settings.openchamber.about.native.appVersion":"Esta app: {version}","settings.openchamber.about.toast.serverLatestVersion":"El servidor usa la última versión de OpenChamber","settings.openchamber.about.actions.checkForUpdates":"Comprobar actualizaciones","settings.openchamber.about.toast.latestVersion":"Ya estás en la última versión","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.deleteDescription":'¿Seguro que quieres eliminar el agente "{name}"?',"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.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.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.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.permissionsEditor.sectionInfo":"Edita las reglas de permisos propias de este agente tal como están guardadas en su config. «Heredar» deja la clave sin definir y aplican la config global y los valores por defecto.","settings.agents.page.permissionsEditor.ruleCount":"{count} reglas","settings.agents.page.permissionsEditor.action.allow":"Permitir","settings.agents.page.permissionsEditor.action.ask":"Preguntar","settings.agents.page.permissionsEditor.action.deny":"Denegar","settings.agents.page.permissionsEditor.action.default":"Predeterminado","settings.agents.page.permissionsEditor.action.inherit":"Heredar","settings.agents.page.permissionsEditor.actions.addKey":"Añadir clave","settings.agents.page.permissionsEditor.customKeyPlaceholder":"Clave de permiso personalizada…","settings.agents.page.permissionsEditor.defaultAria":"Permiso predeterminado para todas las herramientas","settings.agents.page.permissionsEditor.defaultInfo":"El valor de reserva del agente (la clave *). Aplica a cualquier herramienta sin regla propia.","settings.agents.page.permissionsEditor.defaultLabel":"Predeterminado para todas las herramientas","settings.agents.page.permissionsEditor.effectiveHint":"→ {action}","settings.agents.page.permissionsEditor.mcpTitle":"Servidores MCP","settings.agents.page.permissionsEditor.mcpInfo":"Una fila por cada servidor MCP de tu configuración. La regla cubre todas las herramientas del servidor. Los servidores desactivados o con fallos también aparecen, así puedes fijar una regla de antemano.","settings.agents.page.permissionsEditor.mcpStatus.disabled":"Desactivado","settings.agents.page.permissionsEditor.mcpStatus.pending":"Iniciando","settings.agents.page.permissionsEditor.keyAria":"Permiso para {key}","settings.agents.page.permissionsEditor.patternActionAria":"Acción para el patrón de {key}","settings.agents.page.permissionsEditor.patternPlaceholder":"Patrón, p. ej. rm -rf * o /path/**","settings.agents.page.permissionsEditor.actions.addRule":"Añadir regla","settings.agents.page.permissionsEditor.actions.removeRuleAria":"Eliminar regla","settings.agents.page.permissionsEditor.actions.retry":"Reintentar","settings.agents.page.permissionsEditor.state.loadFailed":"No se pudo cargar la config de permisos del agente.","settings.agents.page.permissionsEditor.toast.saveFailed":"No se pudieron guardar los permisos","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.runtimeProvided.note":"Proporcionado por OpenCode o un plugin, sin archivo de configuración propio. Las pistas en gris muestran sus valores actuales; lo que escribas se guarda como una anulación.","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.page.behavior.description":"Guía cómo responde el agente.","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...
4
4
 
@@ -6,7 +6,7 @@ Usa este espacio para definir reglas absolutas sobre cómo la IA debe comportars
6
6
 
7
7
  Usa $ARGUMENTS para la entrada del usuario.
8
8
  Usa !\`shell command\` para insertar la salida del shell.
9
- Usa @filename para añadir el contenido del archivo.`,"settings.commands.page.templateHint.userInput":"entrada del usuario","settings.commands.page.templateHint.shellOutput":"salida del shell","settings.commands.page.templateHint.fileContents":"contenido del archivo","settings.commands.agentSelector.title":"Seleccionar agente","settings.commands.agentSelector.notSelected":"No seleccionado","settings.commands.agentSelector.selectAgentPlaceholder":"Seleccionar agente...","settings.gitIdentities.page.section.title":"Identidades","settings.gitIdentities.page.empty.title":"No hay identidades configuradas","settings.gitIdentities.page.empty.description":"Crea una para gestionar la configuración del autor de Git por proyecto","settings.gitIdentities.page.badge.default":"predeterminado","settings.gitIdentities.page.actions.setAsDefault":"Establecer como predeterminado","settings.gitIdentities.page.actions.unsetDefault":"Quitar predeterminado","settings.gitIdentities.page.toast.updateDefaultFailed":"No se pudo actualizar la identidad predeterminada","settings.gitIdentities.page.toast.defaultUpdated":"Identidad predeterminada actualizada","settings.gitIdentities.page.toast.defaultUnset":"Identidad predeterminada quitada","settings.gitIdentities.page.toast.profileDeleted":'Perfil "{name}" eliminado',"settings.gitIdentities.page.toast.deleteProfileFailed":"No se pudo eliminar el perfil","settings.gitIdentities.page.deleteDialog.title":"Eliminar perfil","settings.gitIdentities.page.deleteDialog.description":'¿Estás seguro de que quieres eliminar "{name}"?',"settings.gitIdentities.editor.title.newIdentity":"Nueva identidad","settings.gitIdentities.editor.title.globalIdentity":"Identidad global","settings.gitIdentities.editor.title.editIdentity":"Editar identidad","settings.gitIdentities.editor.description.globalReadOnly":"Identidad Git global (solo lectura)","settings.gitIdentities.editor.section.commitSigning":"Firma de commits","settings.gitIdentities.editor.field.profileName":"Nombre de la identidad","settings.gitIdentities.editor.field.profileNamePlaceholder":"Identidad de trabajo, personal, etc.","settings.gitIdentities.editor.field.color":"Color","settings.gitIdentities.editor.field.icon":"Icono","settings.gitIdentities.editor.field.userName":"Nombre de usuario","settings.gitIdentities.editor.field.userNameTooltip":"El nombre que aparecerá en los mensajes de commit de Git.","settings.gitIdentities.editor.field.userNamePlaceholder":"John Doe","settings.gitIdentities.editor.field.emailAddress":"Dirección de correo electrónico","settings.gitIdentities.editor.field.emailAddressTooltip":"Debe coincidir con tu correo en GitHub/GitLab para atribuir correctamente.","settings.gitIdentities.editor.field.emailAddressPlaceholder":"john@example.com","settings.gitIdentities.editor.field.signCommits":"Firmar commits con esta identidad","settings.gitIdentities.editor.field.signingKey":"Clave de firma","settings.gitIdentities.editor.field.signingKeyPlaceholder":"~/.ssh/id_ed25519.pub","settings.gitIdentities.editor.field.account":"Cuenta de control de código","settings.gitIdentities.editor.field.accountNone":"Sin cuenta","settings.gitIdentities.editor.auth.label":"Autenticación","settings.gitIdentities.editor.auth.systemHint":"Push y pull con lo que Git tenga configurado en este equipo: claves SSH, un gestor de credenciales, la CLI gh.","settings.gitIdentities.editor.auth.system":"Este equipo","settings.gitIdentities.editor.auth.accountHint":"Push y pull con el inicio de sesión o el token de la cuenta conectada.","settings.gitIdentities.editor.auth.account":"Cuenta","settings.gitIdentities.editor.auth.anonymous":"Anónimo","settings.gitIdentities.editor.auth.ssh":"SSH","settings.gitIdentities.editor.auth.anonymousHint":"Lee repositorios públicos por HTTPS sin iniciar sesión y no puede hacer push. Las issues y pull requests siguen usando la cuenta.","settings.gitIdentities.page.incomplete":"Necesita una cuenta o una clave antes de que un repositorio pueda usarla","settings.gitIdentities.page.accountGone":"La cuenta que usa esta identidad ya no está conectada","settings.gitIdentities.page.cliAccountInactive":"Cambia a la cuenta de GitHub CLI en Integraciones","settings.gitIdentities.editor.toast.accountRequired":"Elige la cuenta con la que actúa esta identidad.","settings.gitIdentities.editor.toast.sshKeyRequired":"Elige la clave SSH gestionada que usa esta identidad.","settings.gitIdentities.editor.actions.close":"Cerrar","settings.gitIdentities.editor.actions.create":"Crear","settings.gitIdentities.editor.actions.save":"Guardar","settings.gitIdentities.editor.toast.userNameEmailRequired":"Se requieren nombre de usuario y dirección de correo electrónico","settings.gitIdentities.editor.toast.signingKeyRequired":"Se requiere una clave de firma cuando la firma de commits está activada","settings.gitIdentities.editor.toast.profileCreated":"Identidad creada","settings.gitIdentities.editor.toast.profileUpdated":"Identidad actualizada","settings.gitIdentities.editor.toast.createProfileFailed":"No se pudo crear la identidad","settings.gitIdentities.editor.toast.updateProfileFailed":"No se pudo actualizar la identidad","settings.gitIdentities.editor.toast.saveUnexpectedError":"Ocurrió un error al guardar","settings.gitIdentities.editor.toast.profileDeleted":"Identidad eliminada","settings.gitIdentities.editor.toast.deleteProfileFailed":"No se pudo eliminar la identidad","settings.gitIdentities.editor.toast.deleteUnexpectedError":"Ocurrió un error al eliminar","settings.skills.sidebar.title":"Habilidades","settings.skills.sidebar.total":"Total {count}","settings.skills.sidebar.blockedByPolicy":"Bloqueado","settings.skills.sidebar.blockedByPolicyHint":"Una política de tu configuración de OpenCode bloquea este skill, así que los agentes no pueden usarlo.","settings.skills.sidebar.section.project":"Habilidades del proyecto","settings.skills.sidebar.section.user":"Habilidades del usuario","settings.skills.sidebar.empty.title":"No hay habilidades configuradas","settings.skills.sidebar.empty.description":"Usa el botón + arriba para crear una","settings.skills.sidebar.badge.claude":"claude","settings.skills.sidebar.badge.agents":"agentes","settings.skills.sidebar.badge.opencode":"opencode","settings.skills.sidebar.toast.skillDeleted":'Habilidad "{name}" eliminada con éxito',"settings.skills.sidebar.toast.deleteSkillFailed":"No se pudo eliminar la habilidad","settings.skills.sidebar.toast.duplicateLoadFailed":"No se pudo cargar la información de la habilidad para duplicarla","settings.skills.sidebar.toast.renameFailed":"No se pudo cambiar el nombre de la habilidad","settings.skills.sidebar.toast.skillRenamed":'Habilidad renombrada a "{name}"',"settings.skills.sidebar.deleteDialog.title":"Eliminar habilidad","settings.skills.sidebar.deleteDialog.description":'¿Estás seguro de que quieres eliminar la habilidad "{name}"?',"settings.skills.sidebar.renameDialog.title":"Cambiar nombre habilidad","settings.skills.sidebar.renameDialog.description":'Introduce un nuevo nombre para la habilidad "{name}"',"settings.skills.sidebar.renameDialog.placeholder":"Nuevo nombre de habilidad...","settings.skills.page.title.newSkill":"Nueva habilidad","settings.skills.page.subtitle.newSkill":"Configurar una nueva habilidad","settings.skills.page.subtitle.skillLocation":"{location} habilidad","settings.skills.page.section.basicInformation":"Información básica","settings.skills.page.section.instructions":"Instrucciones","settings.skills.page.section.supportingFiles":"Archivos de apoyo","settings.skills.page.field.skillNameLocation":"Nombre de la habilidad y ubicación","settings.skills.page.field.skillNameHint":"Minúsculas, números y guiones","settings.skills.page.field.skillNamePlaceholder":"nombre-de-habilidad","settings.skills.page.field.descriptionHint":"El agente usa esta descripción para decidir cuándo cargar la habilidad","settings.skills.page.field.disableModelInvocation":"Ejecutar solo al invocarla manualmente","settings.skills.page.field.disableModelInvocationHint":"El agente no elegirá esta habilidad por su cuenta. Solo se carga cuando la llamas por su nombre.","settings.skills.page.field.descriptionPlaceholder":"Breve descripción de lo que hace esta habilidad...","settings.skills.page.field.instructionsPlaceholder":"Instrucciones paso a paso, guías o contenido de referencia...","settings.skills.page.badge.claudeCompatible":"Compatible con Claude","settings.skills.page.badge.pending":"pendiente","settings.skills.page.actions.addFile":"Añadir archivo","settings.skills.page.actions.createSkill":"Crear habilidad","settings.skills.page.actions.createFile":"Crear archivo","settings.skills.page.supportingFiles.empty":'No hay archivos de apoyo. Usa "Añadir archivo" para incluir materiales de referencia.',"settings.skills.page.loading.details":"Cargando detalles de la habilidad...","settings.skills.page.loading.fileContent":"Cargando contenido del archivo...","settings.skills.page.empty.title":"Selecciona una habilidad del panel lateral","settings.skills.page.empty.description":"o crea una nueva","settings.skills.page.deleteFileDialog.title":"Eliminar archivo de apoyo","settings.skills.page.deleteFileDialog.description":'¿Estás seguro de que quieres eliminar "{path}"?',"settings.skills.page.fileDialog.titleEdit":"Editar archivo de apoyo","settings.skills.page.fileDialog.titleAdd":"Añadir archivo de apoyo","settings.skills.page.fileDialog.descriptionEdit":"Modificar el contenido del archivo","settings.skills.page.fileDialog.descriptionAdd":"Crea un archivo nuevo en el directorio de la habilidad","settings.skills.page.fileDialog.field.filePath":"Ruta del archivo","settings.skills.page.fileDialog.field.filePathPlaceholder":"example.md o docs/reference.txt","settings.skills.page.fileDialog.field.filePathHint":"Ruta relativa dentro del directorio de la habilidad. Se crearán automáticamente las subcarpetas.","settings.skills.page.fileDialog.field.content":"Contenido","settings.skills.page.fileDialog.field.contentPlaceholder":"Contenido del archivo...","settings.skills.page.toast.skillNameRequired":"Se requiere el nombre de la habilidad","settings.skills.page.toast.invalidSkillName":"El nombre de la habilidad debe ser 1-64 caracteres alfanuméricos en minúscula con guiones, no puede comenzar ni terminar con guion","settings.skills.page.toast.descriptionRequired":"Se requiere una descripción","settings.skills.page.toast.skillExists":"Ya existe una habilidad con este nombre","settings.skills.page.toast.skillCreated":"Habilidad creada","settings.skills.page.toast.skillUpdated":"Habilidad actualizada","settings.skills.page.toast.createSkillFailed":"No se pudo crear la habilidad","settings.skills.page.toast.updateSkillFailed":"No se pudo actualizar la habilidad","settings.skills.page.toast.saveUnexpectedError":"Ocurrió un error al guardar","settings.skills.page.toast.loadFileContentFailed":"No se pudo cargar el contenido del archivo","settings.skills.page.toast.fileNameRequired":"Se requiere el nombre del archivo","settings.skills.page.toast.fileExists":"Ya existe un archivo con este nombre","settings.skills.page.toast.noSkillSelected":"No se seleccionó ninguna habilidad","settings.skills.page.toast.fileAdded":'Archivo "{path}" añadido',"settings.skills.page.toast.fileCreated":'Archivo "{path}" creado',"settings.skills.page.toast.fileUpdated":'Archivo "{path}" actualizado',"settings.skills.page.toast.fileRemoved":'Archivo "{path}" eliminado',"settings.skills.page.toast.fileDeleted":'Archivo "{path}" borrado',"settings.skills.page.toast.createFileFailed":"No se pudo crear el archivo","settings.skills.page.toast.updateFileFailed":"No se pudo actualizar el archivo","settings.skills.page.toast.deleteFileFailed":"No se pudo eliminar el archivo","settings.skills.location.option.userOpencode.label":"Usuario / OpenCode","settings.skills.location.option.userOpencode.description":"Ubicación global de la configuración de OpenCode","settings.skills.location.option.projectOpencode.label":"Proyecto / OpenCode","settings.skills.location.option.projectOpencode.description":"Ubicación del .opencode del proyecto actual","settings.skills.location.option.userClaude.label":"Usuario / Claude","settings.skills.location.option.userClaude.description":"Ubicación global de skills de Claude","settings.skills.location.option.projectClaude.label":"Proyecto / Claude","settings.skills.location.option.projectClaude.description":"Ubicación .claude del proyecto actual","settings.skills.location.option.userAgents.label":"Usuario / Agentes","settings.skills.location.option.userAgents.description":"Ubicación global de compatibilidad con .agents","settings.skills.location.option.projectAgents.label":"Proyecto / Agentes","settings.skills.location.option.projectAgents.description":"Ubicación de compatibilidad con .agents del proyecto actual","settings.skills.catalog.shared.field.repository":"Repositorio","settings.skills.catalog.shared.field.repositoryPlaceholder":"owner/repo o git@github.com:owner/repo.git","settings.skills.catalog.shared.field.optionalSubpath":"Subruta opcional","settings.skills.catalog.shared.field.subpathPlaceholder":"ej. skills","settings.skills.catalog.shared.field.targetLocation":"Ubicación de destino","settings.skills.catalog.shared.field.project":"Proyecto","settings.skills.catalog.shared.field.noProjects":"No hay proyectos disponibles","settings.skills.catalog.shared.field.chooseProjectPlaceholder":"Elige un proyecto","settings.skills.catalog.shared.field.searchSkillsPlaceholder":"Buscar habilidades…","settings.skills.catalog.shared.toast.repositoryRequired":"Se requiere la fuente del repositorio","settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode":"Los repositorios privados no son compatibles en VS Code aún","settings.skills.catalog.shared.toast.foundSkills":"Se encontraron {count} habilidad(es)","settings.skills.catalog.shared.noDescription":"No se proporcionó una descripción","settings.skills.catalog.shared.actions.scan":"Escanear","settings.skills.catalog.shared.actions.scanning":"Escanear...","settings.skills.catalog.shared.actions.install":"Instalar","settings.skills.catalog.shared.actions.installing":"Instalando...","settings.skills.catalog.shared.auth.title":"Autenticación requerida","settings.skills.catalog.shared.auth.description":"Identidad de Git","settings.skills.catalog.shared.auth.chooseIdentity":"Elige la identidad","settings.skills.catalog.shared.auth.default":"Configuración de Git predeterminada","settings.skills.catalog.shared.auth.defaultHint":"Usa las claves SSH y los inicios de sesión guardados que Git ya tiene en este equipo.","settings.skills.catalog.shared.auth.accountHint":"Inicia sesión con la cuenta conectada","settings.skills.catalog.shared.auth.sshHint":"Inicia sesión con su clave SSH","settings.skills.catalog.shared.auth.footerHint":"Configura las identidades en Configuración - Identidades de Git.","settings.skills.catalog.shared.auth.footerHintArrow":"Configura las identidades en Configuración → Identidades de Git.","settings.skills.catalog.conflicts.title":"Ya existen habilidades","settings.skills.catalog.conflicts.description":"Algunas de las habilidades seleccionadas ya están instaladas en este alcance. Elige si quieres omitirlas o sobrescribirlas.","settings.skills.catalog.conflicts.count":"{count} conflicto(s)","settings.skills.catalog.conflicts.installedIn":"Instalado en {scope} / {source}","settings.skills.catalog.conflicts.scope.user":"usuario","settings.skills.catalog.conflicts.scope.project":"proyecto","settings.skills.catalog.conflicts.source.opencode":"opencode","settings.skills.catalog.conflicts.source.agents":"agents","settings.skills.catalog.conflicts.decision.skip":"Omitir","settings.skills.catalog.conflicts.decision.overwrite":"Sobrescribir","settings.skills.catalog.conflicts.actions.skipAll":"Omitir todo","settings.skills.catalog.conflicts.actions.overwriteAll":"Sobrescribir todo","settings.skills.catalog.conflicts.actions.continue":"Continuar","settings.skills.catalog.installSkill.title":"Instalar habilidad","settings.skills.catalog.installSkill.descriptionPrefix":"Instalar","settings.skills.catalog.installSkill.descriptionSuffix":"en uno de los cuatro ubicaciones de destino.","settings.skills.catalog.installSkill.field.destination":"Destino","settings.skills.catalog.installSkill.field.project":"Proyecto","settings.skills.catalog.installSkill.field.noProjects":"No hay proyectos disponibles","settings.skills.catalog.installSkill.field.chooseProjectPlaceholder":"Seleccionar proyecto","settings.skills.catalog.installSkill.actions.install":"Instalar","settings.skills.catalog.installSkill.actions.installing":"Instalando...","settings.skills.catalog.installSkill.toast.installed":"Habilidad instalada correctamente","settings.skills.catalog.installSkill.toast.authRequired":"Autenticación requerida","settings.skills.catalog.installSkill.toast.installFailed":"No se pudo instalar la habilidad","settings.skills.catalog.installSkill.toast.skipped":"Algunas habilidades no se instalaron: {skills}","settings.skills.catalog.add.title":"Añadir catálogo de habilidades","settings.skills.catalog.edit.title":"Editar catálogo de habilidades","settings.skills.catalog.edit.actions.save":"Guardar","settings.skills.catalog.add.descriptionPrefix":"Añade un repositorio Git como nuevo origen de catálogo. OpenChamber escaneará para encontrar carpetas que contengan","settings.skills.catalog.add.descriptionSuffix":".","settings.skills.catalog.add.field.catalogName":"Nombre del catálogo","settings.skills.catalog.add.field.catalogNamePlaceholder":"p. ej. Habilidades del equipo","settings.skills.catalog.add.field.repository":"Repositorio","settings.skills.catalog.add.field.optionalSubpath":"Subruta opcional","settings.skills.catalog.add.field.repositoryHint":"Los repositorios públicos funcionan en cualquier lugar. Los privados requieren una identidad SSH (solo en Desktop/Web).","settings.skills.catalog.add.scanResult":"Resultado del escaneo: {count} habilidad(es) encontrada(s)","settings.skills.catalog.add.duplicateMessage":"Este catálogo ya está añadido.","settings.skills.catalog.add.actions.addCatalog":"Añadir catálogo","settings.skills.catalog.add.toast.repositoryRequired":"Se requiere el origen del repositorio","settings.skills.catalog.add.toast.authenticationRequiredScan":"Autenticación requerida. Selecciona una identidad Git y escanea de nuevo.","settings.skills.catalog.add.toast.scanFailed":"No se pudo escanear el repositorio","settings.skills.catalog.add.toast.noSkillsFound":"No se encontraron habilidades en este repositorio","settings.skills.catalog.add.toast.catalogNameRequired":"Se requiere el nombre del catálogo","settings.skills.catalog.add.toast.scanBeforeAdd":"Escanea el repositorio antes de añadir este catálogo","settings.skills.catalog.add.toast.catalogAlreadyExists":"Este catálogo ya existe","settings.skills.catalog.add.toast.catalogAdded":"Catálogo añadido","settings.skills.catalog.add.toast.saveFailed":"No se pudo guardar el catálogo","settings.skills.catalog.installFromRepo.title":"Instalar desde repositorio Git","settings.skills.catalog.installFromRepo.descriptionPrefix":"Escanea un repositorio para encontrar carpetas que contengan","settings.skills.catalog.installFromRepo.descriptionSuffix":", luego instala las habilidades seleccionadas.","settings.skills.catalog.installFromRepo.repositoryHintPrefix":"Para el formato abreviado de GitHub, puedes añadir una subruta como","settings.skills.catalog.installFromRepo.authDescription":"Selecciona una identidad de Git que pueda acceder a este repositorio.","settings.skills.catalog.installFromRepo.empty.noScanResultsTitle":"No hay resultados de escaneo aún","settings.skills.catalog.installFromRepo.empty.noScanResultsDescription":"Escanea un repositorio para descubrir habilidades","settings.skills.catalog.installFromRepo.actions.selectAll":"Seleccionar todo","settings.skills.catalog.installFromRepo.actions.selectNone":"Seleccionar ninguno","settings.skills.catalog.installFromRepo.actions.installSelected":"Instalar selección","settings.skills.catalog.installFromRepo.badge.installed":"instalado ({scope}/{source})","settings.skills.catalog.installFromRepo.selectedCount":"Seleccionado: {selected} / {total}","settings.skills.catalog.installFromRepo.toast.authenticationRequiredScan":"Autenticación requerida. Selecciona una identidad Git y prueba a escanear de nuevo.","settings.skills.catalog.installFromRepo.toast.authenticationRequiredInstall":"Autenticación requerida. Selecciona una identidad Git y prueba a instalar de nuevo.","settings.skills.catalog.installFromRepo.toast.scanFailed":"No se pudo escanear el repositorio","settings.skills.catalog.installFromRepo.toast.selectAtLeastOne":"Selecciona al menos una habilidad para instalar","settings.skills.catalog.installFromRepo.toast.installedCount":"{count} habilidad(es) instalada(s)","settings.skills.catalog.installFromRepo.toast.installCompleted":"Instalación completada","settings.skills.catalog.installFromRepo.toast.installFailed":"No se pudieron instalar las habilidades","settings.skills.catalog.page.mode.manual":"Manual","settings.skills.catalog.page.mode.external":"Externo","settings.skills.catalog.page.title":"Catálogo de habilidades","settings.skills.catalog.page.subtitle":"Instala skills listos desde repositorios curados o añade tu propia fuente.","settings.skills.catalog.page.section.sources":"Fuentes","settings.skills.catalog.page.searchAllPlaceholder":"Buscar skills en todas las fuentes…","settings.skills.catalog.page.search.clear":"Borrar búsqueda","settings.skills.catalog.page.source.skillsCount":"Skills: {count}","settings.skills.catalog.page.source.stars":"Estrellas: {count}","settings.skills.catalog.page.source.updated":"Actualizado {time}","settings.skills.catalog.page.source.addOwnTitle":"Añadir tu propia fuente","settings.skills.catalog.page.source.addOwnDescription":"Cualquier repositorio Git con skills","settings.skills.catalog.page.source.viewRepo":"Abrir repositorio en GitHub","settings.skills.catalog.page.skill.viewOnGithub":"Ver skill en GitHub","settings.skills.catalog.page.list.searchTitle":"Resultados de búsqueda","settings.skills.catalog.page.section.sourceRepository":"Repositorio de origen","settings.skills.catalog.page.field.selectSourcePlaceholder":"Seleccionar origen","settings.skills.catalog.page.actions.refreshTitle":"Actualizar","settings.skills.catalog.page.actions.removeCatalogTitle":"Eliminar catálogo","settings.skills.catalog.page.actions.addCatalog":"Añadir catálogo","settings.skills.catalog.page.actions.removeCatalog":"Eliminar catálogo","settings.skills.catalog.page.actions.editCatalog":"Editar catálogo","settings.skills.catalog.page.actions.deselectAll":"Deseleccionar todo","settings.skills.catalog.page.actions.delete":"Eliminar","settings.skills.catalog.page.toast.deleted":"Habilidades eliminadas: {count}","settings.skills.catalog.page.loading.catalog":"Cargando...","settings.skills.catalog.page.loading.skills":"Cargando habilidades...","settings.skills.catalog.page.foundCount":"{count} habilidad(es) encontrada(s)","settings.skills.catalog.page.error.catalogTitle":"Error del catálogo","settings.skills.catalog.page.empty.noSkillsTitle":"No se encontraron habilidades","settings.skills.catalog.page.empty.noSkillsDescription":"Prueba con una búsqueda diferente o refresca el catálogo","settings.skills.catalog.page.badge.installed":"instalado ({scope})","settings.skills.catalog.page.badge.notInstallable":"no instalable","settings.skills.catalog.page.badge.unknown":"desconocido","settings.skills.catalog.page.removeDialog.title":"Eliminar catálogo","settings.skills.catalog.page.removeDialog.description":"¿Estás seguro de que quieres eliminar este catálogo?","settings.openchamber.passkeys.title":"Claves de paso","settings.openchamber.passkeys.field.currentDevice":"Dispositivo actual","settings.openchamber.passkeys.actions.add":"Añadir clave de paso","settings.openchamber.passkeys.actions.cancelSetup":"Cancelar configuración de clave de paso","settings.openchamber.passkeys.actions.signOutEverywhere":"Cerrar sesión en todos los lugares","settings.openchamber.passkeys.actions.signingOut":"Cerrando sesión…","settings.openchamber.passkeys.actions.removing":"Eliminando…","settings.openchamber.passkeys.actions.rename":"Cambiar nombre","settings.openchamber.passkeys.state.uiPasswordRequired":"Las claves de paso solo están disponibles cuando el bloqueo con contraseña de la interfaz está habilitado.","settings.openchamber.passkeys.state.loading":"Cargando claves de paso…","settings.openchamber.passkeys.state.noneSaved":"No se han guardado claves de paso para este host aún.","settings.openchamber.passkeys.item.lastUsed":"Último uso {time}","settings.openchamber.passkeys.item.added":"Añadido {time}","settings.openchamber.passkeys.time.neverUsed":"Nunca usado","settings.openchamber.passkeys.toast.loadFailed":"No se pudieron cargar las claves de paso.","settings.openchamber.passkeys.toast.enableUiPasswordFirst":"Habilita la contraseña de bloqueo de la interfaz de usuario antes de añadir claves de paso.","settings.openchamber.passkeys.toast.added":"Clave de paso añadida","settings.openchamber.passkeys.toast.setupCanceled":"Configuración de clave de paso cancelada","settings.openchamber.passkeys.toast.addFailed":"No se pudo agregar la clave de paso.","settings.openchamber.passkeys.toast.removed":"Clave de paso eliminada","settings.openchamber.passkeys.toast.removeFailed":"No se pudo eliminar la clave de paso.","settings.openchamber.passkeys.toast.renamed":"Clave de paso renombrada","settings.openchamber.passkeys.toast.renameFailed":"No se pudo cambiar el nombre de la clave de paso.","settings.openchamber.passkeys.toast.clearAuthFailed":"No se pudo limpiar la autenticación guardada.","settings.openchamber.sessionRetention.title":"Retención de sesiones","settings.openchamber.mergedWorktreeCleanup.title":"Después de fusionar un PR","settings.openchamber.mergedWorktreeCleanup.info":"Usa el estado del PR que ya muestra la barra lateral. No pasa nada mientras un agente trabaja en el worktree o una de sus sesiones está abierta.","settings.openchamber.mergedWorktreeCleanup.field.enable":"Archivar las sesiones y eliminar el worktree","settings.openchamber.mergedWorktreeCleanup.field.enableDescription":"El worktree y su rama local se eliminan cuando no tiene cambios sin confirmar ni commits que falten en el PR fusionado. Hasta entonces, se archivan las sesiones y el worktree se conserva.","settings.openchamber.messageSearch.title":"Búsqueda de mensajes","settings.openchamber.messageSearch.field.enabled":"Buscar mensajes en todas las conversaciones","settings.openchamber.messageSearch.field.enabledInfo":"Guarda junto a los ajustes un pequeño índice de tus mensajes y de las respuestas del agente, para que la búsqueda los encuentre al instante. Se queda en el equipo donde se ejecuta OpenChamber y nunca se envía a ninguna parte.","settings.openchamber.messageSearch.field.reasoning":"Buscar también en el razonamiento del agente","settings.openchamber.messageSearch.field.reasoningInfo":"Los modelos que piensan mucho pueden multiplicar el tamaño del índice, y al activarlo se vuelven a leer todas las conversaciones. Los resultados en el razonamiento solo aparecen si el razonamiento se muestra en el chat.","settings.openchamber.messageSearch.field.index":"Índice de búsqueda","settings.openchamber.messageSearch.status.loading":"Comprobando el índice…","settings.openchamber.messageSearch.status.off":"La búsqueda está desactivada. No se indexa nada.","settings.openchamber.messageSearch.status.offWithFile":"La búsqueda está desactivada. El índice ocupa {size} en disco.","settings.openchamber.messageSearch.status.indexing":"Indexando conversaciones: {done} de {total}. {size} en disco.","settings.openchamber.messageSearch.status.ready":"Conversaciones indexadas: {sessions}, mensajes: {messages}. {size} en disco.","settings.openchamber.messageSearch.status.failed":"No se pudo abrir el índice. Reconstruirlo suele solucionarlo.","settings.openchamber.messageSearch.status.unsupported":"Este servidor no tiene SQLite, así que no puede mantener un índice de búsqueda.","settings.openchamber.messageSearch.status.error":"No se pudo leer el estado del índice.","settings.openchamber.messageSearch.actions.rebuild":"Reconstruir índice","settings.openchamber.messageSearch.actions.delete":"Eliminar índice","settings.openchamber.messageSearch.actions.working":"Procesando…","settings.openchamber.sessionWork.title":"Sesiones en curso","settings.openchamber.sessionWork.info":"Un bloque en la barra lateral, debajo de los chats, para las sesiones en las que estás trabajando. Una sesión llega ahí en cuanto envías un mensaje en ella, sigue también en su proyecto y sale cuando la marcas como hecha: pasa el cursor y usa la marca, o usa el menú de la sesión. Cuando un turno parece el final del trabajo, la marca se vuelve gris como pista.","settings.openchamber.sessionWork.field.enabled":"Mostrar sesiones en curso","settings.openchamber.sessionRetention.field.onlyArchived":"Solo sesiones archivadas","settings.openchamber.sessionRetention.field.onlyArchivedDescription":"Usa Eliminar y cuenta el periodo de retención desde el archivado. Las sesiones no archivadas se conservan.","settings.openchamber.sessionRetention.archivedTooltip":"Elimina sesiones archivadas cuyo periodo de retención ha vencido. Conserva las 5 sesiones archivadas más recientemente, la sesión abierta, las sesiones en ejecución y las compartidas. Una sesión principal se conserva si eliminarla también eliminaría una sesión secundaria protegida.","settings.openchamber.sessionRetention.tooltip":"Archiva o elimina sesiones no archivadas según su última actividad. Conserva las 5 sesiones más recientes, la sesión abierta, las sesiones en ejecución y las compartidas. Las sesiones archivadas se conservan. Una sesión principal se conserva si eliminarla también eliminaría una sesión secundaria protegida.","settings.openchamber.sessionRetention.field.enableAutoCleanupAria":"Habilitar limpieza automática","settings.openchamber.sessionRetention.field.enableAutoCleanup":"Habilitar limpieza automática","settings.openchamber.sessionRetention.field.retentionPeriod":"Periodo de retención","settings.openchamber.sessionRetention.field.retentionPeriodAria":"Período de retención en días","settings.openchamber.sessionRetention.field.days":"días","settings.openchamber.sessionRetention.field.whenSessionsExpire":"Cuando las sesiones expiren","settings.openchamber.sessionRetention.actions.resetRetentionAria":"Restablecer período de retención","settings.openchamber.sessionRetention.actions.runCleanupNow":"Ejecutar limpieza ahora","settings.openchamber.sessionRetention.actions.cleaningUp":"Limpieza en curso...","settings.openchamber.sessionRetention.action.archive":"Archivar","settings.openchamber.sessionRetention.action.delete":"Eliminar","settings.openchamber.sessionRetention.manualCleanup.title":"Limpieza manual","settings.openchamber.sessionRetention.manualCleanup.eligibleArchiveNow":"Elegible para archivar ahora: {count}","settings.openchamber.sessionRetention.manualCleanup.eligibleDeleteNow":"Elegible para eliminar ahora: {count}","settings.openchamber.sessionRetention.toast.noneEligibleArchive":"No hay sesiones elegibles para archivar","settings.openchamber.sessionRetention.toast.noneEligibleDelete":"No hay sesiones elegibles para eliminar","settings.openchamber.sessionRetention.toast.archivedCount":"Archivadas {count} sesión(es)","settings.openchamber.sessionRetention.toast.deletedCount":"Eliminadas {count} sesión(es)","settings.openchamber.sessionRetention.toast.failedArchiveCount":"No se pudo archivar {count} sesión(es)","settings.openchamber.sessionRetention.toast.failedDeleteCount":"No se pudo eliminar {count} sesión(es)","settings.openchamber.desktopNetwork.field.windowControlsPosition":"Posición de los controles de ventana","settings.openchamber.desktopNetwork.field.windowControlsPositionDescription":"Elige dónde aparecen los botones de minimizar, maximizar y cerrar. Por defecto a la derecha.","settings.openchamber.desktopNetwork.field.windowControlsPositionAria":"Posición de los controles de ventana","settings.openchamber.desktopNetwork.option.windowControlsLeft":"Izquierda","settings.openchamber.desktopNetwork.option.windowControlsRight":"Derecha","settings.openchamber.desktopNetwork.field.windowControls":"Controles de ventana","settings.openchamber.desktopNetwork.field.windowControlsStyle":"Estilo","settings.openchamber.desktopNetwork.field.windowControlsStyleAria":"Estilo de los controles de ventana","settings.openchamber.desktopNetwork.option.windowControlsClassic":"Clásico","settings.openchamber.desktopNetwork.option.windowControlsTrafficLights":"Semáforo","settings.openchamber.desktopNetwork.field.launchAtLoginAria":"Iniciar OpenChamber al iniciar sesión","settings.openchamber.desktopNetwork.field.launchAtLogin":"Iniciar OpenChamber al iniciar sesión","settings.openchamber.desktopNetwork.field.launchAtLoginDescription":"Inicia la app en segundo plano sin abrir una ventana. Usa el icono de estado del escritorio para abrirla.","settings.openchamber.desktopNetwork.field.macMenuBarAria":"Mostrar OpenChamber en la barra de menús de macOS","settings.openchamber.desktopNetwork.field.macMenuBar":"Mostrar OpenChamber en la barra de menús","settings.openchamber.desktopNetwork.field.macMenuBarDescription":"Requiere reiniciar la aplicación. Al desactivarlo, OpenChamber no crea el elemento de la barra de menús ni ejecuta sus actualizaciones de sesiones, aprobaciones y uso.","settings.openchamber.desktopNetwork.field.minimizeToTrayAria":"Cerrar OpenChamber a la bandeja del sistema","settings.openchamber.desktopNetwork.field.minimizeToTray":"Cerrar a la bandeja del sistema","settings.openchamber.desktopNetwork.field.minimizeToTrayDescription":"Mantiene OpenChamber en ejecución en la bandeja del sistema cuando se cierra la ventana principal. Al minimizar, la ventana sigue en la barra de tareas.","settings.openchamber.desktopNetwork.field.keepAwakeAria":"Mantener el ordenador activo mientras OpenChamber está en ejecución","settings.openchamber.desktopNetwork.field.keepAwake":"Mantener el ordenador activo mientras OpenChamber está en ejecución","settings.openchamber.desktopNetwork.field.keepAwakeDescription":"Para que los teléfonos puedan seguir abriendo esta app. La pantalla aún puede apagarse.","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcut":"Atajo global de Mini Chat","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcutDescription":"Muestre u oculte Mini Chat desde cualquier parte del escritorio, incluso cuando OpenChamber no esté en foco.","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcutInactive":"No registrado: otra aplicación podría estar usando este atajo.","settings.openchamber.desktopNetwork.field.quakeMode":"Modo Quake","settings.openchamber.desktopNetwork.field.quakeModeAria":"Activar el modo Quake en segundo plano","settings.openchamber.desktopNetwork.field.quakeModeDescription":"Mantiene OpenChamber ejecutándose en segundo plano y muestra u oculta la ventana principal desde cualquier lugar con un atajo global, como el modo Quake de Windows Terminal. Cerrar la ventana la oculta en lugar de salir.","settings.openchamber.desktopNetwork.field.quakeModeShortcut":"Atajo global del modo Quake","settings.openchamber.desktopNetwork.field.quakeModeShortcutDescription":"Muestre u oculte la ventana principal desde cualquier parte del escritorio, incluso cuando OpenChamber no esté en foco. El valor predeterminado es Ctrl+`, que nunca choca con Win+` de Windows Terminal.","settings.openchamber.desktopNetwork.field.quakeModeShortcutInactive":"No registrado: otra aplicación podría estar usando este atajo.","settings.openchamber.desktopNetwork.field.quakeModeHeight":"Altura de la ventana Quake","settings.openchamber.desktopNetwork.field.quakeModeHeightAria":"Altura de la ventana Quake","settings.openchamber.desktopNetwork.field.quakeModeHeightDescription":"Cuánto de la pantalla cubre la ventana Quake al abrirse. Se acopla arriba de la pantalla del cursor en todo su ancho.","settings.openchamber.desktopNetwork.field.allowLanAccessAria":"Permitir acceso LAN al lado de escritorio","settings.openchamber.desktopNetwork.field.allowLanAccess":"Permitir que otros dispositivos en tu red local abran esta aplicación","settings.openchamber.desktopNetwork.field.allowLanAccessDescription":"Reinicia la aplicación para que los teléfonos, tablets y otros ordenadores en tu Wi-Fi puedan abrirla.","settings.openchamber.desktopNetwork.field.warning":"Advertencia: mientras esté habilitado, la aplicación es accesible por cualquiera en la misma red local.","settings.openchamber.desktopNetwork.field.passwordRequiredWarning":"El acceso LAN requiere una contraseña de UI de escritorio. Hasta que se configure, la app de escritorio se inicia solo localmente.","settings.openchamber.desktopNetwork.field.enterpriseBlocked":"El modo empresa mantiene OpenChamber en este equipo. Tu administrador puede permitir el acceso por red.","settings.openchamber.desktopPassword.field.password":"Contraseña de UI de escritorio","settings.openchamber.desktopPassword.field.passwordPlaceholder":"No se requiere contraseña","settings.openchamber.desktopPassword.field.passwordSetPlaceholder":"Contraseña establecida. Escribe una nueva para reemplazarla.","settings.openchamber.desktopPassword.actions.removePassword":"Quitar contraseña","settings.openchamber.desktopPassword.field.passwordDescription":"OpenChamber la pide después del reinicio y luego cuando vence la sesión: tras 12 horas, o 7 días con Confiar en este dispositivo. Déjalo vacío para desactivar el inicio de sesión.","settings.openchamber.desktopNetwork.hint.openAfterRestart":"Después del reinicio, abre desde otro dispositivo: ","settings.openchamber.desktopNetwork.hint.openNow":"Abrir desde otro dispositivo: ","settings.openchamber.desktopNetwork.actions.saveAndRestart":"Guardar y reiniciar","settings.openchamber.desktopNetwork.error.loadFailed":"No se pudo cargar la configuración de escritorio","settings.openchamber.desktopNetwork.error.saveFailed":"No se pudo guardar la configuración de escritorio","settings.openchamber.desktopNetwork.error.savedRestartFailed":"Guardado, pero no se pudo reiniciar la aplicación","settings.openchamber.desktopNetwork.error.launchAtLoginUnsupported":"El inicio al iniciar sesión no es compatible con este sistema","settings.openchamber.desktopNetwork.error.launchAtLoginSaveFailed":"No se pudo actualizar la opción de inicio al iniciar sesión","settings.openchamber.desktopNetwork.error.minimizeToTrayUnsupported":"El modo en segundo plano de la bandeja del sistema no es compatible con este sistema","settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed":"No se pudo actualizar la opción de bandeja del sistema","settings.openchamber.desktopNetwork.error.keepAwakeUnsupported":"Evitar la suspensión no es compatible con este sistema","settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed":"No se pudo actualizar la opción de mantener activo","settings.openchamber.desktopNetwork.error.miniChatGlobalShortcutSaveFailed":"No se pudo actualizar el atajo global de Mini Chat","settings.openchamber.desktopNetwork.error.miniChatGlobalShortcutUnsupported":"Esta combinación no se puede usar como atajo global. Incluye Ctrl, Alt o Cmd.","settings.openchamber.desktopNetwork.error.quakeModeSaveFailed":"No se pudo actualizar el modo Quake","settings.openchamber.desktopNetwork.error.quakeModeShortcutUnsupported":"Esta combinación no se puede usar como atajo global. Incluye Ctrl, Alt o Cmd.","settings.openchamber.opencodeCli.title":"CLI de OpenCode","settings.openchamber.spaces.title":"Espacios aislados","settings.openchamber.spaces.field.enabled":"Permitir que los agentes trabajen en espacios aislados","settings.openchamber.spaces.field.enabledAria":"Permitir que los agentes trabajen en espacios aislados","settings.openchamber.spaces.field.enabledInfo":"El agente trabaja en tu proyecto dentro de un contenedor Docker. No puede llegar a tus archivos, otros proyectos ni claves. Puedes aplicar o descartar sus cambios. El primer inicio descarga unos 1,6 GB.","settings.openchamber.spaces.idleStop.enabled":"Detener los espacios inactivos","settings.openchamber.spaces.idleStop.enabledAria":"Detener los espacios inactivos","settings.openchamber.spaces.idleStop.enabledInfo":"Detiene un espacio sin actividad. Los archivos se conservan. Funciona incluso con OpenChamber cerrado.","settings.openchamber.spaces.idleStop.after":"Detener tras","settings.openchamber.spaces.idleStop.afterAria":"Horas sin trabajo antes de que un espacio se detenga","settings.openchamber.spaces.idleStop.hours":"horas","settings.openchamber.spaces.idleStop.resetAria":"Volver a 4 horas","settings.openchamber.spaces.idleStop.loadFailed":"No se pudo cargar este ajuste.","settings.openchamber.tools.title":"Herramientas de OpenChamber","settings.openchamber.tools.field.agentControlTool":"Herramienta de control para agentes","settings.openchamber.tools.field.agentControlToolAria":"Activar la herramienta de control para agentes","settings.openchamber.tools.field.agentControlToolInfo":"Los agentes también pueden pasar prompts a otras sesiones e iniciarlas en worktrees. Borrar sesiones y worktrees queda en tus manos.","settings.openchamber.tools.field.agentControlToolSummary":"Crear y dirigir sesiones y worktrees.","settings.openchamber.tools.field.agentScheduleTool":"Herramienta de programación para agentes","settings.openchamber.tools.field.agentScheduleToolAria":"Activar la herramienta de programación para agentes","settings.openchamber.tools.field.agentScheduleToolInfo":"Los agentes pueden programar un prompt a diario, cada semana, una sola vez o con cron, y cambiar, ejecutar, pausar o borrar una tarea.","settings.openchamber.tools.field.agentScheduleToolSummary":"Crear y ejecutar tareas programadas.","settings.openchamber.tools.field.agentWebTool":"Herramienta OpenChamber Web","settings.openchamber.tools.field.agentWebToolAria":"Activar la herramienta OpenChamber Web","settings.openchamber.tools.field.agentWebToolInfo":"Útil para revisar trabajo de UI en la app en marcha. Los agentes pueden navegar, revisar páginas y hacer capturas de pantalla.","settings.openchamber.tools.field.agentWebToolSummary":"Abrir, leer y recorrer páginas en el panel del navegador.","settings.openchamber.tools.browserProvider.label":"Proveedor del navegador","settings.openchamber.tools.browserProvider.aria":"Elegir quién responde a las acciones de navegador del agente","settings.openchamber.tools.browserProvider.info":"OpenChamber Web es el panel del navegador de la app de escritorio. Una extensión de navegador se ejecuta en el servidor, así los agentes navegan sin la app de escritorio abierta.","settings.openchamber.tools.browserProvider.option.builtin":"OpenChamber Web","settings.openchamber.tools.browserProvider.toast.reset":"{name} ya no puede proporcionar el navegador. Los agentes vuelven a usar OpenChamber Web.","settings.openchamber.tools.field.agentMemoryTool":"Herramienta de memoria del agente","settings.openchamber.tools.field.agentMemoryToolAria":"Herramienta de memoria del agente","settings.openchamber.tools.field.agentMemoryToolInfo":"Los agentes solo ven los títulos y abren una entrada cuando es relevante. Al desactivarla también se oculta la pestaña Memoria.","settings.openchamber.tools.field.agentMemoryToolSummary":"Recordar entre sesiones lo que es cierto sobre ti y cada proyecto.","settings.openchamber.tools.field.agentNotifyTool":"Herramienta de notificaciones del agente","settings.openchamber.tools.field.agentNotifyToolAria":"Herramienta de notificaciones del agente","settings.openchamber.tools.field.agentNotifyToolInfo":"Sigue tu configuración de Notificaciones.","settings.openchamber.tools.field.agentNotifyToolSummary":"Los agentes te avisan cuando terminan o se quedan bloqueados.","settings.openchamber.tools.field.agentKnowledgeTool":"Herramienta de conocimiento del proyecto","settings.openchamber.tools.field.agentKnowledgeToolAria":"Herramienta de conocimiento del proyecto","settings.openchamber.tools.field.agentKnowledgeToolInfo":"Los agentes trabajan con los mismos elementos que ves en el panel Conocimiento del proyecto.","settings.openchamber.tools.field.agentKnowledgeToolSummary":"Los agentes leen y actualizan las notas, tareas y planes del proyecto.","settings.openchamber.tools.field.agentToolsCodeMode":"Ejecutar mediante Code Mode","settings.openchamber.tools.field.agentToolsCodeModeAria":"Ejecutar las herramientas de OpenChamber mediante Code Mode","settings.openchamber.tools.field.agentToolsCodeModeInfo":"Desactivado: el modelo ve cada herramienta directamente. Activado: quedan detrás de una herramienta que ejecuta un script corto. Ahorra algo de contexto, pero el modelo puede pasarlas por alto, sobre todo los pequeños. La herramienta de renderizado siempre queda directa, porque el chat dibuja la página a partir de su propia llamada.","settings.openchamber.opencodeCli.tooltipPrefix":"Ruta absoluta opcional al","settings.openchamber.opencodeCli.tooltipSuffix":"ejecutable.","settings.openchamber.opencodeCli.field.binaryPath":"Ruta del ejecutable de OpenCode","settings.openchamber.opencodeCli.field.binaryPathPlaceholder":"/Users/you/.bun/bin/opencode","settings.openchamber.opencodeCli.field.pinnedByAdministrator":"Tu administrador fijó esta ruta, así que OpenChamber siempre inicia OpenCode desde ella.","settings.openchamber.opencodeCli.field.showUpdateNotifications":"Mostrar notificaciones de actualización de OpenCode","settings.openchamber.opencodeCli.field.showUpdateNotificationsAria":"Mostrar notificaciones de actualización de OpenCode","settings.openchamber.opencodeCli.actions.browseAria":"Buscar ruta del ejecutable de OpenCode","settings.openchamber.opencodeCli.actions.browse":"Buscar","settings.openchamber.opencodeCli.actions.saveAndReload":"Guardar + Recargar","settings.openchamber.opencodeCli.actions.restartingOpenCode":"Reiniciando OpenCode…","settings.openchamber.opencodeCli.restart.manualRequired":"Guardado en disco. Reinicia el servidor OpenCode conectado para aplicar los cambios.","settings.openchamber.opencodeCli.restart.failed":"No se pudieron aplicar los cambios de configuración.","settings.openchamber.opencodeCli.actions.restart":"Reiniciar OpenCode","settings.openchamber.opencodeCli.restart.external":"Este OpenCode se inició fuera de OpenChamber. Reinícialo donde lo iniciaste.","settings.openchamber.opencodeCli.restart.restartFailed":"No se pudo reiniciar OpenCode.","settings.openchamber.opencodeCli.dialog.selectBinaryTitle":"Seleccionar ejecutable de opencode","settings.openchamber.opencodeCli.tipPrefix":"Consejo: también puedes usar","settings.openchamber.opencodeCli.tipMiddle":"variable de entorno, pero esta configuración persiste en","settings.mcp.sidebar.actions.refreshStatusAria":"Actualizar estado MCP","settings.mcp.sidebar.actions.refreshStatusTitle":"Actualizar estado MCP","settings.mcp.sidebar.actions.addServerTitle":"Añadir servidor MCP","settings.mcp.sidebar.serverType.localTitle":"Servidor local","settings.mcp.sidebar.serverType.remoteTitle":"Servidor remoto","settings.plugins.sidebar.actions.addTitle":"Añadir plugin","settings.plugins.sidebar.actions.deleting":"Eliminando…","settings.plugins.sidebar.empty.description":"Usa el botón + de arriba para añadir uno","settings.plugins.sidebar.group.userEntries":"Configuración de usuario","settings.plugins.sidebar.group.userFiles":"Archivo de plugin de usuario","settings.plugins.sidebar.group.projectEntries":"Configuración del proyecto","settings.plugins.sidebar.group.projectFiles":"Archivo de plugin del proyecto","settings.plugins.sidebar.kind.npm":"paquete npm","settings.plugins.sidebar.kind.path":"Ruta local","settings.plugins.sidebar.kind.file":"Archivo de plugin","settings.plugins.sidebar.kind.package":"Paquete de plugin","settings.plugins.sidebar.deleteDialog.title":"Eliminar plugin","settings.plugins.sidebar.deleteDialog.description":'¿Seguro que quieres eliminar "{name}"?',"settings.plugins.sidebar.toast.deleted":'Plugin "{name}" eliminado',"settings.plugins.sidebar.toast.deleteFailed":"No se pudo eliminar el plugin","settings.plugins.page.header.entry":"Plugin instalado","settings.plugins.page.header.file":"Archivo de plugin","settings.plugins.page.field.spec":"Especificación","settings.plugins.page.field.spec.placeholder":"paquete-npm@versión o /ruta/absoluta","settings.plugins.page.field.options":"Opciones (JSON)","settings.plugins.page.field.options.invalidJson":"JSON no válido","settings.plugins.page.field.fileName":"Nombre de archivo","settings.plugins.page.field.content":"Contenido","settings.plugins.page.field.scope":"Ámbito","settings.plugins.scope.user":"Usuario","settings.plugins.scope.project":"Proyecto","settings.plugins.dialog.add.title":"Añadir plugin","settings.plugins.dialog.add.tab.npm":"Desde npm","settings.plugins.dialog.add.tab.path":"Desde ruta local","settings.plugins.dialog.add.tab.file":"Archivo nuevo","settings.plugins.dialog.add.action.submit":"Añadir","settings.plugins.dialog.add.action.cancel":"Cancelar","settings.plugins.toast.created":"Plugin añadido","settings.plugins.toast.updated":"Plugin actualizado","settings.plugins.toast.reloadFailed":"Falló la recarga de opencode; se requiere reiniciar","settings.plugins.validation.fileName":"El nombre de archivo debe estar en minúsculas y terminar en .js / .ts / .mjs / .cjs","settings.plugins.validation.specRequired":"La especificación es obligatoria","settings.plugins.validation.specUnloadable":"No es un paquete npm ni un repositorio Git","settings.plugins.registry.badge.network.tooltip":"No se pudo conectar con el registro de paquetes","settings.plugins.registry.banner.updateAvailable.title":"Actualización disponible","settings.plugins.registry.banner.updateAvailable.description":"{current} → {latest}","settings.plugins.registry.banner.updateAvailable.action":"Actualizar a {latest}","settings.plugins.registry.banner.invalid.title":"Plugin no válido","settings.plugins.registry.banner.invalid.malformed":"La sintaxis de la especificación no es válida","settings.plugins.registry.banner.invalid.missingPackage":"Paquete no encontrado en el registro","settings.plugins.registry.banner.invalid.missingVersion":"Versión no publicada","settings.plugins.registry.banner.invalid.pathMissing":"El archivo no existe","settings.plugins.registry.banner.invalid.pathUnreadable":"No se puede leer el archivo","settings.plugins.sidebar.actions.refresh":"Buscar actualizaciones","settings.plugins.toast.updatedToLatest":"Plugin actualizado a {version}","settings.plugins.toast.refreshing":"Buscando actualizaciones en npm…","settings.plugins.toast.refreshFailed":"No se pudo consultar el registro de npm","settings.plugins.status.loaded":"Cargado","settings.plugins.status.loadedVersion":"Cargado · {version}","settings.plugins.status.failed.title":"Error al cargar","settings.plugins.status.failed.ref":"Referencia de registro: {ref}","settings.plugins.status.notReported.title":"No cargado","settings.plugins.status.notReported.description":"OpenCode no ha informado de este plugin aquí. Puede que aún se esté instalando o que otra entrada de configuración lo desactive.","settings.plugins.status.unknown.title":"Estado desconocido","settings.plugins.status.unknown.description":"No se pudo leer el estado del plugin desde OpenCode.","settings.plugins.status.retry":"Reintentar","settings.plugins.status.sidebar.unavailable":"Estado de plugins no disponible","settings.plugins.update.available.title":"Actualización disponible","settings.plugins.update.available.description":"Hay una versión más reciente que coincide con esta especificación. Al actualizar se reinstala sin cambiar tu configuración.","settings.plugins.update.action":"Actualizar","settings.plugins.update.running":"Actualizando…","settings.plugins.update.failed.title":"Error al actualizar","settings.plugins.update.toast.done":"{name} actualizado","settings.plugins.update.toast.failed":"No se pudo actualizar {name}","settings.plugins.toast.checkFailed":"No se pudieron buscar actualizaciones mediante OpenCode","settings.openchamber.keyboardShortcuts.title":"Atajos de teclado","settings.openchamber.keyboardShortcuts.actions.resetAll":"Restablecer todo","settings.openchamber.keyboardShortcuts.actions.overwrite":"Sobrescribir","settings.openchamber.keyboardShortcuts.tooltip":"Captura una nueva combinación de teclas, guárdala y los enlaces se actualizarán inmediatamente.","settings.openchamber.keyboardShortcuts.overwritePrompt":"Esta combinación ya está usada por otro atajo. ¿Sobrescribir y limpiar esa otra asignación?","settings.openchamber.keyboardShortcuts.field.pressKeys":"Pulsa las teclas...","settings.openchamber.keyboardShortcuts.error.captureFirst":"Captura un atajo primero.","settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut":"Este atajo puede entrar en conflicto con los predeterminados del navegador. Aun así, puedes guardarlo.","settings.openchamber.keyboardShortcuts.action.open_go_to_line.label":"Ir a línea (editor de archivos)","settings.openchamber.keyboardShortcuts.action.open_document_symbols.label":"Ir a símbolo en el archivo (editor de archivos)","settings.openchamber.keyboardShortcuts.action.open_command_palette.label":"Abrir paleta de comandos","settings.openchamber.keyboardShortcuts.action.focus_input.label":"Enfocar entrada","settings.openchamber.keyboardShortcuts.action.open_settings.label":"Abrir configuración","settings.openchamber.keyboardShortcuts.action.toggle_terminal.label":"Mostrar u ocultar panel de terminal","settings.openchamber.keyboardShortcuts.action.toggle_terminal_expanded.label":"Expandir o contraer terminal","settings.openchamber.keyboardShortcuts.action.add_selection_to_chat.label":"Agregar selección al chat","settings.openchamber.keyboardShortcuts.action.toggle_sidebar.label":"Mostrar u ocultar barra lateral","settings.openchamber.keyboardShortcuts.action.switch_session_tab.label":"Cambiar pestaña de sesión","settings.openchamber.keyboardShortcuts.action.switch_session_tab.suffix":" + 1…9","settings.openchamber.keyboardShortcuts.action.switch_context_surface.label":"Cambiar superficie del panel de contexto","settings.openchamber.keyboardShortcuts.action.switch_context_surface.suffix":" + 1…0","settings.openchamber.keyboardShortcuts.action.new_chat.label":"Nueva sesión","settings.openchamber.keyboardShortcuts.action.switch_session_previous.label":"Sesión anterior","settings.openchamber.keyboardShortcuts.action.switch_session_next.label":"Sesión siguiente","settings.openchamber.keyboardShortcuts.action.session_history_back.label":"Atrás en el historial de sesiones","settings.openchamber.keyboardShortcuts.action.session_history_forward.label":"Adelante en el historial de sesiones","settings.openchamber.keyboardShortcuts.action.archive_current_session.label":"Archivar sesión actual","settings.openchamber.keyboardShortcuts.action.rename_current_session.label":"Renombrar sesión actual","settings.openchamber.keyboardShortcuts.action.toggle_permission_auto_accept.label":"Cambiar el modo de permisos","settings.openchamber.keyboardShortcuts.action.close_session_tab.label":"Cerrar pestaña de sesión","settings.openchamber.keyboardShortcuts.action.new_chat_worktree.label":"Worktree rápido","settings.openchamber.keyboardShortcuts.action.new_mini_chat.label":"Nueva ventana Mini Chat","settings.openchamber.keyboardShortcuts.action.mini_chat_global.label":"Atajo global de Mini Chat","settings.openchamber.keyboardShortcuts.action.quake_mode_global.label":"Atajo global del modo Quake","settings.openchamber.keyboardShortcuts.action.open_help.label":"Abrir atajos de teclado","settings.openchamber.keyboardShortcuts.action.toggle_services_menu.label":"Mostrar u ocultar menú de servicios","settings.openchamber.keyboardShortcuts.action.cycle_theme.label":"Cambiar tema","settings.openchamber.keyboardShortcuts.action.cycle_agent.label":"Cambiar agente","settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_forward.label":"Siguiente modelo favorito","settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_backward.label":"Modelo favorito anterior","settings.openchamber.keyboardShortcuts.action.open_model_selector.label":"Abrir selector de modelo","settings.openchamber.keyboardShortcuts.action.expand_input.label":"Expandir entrada","settings.openchamber.keyboardShortcuts.action.open_timeline_dialog.label":"Abrir línea de tiempo de conversación","settings.openchamber.keyboardShortcuts.action.toggle_prompt_navigator.label":"Mostrar u ocultar navegador de prompts","settings.openchamber.keyboardShortcuts.warning.contextualPrefix":"Esta secuencia comparte un prefijo contextual con {action}. Cuando su contexto está activo, esa acción tiene prioridad.","settings.openchamber.keyboardShortcuts.category.session":"Controles de sesión","settings.openchamber.keyboardShortcuts.category.models":"Modelos y agentes","settings.openchamber.keyboardShortcuts.category.panels":"Paneles y herramientas","settings.openchamber.keyboardShortcuts.category.navigation":"Navegación","settings.openchamber.keyboardShortcuts.category.application":"Aplicación","settings.openchamber.keyboardShortcuts.actions.edit":"Editar","settings.openchamber.keyboardShortcuts.actions.confirm":"Confirmar","settings.openchamber.keyboardShortcuts.dialog.title":"Editar {action}","settings.openchamber.keyboardShortcuts.dialog.instructions":"Pulse hasta dos combinaciones de teclas, con un máximo de tres teclas cada una. Tras la primera, espere hasta 3 segundos por una segunda combinación. Use Confirmar para aplicar o Cancelar para descartar. Retroceso elimina la última.","settings.openchamber.keyboardShortcuts.dialog.instructionsSingle":"Pulse una combinación de teclas con un máximo de tres teclas. Use Confirmar para aplicar o Cancelar para descartar. Retroceso la elimina.","settings.openchamber.keyboardShortcuts.dialog.firstChord":"Primera combinación","settings.openchamber.keyboardShortcuts.dialog.secondChord":"Segunda combinación","settings.openchamber.keyboardShortcuts.dialog.recording":"Pulse las teclas…","settings.openchamber.keyboardShortcuts.unassigned":"Sin asignar","settings.openchamber.keyboardShortcuts.error.prefixConflict":"Esto entra en conflicto con la secuencia usada por {action}. Elija otra combinación.","settings.openchamber.keyboardShortcuts.error.exactConflict":"Esta combinación ya la usa {action}.","settings.openchamber.keyboardShortcuts.error.internalConflict":"Esta combinación entra en conflicto con un atajo integrado, que no se puede reemplazar.","settings.openchamber.keyboardShortcuts.action.open_draft_project_picker.label":"Abrir selector de proyecto de borrador","settings.openchamber.keyboardShortcuts.action.open_draft_worktree_picker.label":"Abrir selector de árbol de trabajo de borrador","settings.openchamber.keyboardShortcuts.action.open_session_list.label":"Abrir sesiones recientes","settings.openchamber.keyboardShortcuts.action.background_session_work.label":"Mover el trabajo en curso a segundo plano","settings.openchamber.keyboardShortcuts.action.toggle_dictation.label":"Entrada de voz","settings.projects.sidebar.total":"Total {count}","settings.projects.sidebar.actions.addProject":"Añadir proyecto","settings.projects.page.empty.noProjects":"No hay proyectos disponibles.","settings.projects.page.section.worktree":"Worktree","settings.projects.page.field.projectName":"Nombre del proyecto","settings.projects.page.field.projectAgent":"Agente del proyecto","settings.projects.page.field.projectModel":"Modelo del proyecto","settings.projects.page.field.projectThinking":"Razonamiento del proyecto","settings.projects.page.section.chatDefaults":"Valores por defecto para chats nuevos","settings.projects.page.section.chatDefaultsDescription":"Se usa al iniciar un chat nuevo en este proyecto. Si está vacío, se aplican los valores globales. El razonamiento solo aparece en modelos que ofrecen niveles.","settings.projects.page.field.projectNamePlaceholder":"Nombre del proyecto","settings.projects.page.option.thinkingDefault":"El del modelo","settings.projects.page.field.projectIcon":"Icono del proyecto","settings.projects.page.actions.uploadIcon":"Subir icono","settings.projects.page.actions.uploading":"Subiendo...","settings.projects.page.actions.discoverFavicon":"Buscar favicon","settings.projects.page.actions.discovering":"Descubriendo...","settings.projects.page.actions.removeProjectIcon":"Eliminar icono del proyecto","settings.projects.page.actions.closeProject":"Cerrar proyecto","settings.projects.page.closeDialog.title":"¿Cerrar {name}?","settings.projects.page.closeDialog.message":"Los archivos y los chats se conservan.","settings.projects.page.actions.removing":"Eliminando...","settings.projects.page.toast.uploadIconFailed":"No se pudo subir el icono del proyecto","settings.projects.page.toast.iconUpdated":"Icono del proyecto actualizado","settings.projects.page.toast.removeIconFailed":"No se pudo eliminar el icono del proyecto","settings.projects.page.toast.iconRemoved":"Icono del proyecto eliminado","settings.projects.page.toast.discoverIconFailed":"No se pudo descubrir el icono del proyecto","settings.projects.page.toast.customIconAlreadySet":"Icono personalizado ya establecido para este proyecto","settings.projects.page.toast.iconDiscovered":"Icono del proyecto descubierto","settings.projects.page.toast.saveFailed":"Error al guardar la configuración del proyecto","settings.usage.sidebar.title":"Uso","settings.usage.sidebar.total":"Total {count}","settings.usage.sidebar.actions.toggleAutoRefreshAria":"Alternar refresco automático","settings.usage.sidebar.actions.refreshAria":"Actualizar uso","settings.usage.sidebar.actions.refreshTitle":"Actualizar uso","settings.usage.sidebar.tooltip.autoRefresh":"Actualizar automáticamente los datos de uso en el intervalo establecido","settings.usage.sidebar.field.intervalPlaceholder":"Intervalo","settings.usage.sidebar.field.display":"Visualización","settings.usage.sidebar.field.displayModePlaceholder":"Modo de visualización","settings.usage.sidebar.field.displayModeUsage":"Uso","settings.usage.sidebar.field.displayModeRemaining":"Cuota restante","settings.usage.sidebar.status.notSet":"No establecido","settings.usage.page.empty.selectProvider":"Selecciona un proveedor para ver detalles de uso.","settings.usage.page.header.providerUsage":"Uso de {provider}","settings.usage.page.header.refreshing":"Actualizando uso...","settings.usage.page.header.lastUpdated":"Última actualización: {time}","settings.usage.page.header.lastUpdatedWithPlan":"Plan: {plan} · Última actualización: {time}","settings.usage.page.options.showInWorkStatusAria":"Mostrar en el panel de estado del trabajo","settings.usage.page.options.showInWorkStatus":"Mostrar en el panel de estado del trabajo","settings.usage.page.options.showInWorkStatusTooltip":"Cuando esté habilitado, el uso de este proveedor será visible en el panel de estado del trabajo.","settings.usage.page.state.noData":"No hay datos de uso disponibles aún.","settings.usage.page.state.refreshFailedTitle":"No se pudo actualizar los datos de uso","settings.usage.page.state.providerNotConfiguredTitle":"Proveedor no configurado","settings.usage.page.state.providerNotConfiguredDescription":"Añade credenciales en la pestaña de Proveedores para habilitar el seguimiento de uso.","settings.usage.page.state.claudeSignedOutTitle":"No has iniciado sesión en Claude Code","settings.usage.page.state.claudeSignInCommand":"Ejecuta este comando en una terminal:","settings.usage.page.section.modelQuotas":"Cuotas de modelo","settings.usage.page.section.otherModels":"Otros modelos","settings.usage.page.state.noQuotaWindowsTitle":"No se reportaron ventanas de cuota","settings.usage.page.state.noQuotaWindowsDescription":"Este proveedor actualmente no reporta límites de tasa ni cuotas de uso.","settings.usage.page.window.giftResetAria":"Reinicio de límite de regalo","settings.usage.page.window.giftResetExpires":"Reinicio de límite de regalo disponible hasta {time}","settings.usage.page.window.giftResetActivated":"Reinicio de límite de regalo activado","settings.usage.page.window.giftResetActivateFailed":"No se pudo activar el reinicio de límite de regalo","settings.usage.page.window.giftResetNotNeeded":"No se necesita reinicio de límite de regalo por ahora","settings.usage.pace.status.onTrack":"A buen ritmo","settings.usage.pace.status.slightlyFast":"Ligeramente rápido","settings.usage.pace.status.tooFast":"Demasiado rápido","settings.usage.pace.status.usedUp":"Agotado","settings.usage.pace.predictionTooltip":"Uso predicho al final de la ventana basado en la velocidad actual: {prediction}","settings.usage.pace.wait":"Esperar {duration}","settings.usage.pace.prediction":"Pred.: {prediction}","settings.usage.pace.rate":"Velocidad: {rate}","settings.usage.pace.waitSeparator":" · Esperar ","settings.usage.pace.predictionLabel":"Pred.: ","settings.usage.card.showInHeaderAria":"Mostrar en el menú del encabezado","settings.usage.card.resetsAt":"Se restablece {time}","settings.usage.card.bar.used":"usado","settings.usage.card.bar.remaining":"restante","settings.remoteInstances.page.title":"Instancia remota","settings.remoteInstances.page.description":"Conéctate a otra máquina por SSH y abre OpenChamber allí.","settings.remoteInstances.page.empty.selectInstance":"Selecciona una instancia para ver y editar sus configuraciones.","settings.remoteInstances.page.empty.noExtraForwards":"No hay redirecciones adicionales de puerto configuradas.","settings.remoteInstances.page.section.actions":"Acciones","settings.remoteInstances.page.section.actionsDescription":"Conecta, reconecta, revisa registros o elimina esta conexión.","settings.remoteInstances.page.section.remoteServer":"OpenChamber en la máquina remota","settings.remoteInstances.page.section.remoteServerDescription":"Elige cómo debe ejecutarse OpenChamber después de conectar por SSH.","settings.remoteInstances.page.section.mainTunnel":"Acceso desde este equipo","settings.remoteInstances.page.section.mainTunnelDescription":"OpenChamber se ejecuta en la máquina remota. Estos ajustes solo controlan la dirección de este equipo que lleva hasta ella por el túnel SSH.","settings.remoteInstances.page.section.authentication":"Autenticación","settings.remoteInstances.page.section.authenticationDescription":"Credenciales opcionales para SSH y la interfaz de usuario de OpenChamber remoto.","settings.remoteInstances.page.section.portForwards":"Redirecciones de puerto","settings.remoteInstances.page.section.portForwardsDescription":"Puertos adicionales opcionales que estarán disponibles a través de esta conexión SSH.","settings.remoteInstances.page.field.sshCommand":"Comando SSH","settings.remoteInstances.page.field.sshCommandPlaceholder":"ssh user@host","settings.remoteInstances.page.field.nickname":"Apodo","settings.remoteInstances.page.field.nicknamePlaceholder":"Portátil de trabajo","settings.remoteInstances.page.field.connectionTimeoutSeconds":"Tiempo de espera de conexión (segundos)","settings.remoteInstances.page.field.installMethod":"Método de instalación","settings.remoteInstances.page.field.installMethodHint":"Cómo debe colocarse OpenChamber en la máquina remota cuando esta app lo inicia por ti.","settings.remoteInstances.page.field.selectInstallMethodPlaceholder":"Seleccionar método de instalación","settings.remoteInstances.page.field.selectBindHostPlaceholder":"Seleccionar host de enlace","settings.remoteInstances.page.field.sshPasswordOptional":"Contraseña SSH (opcional)","settings.remoteInstances.page.field.sshPasswordPlaceholder":"Introducir contraseña SSH","settings.remoteInstances.page.field.uiPasswordOptional":"Contraseña de interfaz de usuario (opcional)","settings.remoteInstances.page.field.uiPasswordPlaceholder":"Introducir contraseña de interfaz de usuario","settings.remoteInstances.page.field.forwardTypeHint":"Elige qué tipo de acceso a puertos debe ofrecer esta conexión SSH.","settings.remoteInstances.page.field.typePlaceholder":"Tipo","settings.remoteInstances.page.forwardType.local":"Local (-L)","settings.remoteInstances.page.forwardType.remote":"Remota (-R)","settings.remoteInstances.page.forwardType.dynamic":"Dinámica (-D)","settings.remoteInstances.page.forwardTypeDescription.local":"Abre un puerto local que se conecta a un servicio en la máquina remota.","settings.remoteInstances.page.forwardTypeDescription.remote":"Abre un puerto en la máquina remota que vuelve a conectarse a tu ordenador.","settings.remoteInstances.page.forwardTypeDescription.dynamic":"Abre un proxy SOCKS local a través de la conexión SSH.","settings.remoteInstances.page.actions.create":"Crear","settings.remoteInstances.page.actions.cancel":"Cancelar","settings.remoteInstances.page.actions.connecting":"Conectando...","settings.remoteInstances.page.actions.reconnecting":"Reconectando...","settings.remoteInstances.page.actions.reconnectNow":"Reconectar ahora","settings.remoteInstances.page.actions.logs":"Registros SSH","settings.remoteInstances.page.actions.pickRandomPort":"Elegir puerto aleatorio","settings.remoteInstances.page.actions.enableForwardAria":"Habilitar redirección","settings.remoteInstances.page.actions.openLocal":"Abrir local","settings.remoteInstances.page.actions.addForward":"Añadir redirección","settings.remoteInstances.page.addDialog.description":"Elige un host de tu configuración SSH o escribe la conexión tú mismo.","settings.remoteInstances.page.addDialog.sourceLabel":"De dónde viene la conexión","settings.remoteInstances.page.addDialog.tab.saved":"Desde la configuración SSH","settings.remoteInstances.page.addDialog.tab.manual":"Escribirla yo","settings.remoteInstances.page.addDialog.searchPlaceholder":"Buscar hosts","settings.remoteInstances.page.addDialog.emptySaved":"No se encontraron hosts en tu configuración SSH. Escribe la conexión tú mismo.","settings.remoteInstances.page.addDialog.searchEmpty":"Ningún host coincide con esta búsqueda.","settings.remoteInstances.page.addDialog.use":"Usar","settings.remoteInstances.page.state.notConnected":"Sin conexión","settings.remoteInstances.page.state.connecting":"Conectando","settings.remoteInstances.page.state.ready":"Conectado","settings.remoteInstances.page.state.problem":"Requiere atención","settings.remoteInstances.page.section.advanced":"Ajustes avanzados","settings.remoteInstances.page.section.advancedHint":"Puertos, método de instalación, contraseñas y reenvíos adicionales. Los valores predeterminados sirven para casi todas las conexiones.","settings.remoteInstances.page.field.installMethodAuto":"Automático","settings.remoteInstances.page.error.hint.noRuntime":"La máquina remota no tiene ni bun ni npm. Instala uno de ellos allí o cambia esta conexión a «Ya está en ejecución».","settings.remoteInstances.page.error.hint.noOpencode":"La CLI de opencode no está instalada en la máquina remota. Instálala allí (consulta opencode.ai) y vuelve a conectar.","settings.remoteInstances.page.error.action.setUiPassword":"Definir contraseña de la interfaz","settings.remoteInstances.page.error.action.pickRandomPort":"Usar otro puerto local","settings.remoteInstances.page.error.action.setRemotePort":"Definir el puerto remoto","settings.remoteInstances.page.validation.externalPortRequired":"Primero indica un puerto remoto. En el modo «Ya está en ejecución», OpenChamber necesita saber en qué puerto escucha el servidor.","settings.remoteInstances.page.empty.noInstances":"Aún no hay conexiones SSH.","settings.remoteInstances.page.field.uiPasswordRequired":"Contraseña de la interfaz (obligatoria)","settings.remoteInstances.page.field.uiPasswordMissingForLan":"Obligatoria mientras el servidor remoto sea accesible en su red.","settings.remoteInstances.page.field.remoteLanAccess":"Accesible en la red remota","settings.remoteInstances.page.field.remoteLanAccessHint":"Permitir también que otros dispositivos de la red de la máquina remota abran este OpenChamber directamente, sin el túnel SSH. Requiere contraseña de la interfaz.","settings.remoteInstances.page.field.remoteLanAccessWarning":"Cualquiera en esa red puede llegar al OpenChamber remoto. Solo lo protege la contraseña de la interfaz de abajo.","settings.remoteInstances.page.validation.remoteLanNeedsPassword":"Define primero una contraseña de la interfaz. Sin ella, el OpenChamber remoto quedaría abierto a todos los dispositivos de esa red.","settings.remoteInstances.page.field.bindHostOption.loopback":"Solo este equipo (127.0.0.1)","settings.remoteInstances.page.field.bindHostOption.localhost":"Solo este equipo (localhost)","settings.remoteInstances.page.field.bindHostOption.lan":"Cualquier dispositivo de mi red (0.0.0.0)","settings.remoteInstances.page.field.sshPasswordHint":"Solo hace falta cuando este host pide contraseña en lugar de aceptar una clave SSH.","settings.remoteInstances.page.field.uiPasswordHintManaged":"Contraseña con la que se protegerá la interfaz remota de OpenChamber. OpenChamber la aplica al servidor que inicia por ti.","settings.remoteInstances.page.field.uiPasswordHintExternal":"Contraseña del servidor OpenChamber que ya se ejecuta en la máquina remota, usada para iniciar sesión.","settings.remoteInstances.page.tunnelPreview.caption":"Esta conexión reenvía:","settings.remoteInstances.page.empty.noInstancesWithOneImport":"Aún no hay conexiones SSH. Hay 1 host disponible para importar desde tu configuración SSH.","settings.remoteInstances.page.empty.noInstancesWithImports":"Aún no hay conexiones SSH. Hay {count} hosts disponibles para importar desde tu configuración SSH.","settings.remoteInstances.page.state.loadingInstances":"Cargando conexiones...","settings.remoteInstances.page.import.loading":"Cargando hosts SSH...","settings.remoteInstances.page.import.noneFound":"No se encontraron hosts SSH.","settings.remoteInstances.page.import.noneAvailable":"No hay hosts SSH disponibles para importar.","settings.remoteInstances.page.import.patternSuffix":"(patrón)","settings.remoteInstances.page.status.currentLocalUrl":"URL local actual:","settings.remoteInstances.page.status.reconnectStale":"La reconexión parece estar atascada. Puedes intentarlo ahora.","settings.remoteInstances.page.logsDialog.title":"Registros SSH","settings.remoteInstances.page.logsDialog.loading":"Cargando registros...","settings.remoteInstances.page.logsDialog.empty":"No hay registros SSH aún.","settings.remoteInstances.page.patternDialog.title":"Crear desde patrón comodín","settings.remoteInstances.page.patternDialog.destinationPlaceholder":"user@host","settings.remoteInstances.page.phase.resolvingConfiguration":"Resolviendo configuración","settings.remoteInstances.page.phase.checkingAuth":"Verificando autenticación","settings.remoteInstances.page.phase.establishingSsh":"Estableciendo conexión SSH","settings.remoteInstances.page.phase.probingRemote":"Comprobando la máquina remota","settings.remoteInstances.page.phase.installingOpenChamber":"Instalando OpenChamber","settings.remoteInstances.page.phase.updatingOpenChamber":"Actualizando OpenChamber","settings.remoteInstances.page.phase.detectingServer":"Detectando servidor","settings.remoteInstances.page.phase.startingServer":"Iniciando servidor","settings.remoteInstances.page.phase.forwardingPorts":"Redirigiendo puertos","settings.remoteInstances.page.phase.reconnecting":"Reconectando","settings.remoteInstances.page.confirm.storeSshPasswordPlaintext":"¿Guardar contraseña SSH en texto plano en disco?","settings.remoteInstances.page.confirm.storeUiPasswordPlaintext":"¿Guardar contraseña de interfaz de usuario en texto plano en disco?","settings.remoteInstances.page.confirm.removeInstance":"¿Eliminar esta instancia remota?","settings.remoteInstances.page.toast.sshCommandRequired":"Se requiere el comando SSH","settings.remoteInstances.page.toast.saveFailed":"No se pudo guardar la instancia","settings.remoteInstances.page.toast.instanceSaved":"Instancia guardada","settings.remoteInstances.page.toast.instanceCreated":"Instancia creada","settings.remoteInstances.page.toast.destinationRequired":"Se requiere destino","settings.remoteInstances.page.toast.noLogsToCopy":"No hay registros para copiar","settings.remoteInstances.page.toast.logsCopied":"Registros copiados","settings.remoteInstances.page.toast.logsCleared":"Registros eliminados","settings.remoteInstances.page.toast.clearLogsFailed":"No se pudieron eliminar los registros","settings.remoteInstances.page.toast.instanceUrlUnavailable":"La URL de la instancia no está disponible","settings.remoteInstances.page.toast.connectFailed":"No se pudo conectar con la instancia","settings.remoteInstances.page.toast.cancelConnectionFailed":"No se pudo cancelar la conexión","settings.remoteInstances.page.toast.disconnectFailed":"No se pudo desconectar la instancia","settings.remoteInstances.page.toast.retryFailed":"No se pudo reintentar la conexión","settings.remoteInstances.page.toast.instanceRemoved":"Instancia eliminada","settings.remoteInstances.page.toast.removeInstanceFailed":"No se pudo eliminar la instancia","settings.openchamber.worktrees.state.selectProject":"Selecciona un proyecto para gestionar worktrees.","settings.openchamber.worktrees.state.gitOnly":"La configuración de worktree solo está disponible para repositorios Git.","settings.openchamber.worktrees.setup.title":"Comandos de configuración","settings.openchamber.worktrees.setup.tooltipPrefix":"Ejecútalo automáticamente dentro del directorio del nuevo worktree cuando se crea un worktree. Usa","settings.openchamber.worktrees.setup.tooltipSuffix":"para la raíz del proyecto.","settings.openchamber.worktrees.setup.commandPlaceholder":"ej.: bun install","settings.openchamber.worktrees.setup.removeCommandAria":"Eliminar comando","settings.openchamber.worktrees.setup.addCommand":"Añadir comando","settings.openchamber.worktrees.setup.waitForCommands":"Esperar a que terminen los comandos de configuración antes de crear o enviar una sesión","settings.openchamber.worktrees.setup.toast.saveFailed":"Error al guardar los comandos de configuración del worktree","settings.openchamber.worktrees.list.title":"Worktrees existentes","settings.openchamber.worktrees.list.tooltip":"Eliminar un worktree también elimina las sesiones vinculadas.","settings.openchamber.worktrees.list.loading":"Cargando worktrees...","settings.openchamber.worktrees.list.empty":"No se encontraron worktrees para este proyecto","settings.openchamber.worktrees.list.detachedHead":"HEAD desvinculado","settings.openchamber.worktrees.list.deleteWorktreeAria":"Eliminar worktree {name}","settings.agents.modelSelector.title":"Seleccionar modelo","settings.agents.modelSelector.searchPlaceholder":"Buscar modelos","settings.agents.modelSelector.selectPlaceholder":"Seleccionar modelo...","settings.agents.modelSelector.notSelected":"No seleccionado","settings.agents.modelSelector.noModelOptional":"Sin modelo (opcional)","settings.agents.modelSelector.section.favorites":"Favoritos","settings.agents.modelSelector.section.recents":"Recientes","settings.agents.modelSelector.section.recent":"Reciente","settings.agents.modelSelector.badge.current":"Actual","settings.agents.modelSelector.actions.favorite":"Favorito","settings.agents.modelSelector.actions.unfavorite":"No favorito","settings.agents.modelSelector.actions.addToFavorites":"Añadir a favoritos","settings.agents.modelSelector.actions.removeFromFavorites":"Eliminar de favoritos","settings.agents.modelSelector.state.noModelsFound":"No se encontraron modelos","settings.agents.modelSelector.keyboardHints":"↑↓ navegar • Enter seleccionar • Esc cerrar","settings.providers.page.state.loading":"Cargando...","settings.providers.page.state.unableToLoadProviderList":"No se pudo cargar la lista de proveedores","settings.providers.page.connect.title":"Conectar proveedor","settings.providers.page.connect.noProvidersFound":"No se encontraron proveedores","settings.providers.connect.searchPlaceholder":"Buscar proveedores","settings.providers.connect.popular":"Populares","settings.providers.connect.all":"Todos los proveedores","settings.providers.connect.showAll":"Mostrar todos los proveedores ({count})","settings.providers.connect.recommended":"Recomendado","settings.providers.connect.customHint":"Cualquier endpoint compatible con OpenAI o Anthropic","settings.providers.connect.note.openai":"Modelos GPT, inicia sesión con ChatGPT","settings.providers.connect.note.opencodeGo":"Suscripción económica","settings.providers.connect.note.openrouter":"Todos los modelos con una sola clave","settings.providers.connect.note.anthropic":"Modelos Claude con una clave de API","settings.providers.connect.note.githubCopilot":"Modelos de tu plan de Copilot","settings.providers.connect.note.google":"Modelos Gemini con una clave de API","settings.providers.connect.note.vercel":"Muchos modelos a través de una sola pasarela","settings.providers.page.custom.title":"Proveedor personalizado","settings.providers.page.custom.editTitle":"Editar proveedor personalizado","settings.providers.page.custom.description":"Añade un proveedor con URL base, credenciales, lista de modelos y un protocolo de API compatible. Se guarda en la configuración de OpenCode para usarlo en el chat.","settings.providers.page.custom.field.providerID.label":"ID del proveedor","settings.providers.page.custom.field.providerID.placeholder":"mi-proveedor","settings.providers.page.custom.field.providerID.info":"Minúsculas, números, guiones y guiones bajos. Se usa como ID de proveedor de OpenCode.","settings.providers.page.custom.field.name.label":"Nombre visible","settings.providers.page.custom.field.name.placeholder":"Mi proveedor","settings.providers.page.custom.field.name.info":"Se muestra en los selectores de proveedor y modelo.","settings.providers.page.custom.field.icon.label":"Icono del proveedor","settings.providers.page.custom.field.icon.info":"Se usa para este proveedor personalizado en las listas de proveedores y modelos.","settings.providers.page.custom.field.icon.option.default":"Predeterminado","settings.providers.page.custom.field.icon.option.server":"Servidor","settings.providers.page.custom.field.icon.option.cloud":"Nube","settings.providers.page.custom.field.icon.option.database":"Base de datos","settings.providers.page.custom.field.icon.option.terminal":"Terminal","settings.providers.page.custom.field.icon.option.code":"Código","settings.providers.page.custom.field.icon.option.ai":"IA","settings.providers.page.custom.field.protocol.label":"Protocolo de API","settings.providers.page.custom.field.protocol.info":"Elige el formato de solicitud que implementa esta API.","settings.providers.page.custom.field.protocol.openaiChat":"OpenAI Chat Completions","settings.providers.page.custom.field.protocol.openaiResponses":"OpenAI Responses","settings.providers.page.custom.field.protocol.anthropicMessages":"Anthropic Messages","settings.providers.page.custom.field.baseURL.label":"URL base","settings.providers.page.custom.field.baseURL.placeholder":"https://api.example.com/v1","settings.providers.page.custom.field.baseURL.info":"URL base de la API compatible con OpenAI. Debe empezar por http:// o https://.","settings.providers.page.custom.field.apiKey.label":"Clave API","settings.providers.page.custom.field.apiKey.placeholder":"sk-... o {env:VAR_NAME}","settings.providers.page.custom.field.apiKey.info":"Se guarda en la autenticación de OpenCode, no en OpenChamber. Usa {env:VAR_NAME} para leer una clave del entorno.","settings.providers.page.custom.field.apiKey.editInfo":"Déjalo en blanco para conservar la credencial existente, o introduce una clave nueva / {env:VAR_NAME}.","settings.providers.page.custom.field.apiKey.editPlaceholder":"Déjalo en blanco para conservar la clave existente","settings.providers.page.custom.models.title":"Modelos","settings.providers.page.custom.models.idLabel":"ID del modelo","settings.providers.page.custom.models.idPlaceholder":"gpt-4o","settings.providers.page.custom.models.nameLabel":"Nombre del modelo","settings.providers.page.custom.models.namePlaceholder":"GPT-4o","settings.providers.page.custom.models.variantsLabel":"Niveles de razonamiento","settings.providers.page.custom.models.variantsPlaceholder":"low, medium, high","settings.providers.page.custom.models.variantsInfo":"Opcional. Niveles de esfuerzo separados por comas que acepta el endpoint, p. ej. low, medium, high. Cada uno se convierte en una variante que puedes elegir en el selector de modelos.","settings.providers.page.custom.models.add":"Añadir modelo","settings.providers.page.custom.models.remove":"Quitar modelo","settings.providers.page.custom.models.untitled":"Modelo nuevo","settings.providers.page.custom.headers.title":"Encabezados","settings.providers.page.custom.headers.description":"Encabezados de solicitud opcionales enviados en cada llamada.","settings.providers.page.custom.headers.keyLabel":"Nombre del encabezado","settings.providers.page.custom.headers.keyPlaceholder":"X-Custom-Header","settings.providers.page.custom.headers.valueLabel":"Valor del encabezado","settings.providers.page.custom.headers.valuePlaceholder":"valor","settings.providers.page.custom.headers.add":"Añadir encabezado","settings.providers.page.custom.headers.remove":"Quitar encabezado","settings.providers.page.custom.actions.back":"Atrás","settings.providers.page.custom.actions.save":"Guardar proveedor","settings.providers.page.custom.actions.update":"Actualizar proveedor","settings.providers.page.custom.error.providerID.required":"El ID del proveedor es obligatorio","settings.providers.page.custom.error.providerID.format":"Usa minúsculas, números, guiones o guiones bajos","settings.providers.page.custom.error.providerID.exists":"Ya hay un proveedor conectado con este ID","settings.providers.page.custom.error.name.required":"El nombre visible es obligatorio","settings.providers.page.custom.error.baseURL.required":"La URL base es obligatoria","settings.providers.page.custom.error.baseURL.format":"La URL base debe empezar por http:// o https://","settings.providers.page.custom.error.required":"Obligatorio","settings.providers.page.custom.error.duplicate":"Duplicado","settings.providers.page.custom.error.apiKey.required":"Se requiere una clave API o {env:VAR_NAME}","settings.providers.page.custom.authFailure.keyAfterConfig":"El proveedor se guardó, pero su clave de API no. Guarda de nuevo para reintentar la clave o desconéctalo para eliminar el proveedor.","settings.providers.page.auth.title":"Autenticación","settings.providers.page.auth.loadingMethods":"Cargando métodos de autenticación...","settings.providers.page.auth.apiKeyLabel":"Clave API","settings.providers.page.auth.apiKeyTooltip":"Las claves se envían directamente a OpenCode y nunca se almacenan en OpenChamber.","settings.providers.page.auth.apiKeyPlaceholder":"sk-...","settings.providers.page.auth.oauthMethodFallback":"Método OAuth {index}","settings.providers.page.auth.pasteAuthorizationCodePlaceholder":"Pegar código de autorización","settings.providers.page.auth.oauth.starting":"Iniciando la autorización…","settings.providers.page.auth.external.connecting":"Conectando…","settings.providers.page.auth.field.other":"Otro…","settings.providers.page.auth.field.otherPlaceholder":"Escribe un valor","settings.providers.page.auth.oauth.waiting":"Esperando la autorización…","settings.providers.page.auth.oauth.waitingHint":"Termina de iniciar sesión en el navegador. Mantén esta página abierta: la conexión se completará sola.","settings.providers.page.auth.oauth.codeHint":"Copia el código de autorización del navegador y pégalo aquí.","settings.providers.page.auth.oauth.deviceCodeLabel":"Código del dispositivo","settings.providers.page.auth.oauth.linkLabel":"Enlace de autorización","settings.providers.page.auth.oauth.promptRequired":"Completa «{field}» para continuar","settings.providers.page.auth.oauth.error.sessionExpired":"La solicitud de autorización caducó. Vuelve a conectar para reiniciarla.","settings.providers.page.auth.oauth.error.codeRequired":"Este proveedor necesita el código de autorización de tu navegador.","settings.providers.page.auth.oauth.error.declined":"La autorización se rechazó o no se completó.","settings.providers.page.auth.oauth.error.invalidInput":"Se rechazaron los datos introducidos.","settings.providers.page.auth.incomplete":"Faltan credenciales","settings.providers.page.auth.incompleteHint":"· Añade una clave API o {env:VAR} antes de usar este proveedor en el chat","settings.providers.page.connectionDetails.source.userConfig":"configuración del usuario","settings.providers.page.connectionDetails.source.projectConfig":"configuración del proyecto","settings.providers.page.connectionDetails.source.customConfig":"configuración personalizada","settings.providers.page.models.title":"Modelos disponibles","settings.providers.page.models.filterPlaceholder":"Filtrar modelos...","settings.providers.page.models.noModelsMatchFilter":"No hay modelos que coincidan con este filtro.","settings.providers.page.models.capability.toolCalling":"Uso de herramientas","settings.providers.page.models.capability.reasoning":"Razonamiento","settings.providers.page.models.capability.imageInput":"Entrada de imagen","settings.providers.page.models.tokenBadge.context":"ctx","settings.providers.page.models.tokenBadge.output":"out","settings.providers.page.models.actions.hideModelFromSelectors":"Ocultar modelo en selectores","settings.providers.page.models.actions.showModelInSelectors":"Mostrar modelo en selectores","settings.providers.page.models.actions.hideModel":"Ocultar modelo","settings.providers.page.models.actions.showModel":"Mostrar modelo","settings.providers.page.actions.saving":"Guardando...","settings.providers.page.actions.saveKey":"Guardar clave","settings.providers.page.actions.connect":"Conectar","settings.providers.page.actions.copyCode":"Copiar código","settings.providers.page.actions.open":"Abrir","settings.providers.page.actions.copy":"Copiar","settings.providers.page.actions.complete":"Completar","settings.providers.page.actions.continue":"Continuar","settings.providers.page.actions.cancel":"Cancelar","settings.providers.page.actions.tryAgain":"Reintentar","settings.providers.page.actions.hide":"Ocultar","settings.providers.page.actions.edit":"Editar","settings.providers.page.actions.disconnect":"Desconectar","settings.providers.page.actions.hideAll":"Ocultar todo","settings.providers.page.actions.showAll":"Mostrar todo","settings.providers.page.toast.authMethodsLoadFailed":"No se pudo cargar los métodos de autenticación del proveedor","settings.providers.page.toast.providerSourcesLoadFailed":"No se pudo cargar las fuentes del proveedor","settings.providers.page.toast.apiKeyRequired":"Se requiere una clave API","settings.providers.page.toast.apiKeySaveFailed":"No se pudo guardar la clave API","settings.providers.page.toast.apiKeySaved":"Clave API guardada","settings.providers.page.toast.oauthStartFailed":"No se pudo iniciar el flujo OAuth","settings.providers.page.toast.oauthDetailsMissing":"No se devolvieron detalles de OAuth","settings.providers.page.toast.oauthCompleteFailed":"No se pudo completar el flujo OAuth","settings.providers.page.toast.oauthCompleted":"Conexión OAuth completada","settings.providers.page.toast.externalConnected":"Conectado con credenciales externas","settings.providers.page.toast.externalConnectFailed":"No se pudo conectar con credenciales externas","settings.providers.page.toast.oauthLinkCopied":"Enlace de OAuth copiado","settings.providers.page.toast.oauthLinkCopyFailed":"No se pudo copiar el enlace de OAuth","settings.providers.page.toast.deviceCodeCopied":"Código de dispositivo copiado","settings.providers.page.toast.deviceCodeCopyFailed":"No se pudo copiar el código de dispositivo","settings.providers.page.toast.providerDisconnected":"Proveedor desconectado","settings.providers.page.toast.providerDisconnectFailed":"No se pudo desconectar el proveedor","settings.providers.page.toast.customProviderSaved":"{provider} conectado","settings.providers.page.custom.discovery.fetch":"Buscar modelos","settings.providers.page.custom.discovery.fetching":"Buscando modelos...","settings.providers.page.custom.discovery.info":"Consulta una vez la lista de modelos de este proveedor. Los límites y las capacidades se completan desde models.dev cuando conoce el modelo. Después no se actualiza nada por sí solo.","settings.providers.page.custom.discovery.failed":"No se pudieron obtener los modelos de este proveedor","settings.providers.page.custom.discovery.review":"Modelos encontrados","settings.providers.page.custom.discovery.counts":"{matching} de {total} modelos, {selected} seleccionados","settings.providers.page.custom.discovery.selectAll":"Seleccionar todo","settings.providers.page.custom.discovery.deselectAll":"Deseleccionar todo","settings.providers.page.custom.discovery.importSelected":"Añadir seleccionados ({count})","settings.providers.page.custom.discovery.cancel":"Cancelar","settings.providers.page.custom.discovery.alreadyAdded":"Ya añadido","settings.providers.page.custom.discovery.contextValue":"Contexto {value}","settings.providers.page.custom.discovery.outputValue":"Salida {value}","settings.providers.page.custom.discovery.source.provider-api":"Completado desde el proveedor","settings.providers.page.custom.discovery.source.models.dev":"Completado desde models.dev","settings.providers.page.custom.models.contextWindow":"Ventana de contexto","settings.providers.page.custom.models.maxOutputTokens":"Máximo de tokens de salida","settings.providers.page.custom.models.inputCapabilities":"Capacidades de entrada","settings.providers.page.custom.models.outputCapabilities":"Capacidades de salida","settings.providers.page.custom.models.tools":"Llamadas a herramientas","settings.providers.page.custom.models.toolsOff":"sin llamadas a herramientas","settings.providers.page.custom.error.positiveInteger":"Introduce un número entero positivo","settings.providers.page.toast.customProviderSaveFailed":"No se pudo guardar el proveedor personalizado","settings.mcp.page.header.newServer":"Nuevo servidor MCP","settings.mcp.page.header.configureNewServer":"Configurar un nuevo servidor MCP","settings.mcp.page.header.transport":"{type} transporte","settings.mcp.page.transport.local":"Local · stdio","settings.mcp.page.transport.remote":"Remoto · SSE","settings.mcp.page.status.label.connected":"Conectado","settings.mcp.page.status.label.failed":"Fallido","settings.mcp.page.status.label.needsAuth":"Necesita autenticación","settings.mcp.page.status.label.needsRegistration":"Necesita registro","settings.mcp.page.status.description.connected":"Conectado y listo para que OpenCode descubra herramientas y recursos.","settings.mcp.page.status.description.failedDefault":"OpenCode no pudo alcanzar este servidor MCP.","settings.mcp.page.status.description.needsAuth":"Este servidor MCP remoto requiere autorización antes de poder conectarse.","settings.mcp.page.status.description.needsClientRegistrationDefault":"Este servidor MCP remoto requiere registro del cliente antes de completar la autorización.","settings.mcp.page.status.description.disabled":"Este servidor MCP está desactivado en la configuración.","settings.mcp.page.status.description.blockedByPolicy":"Una política de tu configuración de OpenCode bloquea este servidor, así que OpenCode no lo inicia. Cambia la regla integration.use para permitirlo.","settings.mcp.page.status.description.default":"Actualiza o prueba la conexión para cargar el estado de ejecución en tiempo real.","settings.mcp.page.status.runtimeStatus":"Estado de ejecución","settings.mcp.page.status.projectScopedTo":"Alcance del proyecto: {directory}","settings.mcp.page.status.userScoped":"Configuración de alcance del usuario","settings.mcp.page.status.activeProject":"el proyecto activo","settings.mcp.page.actions.connect":"Conectar","settings.mcp.page.actions.disconnect":"Desconectar","settings.mcp.page.actions.authorize":"Autorizar","settings.mcp.page.actions.reauthorize":"Reautorizar","settings.mcp.page.actions.clearAuth":"Limpiar autenticación","settings.mcp.page.actions.test":"Probar","settings.mcp.page.actions.testConnection":"Probar conexión","settings.mcp.page.actions.working":"Trabajando...","settings.mcp.page.actions.starting":"Iniciando...","settings.mcp.page.actions.clearing":"Limpiando...","settings.mcp.page.actions.testing":"Probando...","settings.mcp.page.actions.completing":"Completando...","settings.mcp.page.actions.completeAuthorization":"Completar autorización","settings.mcp.page.actions.openInBrowser":"Abrir en el navegador","settings.mcp.page.actions.copyLink":"Copiar enlace","settings.mcp.page.actions.deleting":"Eliminando…","settings.mcp.page.auth.authorizationUrl":"URL de autorización","settings.mcp.page.auth.manualFallbackTitle":"Autenticación manual alternativa","settings.mcp.page.auth.manualFallbackDescription":"Si el navegador vuelve a una máquina diferente o muestra una URL de callback con un código, pega esa URL completa o el código sin formato aquí.","settings.mcp.page.auth.callbackInputPlaceholder":"Pega la URL de callback o el código de autorización","settings.mcp.page.auth.waitingForOpenCode":"Esperando a que OpenCode observe el flujo de autorización completado por el navegador...","settings.mcp.page.server.title":"Servidor","settings.mcp.page.server.name":"Nombre del servidor","settings.mcp.page.server.namePlaceholder":"my-mcp-server","settings.mcp.page.server.importJson":"Importar desde un fragmento JSON","settings.mcp.page.server.importJsonTitle":"Importa una configuración completa del servidor MCP desde un fragmento JSON","settings.mcp.page.server.enable":"Habilitar servidor","settings.mcp.page.server.enableAria":"Habilitar servidor","settings.mcp.page.server.transportMode":"Modo de transporte","settings.mcp.page.connection.command":"Comando","settings.mcp.page.connection.serverUrl":"URL del servidor","settings.mcp.page.connection.serverUrlPlaceholder":"https://mcp.example.com/mcp","settings.mcp.page.connection.pasteCommand":"Pegar comando","settings.mcp.page.connection.pasteCommandTitle":"Pega un comando local desde el portapapeles y divídelo automáticamente","settings.mcp.page.connection.previewArgs":"Vista previa ({count} argumentos)","settings.mcp.page.advanced.title":"Avanzado","settings.mcp.page.advanced.configure":"Configurar opciones avanzadas","settings.mcp.page.advanced.autoDetect":"Detectar automáticamente","settings.mcp.page.advanced.custom":"Personalizado","settings.mcp.page.advanced.headers":"encabezados","settings.mcp.page.advanced.requestHeaders":"Encabezados de solicitud","settings.mcp.page.advanced.headerNamePlaceholder":"Header-Name","settings.mcp.page.advanced.pasteHeaders":"Pegar encabezados","settings.mcp.page.advanced.pasteHeadersTitle":"Pega líneas KEY=VALUE de encabezados desde el portapapeles","settings.mcp.page.advanced.oauthAutoDetection":"Habilitar detección automática de OAuth","settings.mcp.page.advanced.oauthAutoDetectionAria":"Habilitar detección automática de OAuth","settings.mcp.page.advanced.oauthClientIdPlaceholder":"OAuth client ID","settings.mcp.page.advanced.oauthClientSecretPlaceholder":"OAuth client secret","settings.mcp.page.advanced.oauthScopesPlaceholder":"Scopes (separados por espacios)","settings.mcp.page.advanced.oauthRedirectUriPlaceholder":"Redirect URI","settings.mcp.page.advanced.oauthHint":"Dejar estos campos en blanco para que OpenCode infiera automáticamente la configuración de OAuth del servidor MCP.","settings.mcp.page.advanced.oauthCallbackHint":"La autorización basada en el navegador utiliza esta URL de callback cuando el Redirect URI está en blanco:","settings.mcp.page.env.title":"Variables de entorno","settings.mcp.page.env.key":"Clave","settings.mcp.page.env.value":"Valor","settings.mcp.page.env.valuePlaceholder":"valor","settings.mcp.page.env.hide":"Ocultar","settings.mcp.page.env.show":"Mostrar","settings.mcp.page.env.addVariable":"Añadir variable","settings.mcp.page.env.addEnvironmentVariable":"Añadir variable de entorno","settings.mcp.page.env.keyPlaceholder":"API_KEY","settings.mcp.page.env.pasteEnv":"Pegar .env","settings.mcp.page.env.pasteEnvTitle":"Pega líneas KEY=VALUE desde el portapapeles","settings.mcp.page.env.plainTextWarning":"⚠ Los valores se almacenan como texto plano en opencode.json","settings.mcp.page.env.removeVariableAria":"Eliminar variable","settings.mcp.page.importDialog.title":"Importar fragmento JSON","settings.mcp.page.importDialog.description":"Pega un fragmento completo de JSON MCP desde documentos u otro archivo de configuración. Los valores leídos llenarán este formulario para revisión antes de guardar.","settings.mcp.page.importDialog.pasteFromClipboard":"Pegar JSON desde el portapapeles","settings.mcp.page.deleteDialog.title":'Eliminar "{name}"?',"settings.mcp.page.deleteDialog.descriptionPrefix":"Esto elimina el servidor de","settings.mcp.page.deleteDialog.descriptionSuffix":"OpenCode necesitará recargar.","settings.mcp.page.toast.clipboardReadFailed":"No se puede leer el portapapeles","settings.mcp.page.toast.configImported":"Configuración MCP importada","settings.mcp.page.toast.nameRequired":"Se requiere un nombre","settings.mcp.page.toast.serverNameExists":"Ya existe un servidor con este nombre","settings.mcp.page.toast.localCommandRequired":"El comando no puede estar vacío para un servidor local","settings.mcp.page.toast.remoteUrlRequired":"La URL no puede estar vacía para un servidor remoto","settings.mcp.page.toast.serverCreatedReloadFailed":"Servidor MCP creado, pero OpenCode no pudo recargar.","settings.mcp.page.toast.savedReloadFailed":"Guardado, pero OpenCode no pudo recargar.","settings.mcp.page.toast.retryRefreshHint":"Vuelve a actualizar o vuelve a abrir Configuración antes de autorizar este servidor.","settings.mcp.page.toast.serverCreatedReloading":"Servidor MCP creado. OpenCode recargando…","settings.mcp.page.toast.saveFailed":"No se pudo guardar","settings.mcp.page.toast.unexpectedError":"Ocurrió un error","settings.mcp.page.toast.serverDeletedReloadFailed":'"{name}" eliminado, pero OpenCode no pudo recargar',"settings.mcp.page.toast.refreshListIfStale":"Actualiza la lista de MCP si la interfaz parece desactualizada.","settings.mcp.page.toast.serverDeleted":'"{name}" eliminado',"settings.mcp.page.toast.deleteFailed":"No se pudo eliminar","settings.mcp.page.toast.disconnected":"Desconectado","settings.mcp.page.toast.connected":"Conectado","settings.mcp.page.toast.connectionNeedsAuthorization":"La conexión requiere autorización","settings.mcp.page.toast.connectionNeedsClientRegistration":"La conexión requiere registro del cliente","settings.mcp.page.toast.connectionFailed":"Error de conexión","settings.mcp.page.toast.connectionAttemptFinished":"Intento de conexión finalizado. Refresca el estado para más detalles.","settings.mcp.page.toast.createServerBeforeLiveActions":"Crea el servidor antes de ejecutar acciones en vivo","settings.mcp.page.toast.refreshStatusFailed":"No se pudo actualizar el estado de MCP","settings.mcp.page.toast.oauthRedirectUrlBuildFailed":"No se pudo construir la URL de redirección de OAuth de MCP","settings.mcp.page.toast.oauthBrowserCallbackSaveFailed":"No se pudo guardar la URL de callback del navegador para la autorización de MCP","settings.mcp.page.toast.openCodeReloadFailedAfterCallbackSave":"No se pudo recargar OpenCode después de guardar la URL de callback del navegador","settings.mcp.page.toast.completeAuthorizationInBrowserWithPaste":"Completa el flujo de autorización de MCP en tu navegador, luego pega el código o URL de callback devuelto aquí","settings.mcp.page.toast.completeAuthorizationInBrowser":"Completa el flujo de autorización de MCP en tu navegador","settings.mcp.page.toast.openAuthorizationUrlFailed":"No se pudo abrir la URL de autorización automáticamente","settings.mcp.page.toast.authorizationStartFailed":"No se pudo iniciar la autorización","settings.mcp.page.toast.authSessionExpired":"La sesión de autorización expiró o fue eliminada durante el reinicio. Haz clic en Autorizar nuevamente.","settings.mcp.page.toast.savedAuthorizationRemoved":"La autorización guardada de MCP fue eliminada","settings.mcp.page.toast.clearAuthorizationFailed":"No se pudo limpiar la autorización","settings.mcp.page.toast.authorizationUrlCopied":"URL de autorización copiada","settings.mcp.page.toast.authorizationUrlCopyFailed":"No se pudo copiar la URL de autorización","settings.mcp.page.toast.pasteCallbackOrCodeFirst":"Pega primero la URL de callback o el código de autorización","settings.mcp.page.toast.missingServerDetails":"Detalles del servidor MCP faltantes. Selecciona el servidor nuevamente o pega la URL completa de callback.","settings.mcp.page.toast.authorizationCompleted":"Autorización de MCP completada","settings.mcp.page.toast.authorizationCompletedFor":"Autorización de MCP completada para {name}","settings.mcp.page.toast.authorizationCompleteFailed":"No se pudo completar la autorización de MCP","settings.mcp.page.toast.enableServerBeforeTest":"Habilita este servidor antes de probar la conexión","settings.mcp.page.toast.connectionTestSucceeded":"Prueba de conexión correcta","settings.mcp.page.toast.connectionTestFailed":"No se pudo probar la conexión","settings.mcp.page.toast.connectionTestFinished":"Prueba de conexión finalizada. Actualiza el estado para ver detalles.","settings.mcp.page.toast.authorizationFailed":"No se pudo autorizar","settings.mcp.page.toast.authorizationStillInProgress":"La autorización aún está en progreso en tu navegador. Pega la URL de callback o el código si es necesario.","settings.mcp.page.toast.noKeyValuePairsFound":"No se encontraron pares KEY=VALUE en el portapapeles","settings.mcp.page.toast.importedVariablesCount":"Variables importadas: {count}","settings.mcp.page.toast.pastedArgumentsCount":"Argumentos pegados: {count}","settings.shared.projectSelector.fallbackProject":"Proyecto","settings.shared.projectSelector.switchProjectAria":"Cambiar proyecto","settings.shared.projectSelector.switchProjectTitle":"Cambiar proyecto","settings.shared.projectSelector.sheetTitle":"Proyecto","settings.shared.projectSelector.searchPlaceholder":"Buscar proyectos...","settings.openchamber.defaults.title":"Configuración por defecto","settings.openchamber.defaults.summaryPrefix":"Las nuevas sesiones comenzarán con:","settings.openchamber.defaults.summaryOpenCodeDefault":"Agente OpenCode por defecto","settings.openchamber.defaults.field.defaultModel":"Modelo por defecto","settings.openchamber.defaults.field.defaultThinking":"Pensamiento por defecto","settings.openchamber.defaults.field.thinkingPlaceholder":"Pensando","settings.openchamber.defaults.field.defaultAgent":"Agente por defecto","settings.openchamber.defaults.field.showDeletionDialogAria":"Mostrar diálogo de eliminación","settings.openchamber.defaults.field.sessionWarming":"Mantener activas las sesiones inactivas","settings.openchamber.defaults.field.sessionWarmingInfo":"Algunos proveedores olvidan el contexto en caché de una conversación tras unos minutos de silencio, así que el siguiente mensaje tarda más y cuesta más. Con esto activado, OpenCode envía una petición mínima «OK» cada 4 minutos mientras la sesión está inactiva, hasta 30 minutos después de tu último mensaje. Cada ping se cobra como una petición pequeña. Se aplica a todos los proyectos.","settings.openchamber.defaults.smallModel.title":"Modelo pequeño","settings.openchamber.defaults.smallModel.description":"Un modelo económico para tareas utilitarias rápidas, como recapitulaciones y resúmenes breves.","settings.openchamber.defaults.smallModel.useDefault":"Usar el modelo pequeño predeterminado","settings.openchamber.defaults.smallModel.useDefaultAria":"Usar el modelo pequeño predeterminado","settings.openchamber.defaults.walkthroughModel.title":"Modelo del recorrido de cambios","settings.openchamber.defaults.walkthroughModel.description":"La revisión con IA de tus cambios necesita salida estructurada y espacio para un diff completo, algo que un modelo pequeño y barato a menudo no ofrece. Los modelos que el catálogo declara incapaces de producir salida estructurada se ocultan aquí. Si no eliges nada, se usa el modelo pequeño.","settings.openchamber.defaults.walkthroughModel.usesSmallModel":"Modelo pequeño","settings.openchamber.defaults.field.showDeletionDialog":"Mostrar diálogo de eliminación","settings.openchamber.defaults.field.openFilesPreviewAria":"Abrir archivos previsualizables en modo vista previa","settings.openchamber.defaults.field.openFilesPreview":"Abrir archivos previsualizables en modo vista previa","settings.openchamber.defaults.option.default":"Predeterminado","settings.openchamber.defaults.option.defaultLowercase":"default","settings.openchamber.git.title":"Preferencias de Git","settings.openchamber.git.changesViewTitle":"Vista de cambios","settings.openchamber.git.changesViewAria":"Modo de vista de cambios de Git","settings.openchamber.git.option.flatList":"Lista plana","settings.openchamber.git.option.treeView":"Vista en árbol","settings.openchamber.git.optionAria":"Modo de vista de cambios de Git: {option}","settings.openchamber.git.enableGitmojiAria":"Habilitar selector de Gitmoji","settings.openchamber.git.enableGitmoji":"Habilitar selector de Gitmoji","settings.openchamber.git.showGitignoredAria":"Mostrar archivos gitignored","settings.openchamber.git.showGitignored":"Mostrar archivos ignorados por Git","settings.github.page.tooltip.connectAccount":"Conecta una cuenta de GitHub para flujos de trabajo de PR e issue dentro de la aplicación.","settings.github.page.avatarAlt.withLogin":"Avatar de {login}","settings.github.page.avatarAlt.fallback":"Avatar de GitHub","settings.github.page.accountSource.oauth":"OAuth","settings.github.page.accountSource.cli":"CLI","settings.github.page.actions.connect":"Conectar GitHub","settings.github.page.actions.addAccount":"Añadir cuenta","settings.github.page.actions.openGithub":"Abrir GitHub","settings.github.page.status.notConnected":"No conectado","settings.github.page.status.active":"Activo","settings.github.page.flow.title":"Autorizar OpenChamber","settings.github.page.flow.description":"En GitHub, ingresa el siguiente código para autorizar este dispositivo:","settings.github.page.flow.waiting":"Esperando aprobación","settings.github.page.flow.autoRefresh":"(actualización automática)","settings.github.page.toast.startConnectFailed":"No se pudo iniciar la conexión de GitHub","settings.github.page.toast.connected":"Conexión con GitHub establecida","settings.github.page.toast.authorizationFailed":"No se pudo autorizar en GitHub","settings.github.page.toast.disconnected":"Desconectado de GitHub","settings.github.page.toast.disconnectFailed":"No se pudo desconectar de GitHub","settings.github.page.toast.switchFailed":"No se pudo cambiar la cuenta de GitHub","settings.github.page.ghCli.title":"Token CLI de GitHub","settings.github.page.ghCli.availableDescription":"Sesión iniciada con gh CLI. No se usa hasta que cambies a ella","settings.github.page.ghCli.disabledDescription":"Instalado y oculto en tus cuentas","settings.github.page.ghCli.actions.disable":"Desactivar","settings.github.page.ghCli.actions.enable":"Activar","settings.github.page.toast.ghCliEnabled":"Cuenta de gh CLI visible","settings.github.page.toast.ghCliDisabled":"Cuenta de gh CLI oculta","settings.github.page.toast.ghCliUpdateFailed":"No se pudo actualizar la configuración de gh CLI","settings.notifications.page.delivery.title":"Entrega de notificaciones","settings.notifications.page.delivery.enableAria":"Habilitar notificaciones","settings.notifications.page.delivery.enableLabel":"Habilitar notificaciones","settings.notifications.page.delivery.focusedAria":"Notificar mientras la aplicación esté en foco","settings.notifications.page.delivery.focusedLabel":"Notificar mientras la aplicación está en foco","settings.notifications.page.delivery.testAction":"Enviar notificación de prueba","settings.notifications.page.delivery.browserPermissionHint":"Tu navegador puede solicitar permiso la primera vez.","settings.notifications.page.delivery.permissionDenied":"Permiso para notificaciones denegado. Actívalo en la configuración de tu navegador.","settings.notifications.page.delivery.permissionGrantedButDisabled":"Permiso concedido, pero las notificaciones están desactivadas.","settings.notifications.page.delivery.vscodeHint":"Cuando esté activado, las notificaciones se entregan a través de notificaciones nativas de VS Code.","settings.notifications.page.events.title":"Eventos de notificaciones","settings.notifications.page.events.completionAria":"Completado del agente","settings.notifications.page.events.completionLabel":"Finalización del agente","settings.notifications.page.events.subtaskAria":"Completado del subagente","settings.notifications.page.events.subtaskLabel":"Finalización del subagente","settings.notifications.page.events.errorAria":"Errores del agente","settings.notifications.page.events.errorLabel":"Errores del agente","settings.notifications.page.events.questionAria":"Preguntas del agente","settings.notifications.page.events.questionLabel":"Preguntas del agente","settings.notifications.page.template.title":"Plantillas de notificaciones","settings.notifications.page.template.variablesLabel":"Variables:","settings.notifications.page.template.event.completion":"completion","settings.notifications.page.template.event.subtask":"Finalización del subagente","settings.notifications.page.template.event.error":"error","settings.notifications.page.template.event.question":"question","settings.notifications.page.template.field.title":"Título","settings.notifications.page.template.field.message":"Mensaje","settings.notifications.page.template.defaults.completion.title":"{agent_name} está listo","settings.notifications.page.template.defaults.completion.message":"{model_name} completó la tarea","settings.notifications.page.template.defaults.error.title":"Error de herramienta","settings.notifications.page.template.defaults.error.message":"{last_message}","settings.notifications.page.template.defaults.question.title":"Entrada necesaria","settings.notifications.page.template.defaults.question.message":"{last_message}","settings.notifications.page.template.defaults.subtask.title":"{agent_name} está listo","settings.notifications.page.template.defaults.subtask.message":"{model_name} completó la tarea","settings.notifications.page.summary.title":"Resumen de IA","settings.notifications.page.summary.toggleAria":"Resumir el último mensaje","settings.notifications.page.summary.toggleLabel":"Resumir último mensaje","settings.notifications.page.summary.requiresTemplateVariable":"Requiere","settings.notifications.page.summary.modelLabel":"Modelo de resumen","settings.notifications.page.summary.modelTooltip":"Usado para resúmenes de notificaciones y voz.","settings.notifications.page.summary.notSelected":"No seleccionado","settings.notifications.page.summary.thresholdLabel":"Umbral","settings.notifications.page.summary.thresholdHint":"Mensajes más largos que este serán resumidos","settings.notifications.page.summary.resetThresholdAria":"Restablecer umbral","settings.notifications.page.summary.lengthLabel":"Longitud","settings.notifications.page.summary.lengthHint":"Longitud objetivo del resumen en caracteres","settings.notifications.page.summary.resetLengthAria":"Restablecer longitud del resumen","settings.notifications.page.summary.maxLengthLabel":"Longitud máxima","settings.notifications.page.summary.maxLengthHint":"Acortar {last_message} a esta longitud","settings.notifications.page.summary.resetMaxLengthAria":"Restablecer longitud máxima del mensaje","settings.notifications.page.push.title":"Notificaciones en segundo plan","settings.notifications.page.push.enableAria":"Habilitar notificaciones de fondo","settings.notifications.page.push.enableLabel":"Habilitar notificaciones en segundo plan","settings.notifications.page.push.unsupportedHint":"Las notificaciones en segundo plan no son compatibles. Chrome/Edge de escritorio y Android admiten push. iOS requiere una PWA instalada.","settings.notifications.page.push.supportedHint":"Recibe alertas a través del servicio en segundo plan de su sistema operativo","settings.notifications.page.push.loadingAria":"Cargando","settings.notifications.page.toast.permissionDenied.title":"Permiso para notificaciones denegado","settings.notifications.page.toast.permissionDenied.description":"Por favor, habilita las notificaciones en la configuración de tu navegador.","settings.notifications.page.toast.permissionDenied.enableInBrowser":"Habilita las notificaciones en la configuración de tu navegador.","settings.notifications.page.toast.requestPermissionFailed":"No se pudo solicitar permiso para notificaciones","settings.notifications.page.toast.notificationsApiUnavailable":"API de notificaciones no disponible","settings.notifications.page.toast.testNotificationSent":"Notificación de prueba enviada con éxito","settings.notifications.page.toast.testNotificationFailed":"No se pudo enviar la notificación de prueba","settings.notifications.page.toast.pushUnsupported":"Las notificaciones en segundo plan no son compatibles","settings.notifications.page.toast.pushApiUnavailable":"API de push no disponible","settings.notifications.page.toast.pushKeyLoadFailed":"No se pudo cargar la clave de push","settings.notifications.page.toast.enableBackgroundFailed":"No se pudo habilitar notificaciones de fondo","settings.notifications.page.toast.backgroundEnabled":"Notificaciones de fondo habilitadas","settings.notifications.page.toast.backgroundDisabled":"Notificaciones de fondo deshabilitadas","settings.notifications.page.testNotification.title":"Notificación de prueba","settings.notifications.page.testNotification.body":"Esta es una notificación de prueba de OpenChamber.","settings.voice.page.section.speechRecognition":"Reconocimiento de voz","settings.voice.page.field.enableVoiceInput":"Habilitar entrada de voz","settings.voice.page.field.enableVoiceInputAria":"Habilitar entrada de voz (dictado)","settings.voice.page.section.playbackAndSummary":"Reproducción","settings.voice.page.field.provider":"Proveedor","settings.voice.page.provider.browser":"Navegador","settings.voice.page.provider.openai":"OpenAI","settings.voice.page.provider.custom":"Personalizado","settings.voice.page.provider.say":"Decir","settings.voice.page.provider.server":"Servidor","settings.voice.page.provider.local":"Local","settings.voice.page.tooltip.sttLocal":"Transcripción local en el servidor de OpenChamber. Los modelos se descargan automáticamente; no se necesita clave de API.","settings.voice.page.tooltip.localTts":"Síntesis local en el servidor de OpenChamber (Kokoro para inglés; los modelos de otros idiomas se descargan en el primer uso). No requiere clave de API.","settings.voice.page.field.followTextLanguage":"Ajustar la voz al idioma del texto","settings.voice.page.field.followTextLanguageAria":"Ajustar la voz al idioma del texto","settings.voice.page.field.followTextLanguageInfo":"Si una respuesta está en otro idioma, se usa una voz para ese idioma: una voz de macOS adecuada o un modelo local que se descarga en el primer uso.","settings.voice.page.stt.model.parakeetV2":"Parakeet v2 (inglés)","settings.voice.page.stt.model.parakeetV3":"Parakeet v3 (25 idiomas europeos)","settings.voice.page.stt.model.whisperBase":"Whisper base (multilingüe)","settings.voice.page.stt.model.whisperTiny":"Whisper tiny (multilingüe)","settings.voice.page.stt.badge.bestForEnglish":"Mejor para inglés","settings.voice.page.stt.badge.bestForMultilingual":"Mejor multilingüe","settings.voice.page.stt.meta.accuracy":"Precisión","settings.voice.page.stt.meta.speed":"Velocidad","settings.voice.page.stt.modelInstalled":"Modelo instalado","settings.voice.page.stt.modelDownloading":"Descargando modelo...","settings.voice.page.stt.modelDownloadingProgress":"Descargando modelo... {percent}%","settings.voice.page.stt.modelNotInstalled":"Modelo no descargado","settings.voice.page.stt.modelDownload":"Descargar","settings.voice.page.stt.modelDelete":"Eliminar modelo","settings.voice.page.stt.modelRetry":"Reintentar","settings.voice.page.localTts.availableToDownload":"Disponibles para descargar","settings.voice.page.localTts.filterPlaceholder":"Filtrar por idioma o descripción","settings.voice.page.localTts.filterNoMatch":"Ningún modelo coincide con el filtro","settings.voice.page.provider.wasm":"Local","settings.voice.page.stt.wasmModel":"Modelo Whisper","settings.voice.page.stt.wasmLoaded":"Modelo cargado","settings.voice.page.stt.wasmDownloading":"Descargando modelo...","settings.voice.page.stt.wasmLoading":"Cargando modelo...","settings.voice.page.stt.wasmNotLoaded":"El modelo se descargará en el primer uso de voz","settings.voice.page.stt.wasmDownload":"Descargar","settings.voice.page.stt.wasmRetry":"Reintentar","settings.voice.page.tooltip.browser":"Gratuito, offline, soporte limitado en móvil.","settings.voice.page.tooltip.openai":"Calidad alta, compatible con móviles, requiere clave de API.","settings.voice.page.tooltip.custom":"Servidor compatible con OpenAI (por ejemplo Kokoro).","settings.voice.page.tooltip.say":"Nativo de macOS. Rápido, gratis, offline.","settings.voice.page.tooltip.sttBrowser":"API de voz web (Chrome/Edge). Gratis, sin configuración.","settings.voice.page.tooltip.sttServer":"Servidor compatible con Whisper de OpenAI. Mayor precisión, cualquier idioma.","settings.voice.page.field.apiKey":"Clave de API","settings.voice.page.field.apiKeyHintUsingConfig":"Usando la clave de la configuración","settings.voice.page.field.apiKeyHintRequired":"OpenAI TTS requiere una clave de API","settings.voice.page.enterpriseMode":"En modo empresa, la lectura en voz alta se queda en esta máquina: usa una voz local o un servidor personalizado que se ejecute aquí.","settings.voice.page.field.apiKeyHintProvide":"Proporciona tu clave de OpenAI","settings.voice.page.field.apiKeySavedPlaceholder":"Guardada en el servidor","settings.voice.page.field.apiKeyRemove":"Quitar la clave guardada","settings.voice.page.field.apiKeyOptional":"Opcional","settings.voice.page.toast.apiKeySaveFailed":"No se pudo guardar la clave","settings.voice.page.field.serverUrl":"URL del servidor","settings.voice.page.field.serverUrlHint":"URL base del servidor compatible con TTS de OpenAI","settings.voice.page.field.model":"Modelo","settings.voice.page.field.voice":"Voz","settings.voice.page.field.voiceIdentifierHint":"Identificador de voz compatible con el servidor","settings.voice.page.field.configuredAbove":"Configurado anteriormente","settings.voice.page.actions.preview":"Vista previa","settings.voice.page.field.selectVoicePlaceholder":"Seleccionar voz","settings.voice.page.field.auto":"Automático","settings.voice.page.field.speechRate":"Velocidad de habla","settings.voice.page.field.speechPitch":"Tono de habla","settings.voice.page.field.speechVolume":"Volumen de habla","settings.voice.page.field.language":"Idioma","settings.voice.page.field.selectLanguagePlaceholder":"Seleccionar idioma","settings.voice.page.field.sttBrowserSupportError":"MediaRecorder o AudioContext no están disponibles en este navegador. El STT del servidor puede que no funcione.","settings.voice.page.field.sttServerUrlHint":"URL base del servidor compatible con Whisper","settings.voice.page.field.sttLanguageHint":"Código BCP-47 (por ejemplo en, fr). Dejar en blanco para detección automática.","settings.voice.page.field.silenceThreshold":"Umbral de silencio","settings.voice.page.field.silenceHold":"Retención de silencio","settings.voice.page.field.transcribeOnStopAria":"Transcribir al detener la grabación","settings.voice.page.field.transcribeOnStop":"Transcribir al detener","settings.voice.page.field.millisecondsUnit":"ms","settings.voice.page.field.messageReadAloudButtonAria":"Botón de lectura en voz alta del mensaje","settings.voice.page.field.messageReadAloudButton":"Botón de lectura en voz alta del mensaje","settings.voice.page.field.summarizeBeforePlaybackAria":"Resumir antes de la reproducción","settings.voice.page.field.summarizeBeforePlayback":"Resumir antes de la reproducción","settings.voice.page.field.summarizeVoiceModeResponsesAria":"Resumir respuestas en modo de voz","settings.voice.page.field.summarizeVoiceModeResponses":"Resumir respuestas en modo de voz","settings.voice.page.field.summarizationThreshold":"Umbral de resumen","settings.voice.page.field.summaryMaxLength":"Longitud máxima del resumen","settings.voice.page.hint.shiftClickPrefix":"Presionar","settings.voice.page.hint.shiftClickSuffix":"en el botón del micrófono para alternar el modo continuo","settings.voice.page.preview.browserVoiceFallback":"voz del navegador","settings.voice.page.preview.voiceLine":"¡Hola! Soy {voiceName}. Así suena mi voz.","settings.voice.page.preview.customServerLine":"¡Hola! Esta es una previsualización del servidor TTS personalizado.","settings.voice.page.field.ttsInputMode":"Modo de entrada TTS","settings.voice.page.field.ttsInputModeSanitized":"Texto limpio","settings.voice.page.field.ttsInputModeRaw":"Markdown sin procesar","settings.voice.page.field.ttsInputModeSummarized":"Resumido","settings.voice.page.field.ttsChunkedMode":"Empezar a hablar antes en respuestas largas","settings.voice.page.field.ttsChunkedModeAria":"Empezar a hablar antes en respuestas largas","settings.voice.page.tooltip.ttsChunked":"Divide el texto largo en frases y reproduce cada una en cuanto se sintetiza, así la reproducción comienza mucho antes. Desactívalo para sintetizar todo el texto en una sola solicitud.","settings.openchamber.visual.section.colorMode":"Modo de color","settings.openchamber.visual.section.colorModeAndTheme":"Modo de color y tema","settings.openchamber.visual.section.localization":"Localización","settings.openchamber.visual.section.spacingAndLayout":"Espaciado y diseño","settings.openchamber.visual.section.densityAndType":"Densidad y tipografía","settings.openchamber.visual.section.appInstall":"Instalación de la app","settings.openchamber.visual.section.chatFeatures":"Funciones","settings.openchamber.visual.section.messageStreamTransport":"Transporte del flujo de mensajes","settings.openchamber.visual.section.activityDefault":"Modo predeterminado de actividad","settings.openchamber.visual.section.activityDefaultAria":"Modo predeterminado de actividad","settings.openchamber.visual.section.sessionActivity":"Actividad de la sesión","settings.openchamber.visual.section.sessionAssistance":"Asistencia de sesión","settings.openchamber.visual.section.reasoning":"Razonamiento","settings.openchamber.visual.field.streamingAutoFollow":"Seguir el contenido nuevo durante el streaming","settings.openchamber.visual.field.streamingAutoFollowAria":"Seguir automáticamente el contenido nuevo mientras se transmite una respuesta","settings.openchamber.visual.field.streamingAutoFollowInfo":"Mientras llega una respuesta, la vista se desplaza hacia el contenido más reciente. Desactívalo para mantener la vista quieta y desplazarte manualmente; enviar un mensaje desde la mitad del chat tampoco moverá la vista.","settings.openchamber.visual.field.animatedActivityIndicators":"Indicadores de actividad animados","settings.openchamber.visual.field.animatedActivityIndicatorsAria":"Mostrar un indicador animado en las sesiones en ejecución","settings.openchamber.visual.field.animatedActivityIndicatorsInfo":"Las sesiones en ejecución muestran un indicador giratorio en lugar de su icono de estado estático. El indicador se actualiza 4 veces por segundo y consume más energía que el icono. Esta animación se reproduce incluso con Reducir movimiento activado.","settings.openchamber.visual.section.messageAppearance":"Apariencia de los mensajes","settings.openchamber.visual.section.composer":"Compositor","settings.openchamber.visual.section.userMessageRendering":"Renderizado de mensajes del usuario","settings.openchamber.visual.section.userMessageRenderingAria":"Modo de Renderizado de mensajes del usuario","settings.openchamber.visual.section.mermaidRendering":"Renderizado de Mermaid","settings.openchamber.visual.section.mermaidRenderingAria":"Modo de Renderizado de Mermaid","settings.openchamber.visual.section.diffLayout":"Diseño de comparación","settings.openchamber.visual.section.diffLayoutAria":"Diseño de comparación","settings.openchamber.visual.section.privacy":"Privacidad","settings.openchamber.visual.field.lightTheme":"Tema claro","settings.openchamber.visual.field.darkTheme":"Tema oscuro","settings.openchamber.visual.field.selectLightThemeAria":"Seleccionar tema claro","settings.openchamber.visual.field.selectDarkThemeAria":"Seleccionar tema oscuro","settings.openchamber.visual.field.selectThemePlaceholder":"Seleccionar tema","settings.openchamber.visual.field.searchThemes":"Buscar temas...","settings.openchamber.visual.field.noThemesFound":"No se encontraron temas.","settings.openchamber.visual.field.timeFormat":"Formato de hora","settings.openchamber.visual.field.weekStartsOn":"La semana empieza el","settings.openchamber.visual.field.selectTimeFormatAria":"Seleccionar formato de hora","settings.openchamber.visual.field.selectWeekStartAria":"Seleccionar inicio de la semana","settings.openchamber.visual.actions.reloadThemes":"Recargar temas","settings.openchamber.visual.field.dockBadge":"Insignia en el Dock","settings.openchamber.visual.field.dockBadgeHint":"Muestra en el icono del Dock de macOS el número de chats con actividad sin ver.","settings.openchamber.visual.actions.saveAndRestart":"Guardar y reiniciar","settings.openchamber.visual.actions.restarting":"Reiniciando…","settings.openchamber.visual.actions.reloadingThemes":"Recargando temas...","settings.openchamber.visual.field.themeImportInfoAria":"Información de importación de temas","settings.openchamber.visual.field.themeImportInfoTooltip":"Importar temas personalizados desde ~/.config/openchamber/themes/","settings.openchamber.visual.field.installAppName":"Nombre de la aplicación para instalar","settings.openchamber.visual.field.installAppNameHint":"Lo usa la instalación de la PWA.","settings.openchamber.visual.field.pwaInstallAppNameAria":"Nombre de la aplicación para instalar PWA","settings.openchamber.visual.actions.resetInstallAppNameAria":"Restablecer nombre de la aplicación para instalar","settings.openchamber.visual.field.installOrientation":"Orientación de instalación","settings.openchamber.visual.field.installOrientationHint":"Usado por la aplicación web instalada. Vuelve a instalar la PWA después de cambiar esto.","settings.openchamber.visual.field.pwaInstallOrientationAria":"Orientación de instalación de PWA","settings.openchamber.visual.field.selectOrientationPlaceholder":"Seleccionar orientación","settings.openchamber.visual.actions.resetInstallOrientationAria":"Restablecer orientación de instalación","settings.openchamber.visual.field.mobileKeyboardMode":"Comportamiento del teclado móvil","settings.openchamber.visual.field.mobileKeyboardModeHint":"El comportamiento predeterminado del navegador es el más seguro. Redimensionar el contenido pide a los navegadores compatibles reducir la app cuando se abre el teclado.","settings.openchamber.visual.field.mobileKeyboardModeAria":"Comportamiento del teclado móvil","settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder":"Seleccionar comportamiento del teclado","settings.openchamber.visual.actions.resetMobileKeyboardModeAria":"Restablecer comportamiento del teclado móvil","settings.openchamber.visual.field.interfaceFontSize":"Tamaño de fuente de la interfaz","settings.openchamber.visual.field.interfaceFont":"Fuente de la interfaz","settings.openchamber.visual.field.selectInterfaceFontAria":"Seleccionar fuente de interfaz","settings.openchamber.visual.actions.resetInterfaceFontAria":"Restablecer fuente de interfaz","settings.openchamber.visual.field.fontSizePercentageAria":"Porcentaje de tamaño de fuente","settings.openchamber.visual.actions.resetFontSizeAria":"Restablecer tamaño de fuente","settings.openchamber.visual.field.terminalFontSize":"Tamaño de fuente del terminal","settings.openchamber.visual.field.terminalShell":"Shell del terminal","settings.openchamber.visual.field.terminalShellAria":"Seleccionar shell del terminal","settings.openchamber.visual.field.terminalShellHint":"Reinicia el terminal para aplicar este cambio a la sesión actual.","settings.openchamber.visual.field.terminalLoginShell":"Iniciar como shell de inicio de sesión","settings.openchamber.visual.option.terminalShell.auto":"Automático","settings.openchamber.visual.field.editorFontSize":"Tamaño de fuente del editor","settings.openchamber.visual.field.codeFont":"Fuente de código","settings.openchamber.visual.field.webFontsEnterprise":"El modo enterprise usa las fuentes del sistema: las demás se cargan desde una CDN pública.","settings.openchamber.visual.field.selectCodeFontAria":"Seleccionar fuente de código","settings.openchamber.visual.actions.resetCodeFontAria":"Restablecer fuente de código","settings.openchamber.visual.actions.resetTerminalFontSizeAria":"Restablecer tamaño de fuente del terminal","settings.openchamber.visual.actions.resetEditorFontSizeAria":"Restablecer tamaño de fuente del editor","settings.openchamber.visual.field.spacingDensity":"Densidad de espaciado","settings.openchamber.visual.actions.resetSpacingAria":"Restablecer espaciado","settings.openchamber.visual.field.inputBarOffset":"Desplazamiento de la barra de entrada","settings.openchamber.visual.field.inputBarOffsetTooltip":"Elevar la barra de entrada para evitar obstáculos en la pantalla del sistema operativo, como barras de inicio.","settings.openchamber.visual.actions.resetInputBarOffsetAria":"Restablecer desplazamiento de la barra de entrada","settings.openchamber.visual.field.terminalQuickKeysAria":"Teclas rápidas del terminal","settings.openchamber.visual.field.terminalQuickKeys":"Teclas rápidas del terminal","settings.openchamber.visual.field.sessionTabsGroup":"Pestañas de sesión","settings.openchamber.visual.field.sessionTabs":"Mostrar las sesiones como pestañas en el encabezado","settings.openchamber.visual.field.sessionTabsAria":"Alternar las pestañas de sesión en el encabezado","settings.openchamber.visual.field.sessionTabsInfo":"Las sesiones que abres se alinean como pestañas en el encabezado. Al desactivarlo, el encabezado vuelve a mostrar solo el título de la sesión.","settings.openchamber.visual.field.terminalQuickKeysTooltip":"Mostrar Esc, Ctrl y flechas en la vista del terminal","settings.openchamber.visual.field.fileEditorKeymap":"Mapa de teclas del editor de archivos","settings.openchamber.visual.option.fileEditorKeymap.default":"Predeterminado","settings.openchamber.visual.option.fileEditorKeymap.vim":"Vim","settings.openchamber.visual.field.activityDefaultModeAria":"Modo predeterminado de actividad: {option}","settings.openchamber.visual.field.userMessageRenderingAria":"Renderizado de mensajes del usuario: {option}","settings.openchamber.visual.field.mermaidRenderingAria":"Renderizado de Mermaid: {option}","settings.openchamber.visual.field.diffLayoutAria":"Diseño de comparación: {option}","settings.openchamber.visual.field.sessionRecap":"Generar resumen de sesión","settings.openchamber.visual.field.sessionRecapAria":"Generar un resumen cuando el agente termina","settings.openchamber.visual.field.sessionSuggestion":"Generar sugerencia del próximo mensaje del usuario","settings.openchamber.visual.field.sessionSuggestionAria":"Generar un próximo mensaje sugerido del usuario cuando el agente termina","settings.openchamber.visual.field.sessionReviewOffer":"Ofrecer revisar los cambios","settings.openchamber.visual.field.sessionReviewOfferInfo":"Tras un turno que cambió el proyecto, ofrece sobre el campo de mensaje una revisión con IA o un recorrido por los cambios.","settings.openchamber.visual.field.sessionGoal":"Habilitar objetivos de sesión","settings.openchamber.visual.field.sessionGoalAria":"Mantener la sesión trabajando automáticamente hacia un objetivo","settings.openchamber.visual.goal.sectionTitle":"Objetivo","settings.openchamber.visual.goal.maxTurnsLabel":"Límite de turnos","settings.openchamber.visual.goal.maxTurnsInfo":"Tras este número de turnos automáticos, el objetivo se detiene y te devuelve el control, esté terminado o no. 20 por defecto.","settings.openchamber.visual.goal.maxTurnsResetAria":"Restablecer el límite de turnos a 20","settings.openchamber.visual.goal.budgetLabel":"Presupuesto de tokens predeterminado","settings.openchamber.visual.goal.budgetAria":"Aplicar un presupuesto de tokens predeterminado a los nuevos objetivos","settings.openchamber.visual.goal.description":"Activa el botón de diana en el compositor y el próximo mensaje se convierte en un objetivo: el agente sigue trabajando hacia él automáticamente, incluso mientras no estás, y su progreso se comprueba después de cada turno.","settings.openchamber.visual.goal.checkerLabel":"Comprobación del progreso","settings.openchamber.visual.goal.checkerInfo":"Después de cada turno se lee el informe del agente para decidir si el objetivo está cumplido, te está esperando o debe seguir. Jev decide en menos de un segundo; el modelo pequeño usa el proveedor de la propia sesión y también entra cuando Jev no puede responder.","settings.openchamber.visual.goal.checker.smallModel":"Modelo pequeño","settings.openchamber.visual.goal.checker.viaSmallModel":"El modelo pequeño comprueba cada turno.","settings.openchamber.visual.goal.checker.jevMissing":"No hay ningún proveedor de clasificación configurado para Jev, así que el modelo pequeño comprueba cada turno.","settings.openchamber.visual.goal.checker.smallModelLink":"Ajustes del modelo pequeño","settings.openchamber.visual.field.showReasoningTracesAria":"Mostrar rastros de razonamiento","settings.openchamber.visual.field.showReasoningTraces":"Mostrar trazas de razonamiento","settings.openchamber.visual.field.collapsibleThinkingBlocksAria":"Habilitar bloques de razonamiento colapsables","settings.openchamber.visual.field.collapsibleThinkingBlocks":"Habilitar Bloques de Razonamiento Colapsables","settings.openchamber.visual.field.expandReasoningWhileStreaming":"Expandir el razonamiento durante el streaming","settings.openchamber.visual.field.expandReasoningWhileStreamingAria":"Expandir los bloques de razonamiento mientras el modelo piensa","settings.openchamber.visual.field.expandReasoningWhileStreamingInfo":"Muestra el razonamiento del modelo y el resumen de la compactación a medida que llegan. Si está desactivado, los bloques quedan plegados y se abren con un clic.","settings.openchamber.visual.field.collapsibleUserMessagesAria":"Contraer mensajes largos del usuario","settings.openchamber.visual.field.collapsibleUserMessages":"Contraer mensajes largos del usuario","settings.openchamber.visual.field.stickyUserHeaderAria":"Encabezado del usuario fijo","settings.openchamber.visual.field.stickyUserHeader":"Encabezado de usuario fijo","settings.openchamber.visual.field.promptNavigatorEnabledAria":"Navegador de prompts","settings.openchamber.visual.field.promptNavigatorEnabled":"Navegador de prompts","settings.openchamber.visual.field.autoSaveEnabledAria":"Guardado automático de archivos","settings.openchamber.visual.field.autoSaveEnabled":"Guardado automático de archivos","settings.openchamber.visual.field.autoSaveEnabledInfo":"Guarda automáticamente las ediciones del archivo después de dejar de escribir. Desactívalo para exigir un guardado manual.","settings.openchamber.visual.field.confirmFileTreeMove":"Confirmar antes de mover archivos","settings.openchamber.visual.field.layoutAnimations":"Animar paneles","settings.openchamber.visual.field.layoutAnimationsAria":"Animar la barra lateral y los paneles alrededor del chat al abrirlos y cerrarlos","settings.openchamber.visual.field.layoutAnimationsInfo":"La barra lateral, los paneles alrededor del chat y la tarjeta de estado del trabajo se deslizan al abrirse y cerrarse. Desactívalo para mostrarlos y ocultarlos al instante.","settings.openchamber.visual.field.openLinksInBrowserPanel":"Abrir enlaces en el navegador integrado","settings.openchamber.visual.field.openLinksInBrowserPanelInfo":"Los enlaces del chat se abren en una pestaña del navegador junto al chat. Cmd+clic o Ctrl+clic los abre en tu navegador predeterminado.","settings.openchamber.visual.field.liveBrowserTabs":"Pestañas del navegador cargadas","settings.openchamber.visual.field.liveBrowserTabsInfo":"Hasta este número de tus pestañas del navegador, en todos los proyectos, siguen cargadas, así que al volver a una ves la página tal como la dejaste. Las pestañas más antiguas vuelven a cargar su página cuando las abres. Cada pestaña cargada usa memoria.","settings.openchamber.visual.field.liveBrowserTabsUnit":"pestañas","settings.openchamber.visual.field.openTrackerLinksOnBoard":"Abrir issues y pull requests en OpenChamber","settings.openchamber.visual.field.openTrackerLinksOnBoardInfo":"Los enlaces a issues, pull requests y merge requests de GitHub y GitLab, y a issues de Linear se abren en Seguimiento junto al chat cuando su proyecto está abierto aquí, y en el teléfono en el tablero Issues y PR. Cmd+clic o Ctrl+clic abre el enlace en sí.","settings.openchamber.visual.field.fileTreeSide":"Lado del árbol de archivos","settings.openchamber.visual.option.fileTreeSide.left":"Izquierda","settings.openchamber.visual.option.fileTreeSide.right":"Derecha","settings.openchamber.visual.field.wideChatLayoutAria":"Diseño de chat ancho","settings.openchamber.visual.field.wideChatLayout":"Diseño de chat ancho","settings.openchamber.visual.field.showSplitAssistantMessageActionsAria":"Acciones en línea del asistente","settings.openchamber.visual.field.showSplitAssistantMessageActions":"Acciones en línea del asistente","settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip":"Muestra Copiar respuesta, Guardar como imagen y Leer en voz alta en bloques de texto del asistente que aparecen antes de llamadas a herramientas posteriores dentro de la misma respuesta.","settings.openchamber.visual.field.allowPromptingSubagentSessionsAria":"Permitir enviar solicitudes a sesiones de subagentes","settings.openchamber.visual.field.allowPromptingSubagentSessions":"Permitir solicitudes en sesiones de subagentes","settings.openchamber.visual.field.saveImagesForTextOnlyModels":"Guardar imágenes para modelos que no pueden leerlas","settings.openchamber.visual.field.saveImagesForTextOnlyModelsInfo":"Una imagen pegada o adjunta se guarda en la máquina donde se ejecuta OpenCode y su ruta se añade al mensaje, para que el modelo o un subagente pueda abrirla.","settings.openchamber.visual.field.draftStartersVisible":"Mostrar iniciadores en la pantalla de nueva sesión","settings.openchamber.visual.field.draftStartersVisibleAria":"Mostrar iniciadores en la pantalla de nueva sesión","settings.openchamber.visual.field.showToolFileIconsAria":"Mostrar iconos de archivos de herramientas","settings.openchamber.visual.field.codeBlockLineWrapAria":"Ajustar líneas de bloques de código","settings.openchamber.visual.field.codeBlockLineWrap":"Ajustar líneas de bloques de código","settings.openchamber.visual.field.tableCellWrap":"Ajustar celdas de tablas","settings.openchamber.visual.field.tableCellWrapAria":"Ajustar celdas de tablas","settings.openchamber.visual.field.tableCellWrapInfo":"Las tablas se ajustan al ancho del chat y el texto largo de las celdas pasa a la siguiente línea en lugar de desplazarse horizontalmente.","settings.openchamber.visual.field.copyMessagesAsPlainText":"Copiar mensajes como texto sin formato","settings.openchamber.visual.field.copyMessagesAsPlainTextAria":"Copiar mensajes como texto sin formato","settings.openchamber.visual.field.copyMessagesAsPlainTextInfo":"Al copiar una respuesta o una selección obtienes el texto tal como lo ves, sin símbolos de Markdown como ** o #.","settings.openchamber.visual.field.showToolFileIcons":"Mostrar iconos de archivos de herramientas","settings.openchamber.visual.field.showTurnChangedFilesAria":"Mostrar archivos cambiados en turnos completados","settings.openchamber.visual.field.showTurnChangedFiles":"Mostrar archivos cambiados en turnos completados","settings.openchamber.visual.field.showDotfilesAria":"Mostrar archivos ocultos","settings.openchamber.visual.field.showDotfiles":"Mostrar archivos ocultos","settings.openchamber.visual.field.queueMessagesByDefaultAria":"Poner mensaje en cola por defecto","settings.openchamber.visual.field.queueMessagesByDefault":"Poner mensajes en cola por defecto","settings.openchamber.visual.field.queueMessagesByDefaultTooltip":"Cuando esté habilitado, Enter coloca mensajes en cola. Usa {modifier}+Enter para enviar.","settings.openchamber.visual.field.persistDraftMessagesAria":"Mantener borradores de mensajes","settings.openchamber.visual.field.persistDraftMessages":"Conservar borradores de mensajes","settings.openchamber.visual.field.enableSpellcheckInTextInputsAria":"Habilitar ortografía en campos de texto","settings.openchamber.visual.field.enableSpellcheckInTextInputs":"Habilitar ortografía en campos de texto","settings.openchamber.visual.field.largeTextPaste":"Pegado de texto grande","settings.openchamber.visual.field.largeTextPasteHint":"Al pegar más de unos 2000 caracteres o 25 líneas, elige si adjuntar el texto como archivo, pegarlo en línea o preguntar cada vez. Con doble pegado, volver a pegar el mismo texto en menos de un segundo lo convierte en un archivo.","settings.openchamber.visual.field.largeTextPasteAria":"Comportamiento del pegado de texto grande","settings.openchamber.visual.field.largeTextPasteOptionAria":"Pegado de texto grande: {option}","settings.openchamber.visual.option.largeTextPaste.ask.label":"Preguntar cada vez","settings.openchamber.visual.option.largeTextPaste.attach.label":"Adjuntar como archivo","settings.openchamber.visual.option.largeTextPaste.inline.label":"Pegar en línea","settings.openchamber.visual.option.largeTextPaste.inlineDoublePaste.label":"Pegar en línea, pegar dos veces para adjuntar","settings.openchamber.visual.field.sendAnonymousUsageReportsAria":"Enviar informes anónimos de uso","settings.openchamber.visual.field.sendAnonymousUsageReports":"Enviar informes anónimos de uso","settings.openchamber.visual.field.sendAnonymousUsageReportsHint":"Nos ayuda a entender qué versiones de la aplicación se usan activamente para priorizar mejoras. Solo se recopilan la versión de la aplicación, la plataforma y el entorno de ejecución ; no se recopilan datos personales ni código.","settings.openchamber.visual.option.themeMode.system":"Sistema","settings.openchamber.visual.option.themeMode.system.description":"Seguir la configuración del sistema","settings.openchamber.visual.option.themeMode.light":"Claro","settings.openchamber.visual.option.themeMode.light.description":"Usar siempre la apariencia clara","settings.openchamber.visual.option.themeMode.dark":"Oscuro","settings.openchamber.visual.option.themeMode.dark.description":"Usar siempre la apariencia oscura","settings.openchamber.visual.option.diffLayout.dynamic.label":"Dinámico","settings.openchamber.visual.option.diffLayout.dynamic.description":"Nuevo en línea, modificado lado a lado.","settings.openchamber.visual.option.diffLayout.inline.label":"Siempre en línea","settings.openchamber.visual.option.diffLayout.inline.description":"Muestra una vista unificada.","settings.openchamber.visual.option.diffLayout.sideBySide.label":"Siempre lado a lado","settings.openchamber.visual.option.diffLayout.sideBySide.description":"Compara archivos originales y modificados.","settings.openchamber.visual.option.mermaidRendering.svg.label":"SVG","settings.openchamber.visual.option.mermaidRendering.svg.description":"Renderiza diagramas como gráficos escalables.","settings.openchamber.visual.option.mermaidRendering.ascii.label":"ASCII","settings.openchamber.visual.option.mermaidRendering.ascii.description":"Renderiza diagramas como bloques de texto.","settings.openchamber.visual.option.pwaOrientation.system.label":"Seguir el sistema","settings.openchamber.visual.option.pwaOrientation.system.description":"Respetar la configuración de rotación del dispositivo.","settings.openchamber.visual.option.pwaOrientation.portrait.label":"Bloqueo vertical","settings.openchamber.visual.option.pwaOrientation.portrait.description":"Instalar la aplicación bloqueada en vertical.","settings.openchamber.visual.option.pwaOrientation.landscape.label":"Bloqueo horizontal","settings.openchamber.visual.option.pwaOrientation.landscape.description":"Instalar la aplicación bloqueada en horizontal.","settings.openchamber.visual.option.mobileKeyboardMode.native.label":"Seguir el navegador","settings.openchamber.visual.option.mobileKeyboardMode.native.description":"Usar el comportamiento predeterminado del navegador para el paneo y los cambios del viewport al abrir el teclado.","settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label":"Redimensionar contenido","settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description":"Pedir a los navegadores compatibles que reduzcan el diseño de la app en lugar de depender solo del paneo.","settings.openchamber.visual.option.userMessageRendering.markdown.label":"Markdown","settings.openchamber.visual.option.userMessageRendering.markdown.description":"Renderiza el texto del usuario con formato markdown.","settings.openchamber.visual.option.userMessageRendering.plain.label":"Texto plano","settings.openchamber.visual.option.userMessageRendering.plain.description":"Renderiza el texto del usuario con espacios en blanco y enlaces preservados.","chat.message.userText.showLess":"Mostrar menos","chat.message.userText.showFullMessage":"Mostrar mensaje completo","settings.openchamber.visual.option.messageTransport.auto.label":"Automático","settings.openchamber.visual.option.messageTransport.auto.description":"Preferir WebSocket y caer en SSE si es necesario.","settings.openchamber.visual.option.messageTransport.ws.label":"WebSocket","settings.openchamber.visual.option.messageTransport.ws.description":"Usar WebSocket para transmisión de mensajes.","settings.openchamber.visual.option.messageTransport.sse.label":"SSE","settings.openchamber.visual.option.messageTransport.sse.description":"Usar server-sent events para transmitir mensajes.","settings.openchamber.visual.option.activityRenderMode.collapsed.label":"Colapsado","settings.openchamber.visual.option.activityRenderMode.collapsed.description":"Mantener la Actividad colapsada por defecto.","settings.openchamber.visual.option.activityRenderMode.summary.label":"Expandido","settings.openchamber.visual.option.activityRenderMode.summary.description":"Expandir la Actividad por defecto.","settings.openchamber.visual.option.timeFormat.auto.label":"Auto","settings.openchamber.visual.option.timeFormat.auto.description":"Usa la preferencia de la configuración regional del sistema.","settings.openchamber.visual.option.timeFormat.24h.label":"24 horas","settings.openchamber.visual.option.timeFormat.24h.description":"Mostrar la hora como 14:15.","settings.openchamber.visual.option.timeFormat.12h.label":"12 horas","settings.openchamber.visual.option.timeFormat.12h.description":"Mostrar la hora como 02:15 PM.","settings.openchamber.visual.option.weekStart.auto.label":"Auto","settings.openchamber.visual.option.weekStart.auto.description":"Usa el inicio de semana de la configuración regional.","settings.openchamber.visual.option.weekStart.monday.label":"Lunes","settings.openchamber.visual.option.weekStart.sunday.label":"Domingo","settings.magicPrompts.page.loading.aria":"Cargando","settings.magicPrompts.page.loading.text":"Cargando prompts mágicos...","settings.magicPrompts.page.block.visiblePrompt":"Prompt visible","settings.magicPrompts.page.block.instructions":"Instrucciones","settings.magicPrompts.page.group.gitCommitGenerate.title":"Generación de commit","settings.magicPrompts.page.group.gitCommitGenerate.description":"Prompts usados para la generación de mensajes de commit: mensaje visible del usuario + instrucciones ocultas.","settings.magicPrompts.page.group.gitPrGenerate.title":"Generación de PR","settings.magicPrompts.page.group.gitPrGenerate.description":"Prompts usados para la generación del título/cuerpo de un PR: mensaje visible del usuario + instrucciones ocultas.","settings.magicPrompts.page.group.gitConflictResolve.title":"Resolución de conflictos de merge/rebase","settings.magicPrompts.page.group.gitConflictResolve.description":"Prompts usados al resolver conflictos de merge/rebase con IA.","settings.magicPrompts.page.group.gitCherrypickConflictResolve.title":"Resolución de conflictos de cherry-pick","settings.magicPrompts.page.group.gitCherrypickConflictResolve.description":"Prompts usados al resolver conflictos de cherry-pick en el flujo de integración.","settings.magicPrompts.page.group.planImprove.title":"Mejora de plan","settings.magicPrompts.page.group.planImprove.description":"Prompt oculto usado al enviar un plan guardado a un flujo de mejora.","settings.magicPrompts.page.group.planTodo.title":"Planificación de tareas","settings.magicPrompts.page.group.planTodo.description":"Prompt oculto usado al enviar una tarea a una nueva sesión de planificación.","settings.magicPrompts.page.group.planImplement.title":"Implementación de plan","settings.magicPrompts.page.group.planImplement.description":"Prompt oculto usado al enviar un plan guardado a un flujo de implementación.","settings.magicPrompts.page.group.sessionSummary.title":"Resumen de sesión","settings.magicPrompts.page.group.sessionSummary.description":"Prompts usados por el comando /summary: mensaje visible del usuario + instrucciones ocultas. No destructivo: no compacta el historial de la sesión.","settings.magicPrompts.page.group.sessionWorkspaceReview.title":"Revisión del espacio de trabajo","settings.magicPrompts.page.group.sessionExplore.title":"Recorrido del código","settings.magicPrompts.page.group.sessionExplore.description":"Prompts usados por el comando /explore: mensaje visible del usuario + instrucciones ocultas. Investiga el repositorio y ofrece una orientación estructurada — la visión general, los módulos principales, cómo se conectan y por dónde empezar — en lugar de un listado archivo por archivo.","settings.magicPrompts.page.group.sessionWorkspaceReview.description":"Prompts usados por el comando /workspace-review: mensaje visible del usuario + instrucciones ocultas. Revisa el diff del espacio de trabajo: si logra su intención y si es correcto y adecuado, clasificando los hallazgos por severidad. Las instrucciones también guían las sesiones de revisión, incluido el bucle de revisión automática.","settings.magicPrompts.page.group.sessionFeaturePlan.title":"Planificación de funciones","settings.magicPrompts.page.group.sessionFeaturePlan.description":"Prompts usados por el comando /plan-feature: mensaje visible del usuario + instrucciones ocultas. Ejecuta un diálogo guiado que investiga el código y hace preguntas aclaratorias en lotes pequeños antes de producir un plan de implementación.","settings.magicPrompts.page.group.sessionCatchUp.title":"Ponerse al día","settings.magicPrompts.page.group.sessionCatchUp.description":"Prompts usados por el comando /catch-up: mensaje visible del usuario + instrucciones ocultas. Construye contexto según la rama — los commits de la rama, su PR y el trabajo sin confirmar juntos — para entender qué estabas haciendo, y luego da un resumen fácil de digerir y un siguiente paso centrado en el producto.","settings.magicPrompts.page.group.sessionDebug.title":"Depuración","settings.magicPrompts.page.group.sessionDebug.description":"Prompts usados por el comando /debug: mensaje visible del usuario + instrucciones ocultas. Ejecuta una investigación guiada de la causa raíz: captura el síntoma, formula hipótesis, las verifica contra el código y confirma la causa antes de proponer una solución.","settings.magicPrompts.page.group.sessionWeigh.title":"Comparar enfoques","settings.magicPrompts.page.group.sessionWeigh.description":"Prompts usados por el comando /weigh: mensaje visible del usuario + instrucciones ocultas. Investiga el código y luego presenta 2-3 enfoques distintos con sus ventajas y desventajas y una recomendación, sin escribir un plan ni código.","settings.magicPrompts.page.group.sessionFusion.title":"Fusion","settings.magicPrompts.page.group.sessionFusion.description":"Prompts usados para combinar salidas de multi-run en una respuesta final: mensaje visible del usuario + instrucciones ocultas antes de los resultados fuente.","settings.magicPrompts.page.group.memoryTidy.title":"Ordenar la memoria","settings.magicPrompts.page.group.memoryTidy.description":"Prompts usados por el botón Ordenar del panel Memoria: mensaje visible del usuario + instrucciones ocultas, seguidas de cada entrada guardada. El agente elimina entradas obsoletas, fusiona duplicados, reescribe lo que cambió e informa de lo que hizo.","settings.magicPrompts.page.actions.resetting":"Restableciendo...","settings.magicPrompts.page.actions.resetAllOverrides":"Restablecer todas las sobrescrituras","settings.magicPrompts.page.actions.resetToDefault":"Restablecer valores predeterminados","settings.magicPrompts.page.actions.save":"Guardar","settings.magicPrompts.page.placeholdersLabel":"Marcadores de posición:","settings.magicPrompts.page.validation.visiblePromptRequired":"El prompt visible no puede estar vacío.","settings.magicPrompts.page.status.unsavedChanges":"Cambios no guardados","settings.magicPrompts.page.status.usingSavedOverride":"Usando sobrescritura guardada","settings.magicPrompts.page.status.usingBuiltinDefault":"Usando valor predeterminado integrado","settings.magicPrompts.page.toast.loadFailed":"No se pudieron cargar los prompts mágicos","settings.magicPrompts.page.toast.visiblePromptRequired":"El prompt visible no puede estar vacío","settings.magicPrompts.page.toast.saved":"Prompt mágico guardado","settings.magicPrompts.page.toast.saveFailed":"No se pudo guardar el prompt mágico","settings.magicPrompts.page.toast.resetSuccess":"Prompt restablecido al valor predeterminado","settings.magicPrompts.page.toast.resetFailed":"No se pudo restablecer el prompt","settings.magicPrompts.page.toast.resetAllSuccess":"Se restablecieron todos los prompts sobrescritos","settings.magicPrompts.page.toast.resetAllFailed":"No se pudieron restablecer todos los prompts","settings.page.promptTemplates.title":"Plantillas de prompt","settings.promptTemplates.sidebar.title":"Plantillas de prompt","settings.promptTemplates.sidebar.total":"Total: {count}","settings.promptTemplates.sidebar.empty.title":"Sin plantillas de prompt","settings.promptTemplates.sidebar.empty.description":"Crea una plantilla de prompt para comenzar.","settings.promptTemplates.sidebar.toast.deleted":'Plantilla "{name}" eliminada',"settings.promptTemplates.sidebar.toast.deleteFailed":"Error al eliminar la plantilla","settings.promptTemplates.sidebar.toast.nameRequired":"El nombre de la plantilla es obligatorio","settings.promptTemplates.sidebar.toast.renamed":"Plantilla renombrada","settings.promptTemplates.sidebar.toast.renameFailed":"Error al renombrar la plantilla","settings.promptTemplates.sidebar.dialog.deleteTitle":"¿Eliminar plantilla?","settings.promptTemplates.sidebar.dialog.deleteDescription":'Se eliminará permanentemente "{name}". Esta acción no se puede deshacer.',"settings.promptTemplates.sidebar.renameDialog.title":"Renombrar plantilla","settings.promptTemplates.sidebar.renameDialog.description":'Introduce un nuevo nombre para "{name}".',"settings.promptTemplates.sidebar.renameDialog.placeholder":"Nombre de la plantilla","settings.promptTemplates.sidebar.badge.default":"predeterminada","settings.promptTemplates.page.empty.title":"Selecciona una plantilla","settings.promptTemplates.page.empty.description":"Elige una plantilla de la barra lateral para editarla.","settings.promptTemplates.page.title.new":"Nueva plantilla","settings.promptTemplates.page.subtitle.edit":"Editar plantilla","settings.promptTemplates.page.subtitle.new":"Crear una nueva plantilla de prompt","settings.promptTemplates.page.section.identity":"Identidad","settings.promptTemplates.page.field.name":"Nombre","settings.promptTemplates.page.field.namePlaceholder":"Nombre de la plantilla","settings.promptTemplates.page.section.template":"Plantilla","settings.promptTemplates.page.field.templatePlaceholder":"Introduce el texto de la plantilla de prompt...","settings.promptTemplates.page.templateHint":"Este texto se antepondrá al prompt del usuario cuando se seleccione en un grupo multi-run.","settings.promptTemplates.page.toast.nameRequired":"El nombre de la plantilla es obligatorio","settings.promptTemplates.page.toast.updated":"Plantilla actualizada","settings.promptTemplates.page.toast.updateFailed":"Error al actualizar la plantilla","settings.promptTemplates.page.toast.created":"Plantilla creada","settings.promptTemplates.page.toast.createFailed":"Error al crear la plantilla","settings.promptTemplates.page.toast.saveUnexpectedError":"Ocurrió un error inesperado al guardar","settings.openchamber.visual.section.followUpBehavior":"Follow-up behavior","settings.openchamber.visual.section.followUpBehaviorAria":"Follow-up behavior","settings.openchamber.visual.field.followUpBehaviorAria":"Follow-up behavior: {option}","settings.openchamber.visual.field.followUpBehaviorDescription":"Choose what happens when you press Enter on a follow-up message while the agent is still responding.","settings.openchamber.visual.option.followUpBehavior.steer.label":"Steer","settings.openchamber.visual.option.followUpBehavior.queue.label":"Queue","settings.gitlab.title":"GitLab","settings.gitlab.info":"Conecta GitLab.com o una instancia autogestionada para solicitudes de fusión, incidencias y CI.","settings.gitlab.instance.customLabel":"Instancia de GitLab","settings.gitlab.instance.customInfo":"Usa un origen HTTPS. HTTP solo se permite para direcciones locales.","settings.gitlab.actions.useInstance":"Usar instancia","settings.sourceControl.status.checking":"Comprobando conexión…","settings.gitlab.status.operationFailed":"La operación falló","settings.gitlab.status.tokenRejected":"GitLab no aceptó ese token. Comprueba que pertenece a esta instancia y que tiene acceso a la API.","settings.gitlab.status.notConnected":"No conectado","settings.gitlab.status.connected":"Conectado","settings.gitlab.actions.connect":"Conectar GitLab","settings.gitlab.token.label":"Token de acceso personal","settings.gitlab.token.info":"OpenChamber guarda el token en su servidor y nunca vuelve a mostrarlo.","settings.gitlab.device.label":"Código del dispositivo","settings.gitlab.cli.label":"glab CLI","settings.gitlab.cli.info":"Usa las credenciales de glab cuando no haya una cuenta guardada activa.","settings.gitlab.actions.enableCli":"Activar glab","settings.gitlab.actions.disableCli":"Desactivar glab","settings.gitlab.actions.addInstance":"Añadir instancia","settings.gitlab.device.waiting":"Autoriza el dispositivo en GitLab y vuelve a OpenChamber. Esta página se actualizará automáticamente.","settings.gitlab.actions.openGitLab":"Abrir GitLab","settings.sourceControl.accounts.inUse":"En uso","settings.sourceControl.accounts.connectedCount":"{count} cuentas","settings.sourceControl.accounts.needsAuthentication":"Requiere autenticación","settings.sourceControl.actions.reauthenticate":"Volver a autenticar","settings.sourceControl.actions.remove":"Eliminar","settings.sourceControl.actions.use":"Usar","settings.sourceControl.transport.retry":"Recargar y volver a intentar","settings.sourceControl.transport.remoteLabel":"Remoto","settings.sourceControl.transport.anonymous":"HTTPS anónimo, solo lectura","settings.sourceControl.transport.loading":"Cargando el transporte del repositorio…","settings.openchamber.visual.field.inputHistoryScope":"Alcance del historial de entrada","settings.openchamber.visual.field.inputHistoryScopeDescription":"Elige si los prompts enviados se recuperan en todos los proyectos conectados a este runtime o solo en la sesión actual.","settings.openchamber.visual.section.inputHistoryScopeAria":"Alcance del historial de entrada","settings.openchamber.visual.option.inputHistoryScope.global.label":"Todos los proyectos","settings.openchamber.visual.option.inputHistoryScope.session.label":"Sesión actual","settings.openchamber.visual.field.inputHistoryLimit":"Prompts que recordar","settings.openchamber.visual.field.inputHistoryLimitDescription":"Bajar este número elimina de inmediato los prompts más antiguos de tu historial.","settings.openchamber.visual.field.inputHistoryLimitAria":"Prompts que recordar","settings.openchamber.visual.field.inputHistoryLimitUnit":"prompts","settings.openchamber.visual.field.enterToSend":"Atajo de envío","settings.openchamber.visual.field.enterToSendHint":"Elige el atajo de envío para el compositor estándar. En el compositor expandido, Intro siempre añade una nueva línea y Ctrl/Cmd+Intro envía.","settings.openchamber.visual.option.enterToSend.enter.label":"Enviar con Intro","settings.openchamber.visual.option.enterToSend.modifier.label":"Enviar con Ctrl/Cmd+Intro",...i.es,...o.es,...s.es,...t.es,...a.es,...e.es,"settings.page.integrations.title":"Integraciones","settings.page.integrations.description":"Conecta los servicios y suscripciones con los que trabaja OpenChamber.","settings.agents.page.field.steps":"Pasos máximos","settings.agents.page.field.stepsTooltip":"Cuántos pasos de herramienta puede dar el agente en un turno antes de detenerse.","settings.agents.page.field.clearStepsAria":"Borrar pasos máximos","settings.commands.page.field.subagent":"Ejecutar en una sesión hija","settings.commands.page.field.subagentTooltip":"El comando se ejecuta en una sesión hija en segundo plano en vez de en la actual.","settings.common.legacyFormat.note":"Este archivo todavía usa el formato de OpenCode 1. El próximo guardado lo reescribirá como OpenCode 2.","settings.mcp.page.advanced.codemode":"Code Mode","settings.mcp.page.advanced.codemodeHint":"Normalmente cada herramienta de un servidor MCP se convierte en una herramienta aparte que el modelo ve y llama de una en una. Con Code Mode el modelo recibe una sola herramienta que ejecuta un script corto, y ese script llama a las herramientas de este servidor como funciones. Así el contexto no crece cuando un servidor tiene muchas herramientas y varias llamadas caben en un solo paso. Los modelos más pequeños escriben esos scripts con menos fiabilidad, por eso se puede desactivar por servidor.","settings.mcp.page.advanced.timeoutStartupMs":"Tiempo de arranque (ms)","settings.mcp.page.advanced.timeoutStartupHint":"Cuánto esperar a que arranque el proceso del servidor.","settings.mcp.page.advanced.timeoutCatalogMs":"Tiempo de catálogo (ms)","settings.mcp.page.advanced.timeoutCatalogHint":"Cuánto esperar mientras el servidor lista sus herramientas.","settings.mcp.page.advanced.timeoutExecutionMs":"Tiempo de ejecución (ms)","settings.mcp.page.advanced.timeoutExecutionHint":"Cuánto esperar a que termine una llamada de herramienta.","settings.mcp.page.advanced.summary.startup":"arranque {value}","settings.mcp.page.advanced.summary.catalog":"catálogo {value}","settings.mcp.page.advanced.summary.execution":"ejecución {value}","settings.mcp.page.advanced.codemodeDefaultHint":"Predeterminado deja que OpenCode decida: Code Mode está activado en la mayoría de los servidores, pero OpenCode lo desactiva en los que traen el suyo propio, como executor.sh, y pide a PostHog herramientas simples en lugar de su propio Code Mode.","settings.mcp.page.advanced.codemodeOption.default":"Predeterminado (decide OpenCode)","settings.mcp.page.advanced.codemodeOption.on":"Activado","settings.mcp.page.advanced.codemodeOption.off":"Desactivado","settings.mcp.page.advanced.summary.codemodeOn":"Code Mode activado","settings.mcp.page.advanced.summary.codemodeOff":"Code Mode desactivado","settings.mcp.page.advanced.protocol":"Protocolo","settings.mcp.page.advanced.protocolHint":"Legacy abre la conexión con el handshake initialize y habla revisiones del protocolo hasta 2025-11-25. Auto sondea la revisión 2026-07-28 y vuelve a legacy cuando el servidor no la admite. 2026-07-28 exige esa revisión y falla en caso contrario.","settings.mcp.page.advanced.protocolOption.legacy":"Legacy (predeterminado)","settings.mcp.page.advanced.protocolOption.auto":"Automático","settings.mcp.page.advanced.protocolOption.revision20260728":"2026-07-28","settings.mcp.page.advanced.oauth":"OAuth","settings.mcp.page.advanced.oauthMetadataUrl":"URL de metadatos del servidor de autorización","settings.mcp.page.advanced.oauthMetadataUrlHint":"El documento de metadatos del servidor de autorización OAuth u OpenID Connect. Defínelo cuando el servidor MCP no publique metadatos de recurso protegido que nombren su servidor de autorización.","settings.mcp.page.advanced.oauthMetadataUrlPlaceholder":"https://example.com/.well-known/oauth-authorization-server","settings.mcp.page.advanced.oauthMetadataUrlInvalid":"Introduce una dirección http:// o https:// completa.","settings.magicPrompts.page.block.codeFusionInstructions":"Instrucciones de fusion de código","settings.openchamber.desktopNetwork.field.linuxNativeFrame":"Usar la barra de título del sistema","settings.openchamber.desktopNetwork.field.linuxNativeFrameDescription":"Requiere reiniciar la app. La ventana usa la barra de título y los botones de tu entorno de escritorio, encima de la cabecera de OpenChamber.","settings.openchamber.visual.field.customFont":"Personalizada…","settings.openchamber.visual.field.customFontPlaceholder":"Nombre de una fuente instalada, p. ej. Maple Mono NF CN","settings.openchamber.visual.field.customFontAria":"Nombre de la fuente personalizada","settings.openchamber.defaults.field.showChats":"Mostrar chats en la barra lateral","settings.openchamber.visual.field.fileEditorVimMappings":"Mapeos de Vim","settings.openchamber.visual.field.fileEditorVimMappingsInfo":"Un mapeo por línea, escrito como en un vimrc. Se aplican siempre que el editor está en modo Vim. Admite map, noremap y sus variantes n, i, v, x y o.","settings.openchamber.visual.field.fileEditorVimMappingsInvalid":"No se aplican, el editor no puede leer estas líneas: {lines}","settings.agents.page.field.color":"Color","settings.agents.page.field.colorTooltip":"Marca al agente en el compositor, los menús y los mensajes. Se guarda en la configuración del agente, así que OpenCode también la usa. Si no hay ninguno, se elige un color del tema.","settings.agents.page.field.colorAutomatic":"Automático (color del tema)","settings.agents.page.field.colorSwatchAria":"Usar el color {color}","settings.agents.page.field.colorCustomAria":"Elegir un color personalizado","settings.agents.page.field.colorHexAria":"Color en hexadecimal, por ejemplo #ff6b6b","settings.agents.sidebar.section.disabled":"Desactivados","settings.agents.sidebar.actions.disable":"Desactivar","settings.agents.sidebar.actions.enable":"Activar","settings.agents.sidebar.actions.enableAria":"Activar {name}","settings.agents.sidebar.toast.agentDisabled":"{name} está desactivado. Su archivo se conserva; actívalo de nuevo desde la lista Desactivados.","settings.agents.sidebar.toast.agentEnabled":"{name} vuelve a estar activado","settings.agents.sidebar.toast.disableFailed":"No se pudo desactivar el agente: no se pudo escribir su archivo de configuración","settings.agents.sidebar.toast.enableFailed":"No se pudo activar el agente: no se pudo escribir su archivo de configuración"},z={"opencodeCompatibility.bundled":"OpenCode viene incluido en OpenChamber. Actualiza OpenChamber para obtener OpenCode v2.","opencodeCompatibility.title":"Se requiere OpenCode v2","opencodeCompatibility.outdatedTitle":"Actualiza OpenCode","opencodeCompatibility.outdatedLocal":"Tienes instalado OpenCode {version}. Esta versión de OpenChamber requiere OpenCode {minimum} o posterior.","opencodeCompatibility.outdatedExternal":"El servidor conectado usa OpenCode {version}. Actualízalo a OpenCode {minimum} o posterior y vuelve a conectarte.","opencodeCompatibility.update":"Actualizar OpenCode","opencodeCompatibility.local":"Tienes instalado OpenCode {version}. Esta versión de OpenChamber requiere OpenCode v2.","opencodeCompatibility.external":"El servidor conectado usa OpenCode {version}. Instala OpenCode v2 en ese servidor y vuelve a conectarte.","opencodeCompatibility.installDescription":"OpenChamber instalará v2 con el instalador oficial y después reiniciará OpenCode.","opencodeCompatibility.install":"Actualizar a OpenCode v2","opencodeCompatibility.reconnect":"Comprobar de nuevo","opencodeCompatibility.guide":"Guía de instalación","opencodeCompatibility.installing":"Instalando OpenCode v2…","opencodeCompatibility.reconnecting":"Conectando de nuevo…","opencodeCompatibility.failed":"No se pudo completar la operación. Inténtalo de nuevo o sigue la guía de instalación y vuelve a conectarte.","sessions.aiRename.action":"Renombrar con IA","sessions.aiRename.generating":"Generando el título de la sesión...","sessions.aiRename.checking":"Comprobando los turnos completados...","sessions.aiRename.noCompletedTurns":"Disponible después de la primera respuesta completada.","sessions.aiRename.failed":"No se pudo renombrar la sesión. Revisa la configuración del modelo pequeño e inténtalo de nuevo.","sessions.aiRename.unsupported":"El cambio de nombre con IA no está disponible en VS Code.","smallModel.toast.unavailable.title":"Small Model no disponible","smallModel.toast.unavailable.description":"Elige otro modelo en Ajustes → Sesiones → Small Model e inténtalo de nuevo.","sessions.aiRename.noSmallModel":"Necesita un Small Model. Inicia sesión en un proveedor de modelos o elige uno en Ajustes → Sesiones.","commitComparison.mode":"Commit","pullRequestComparison.select":"Seleccionar solicitud de incorporación","pullRequestComparison.pickAbove":"Elige una solicitud de incorporación arriba","pullRequestComparison.partial":"No se pudieron cargar algunas solicitudes de incorporación","commitComparison.select":"Seleccionar commit","commitComparison.search":"Buscar commits...","commitComparison.loadError":"No se pudieron cargar los commits","commitComparison.noCommits":"No se encontraron commits","commitComparison.emptyDiff":"No hay cambios en este commit","chat.liveActivity.title":"Actividad","chat.liveActivity.moreRows":"+{count} más","chat.liveActivity.changedFile":"{count} archivo modificado","chat.liveActivity.changedFiles":"{count} archivos modificados","chat.liveActivity.explored":"Código explorado","chat.liveActivity.ranCommand":"{count} comando ejecutado","chat.liveActivity.ranCommands":"{count} comandos ejecutados","chat.liveActivity.researched":"Investigación en la web realizada","chat.liveActivity.usedSubagent":"{count} subagente utilizado","chat.liveActivity.usedSubagents":"{count} subagentes utilizados","sessions.sidebar.projectAction.active":"Acción del proyecto en curso",...E,"gitView.context.configure":"Configurar repositorio","gitView.context.description":"Remotos que la identidad del repositorio no alcanza y acceso para submódulos y Git LFS. Las identidades están en los ajustes de Git.","gitView.context.needsAttention":"Requiere atención","gitView.identity.system":"Identidad del sistema","gitView.identity.systemNoAuthor":"No hay autor configurado en este equipo","gitView.identity.configChanged":"La configuración de Git del repositorio cambió después de aplicar esta identidad. Vuelve a elegir la identidad para actualizarla.","gitView.identity.unavailableHost":"Este repositorio no está en {host}","gitView.identity.unavailableNeedsHttps":"Hace push por HTTPS, pero este repositorio usa SSH","gitView.identity.unavailableNeedsSsh":"Hace push por SSH, pero este repositorio usa HTTPS","gitView.context.settings":"Abrir ajustes de Git","gitView.operation.title":"Operación de Git","gitView.operation.recovery.storage":"OpenChamber no puede guardar aquí el estado de las transferencias de Git. Permite el almacenamiento del sitio y recarga; hasta entonces, push y pull quedan en pausa.","gitView.operation.recovery.capacity":"Hay demasiadas transferencias de Git sin terminar guardadas. Revisa las de abajo antes de empezar otra.","gitView.operation.recovery.reconciling":"Comprobando la transferencia de Git anterior…","gitView.operation.recovery.repository":"No se pudo leer este repositorio. Vuelve a comprobarlo antes de hacer push o pull.","gitView.operation.recovery.inspect":"Si sigue sin saberse, revisa tú el repositorio y el remoto. OpenChamber nunca repite una transferencia por su cuenta.","gitView.operation.unknownHint":"No se sabe si esto llegó. Vuelve a comprobarlo antes de hacer push o pull otra vez.","gitView.operation.refresh":"Comprobar de nuevo","gitView.operation.cancel":"Cancelar","gitView.operation.state.unavailable":"Estado desconocido","gitView.operation.state.planned":"Iniciando","gitView.operation.state.running":"En curso","gitView.operation.state.succeeded":"Completada","gitView.operation.state.partial":"Hecho en parte","gitView.operation.state.failed":"Fallida","gitView.operation.state.cancelled":"Cancelada","gitView.operation.state.outcome-unknown":"Resultado desconocido","gitView.operation.state.conflicted":"Conflicto","gitView.operation.state.skipped":"Omitida","gitView.remotes.title":"Otros remotos","gitView.remotes.description":"Estos remotos están en un host o dirección que la identidad del repositorio no alcanza. Elige una identidad para cada uno para hacer fetch y push allí.","gitView.hydration.title":"Submódulos y Git LFS","gitView.hydration.description":"Acceso a submódulos y archivos de Git LFS que están en otros servidores.","gitView.hydration.parentRemote":"Remoto","gitView.hydration.retry":"Descargar de nuevo","gitView.hydration.endpoint":"Servidor","gitView.hydration.identity":"Identidad para este servidor","gitView.hydration.authorizationNeeded":"Algunos submódulos o archivos LFS están en servidores a los que OpenChamber aún no llega. Elige una identidad para cada uno y descarga de nuevo.","gitView.hydration.chooseEndpoint":"Elige un servidor","gitView.hydration.lfsMissing":"Git LFS no está instalado. Instala git-lfs y descarga de nuevo.","gitView.hydration.kind.submodule":"Submódulo","gitView.hydration.kind.lfs":"Git LFS","gitView.hydration.status.succeeded":"Completado","gitView.hydration.status.failed":"Error","gitView.hydration.status.cancelled":"Cancelado","gitView.hydration.status.authorization-required":"Autorización necesaria","gitView.hydration.status.invalid":"Configuración no válida","gitView.hydration.status.client-missing":"Git LFS no instalado","gitView.hydration.status.not-needed":"No es necesario","gitView.publish.title":"Publicar","gitView.publish.pushTo":"Push a…","gitView.publish.commitKept":"El commit se hizo localmente, pero el push no terminó.","gitView.publish.syncTitle":"Dónde sincronizar","gitView.publish.description":"Elige adónde hacer push de {branch}.","gitView.publish.fetchSource":"Hacer pull desde","gitView.publish.sourceBranch":"Rama de origen","gitView.publish.fetchFirst":"Aún no se conoce ninguna rama de este remoto. Haz fetch primero.","gitView.publish.pushDestination":"Hacer push a","gitView.publish.selectRemote":"Elige un remoto","gitView.publish.destinationBranch":"Rama de destino","gitView.publish.noGrants":"Este repositorio no tiene un remoto donde publicar.","gitView.toast.pushFailed":"Error al hacer push","gitView.publish.trackingRemoteMismatch":"Esta rama sigue a otro remoto.","gitView.publish.trackingRequired":"Esta rama aún no tiene upstream. Publícala primero.","gitView.publish.remoteNotGranted":"La identidad del repositorio no alcanza este remoto. Elige una identidad para él en Configurar repositorio.","gitView.publish.needsAttention":"La identidad del repositorio necesita atención. Vuelve a elegirla desde el botón de identidad.","gitView.publish.contributorCommitFirst":"Elegirás adónde hacer push después del commit. Si cancelas entonces, el commit se queda en local.","gitView.publish.detached":"Cámbiate a una rama antes de hacer push.","gitView.publish.stale":"La rama o sus remotos cambiaron mientras tanto. No se envió nada; elige otra vez adónde hacer push.","gitView.publish.cancelled":"Push cancelado. No se envió nada.","gitView.publish.succeeded":"Push hecho",...N.es,...D.es,...R.es,...I.es,...T.es,...P.es,...A.es,...S.es,...C.es,...k.es,...y.es,...w.es,...f.es,...v.es,...b.es,...h.es,...g.es,...m.es,...u.es,...p.es,...d.es,...c.es,...l.es,...r.es,...n.es,"terminalView.actions.attachSelection":"Adjuntar salida seleccionada","terminalView.actions.copySelection":"Copiar salida seleccionada","terminalView.toast.selectionCopied":"Salida copiada","terminalView.toast.copyFailed":"Error al copiar","terminalView.actions.copy":"Copiar","terminalView.actions.paste":"Pegar","terminalView.toast.pasteFailed":"No se pudo leer el portapapeles. Usa el atajo de teclado para pegar.","terminalView.toast.pasteFailedTouch":"No se pudo leer el portapapeles.","terminalView.actions.restart":"Reiniciar terminal","chat.message.terminalContext":"{terminal}, líneas {start}-{end}","chat.message.context.codeComment":"Comentario en {file}, líneas {start}-{end}","chat.message.context.codeCommentLine":"Comentario en {file}, línea {line}","chat.message.context.chatQuote":"Cita de un mensaje anterior","chat.message.context.showQuoteSource":"Mostrar en el mensaje original","chat.message.context.fileQuote":"Selección de {file}","chat.chatInput.chatQuoteContext":"Citas del chat","chat.chatInput.chatQuoteContextRemove":"Quitar citas del chat","chat.chatInput.contextPreview.selectedLabel":"Texto seleccionado","chat.chatInput.contextPreview.commentLabel":"Comentario del usuario","chat.chatInput.contextPreview.edit":"Editar comentario","chat.chatInput.contextPreview.remove":"Quitar","chat.message.context.browserAnnotation":"Anotación del navegador ({page})","chat.message.context.prComment":"Comentario de PR de GitHub ({label})","chat.message.context.mrComment":"Comentario de MR de GitLab ({label})","chat.message.context.prCheck":"Verificación de PR de GitHub fallida ({label})","chat.message.context.mrCheck":"Job de pipeline de GitLab fallido ({label})","chat.chatInput.terminalContext":"{terminal}, líneas {start}-{end}","chat.chatInput.terminalContextRemove":"Eliminar contexto del terminal","chat.chatInput.prCommentContext":"Comentarios del PR","chat.chatInput.mrCommentContext":"Comentarios del MR","chat.chatInput.waitingForOpenCode":"Esperando a OpenCode…","chat.chatInput.waitingForOpenCodeHint":"El mensaje se enviará en cuanto OpenCode se inicie","chat.chatInput.prCommentContextRemove":"Quitar el contexto de comentarios del PR","chat.chatInput.prCheckContext":"Comprobaciones del PR fallidas","chat.chatInput.mrCheckContext":"Jobs de pipeline fallidos","chat.chatInput.prCheckContextRemove":"Quitar el contexto de comprobaciones del PR","common.loading":"Cargando...","common.unavailable":"No disponible","common.language.english":"Inglés","common.language.german":"Alemán","common.language.french":"Francés","common.language.simplifiedChinese":"Chino (simplificado)","common.language.traditionalChinese":"Chino (tradicional)","common.language.ukrainian":"Ucraniano","common.language.spanish":"Español","common.language.brazilianPortuguese":"Portugués brasileño","common.language.korean":"Coreano","common.language.polish":"Polaco","common.language.japanese":"Japonés","common.language.turkish":"Turco","common.language.arabic":"Árabe","common.language.hebrew":"Hebreo","common.language.dutch":"Neerlandés","common.revealPath.finder":"Mostrar en Finder","common.revealPath.fileExplorer":"Abrir en File Explorer","common.revealPath.fileManager":"Abrir en gestor de archivos","pwa.installPrompt.description":"Instala OpenChamber para acceder más rápido","pwa.installPrompt.action":"Instalar","pwa.installPrompt.dismiss":"Descartar","pwa.installPrompt.started":"Instalación iniciada","pwa.installPrompt.installed":"OpenChamber se instaló","layout.mainTab.chat":"Chat","layout.mainTab.plan":"Plan","layout.mainTab.diff":"Diff","layout.mainTab.diagram":"Diagrama","layout.mainTab.files":"Archivos","layout.mainTab.terminal":"Terminal","layout.mainTab.context":"Contexto","mobile.nav.aria":"Navegación móvil","mobile.connect.welcome.title":"Conéctate a OpenChamber","mobile.connect.welcome.description":"Agrega una URL de servidor o escanea un código QR de emparejamiento para empezar a usar la app móvil.","mobile.connect.url.label":"URL del servidor","mobile.connect.url.placeholder":"http://192.168.1.74:2606","mobile.connect.token.label":"Token de cliente","mobile.connect.token.placeholder":"Pega el token de acceso","mobile.connect.token.hint":"Solo es necesario si tu servidor requiere un token en lugar de una contraseña.","mobile.connect.password.label":"Contraseña","mobile.connect.password.placeholder":"Contraseña de OpenChamber","mobile.connect.connectButton":"Conectar","mobile.connect.unlockButton":"Desbloquear y conectar","mobile.connect.cancelPassword":"Usar otro servidor","mobile.connect.connecting":"Conectando...","mobile.connect.notice.unreachable":"No se pudo conectar con {label}. Comprueba que el servidor esté en marcha.","mobile.connect.notice.relayLimit":"El Relay rechazó la conexión con {label}: demasiados dispositivos o reconexiones. Cierra OpenChamber en otro dispositivo o espera un minuto y luego toca {label} para volver a intentarlo.","mobile.connect.notice.authExpired":"El acceso a {label} caducó o fue revocado. Inicia sesión de nuevo.","mobile.connect.recovery.description":"No se pudo conectar con el servidor guardado. Comprueba que esté en marcha o elige otra instancia.","mobile.connect.scanQr":"Escanear código QR","mobile.connect.welcome.scanHint":"En tu ordenador, abre «Añadir un dispositivo» para mostrar un código QR y escanéalo aquí.","mobile.connect.advanced":"Avanzado","mobile.connect.manual.toggle":"Conectar por dirección","mobile.connect.scan.permissionDenied":"El acceso a la cámara está desactivado. Actívalo en Ajustes para escanear un código QR.","mobile.connect.scan.failed":"No se pudo escanear ese código QR. Inténtalo de nuevo o introduce la URL manualmente.","mobile.connect.scan.invalid":"Ese código QR no es un código de conexión de OpenChamber.","mobile.connect.scan.unsupported":"El escaneo de QR solo está disponible en la app móvil instalada.","mobile.connect.saved.title":"Conexiones guardadas","mobile.connect.saved.empty":"Aún no hay conexiones guardadas.","mobile.connect.relay.badge":"a través de OpenChamber Relay","mobile.connect.error.urlRequired":"Introduce una URL de servidor.","mobile.connect.splash.connectingTo":"Conectando al dispositivo:","mobile.connect.error.invalidUrl":"Esa URL de servidor no es válida.","mobile.connect.error.unreachable":"No se pudo conectar con ese servidor de OpenChamber.","mobile.connect.error.relayLimit":"El Relay rechazó la conexión: demasiados dispositivos o reconexiones. Cierra OpenChamber en otro dispositivo o espera un minuto y vuelve a intentarlo.","mobile.connect.error.authRequired":"Este servidor requiere una contraseña o un token de cliente.","mobile.connect.error.passwordFailed":"No se pudo desbloquear ese servidor. Revisa la contraseña.","mobile.instances.addTitle":"Agregar instancia","mobile.instances.addManual":"Añadir por dirección","mobile.instances.editTitle":"Editar instancia","mobile.instances.edit":"Editar","mobile.instances.delete":"Eliminar","mobile.instances.deleteAria":"Eliminar {label}","mobile.instances.confirmDeleteAria":"Confirmar la eliminación de {label}","mobile.instances.cancelDeleteAria":"Conservar {label}","mobile.instances.cancelEdit":"Cancelar","mobile.instances.label.label":"Nombre","mobile.instances.label.placeholder":"Nombre para mostrar (opcional)","mobile.instances.saveNew":"Guardar instancia","mobile.connectionDebug.title":"Registro de conexión","mobile.connectionDebug.copy":"Copiar","mobile.connectionDebug.copied":"Copiado","mobile.connectionDebug.close":"Cerrar","mobile.connectionDebug.empty":"Aún no hay eventos de conexión.","mobile.instances.status.connectedDirect":"Conectado · Red local","mobile.instances.status.connectedRelay":"Conectado · Relay privado","mobile.instances.saveEdit":"Guardar cambios","mobile.nav.changes":"Cambios","mobile.nav.settings":"Ajustes","mobile.surface.closeAria":"Cerrar","mobile.header.openWorkspaceAria":"Abrir panel de trabajo","mobile.header.openWorkspaceWithChangesAria":"Abrir panel de trabajo, cambios sin confirmar","mobile.header.openMetadataAria":"Abrir metadatos de la sesión","mobile.header.metadata.context":"Contexto","mobile.header.metadata.contextPending":"El uso del contexto aparecerá cuando comience la sesión.","mobile.header.metadata.usage":"Uso","mobile.menu.titleAria":"Herramientas del espacio de trabajo","mobile.menu.files":"Archivos","mobile.menu.git":"Git","mobile.menu.terminal":"Terminal","mobile.menu.mcp":"MCP","mobile.menu.instances":"Instancias","mobile.menu.update":"Actualizar","mobile.menu.settings":"Ajustes","mobile.sessions.footer.more":"Más","mobile.sessions.newChatCta":"Nuevo chat en {project}","mobile.sessions.dateGroup.today":"Hoy","mobile.sessions.dateGroup.yesterday":"Ayer","mobile.sessions.dateGroup.thisWeek":"Antes esta semana","mobile.sessions.dateGroup.older":"Más antiguos","mobile.sessions.section.worktrees":"Worktrees","mobile.sessions.section.otherProjects":"Cambiar de proyecto","mobile.sessions.section.projects":"Proyectos","mobile.sessions.viewMode.label":"Vista","mobile.sessions.viewMode.projects":"Árbol","mobile.sessions.viewMode.timeline":"Lista","mobile.sessions.section.chats":"Chats","mobile.sessions.empty.noProjectsTitle":"Sin proyectos","mobile.sessions.empty.noProjectsDescription":"Agrega un proyecto para empezar a chatear con tu código.","mobile.sessions.empty.noSessionsTitle":"Sin sesiones","mobile.sessions.empty.noSessionsDescription":"Inicia tu primer chat para verlo aquí.","mobile.sessions.empty.searchTitle":"Sin resultados","mobile.sessions.empty.searchDescription":"Prueba con otro término de búsqueda.","mobile.sessions.showArchived":"Mostrar archivadas ({count})","mobile.sessions.hideArchived":"Ocultar archivadas","mobile.sessions.activeWorktreeAria":"Worktree activo","mobile.sessions.startNewChat":"Iniciar nuevo chat","mobile.sessions.newChat":"Nuevo chat","mobile.sessions.editOrder":"Reordenar proyectos","mobile.sessions.doneEditing":"Listo","mobile.sessions.editOrderHint":"Arrastra el asa para reordenar los proyectos. Toca un proyecto para mostrar sus worktrees y arrástralos también. Toca la marca para terminar.","mobile.sessions.dragHandleAria":"Arrastra {label} para reordenar","mobile.sessions.moveUpAria":"Mover {label} arriba","mobile.sessions.moveDownAria":"Mover {label} abajo","mobile.sessions.removeProjectAria":"Eliminar {label}","mobile.sessions.confirmRemoveProjectAria":"Confirmar eliminación de {label}","mobile.sessions.toast.projectRemoved":"Se eliminó {label}","mobile.sessions.archiveSessionAria":"Archivar {title}","mobile.sessions.cancelArchiveAria":"Cancelar archivar {title}","mobile.sessions.renameSessionAria":"Renombrar {title}","mobile.sessions.renameError":"No se pudo renombrar la sesión","mobile.sessions.deleteSessionAria":"Eliminar {title}","mobile.sessions.confirmDeleteSessionAria":"Confirmar eliminación de {title}","mobile.sessions.editProjectAria":"Editar {label}","mobile.sessions.newSessionInProjectAria":"Nueva sesión en {label}","mobile.projectEdit.worktreesTitle":"Worktrees","mobile.projectEdit.worktreesEmpty":"Este proyecto aún no tiene worktrees.","mobile.projectEdit.reorderHint":"Arrastra para reordenar los worktrees.","mobile.projectEdit.dragWorktreeAria":"Arrastra {label} para reordenar","mobile.projectEdit.deleteWorktreeAria":"Eliminar worktree {label}","mobile.projectEdit.deleteWorktreeTitle":"Eliminar worktree","mobile.projectEdit.deleteWorktreeConfirmButton":"Eliminar","mobile.projectEdit.deleteWorktreeConfirm":"¿Eliminar el worktree «{name}»? No se puede deshacer.","mobile.projectEdit.deleteWorktreeDirty":"Este worktree tiene cambios sin confirmar que se perderán.","mobile.projectEdit.deleteWorktreeArchiveNote":"Se archivarán {count} sesión(es) adjunta(s).","mobile.projectEdit.deleteLocalBranch":"Eliminar también la rama local","mobile.projectEdit.deleteRemoteBranch":"Eliminar también la rama remota","mobile.sessions.showMore":"Mostrar {count} más","mobile.sessions.search.section.sessions":"Sesiones","mobile.sessions.search.section.archived":"Archivadas","mobile.sessions.search.section.projects":"Proyectos","mobile.sessions.clearSearchAria":"Limpiar búsqueda","mobile.header.noProject":"Selecciona un proyecto","mobile.header.activeSession":"Sesión activa","mobile.header.noSession":"No hay sesión activa","mobile.sessions.openSheetAria":"Abrir sesiones y proyectos","mobile.sessions.closeSheetAria":"Cerrar sesiones y proyectos","mobile.sessions.sheet.title":"Sesiones","mobile.sessions.sheet.description":"Cambia proyectos, abre sesiones o inicia un nuevo chat.","mobile.sessions.search.placeholder":"Buscar sesiones","mobile.sessions.empty":"No se encontraron sesiones.","mobile.sessions.unassignedProject":"Otras sesiones","mobile.sessions.newSessionAria":"Iniciar una nueva sesión en este proyecto","mobile.sessions.untitled":"Sesión sin título","mobile.sessions.project.sessionsSingle":"1 sesión","mobile.sessions.project.sessionsPlural":"{count} sesiones","mobile.files.refreshAria":"Actualizar archivos","mobile.files.backToParentAria":"Volver a {name}","mobile.files.rootDirectory":"Archivos del proyecto","mobile.files.search.placeholder":"Buscar archivos","mobile.files.search.empty":"No se encontraron archivos.","mobile.files.parentDirectory":"Directorio superior","mobile.files.empty.noDirectory":"Selecciona un proyecto para explorar archivos.","mobile.files.empty.directory":"Este directorio está vacío.","mobile.files.error.listFailed":"No se pudieron cargar los archivos","mobile.files.error.readUnavailable":"La vista previa del archivo no está disponible en este entorno.","mobile.files.file.truncated":"Vista previa del archivo truncada para móvil.","mobile.files.copyPathAria":"Copiar ruta del archivo","mobile.files.copyContent":"Copiar contenido","mobile.files.copyContentAria":"Copiar contenido del archivo","mobile.files.editAria":"Editar archivo","mobile.files.doneEditingAria":"Terminar edición","mobile.files.toast.pathCopied":"Ruta copiada","mobile.files.toast.contentCopied":"Contenido copiado","mobile.files.toast.copyFailed":"No se pudo copiar","mobile.changes.placeholder.title":"Cambios","mobile.changes.placeholder.description":"Aquí vivirán la revisión del árbol de trabajo, sync y commits.","mobile.changes.branchLabel":"Rama: {branch}","mobile.changes.cleanDescription":"No hay archivos modificados en este workspace.","mobile.changes.diffDetail.subtitle":"Diff de solo lectura","mobile.changes.diffDetail.loadFailed":"No se pudo cargar el diff","mobile.changes.diffDetail.missingTitle":"El archivo ya no tiene cambios","mobile.changes.diffDetail.missingDescription":"Vuelve a Cambios y actualiza la lista.","mobile.changes.diffDetail.imageUnavailable":"Los diffs de imagen aún no están disponibles en Cambios móvil.","mobile.settings.placeholder.title":"Ajustes","mobile.settings.placeholder.description":"Aquí vivirán los ajustes móviles de conexión y app.","layout.rightSidebar.git":"Git","layout.rightSidebar.files":"Archivos","layout.rightSidebar.context":"Contexto","layout.services.instance":"Instancia","layout.services.usage":"Uso","sessions.sidebar.header.actions.closeSessions":"Cerrar sesiones","sessions.sidebar.header.actions.addProject":"Añadir proyecto","sessions.sidebar.header.actions.newSession":"Nueva sesión","sessions.sidebar.header.actions.scheduledTasks":"Tareas programadas","sessions.scheduledTasks.dialog.title":"Tareas programadas","sessions.scheduledTasks.dialog.description":"Tareas del servidor que envían prompts a sesiones nuevas o existentes.","sessions.scheduledTasks.dialog.project.label":"Dónde ejecutar","sessions.scheduledTasks.dialog.project.placeholder":"Seleccionar proyecto","sessions.scheduledTasks.dialog.project.empty":"No hay proyectos","sessions.scheduledTasks.dialog.project.chats":"Chats","sessions.scheduledTasks.dialog.actions.newTask":"Nueva tarea","sessions.scheduledTasks.dialog.actions.runNow":"Ejecutar ahora","sessions.scheduledTasks.dialog.actions.edit":"Editar","sessions.scheduledTasks.dialog.actions.editAria":"Editar {taskName}","sessions.scheduledTasks.dialog.actions.deleteAria":"Eliminar {taskName}","sessions.scheduledTasks.dialog.loading":"Cargando tareas...","sessions.scheduledTasks.dialog.empty.noTasks":"No hay tareas programadas aún.","sessions.scheduledTasks.dialog.empty.selectProject":"Selecciona un proyecto para gestionar tareas programadas.","sessions.scheduledTasks.dialog.error.chooseProjectFirst":"Elige un proyecto primero","sessions.scheduledTasks.dialog.toast.loadFailed":"No se pudo cargar tareas programadas","sessions.scheduledTasks.dialog.toast.saved":"Tarea programada guardada","sessions.scheduledTasks.dialog.toast.updateFailed":"No se pudo actualizar la tarea","sessions.scheduledTasks.dialog.toast.deleted":"Tarea programada eliminada","sessions.scheduledTasks.dialog.toast.deleteFailed":"No se pudo eliminar la tarea","sessions.scheduledTasks.dialog.toast.started":"Tarea iniciada","sessions.scheduledTasks.dialog.toast.startedPersistWarning":"La tarea se inició, pero no se pudo guardar su estado. Puede seguir apareciendo como en ejecución hasta el siguiente inicio correcto.","sessions.scheduledTasks.dialog.toast.runFailed":"No se pudo ejecutar la tarea","sessions.scheduledTasks.dialog.confirm.deleteTask":'Eliminar tarea programada "{taskName}"?',"sessions.scheduledTasks.dialog.confirm.deleteLoopFile":"¿Eliminar la tarea de bucle «{taskName}» y su archivo Markdown?","sessions.scheduledTasks.dialog.schedule.daily":"Cada día {time}","sessions.scheduledTasks.dialog.schedule.dailyWithTimezone":"Cada día {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.weekly":"Cada semana {days} {time}","sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone":"Cada semana {days} {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.once":"Una vez {date} {time}","sessions.scheduledTasks.dialog.schedule.onceWithTimezone":"Una vez {date} {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.cron":"Cron: {cron}","sessions.scheduledTasks.dialog.schedule.cronWithTimezone":"Cron: {cron} ({timezone})","sessions.scheduledTasks.dialog.schedule.unknownDate":"Fecha desconocida","sessions.scheduledTasks.dialog.schedule.weekdayShort.sun":"Dom","sessions.scheduledTasks.dialog.schedule.weekdayShort.mon":"Lun","sessions.scheduledTasks.dialog.schedule.weekdayShort.tue":"Mar","sessions.scheduledTasks.dialog.schedule.weekdayShort.wed":"Mié","sessions.scheduledTasks.dialog.schedule.weekdayShort.thu":"Jue","sessions.scheduledTasks.dialog.schedule.weekdayShort.fri":"Vie","sessions.scheduledTasks.dialog.schedule.weekdayShort.sat":"Sáb","sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown":"?","sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute":"en <1m","sessions.scheduledTasks.dialog.relativeTime.justNow":"ahora mismo","sessions.scheduledTasks.dialog.relativeTime.inMinutes":"en {count}m","sessions.scheduledTasks.dialog.relativeTime.minutesAgo":"hace {count}m","sessions.scheduledTasks.dialog.relativeTime.inDuration":"en {duration}","sessions.scheduledTasks.dialog.relativeTime.durationAgo":"hace {duration}","sessions.scheduledTasks.dialog.status.success":"Éxito","sessions.scheduledTasks.dialog.status.error":"Error","sessions.scheduledTasks.dialog.status.running":"Ejecutándose","sessions.scheduledTasks.dialog.status.idle":"Inactivo","sessions.scheduledTasks.dialog.status.queued":"En cola","sessions.scheduledTasks.dialog.status.sent":"Enviado","sessions.scheduledTasks.dialog.status.skipped":"Omitido","sessions.scheduledTasks.dialog.status.cancelled":"Cancelado","sessions.scheduledTasks.dialog.nextRun.label":"Próximo","sessions.scheduledTasks.dialog.lastRun.label":"Última ejecución","sessions.scheduledTasks.dialog.lastRun.runningNow":"ejecutándose ahora","sessions.scheduledTasks.dialog.lastRun.never":"nunca","sessions.scheduledTasks.dialog.taskToggle.enableAria":"Habilitar {taskName}","sessions.scheduledTasks.dialog.taskToggle.pauseAria":"Pausar {taskName}","sessions.scheduledTasks.dialog.taskToggle.enabled":"Habilitado","sessions.scheduledTasks.dialog.taskToggle.paused":"Pausado","sessions.scheduledTasks.dialog.loopFile.note":"Gestionada por el archivo de bucle {file}","sessions.scheduledTasks.dialog.loopFile.toggleDisabled":"La activación la controla el archivo de bucle; establece enabled en el frontmatter de Markdown","sessions.scheduledTasks.dialog.loopFile.actionsDisabled":"Las tareas de bucle se configuran en su archivo Markdown .agents/loops","sessions.scheduledTasks.dialog.loopFile.enableOnThisComputer":"De este repositorio. Habilítalo para ejecutarlo en este equipo.","sessions.scheduledTasks.dialog.loopFile.changedSinceEnabled":"Cambió desde que lo habilitaste. Habilítalo de nuevo para ejecutarlo.","sessions.scheduledTasks.editor.title.edit":"Editar tarea programada","sessions.scheduledTasks.editor.title.new":"Nueva tarea programada","sessions.scheduledTasks.editor.description":"Programa un prompt para una sesión nueva o existente.","sessions.scheduledTasks.editor.sessionMode":"Modo de sesión","sessions.scheduledTasks.editor.newSession":"Nueva sesión","sessions.scheduledTasks.editor.existingSession":"Sesión existente","sessions.scheduledTasks.editor.targetSession":"Sesión de destino","sessions.scheduledTasks.editor.targetHint":"Espera en la cola de mensajes hasta que la sesión esté inactiva. Los valores predeterminados conservan la selección de la sesión de destino.","sessions.scheduledTasks.editor.targetLoadFailed":"No se pudieron cargar las sesiones de este proyecto.","sessions.scheduledTasks.editor.targetRetry":"Reintentar","sessions.scheduledTasks.editor.targetRequired":"Selecciona una sesión de destino.","sessions.scheduledTasks.editor.taskName.label":"Nombre de la tarea","sessions.scheduledTasks.editor.taskName.placeholder":"Sincronización diaria","sessions.scheduledTasks.editor.scheduleType.label":"Tipo de programación","sessions.scheduledTasks.editor.scheduleType.daily":"Diario","sessions.scheduledTasks.editor.scheduleType.weekly":"Semanal","sessions.scheduledTasks.editor.scheduleType.once":"Una vez","sessions.scheduledTasks.editor.scheduleType.cron":"Cron","sessions.scheduledTasks.editor.date.label":"Fecha","sessions.scheduledTasks.editor.date.placeholder":"Seleccionar fecha","sessions.scheduledTasks.editor.date.previousMonth":"Mes anterior","sessions.scheduledTasks.editor.date.nextMonth":"Próximo mes","sessions.scheduledTasks.editor.date.jumpToToday":"Ir a hoy","sessions.scheduledTasks.editor.date.today":"Hoy","sessions.scheduledTasks.editor.time.label":"Hora","sessions.scheduledTasks.editor.time.hourAria":"Horas","sessions.scheduledTasks.editor.time.minuteAria":"Minutos","sessions.scheduledTasks.editor.time.periodAria":"Período","sessions.scheduledTasks.editor.time.period.am":"AM","sessions.scheduledTasks.editor.time.period.pm":"PM","sessions.scheduledTasks.editor.times.label":"Horas","sessions.scheduledTasks.editor.times.add":"Añadir hora","sessions.scheduledTasks.editor.times.removeAria":"Eliminar hora","sessions.scheduledTasks.editor.timezone.label":"Zona horaria","sessions.scheduledTasks.editor.weekdays.label":"Días de la semana","sessions.scheduledTasks.editor.model.label":"Modelo","sessions.scheduledTasks.editor.thinkingLevel.label":"Nivel de pensamiento","sessions.scheduledTasks.editor.thinkingLevel.default":"Predeterminado","sessions.scheduledTasks.editor.agent.label":"Agente","sessions.scheduledTasks.editor.prompt.label":"Prompt","sessions.scheduledTasks.editor.prompt.placeholder":"Resumir tareas abiertas y proponer próximas acciones","sessions.scheduledTasks.editor.enabled.aria":"Habilitar tarea","sessions.scheduledTasks.editor.enabled.label":"Habilitado","sessions.scheduledTasks.editor.goal.label":"Ejecutar como objetivo","sessions.scheduledTasks.editor.goal.aria":"Ejecutar esta tarea como un objetivo que el agente persigue hasta completarlo","sessions.scheduledTasks.editor.goal.budgetLabel":"Presupuesto de tokens","sessions.scheduledTasks.editor.goal.budgetAria":"Limitar el objetivo a un presupuesto de tokens","sessions.scheduledTasks.editor.permissionAutoAccept.label":"Aceptar permisos automáticamente","sessions.scheduledTasks.editor.permissionAutoAccept.aria":"Iniciar la sesión de la tarea con la aceptación automática de permisos activada","sessions.scheduledTasks.editor.actions.closeAria":"Cerrar","sessions.scheduledTasks.editor.actions.cancel":"Cancelar","sessions.scheduledTasks.editor.actions.save":"Guardar","sessions.scheduledTasks.editor.actions.saving":"Guardando...","sessions.scheduledTasks.editor.toast.saveFailed":"No se pudo guardar la tarea","sessions.scheduledTasks.editor.validation.taskNameRequired":"Se requiere nombre de tarea","sessions.scheduledTasks.editor.validation.promptRequired":"Se requiere prompt","sessions.scheduledTasks.editor.validation.modelRequired":"Se requiere modelo","sessions.scheduledTasks.editor.validation.dateFormat":"La fecha debe usar YYYY-MM-DD","sessions.scheduledTasks.editor.validation.timeFormat":"La hora debe usar HH:mm","sessions.scheduledTasks.editor.validation.atLeastOneTime":"Añadir al menos una hora válida","sessions.scheduledTasks.editor.validation.atLeastOneWeekday":"Seleccionar al menos un día de la semana","sessions.scheduledTasks.editor.validation.timezoneRequired":"Se requiere zona horaria","sessions.scheduledTasks.editor.validation.cronRequired":"Se requiere una expresión cron","sessions.scheduledTasks.editor.validation.cronInvalid":"Expresión cron no válida","sessions.scheduledTasks.editor.cronExpression.label":"Expresión cron","sessions.scheduledTasks.editor.cronExpression.placeholder":"*/5 * * * *","sessions.scheduledTasks.editor.cronExpression.nextRuns":"Próximas ejecuciones","sessions.scheduledTasks.editor.cronExpression.examples":"Ejemplos","sessions.scheduledTasks.editor.cronExpression.examples.every5min":"Cada 5 minutos","sessions.scheduledTasks.editor.cronExpression.examples.everyHour":"Cada hora","sessions.scheduledTasks.editor.cronExpression.examples.monday9am":"Cada lunes a las 9 a. m.","sessions.scheduledTasks.editor.cronExpression.examples.9am5pm":"9 a. m. y 5 p. m. todos los días","sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth":"Primero de cada mes","multirun.launcher.project.empty":"Añade un proyecto primero.","multirun.launcher.toast.partialFailure":"No se pudieron crear algunas sesiones. Fallidas: {failed}.","multirun.modelMultiSelect.actions.addModel":"Añadir modelo","multirun.modelMultiSelect.search.placeholder":"Buscar modelos","multirun.modelMultiSelect.search.noResults":"No se encontraron modelos","multirun.modelMultiSelect.sections.favorites":"Favoritos","multirun.modelMultiSelect.sections.recent":"Recientes","multirun.modelMultiSelect.variant.placeholder":"Pensando","multirun.modelMultiSelect.variant.default":"Predeterminado","multirun.modelMultiSelect.keyboard.hint":"↑↓ navegar • Enter seleccionar • Esc cerrar","multirun.modelMultiSelect.validation.minOnly":"Selecciona al menos {min} modelos.","multirun.modelMultiSelect.validation.minToMax":"Selecciona entre {min} y {max} modelos.","multirun.agentSelector.placeholder":"Selecciona un agente","multirun.fusion.model.placeholder":"Modelo","multirun.fusion.actions.start":"Iniciar fusion","multirun.fusion.actions.starting":"Iniciando...","multirun.fusion.toast.noOutputs":"No se encontraron respuestas del asistente para fusionar.","multirun.fusion.toast.failed":"No se pudo iniciar fusion.","sessions.sidebar.header.actions.searchSessions":"Buscar sesiones","sessions.sidebar.header.actions.exitSelection":"Salir de selección","sessions.sidebar.header.actions.selectSessions":"Seleccionar sesiones","sessions.sidebar.header.actions.sortProjects":"Ordenar proyectos","sessions.sidebar.header.actions.sortWorktrees":"Ordenar worktrees","sessions.sidebar.header.worktreeSort.recent":"Actividad reciente","sessions.sidebar.header.actions.sessionDisplayMode":"Modo de visualización de sesión","sessions.sidebar.header.displayMode.label":"Modo de visualización","sessions.sidebar.header.displayMode.default":"Predeterminado","sessions.sidebar.header.displayMode.minimal":"Mínimo","sessions.sidebar.header.displayMode.showWork":"Mostrar en curso","sessions.sidebar.header.displayMode.showPinned":"Mostrar ancladas","sessions.sidebar.header.displayMode.detailedZoneRows":"Filas detalladas","sessions.sidebar.activity.pinnedTitle":"Ancladas","sessions.sidebar.header.displayMode.showArchived":"Mostrar sesiones archivadas","sessions.sidebar.header.displayMode.collapseAll":"Colapsar todo","sessions.sidebar.header.displayMode.expandAll":"Expandir todo","sessions.sidebar.header.projectSort.manual":"Manual","sessions.sidebar.header.projectSort.aToZ":"A → Z","sessions.sidebar.header.projectSort.zToA":"Z → A","sessions.sidebar.header.projectSort.dateAdded":"Más recientes","sessions.sidebar.header.projectSort.recent":"Recientes","sessions.sidebar.header.search.matchCountSingle":"{count} coincidencia","sessions.sidebar.header.search.matchCountPlural":"{count} coincidencias","sessions.sidebar.header.search.escapeHint":"Esc para limpiar","sessions.sidebar.header.search.placeholder":"Buscar sesiones...","sessions.sidebar.header.search.clear":"Limpiar búsqueda","sessions.sidebar.footer.actions.settings":"Configuración","sessions.sidebar.footer.actions.shortcuts":"Atajos","sessions.sidebar.footer.actions.aboutOpenChamber":"Acerca de OpenChamber","sessions.sidebar.footer.actions.update":"Actualizar","sessions.sidebar.footer.actions.updateApp":"Actualizar app","sessions.sidebar.empty.noSessions.title":"No hay sesiones aún","sessions.sidebar.empty.noSessions.description":"Crea tu primera sesión para comenzar a programar.","sessions.sidebar.empty.noMatches.title":"No hay sesiones coincidentes","sessions.sidebar.empty.noMatches.description":"Inténtalo con un título, rama, carpeta o ruta diferente.","sessions.sidebar.empty.noMatches.searchArchive":"Buscar en el archivo","sessions.sidebar.activity.chatsTitle":"Chats","sessions.sidebar.header.viewMode.label":"Vista","sessions.sidebar.header.viewMode.projects":"Árbol","sessions.sidebar.header.viewMode.timeline":"Lista","sessions.sidebar.activity.chatsEmpty":"Aún no hay chats.","chat.chatInput.chooseProject":"Elegir proyecto","sessions.archivePage.allDirectories":"Todos los directorios","sessions.sidebar.header.projectDisplay.label":"Mostrar proyectos","sessions.sidebar.header.projectDisplay.all":"Todos los proyectos","sessions.sidebar.header.listGrouping.label":"Sesiones","sessions.sidebar.header.listGrouping.project":"Por proyecto","sessions.sidebar.header.listGrouping.time":"Por fecha","sessions.sidebar.activity.projectsTitle":"Proyectos","sessions.sidebar.header.projectDisplay.single":"Un proyecto","sessions.sidebar.project.selectAria":"Seleccionar proyecto, actualmente {project}","sessions.sidebar.project.actions.manageWorktrees":"Gestionar worktrees","sessions.worktreesPage.title":"Worktrees en {project}","sessions.worktreesPage.description":"Crea, inspecciona y elimina los worktrees de git de este proyecto.","sessions.worktreesPage.closeAria":"Cerrar worktrees","sessions.scheduledTasks.page.closeAria":"Cerrar tareas programadas","sessions.sidebar.nav.archive":"Archivo","sessions.archivePage.title":"Archivo","sessions.archivePage.countSingle":"{count} sesión archivada","sessions.archivePage.countPlural":"{count} sesiones archivadas","sessions.archivePage.closeAria":"Cerrar archivo","sessions.archivePage.searchPlaceholder":"Buscar sesiones archivadas","sessions.archivePage.empty.noArchived":"No hay sesiones archivadas","sessions.archivePage.empty.noMatches":"No hay sesiones archivadas coincidentes","sessions.archivePage.otherProjects":"otros proyectos","sessions.archivePage.deleteProject":"Eliminar todas las sesiones archivadas de este proyecto","sessions.archivePage.deleteProjectAria":"Eliminar todas las sesiones archivadas de {label}","sessions.archivePage.deleteSessionAria":"Eliminar {title}","sessions.archivePage.restoreSessionAria":"Restaurar {title}","sessions.switcher.openAria":"Abrir selector de sesiones","header.sessionTabs.stripAria":"Sesiones abiertas","header.sessionTabs.tabMenuAria":"Acciones de la pestaña de sesión","header.sessionTabs.closeTab":"Cerrar pestaña","header.sessionTabs.closeOtherTabs":"Cerrar las demás pestañas","sessions.switcher.empty":"No hay sesiones recientes","sessions.switcher.draftTitle":"Nueva sesión","sessions.sidebar.updateCheck.errorTitle":"No se pudo comprobar actualizaciones","sessions.sidebar.updateCheck.latestVersion":"Estás en la última versión","sessions.sidebar.directory.errorAddProjectTitle":"No se pudo añadir el proyecto","sessions.sidebar.directory.errorAddProjectDescription":"Selecciona una carpeta válida.","sessions.sidebar.directory.errorSelectDirectoryTitle":"No se pudo seleccionar carpeta","sessions.sidebar.folder.newFolderName":"Nueva carpeta","sessions.sidebar.bulkActions.delete":"Eliminar","sessions.sidebar.bulkActions.archive":"Archivar","sessions.sidebar.bulkActions.selectedCount":"{count} seleccionados","sessions.sidebar.bulkActions.moveToFolder":"Mover a carpeta","sessions.sidebar.bulkActions.deletedSingle":"Se eliminó {count} sesión","sessions.sidebar.bulkActions.deletedPlural":"Se eliminaron {count} sesiones","sessions.sidebar.bulkActions.failedDeleteSingle":"No se pudo eliminar {count} sesión","sessions.sidebar.bulkActions.failedDeletePlural":"No se pudo eliminar {count} sesiones","sessions.sidebar.bulkActions.archivedSingle":"Se archivó {count} sesión","sessions.sidebar.bulkActions.archivedPlural":"Se archivaron {count} sesiones","sessions.sidebar.bulkActions.failedArchiveSingle":"No se pudo archivar {count} sesión","sessions.sidebar.bulkActions.failedArchivePlural":"No se pudo archivar {count} sesiones","sessions.sidebar.bulkActions.restore":"Restaurar","sessions.sidebar.bulkActions.restoredSingle":"Se restauró {count} sesión","sessions.sidebar.bulkActions.restoredPlural":"Se restauraron {count} sesiones","sessions.sidebar.bulkActions.failedRestoreSingle":"No se pudo restaurar {count} sesión","sessions.sidebar.bulkActions.failedRestorePlural":"No se pudo restaurar {count} sesiones","sessions.sidebar.folders.none":"No hay carpetas aún","sessions.sidebar.folders.newFolderEllipsis":"Nueva carpeta...","sessions.sidebar.folders.removeFromFolder":"Quitar de carpeta","sessions.sidebar.folders.moveToFolder":"Mover a carpeta","sessions.sidebar.project.actions.newWorktree":"Nuevo worktree","sessions.sidebar.project.actions.newWorktreeEllipsis":"Nuevo worktree...","sessions.sidebar.project.actions.projectMenu":"Menú del proyecto","sessions.sidebar.project.actions.newSession":"Nueva sesión","sessions.sidebar.project.actions.closeProject":"Cerrar proyecto","sessions.sidebar.project.actions.edit":"Editar","sessions.sidebar.project.actions.newDraftSession":"Nueva sesión de borrador","sessions.sidebar.session.menu.rename":"Cambiar nombre","sessions.sidebar.session.menu.copyId":"Copiar ID de sesión","sessions.sidebar.session.menu.openInMiniChat":"Abrir en Mini Chat","sessions.sidebar.session.copyId.success":"ID de sesión copiado","sessions.sidebar.session.copyId.error":"No se pudo copiar el ID de sesión","header.sessionActions.openAria":"Abrir acciones de sesión","sessions.sidebar.session.rename.save":"Guardar nombre de sesión","sessions.sidebar.session.rename.cancel":"Cancelar cambio de nombre de sesión","sessions.sidebar.session.menu.unpin":"Desanclar sesión","sessions.sidebar.session.menu.pin":"Anclar sesión","sessions.sidebar.work.title":"En curso","sessions.sidebar.session.work.track":"Seguir como en curso","sessions.sidebar.session.work.markDone":"Marcar como hecho","sessions.sidebar.session.work.doneSuggested":"Parece terminado","sessions.sidebar.session.work.updateFailed":"No se pudo actualizar la sesión","sessions.sidebar.session.pin.pinFailed":"No se pudo anclar la sesión","sessions.sidebar.session.pin.unpinFailed":"No se pudo desanclar la sesión","chat.work.doneHint.text":"Este trabajo parece terminado.","chat.work.doneHint.action":"Marcar como hecho","chat.work.reviewHint.text":"Los cambios están listos para revisar.","chat.work.reviewHint.aiReview":"Revisión con IA","chat.backgroundShells.aria":"Comandos en segundo plano","chat.backgroundShells.count":"Comandos en segundo plano: {count}","chat.backgroundShells.subagent":"subagente","chat.backgroundShells.stop":"Detener","chat.backgroundShells.stopAll":"Detener todos","chat.backgroundShells.stopAria":"Detener {command}","chat.backgroundShells.elapsed":"En ejecución desde hace {duration}","sessions.sidebar.session.menu.share":"Compartir","sessions.sidebar.session.menu.copied":"Copiado","sessions.sidebar.session.menu.copyLink":"Copiar enlace","sessions.sidebar.session.menu.unshare":"Dejar de compartir","sessions.sidebar.session.menu.exportMarkdown":"Exportar Markdown","sessions.sidebar.session.menu.moveToWorktree":"Mover a un worktree nuevo","sessions.sidebar.session.menu.moveToWorktreeTargets":"Mover a worktree","sessions.sidebar.session.menu.newWorktree":"Nuevo worktree...","sessions.sidebar.session.moveToWorktree.success":"Sesión movida a un worktree nuevo","sessions.sidebar.session.moveToWorktree.failed":"No se pudo mover la sesión a un worktree nuevo","sessions.sidebar.session.moveToWorktree.outcomeUnknown":"Se conservó el nuevo worktree: el traslado aún puede completarse en el servidor.","sessions.sidebar.session.moveToWorktree.main":"Worktree principal","sessions.sidebar.session.moveToWorktree.loadFailed":"No se pudieron cargar los worktrees","sessions.sidebar.session.moveToWorktree.current":"Worktree actual","sessions.sidebar.session.moveToWorktree.existingSuccess":"Sesión movida al worktree","sessions.sidebar.session.moveToWorktree.existingFailed":"No se pudo mover la sesión al worktree","sessions.sidebar.session.moveToWorktree.tooltip":"Crea un nuevo worktree a partir de la rama actual y mueve allí esta sesión y sus subsesiones. Los cambios sin confirmar se quedan en el worktree de origen.","sessions.sidebar.session.moveToWorktree.tooltipBusy":"Disponible cuando la sesión está inactiva. Detén la actividad actual o espera a que termine.","sessions.sidebar.session.moveToWorktree.tooltipMoving":"Esta sesión ya se está moviendo a un worktree nuevo.","sessions.sidebar.session.menu.openInSidePanel":"Abrir en panel lateral","sessions.sidebar.session.actions.openInEditor":"Abrir en el editor","sessions.sidebar.session.menu.label":"Menú de sesión","sessions.sidebar.session.untitled":"Sesión sin título","sessions.sidebar.session.export.nothingToExport":"No hay nada para exportar","sessions.sidebar.session.export.failedLoadHistory":"No se pudo cargar el historial completo de la sesión","sessions.sidebar.session.export.success":"Sesión exportada","sessions.sidebar.session.export.failedRevealPath":"No se pudo mostrar la ruta","sessions.sidebar.session.export.untitledSubagent":"Subagente sin título","sessions.sidebar.session.export.skippedSubtaskSingle":"La sesión se exportó, pero se omitió {count} tarea de subagente que no se pudo cargar.","sessions.sidebar.session.export.skippedSubtaskMany":"La sesión se exportó, pero se omitieron {count} tareas de subagente que no se pudieron cargar.","sessions.sidebar.session.export.dialog.title":"Exportar Markdown","sessions.sidebar.session.export.dialog.descriptionSingle":"Esta sesión tiene {count} tarea de subagente. ¿Incluirla en la exportación?","sessions.sidebar.session.export.dialog.descriptionMany":"Esta sesión tiene {count} tareas de subagente. ¿Incluirlas en la exportación?","sessions.sidebar.session.export.dialog.includeSubtasks":"Incluir tareas de subagente","sessions.sidebar.session.export.dialog.confirm":"Exportar","sessions.sidebar.session.status.active":"Sesión activa","sessions.sidebar.session.status.unread":"Actualizaciones no leídas","sessions.sidebar.session.status.backgroundSubagent":"Subagente en ejecución en segundo plano","sessions.sidebar.session.status.backgroundCommand":"Comando en ejecución en segundo plano","sessions.sidebar.session.status.pinned":"Sesión anclada","sessions.sidebar.session.status.movingToWorktree":"Moviendo la sesión a un worktree nuevo","sessions.sidebar.session.status.permissionRequired":"Permiso requerido","sessions.sidebar.session.status.questionPending":"Pregunta pendiente","sessions.sidebar.session.status.activeFor":"Activa desde hace {duration}","sessions.sidebar.session.status.lastTurnDuration":"El último turno duró {duration}","sessions.sidebar.session.subsessions.collapse":"Colapsar subsesiones","sessions.sidebar.session.subsessions.expand":"Expandir subsesiones","sessions.sidebar.dialogs.deleteSession.title":"¿Eliminar sesión?","sessions.sidebar.dialogs.archiveSession.title":"¿Archivar sesión?","sessions.sidebar.dialogs.deleteSession.withOneSubtask":'"{sessionTitle}" y su {count} subtarea se eliminarán permanentemente.',"sessions.sidebar.dialogs.deleteSession.withManySubtasks":'"{sessionTitle}" y sus {count} subtareas se eliminarán permanentemente.',"sessions.sidebar.dialogs.archiveSession.withOneSubtask":'"{sessionTitle}" y su {count} subtarea se archivarán.',"sessions.sidebar.dialogs.archiveSession.withManySubtasks":'"{sessionTitle}" y sus {count} subtareas se archivarán.',"sessions.sidebar.dialogs.deleteSession.single":'"{sessionTitle}" se eliminará permanentemente.',"sessions.sidebar.dialogs.archiveSession.single":'"{sessionTitle}" se archivará.',"sessions.sidebar.dialogs.neverAsk":"Nunca preguntar","sessions.sidebar.dialogs.cancel":"Cancelar","sessions.sidebar.dialogs.deleteSession.titleAction":"Eliminar sesión","sessions.sidebar.dialogs.deleteSessions.titleAction":"Eliminar sesiones","sessions.sidebar.dialogs.deleteSessions.title":"¿Eliminar sesiones?","sessions.sidebar.dialogs.archiveSessions.title":"¿Archivar sesiones?","sessions.sidebar.dialogs.deleteSessions.singleDescription":"Se eliminará {count} sesión permanentemente.","sessions.sidebar.dialogs.deleteSessions.pluralDescription":"{count} sesiones se eliminarán permanentemente.","sessions.sidebar.dialogs.archiveSessions.singleDescription":"{count} sesión se archivará.","sessions.sidebar.dialogs.archiveSessions.pluralDescription":"{count} sesiones se archivarán.","sessions.sidebar.dialogs.deleteFolder.title":"¿Eliminar carpeta?","sessions.sidebar.dialogs.deleteFolder.withOneSubfolder":'"{folderName}" se eliminará junto con {count} subcarpeta. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.withManySubfolders":'"{folderName}" se eliminará junto con {count} subcarpetas. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders":'"{folderName}" se eliminará. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.single":'"{folderName}" se eliminará permanentemente.',"sessions.sidebar.dialogs.deleteResult.singleFailedToDelete":"{count} sesión no se pudo eliminar.","sessions.sidebar.dialogs.deleteResult.manyFailedToDelete":"{count} sesiones no se pudieron eliminar.","sessions.sidebar.dialogs.deleteResult.removedFromDate":"Se eliminaron todas las sesiones de {dateLabel}.","sessions.sidebar.dialogs.deleteResult.tryAgain":"Vuelve a intentarlo en un momento.","sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked":"Esta acción elimina el worktree seleccionado.","sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked":"Esta acción elimina el worktree seleccionado y archiva {count} sesión vinculada.","sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked":"Esta acción elimina el worktree seleccionado y archiva {count} sesiones vinculadas.","sessions.sidebar.dialogs.sessionDelete.descriptionOne":"Esta acción elimina permanentemente 1 sesión.","sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate":"Esta acción elimina permanentemente 1 sesión de {dateLabel}.","sessions.sidebar.dialogs.sessionDelete.descriptionMany":"Esta acción elimina permanentemente {count} sesiones.","sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate":"Esta acción elimina permanentemente {count} sesiones de {dateLabel}.","sessions.sidebar.dialogs.sessionList.more":"+{count} más","sessions.sidebar.session.share.successTitle":"Sesión compartida","sessions.sidebar.session.share.successDescription":"El enlace para compartir se copió al portapapeles.","sessions.sidebar.session.share.error":"No se puede compartir la sesión","sessions.sidebar.session.rename.error":"No se pudo renombrar la sesión. {detail}","sessions.sidebar.session.action.upstreamErrorWithRef":"OpenCode respondió {status} {name} (ref {ref}). Busca esta ref en el registro de OpenCode.","sessions.sidebar.session.action.upstreamError":"OpenCode respondió {status}: {message}","sessions.sidebar.session.action.noDetails":"sin detalles","sessions.sidebar.session.share.copyUrlError":"No se pudo copiar la URL","sessions.sidebar.session.unshare.success":"Sesión dejó de compartirse","sessions.sidebar.session.unshare.error":"No se puede dejar de compartir la sesión","sessions.sidebar.session.delete.success":"Sesión eliminada","sessions.sidebar.session.delete.error":"No se pudo eliminar la sesión","sessions.sidebar.session.archive.success":"Sesión archivada","sessions.sidebar.session.archive.undo":"Deshacer","sessions.sidebar.session.archive.error":"No se pudo archivar la sesión","sessions.sidebar.session.restore.success":"Sesión restaurada","sessions.sidebar.session.restore.error":"No se pudo restaurar la sesión","sessions.sidebar.group.pr.checksPassed":"{success}/{total} comprobaciones aprobadas","sessions.sidebar.group.pr.failingCount":"{count} con fallos","sessions.sidebar.group.pr.pendingCount":"{count} pendientes","sessions.sidebar.group.pr.conflictsOrBlocked":"Conflictos o bloqueados","sessions.sidebar.group.pr.mergeable":"Se puede hacer merge","sessions.sidebar.group.pr.mergeState":"Estado de merge: {state}","sessions.sidebar.group.pr.status.merged":"Fusionada","sessions.sidebar.group.pr.status.readyToMerge":"Lista para fusionar","sessions.sidebar.group.pr.status.open":"PR abierto","sessions.sidebar.group.mr.status.open":"MR abierto","sessions.sidebar.group.pr.status.mergeConflicts":"Conflictos de merge","sessions.sidebar.group.pr.status.mergeBlocked":"Fusión bloqueada","sessions.sidebar.group.pr.status.checksFailing":"Checks fallidos","sessions.sidebar.group.pr.status.checksRunning":"Checks en curso","sessions.sidebar.group.issue.status.open":"Issue abierto","sessions.sidebar.group.issue.status.completed":"Completado","sessions.sidebar.group.issue.status.notPlanned":"No planificado","sessions.sidebar.group.pr.status.draft":"PR en borrador","sessions.sidebar.group.mr.status.draft":"MR en borrador","sessions.sidebar.group.pr.status.closed":"Cerrado","sessions.sidebar.group.empty.noArchivedSessions":"No hay sesiones archivadas aún.","sessions.sidebar.group.empty.noSessionsInWorkspace":"Aún no hay sesiones en este espacio de trabajo.","sessions.sidebar.group.empty.startSession":"Iniciar una sesión","sessions.sidebar.group.showMore":"Mostrar más sesiones","sessions.sidebar.group.showMoreSingle":"Mostrar {count} más sesión","sessions.sidebar.group.showMorePlural":"Mostrar {count} más sesiones","sessions.sidebar.group.showFewer":"Mostrar menos sesiones","sessions.sidebar.group.expandAria":"Expandir {label}","sessions.sidebar.group.collapseAria":"Colapsar {label}","sessions.sidebar.group.actions.deleteArchivedInGroupAria":"Eliminar sesiones archivadas en {label}","sessions.sidebar.group.actions.deleteArchivedSessions":"Eliminar sesiones archivadas","sessions.sidebar.group.actions.deleteGroupAria":"Eliminar {label}","sessions.sidebar.group.actions.deleteWorktree":"Eliminar worktree","sessions.sidebar.group.actions.deleteWorktreeAndBranch":"Eliminar worktree y rama local","sessions.sidebar.group.actions.deleteGroupAndBranchAria":"Eliminar {label} y su rama local","sessions.sidebar.group.actions.newDraftInGroupAria":"Nueva sesión de borrador en {label}","sessions.sidebar.grouping.projectRoot":"raíz del proyecto","sessions.sidebar.grouping.projectRootWithBranch":"raíz del proyecto: {branch}","sessions.sidebar.grouping.archived":"archivado","sessions.sidebar.grouping.archivedDescription":"Sesiones archivadas y no asignadas","sessions.sidebar.folderItem.expandAria":"Expandir carpeta {folderName}","sessions.sidebar.folderItem.collapseAria":"Colapsar carpeta {folderName}","sessions.sidebar.folderItem.namePlaceholder":"Nombre de carpeta","sessions.sidebar.folderItem.newSessionAria":"Nueva sesión en {folderName}","sessions.sidebar.folderItem.newSubfolderAria":"Nueva subcarpeta en {folderName}","sessions.sidebar.folderItem.newSubfolder":"Nueva subcarpeta","sessions.sidebar.folderItem.renameAria":"Cambiar nombre carpeta {folderName}","sessions.sidebar.folderItem.deleteArchivedInFolderAria":"Eliminar sesiones archivadas en carpeta {folderName}","sessions.sidebar.folderItem.deleteFolderAria":"Eliminar carpeta {folderName}","sessions.sidebar.folderItem.emptyFolder":"Vaciar carpeta","sessions.sidebar.sessionDialogs.ok":"Aceptar","sessions.sidebar.sessionDialogs.linkedSessionSingle":"Sesión vinculada","sessions.sidebar.sessionDialogs.linkedSessionPlural":"Sesiones vinculadas","sessions.sidebar.sessionDialogs.delete.note":"Los directorios de worktree permanecen intactos. Las subsesiones vinculadas a las sesiones seleccionadas también serán eliminadas.","sessions.sidebar.sessionDialogs.directory.errorSelectTitle":"No se pudo seleccionar directorio","sessions.sidebar.sessionDialogs.directory.errorOpenTitle":"No se pudo abrir directorio","sessions.sidebar.sessionDialogs.directory.errorOpenDescription":"Desktop no pudo otorgar acceso a archivos.","sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle":"No se pudo añadir proyecto","sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription":"Selecciona una ruta de directorio válida.","sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle":"No se pudo eliminar el worktree «{name}»","sessions.sidebar.sessionDialogs.worktree.removingTitle":"Eliminando el worktree «{name}»…","sessions.sidebar.sessionDialogs.worktree.removedTitle":"Worktree «{name}» eliminado","sessions.sidebar.sessionDialogs.worktree.removed":"Worktree eliminado.","sessions.sidebar.sessionDialogs.worktree.removedWithRemote":"Worktree y rama remota eliminados.","sessions.sidebar.sessionDialogs.worktree.attachedArchived":"Worktree adjunto archivado.","sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural":"Worktrees adjuntos archivados.","sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved":"Worktrees archivados y ramas remotas eliminadas.","sessions.sidebar.group.worktreeMissing":"Falta la carpeta del worktree","sessions.mergedCleanup.toast.removedTitle":"{name} limpiado: PR #{number} fusionado","sessions.mergedCleanup.toast.mr.removedTitle":"{name} limpiado: MR !{number} fusionado","sessions.mergedCleanup.toast.removedDescription":"Sus sesiones están archivadas y el worktree y su rama local se eliminaron.","sessions.mergedCleanup.toast.archivedTitle":"Sesiones de {name} archivadas: PR #{number} fusionado","sessions.mergedCleanup.toast.mr.archivedTitle":"Sesiones de {name} archivadas: MR !{number} fusionado","sessions.mergedCleanup.toast.archivedDescription":"El worktree se conserva: tiene cambios o commits que no están en el PR fusionado.","sessions.mergedCleanup.toast.mr.archivedDescription":"El worktree se conserva: tiene cambios o commits que no están en el MR fusionado.","sessions.mergedCleanup.toast.failedTitle":"No se pudo limpiar {name} tras fusionar el PR #{number}","sessions.mergedCleanup.toast.mr.failedTitle":"No se pudo limpiar {name} tras fusionar el MR !{number}","sessions.sidebar.session.restore.relocatedTitle":"Sesión movida a la carpeta del proyecto","sessions.sidebar.session.restore.relocatedDescription":"Su carpeta de worktree ya no existe, así que ahora trabaja en {project}.","sessions.sidebar.session.restore.relocateFailed":"No se pudo mover la sesión restaurada fuera de su carpeta de worktree inexistente","sessions.sidebar.group.worktreeRemoving":"Eliminando el worktree…","sessions.sidebar.project.folderMissing":"La carpeta del proyecto no existe o no está disponible","sessions.sidebar.group.space":"Espacio aislado","sessions.sidebar.group.spaceStale":"No se muestran todas las sesiones de este espacio.","sessions.sidebar.grouping.spaceUnnamed":"Espacio aislado","sessions.sidebar.sessionDialogs.worktree.label":"Worktree","sessions.sidebar.sessionDialogs.worktree.pathUnavailable":"Ruta de worktree no disponible.","sessions.sidebar.sessionDialogs.worktree.uncommittedWarning":"Los cambios sin commit se perderán.","sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch":"Eliminar rama remota","sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable":"Información de rama remota no disponible","sessions.sidebar.sessionDialogs.actions.deleteLocalBranch":"Eliminar rama local","sessions.sidebar.sessionDialogs.actions.deleting":"Eliminando…","sessions.sidebar.sessionDialogs.actions.deleteWorktree":"Eliminar worktree","gitView.branch.branchToMergeInto":"Rama de destino del merge","gitView.branch.branchToRebaseOnto":"rama de destino del rebase","gitView.branch.create":"Crear nueva rama...","gitView.branch.currentBadge":"Actual","gitView.branch.currentBranchFallback":"rama actual","gitView.branch.currentBranchTooltip":"Rama actual","gitView.branch.detachedHead":"HEAD desvinculado","gitView.branch.dialogDescriptionPrefix":"Elige cómo traer otra rama a","gitView.branch.empty":"No se encontraron ramas.","gitView.branch.comparisonBaseAutomatic":"Automático","gitView.branch.localBranches":"Ramas locales","gitView.branch.mergeDescription":"Crea un commit de merge y conserva el historial.","gitView.branch.mergeRebase":"Merge/Rebase","gitView.branch.mergeRebaseTooltip":"Actualiza esta rama desde otra rama.","gitView.branch.mergingInProgress":"Merge en curso","gitView.branch.namePlaceholder":"Nombre de la rama","gitView.branch.newBranchPlaceholder":"Nombre de la nueva rama","gitView.branch.noLocalBranches":"No hay ramas locales","gitView.branch.noRemoteBranches":"No hay ramas remotas","gitView.branch.operation":"Operación","gitView.branch.operationCompleted":"Operación completada","gitView.branch.operationFailed":"No se pudo completar la operación","gitView.branch.rebaseDescription":"Reaplica tus commits encima de la rama seleccionada.","gitView.branch.rebasingInProgress":"Rebase en progreso","gitView.branch.remoteBranches":"Ramas remotas","gitView.branch.renameTitle":"Cambiar nombre de rama","gitView.branch.renameSave":"Guardar nombre de rama","gitView.branch.renameSaving":"Guardando nombre de rama","gitView.branch.renameCancel":"Cancelar cambio de nombre de rama","gitView.branch.searchPlaceholder":"Buscar ramas...","gitView.branch.selectBranch":"Seleccionar rama","gitView.branch.summaryMergeInfix":"en","gitView.branch.summaryMergePrefix":"Se hará merge de","gitView.branch.summaryRebaseInfix":"sobre","gitView.branch.summaryRebasePrefix":"Se hará rebase de","gitView.branch.updateDescriptionPrefix":"Trae los últimos cambios a","gitView.branch.updateTitle":"Actualizar rama","gitView.changes.changedFilesAria":"Archivos modificados","gitView.changes.clearSelectionAria":"Limpiar selección de archivos","gitView.changes.collapseDirectoryAria":"Contraer directorio","gitView.changes.expandDirectoryAria":"Expandir directorio","gitView.changes.revertAll":"Revertir todo","gitView.changes.revertAllDescriptionPlural":"Se descartarán los cambios locales de todos los archivos de la lista.","gitView.changes.revertAllDescriptionSingle":"Se descartarán los cambios locales del archivo seleccionado.","gitView.changes.revertAllDialogTitle":"¿Revertir todos los cambios?","gitView.changes.revertDirectoryAria":"Revertir cambios en {path}","gitView.changes.revertDirectory":"Revertir carpeta","gitView.changes.revertDirectoryDescriptionPlural":"Se descartarán los cambios locales de {count} archivos en {path}.","gitView.changes.revertDirectoryDescriptionSingle":"Se descartarán los cambios locales de {count} archivo en {path}.","gitView.changes.revertDirectoryDialogTitle":"¿Revertir cambios de la carpeta?","gitView.changes.revertDirectoryTooltip":"Revertir cambios de la carpeta","gitView.changes.revertFileAria":"Revertir archivo","gitView.changes.revertFileTooltip":"Revertir cambios","gitView.changes.reverting":"Revertiendo...","gitView.changes.selectAllAria":"Seleccionar todos los archivos","gitView.changes.selectFileAria":"Seleccionar archivo","gitView.changes.stagedTitle":"Preparados","gitView.changes.resizeSplitAria":"Ajustar tamaño de cambios preparados y sin preparar","gitView.changes.stageAllAria":"Preparar todos los cambios","gitView.changes.stageDirectoryAria":"Preparar todos los cambios en {path}","gitView.changes.stageFileAria":"Preparar {path}","gitView.changes.title":"Cambios","gitView.changes.toggleDirectorySelectionAria":"Alternar selección de directorio","gitView.changes.unstageAllAria":"Quitar todos los cambios del área preparada","gitView.changes.unstageDirectoryAria":"Quitar del área preparada todos los cambios en {path}","gitView.changes.unstageFileAria":"Quitar {path} del área preparada","gitView.commit.addGitmoji":"Añadir gitmoji","gitView.commit.aiHighlights.insertAria":"Insertar","gitView.commit.aiHighlights.insertTooltip":"Insertar","gitView.commit.aiHighlights.title":"Puntos destacados","gitView.commit.commit":"Commit","gitView.commit.commitAria":"Commit","gitView.commit.committing":"Creando commit...","gitView.commit.generate":"Generar","gitView.commit.generateAria":"Generar mensaje de commit","gitView.commit.messagePlaceholder":"Mensaje de commit","gitView.commit.push":"Commit & sync","gitView.commit.pushAria":"Commit and sync","gitView.commit.pushing":"Sincronizando...","gitView.commit.selectFilesHint":"Selecciona archivos en Cambios para habilitar el commit.","gitView.commit.stageFilesHint":"Prepara archivos para habilitar el commit.","gitView.commit.title":"Commit","gitView.common.cancel":"Cancelar","gitView.branch.switchBlockedNotice":"Cambios sin confirmar: antes de cambiar de rama se ofrece confirmar o revertir.","gitView.branch.unpushedSingle":"1 commit sin push","gitView.branch.unpushedPlural":"{count} commits sin push","gitView.branch.recentBranches":"Ramas recientes","gitView.dirtySwitch.title":"Cambios sin confirmar","gitView.dirtySwitch.descriptionSingle":"El cambio a {branch} está en pausa para no perder tu archivo modificado. Confírmalo o reviértelo primero.","gitView.dirtySwitch.descriptionPlural":"El cambio a {branch} está en pausa para no perder tus {count} archivos modificados. Confírmalos o reviértelos primero.","gitView.dirtySwitch.commitAndSwitch":"Confirmar y cambiar","gitView.dirtySwitch.committedNotPushed":"Confirmado en {branch}. El commit es solo local: no se ha hecho push.","gitView.dirtySwitch.pushAfterCommit":"Hacer push después del commit","gitView.dirtySwitch.pushFailed":"Se confirmó, pero el push falló: no se cambió de rama.","gitView.dirtySwitch.actionFailed":"La acción falló; no se cambió de rama.","gitView.dirtySwitch.revertAndSwitch":"Revertir y cambiar","gitView.dirtySwitch.revertIncomplete":"Algunos cambios no se pudieron revertir, así que no se cambió de rama.","gitView.common.close":"Cerrar","gitView.common.done":"Hecho","gitView.common.processing":"Procesando...","gitView.common.reset":"Restablecer","gitView.conflict.abortOperation":"Abortar operación","gitView.conflict.conflictedFiles":"Archivos en conflicto:","gitView.conflict.continueLater":"Continuar más tarde","gitView.conflict.detectedDescription":"Se detectaron conflictos que debes resolver.","gitView.conflict.detectedTitle":"Conflictos detectados","gitView.conflict.errorLoadingDetails":"No se pudo cargar detalles","gitView.conflict.headInfo":"Información de HEAD:","gitView.conflict.loadFailed":"No se pudo cargar","gitView.conflict.loading":"Cargando detalles del conflicto...","gitView.conflict.noActiveSession":"Sin sesión activa","gitView.conflict.noActiveSessionDescription":"Abre o crea una sesión para resolver los conflictos.","gitView.conflict.resolveCurrentSession":"Resolver en sesión actual","gitView.conflict.resolveNewSession":"Resolver en nueva sesión","gitView.empty.cleanDescription":"No hay cambios pendientes.","gitView.empty.cleanTitle":"Worktree limpio","gitView.empty.pullBehindPlural":"Pull de {count} commits","gitView.empty.pullBehindSingle":"Pull de {count} commit","gitView.header.identityTooltip":"Identidad de Git","gitView.header.noIdentity":"Sin identidad","gitView.header.noProfiles":"No hay perfiles disponibles para aplicar.","gitView.header.repositoryViews":"Vistas del repositorio","gitView.header.updateBranch":"Actualizar rama","gitView.header.openPullRequest":"Abrir pull request","gitView.header.openRepository":"Ver repositorio en {provider}","gitView.header.removeRemoteAria":"Eliminar remoto","gitView.header.removeRemoteTitle":"Eliminar remoto","gitView.header.upstreamSynced":"sincronizado","gitView.header.upstreamTooltip":"Comparado con {target}.","gitView.header.upstreamTooltipTracking":"Comparado con {target}. Los indicadores principales de sincronización aún reflejan {tracking}.","gitView.history.actions.cancelButton":"Cancelar","gitView.history.actions.checkoutConfirm":"¿Cambiar a este commit como HEAD separado?","gitView.history.actions.cherryPickConfirm":"¿Aplicar cherry-pick de este commit sobre la rama actual?","gitView.history.actions.conflictToastDescription":"Conflictos en: {files}. Resuélvelos manualmente y haz commit, o aborta con git cherry-pick/revert --abort.","gitView.history.actions.conflictToastTitle":"Conflicto","gitView.history.actions.confirmButton":"Confirmar","gitView.history.actions.mergeConfirm":"¿Fusionar este commit en la rama actual?","gitView.history.actions.rebaseConfirm":"¿Rebasear la rama actual sobre este commit?","gitView.history.actions.resetHardConfirm":"Reset hard — HEAD se mueve y todos los cambios sin commit se descartan permanentemente.","gitView.history.actions.resetMixedConfirm":"Reset mixed — HEAD se mueve y los cambios quedan sin preparar.","gitView.history.actions.resetSoftConfirm":"Reset soft — HEAD se mueve y los cambios preparados se conservan.","gitView.history.actions.revertConfirm":"¿Preparar una reversión de este commit?","gitView.history.actions.checkout":"Cambiar a commit","gitView.history.actions.cherryPick":"Cherry-pick","gitView.history.actions.createBranch":"Crear rama aquí","gitView.history.actions.createBranchConfirm":"Crear","gitView.history.actions.createBranchPlaceholder":"Nombre de rama","gitView.history.actions.detachedHead":"Checkout realizado (HEAD separado)","gitView.history.actions.merge":"Fusionar en la actual","gitView.history.actions.rebase":"Rebasear sobre este","gitView.history.actions.reset":"Reset...","gitView.history.actions.resetHard":"Hard — descartar todos los cambios","gitView.history.actions.resetHardConfirmButton":"Descartar cambios","gitView.history.actions.resetMixed":"Mixed — quitar del stage","gitView.history.actions.resetSoft":"Soft — conservar staged","gitView.history.actions.revert":"Revertir","gitView.history.binary":"Binario","gitView.history.binaryNoDiff":"Archivo binario — no hay diff disponible","gitView.history.commitsPlaceholder":"Buscar commits...","gitView.history.copySha":"Copiar SHA","gitView.history.diffError":"Error al cargar el diff. Haz clic para reintentar.","gitView.history.largeDiffDescription":"El renderizado puede ser lento. Puedes ver el diff igualmente haciendo clic abajo.","gitView.history.largeDiffTitle":"Diff grande ({count} líneas cambiadas)","gitView.history.loadingDiff":"Cargando diff...","gitView.history.loadingFiles":"Cargando archivos...","gitView.history.loadMore":"Cargar más","gitView.history.loadingMore":"Cargando...","gitView.history.logSize100":"100 commits","gitView.history.logSize25":"25 commits","gitView.history.logSize50":"50 commits","gitView.history.noCommits":"No se encontraron commits","gitView.history.noFiles":"No hay archivos","gitView.history.renamedNoDiff":"Archivo renombrado — diff no soportado","gitView.history.renderDiffAnyway":"Renderizar igualmente","gitView.history.title":"Historial","gitView.history.refresh":"Actualizar","gitView.graph.title":"Grafo","gitView.integrate.checking":"Verificando…","gitView.integrate.cherryPickAbortedToast":"Cherry-pick abortado","gitView.integrate.cherryPickConflictDescription":"Resuelve los conflictos de cherry-pick para continuar.","gitView.integrate.cherryPickConflictToast":"Conflictos de cherry-pick detectados","gitView.integrate.cherryPickContinueFailedToast":"No se pudo continuar el cherry-pick","gitView.integrate.cherryPickFinishedToast":"Cherry-pick completado","gitView.integrate.commitsMovedDescriptionPlural":"Commits movidos","gitView.integrate.commitsMovedDescriptionSingle":"Commit movido","gitView.integrate.commitsMovedToast":"Commits movidos","gitView.integrate.commitsToMove":"Commits por mover","gitView.integrate.conflictsInFiles":"Conflictos en archivos","gitView.integrate.currentCommit":"Commit actual","gitView.integrate.currentSession":"Sesión actual","gitView.integrate.failedToMoveToast":"No se pudieron mover los commits","gitView.integrate.moreFiles":"Más archivos","gitView.integrate.move":"Mover","gitView.integrate.moveCommits":"Mover commits","gitView.integrate.moving":"Moviendo…","gitView.integrate.newSession":"Nueva sesión","gitView.integrate.noActiveSession":"Sin sesión activa","gitView.integrate.noActiveSessionDescription":"Abre o crea una sesión para resolver los conflictos.","gitView.integrate.noCommitsToMove":"No hay commits para mover.","gitView.integrate.noCommitsToMoveToast":"No hay commits para mover","gitView.integrate.previewUnavailable":"Vista previa no disponible","gitView.integrate.showAll":"Mostrar todo","gitView.integrate.showLess":"Mostrar menos","gitView.integrate.showingFirstCommits":"Mostrando los primeros commits","gitView.integrate.target":"Destino","gitView.integrate.title":"Reintegrar commits","gitView.integrate.toMoveCount":"Commits por mover","gitView.operation.abort":"Abortar","gitView.operation.continue":"Continuar","gitView.operation.inProgressTitle":"{operation} en progreso","gitView.operation.inProgressTitleManyConflicts":"{operation} en curso: {count} conflictos","gitView.operation.inProgressTitleOneConflict":"{operation} en curso: {count} conflicto","gitView.operation.merge":"Merge","gitView.operation.mergeInProgressWithHead":"Haciendo merge de {head}","gitView.operation.mergingMessage":"Haciendo merge: {message}","gitView.operation.rebase":"Rebase","gitView.operation.rebaseInProgress":"Rebase en progreso","gitView.operation.rebasingOnto":"Haciendo rebase de {headName} sobre {onto}","gitView.operation.readyToContinueHint":"Todos los conflictos están resueltos. Continúa para finalizar la operación.","gitView.operation.resolveConflictsHint":"Resuelve los conflictos y luego continúa la operación.","gitView.operation.resolveWithAi":"Resolver con IA","gitView.stash.confirmButton":"Guardar cambios y continuar","gitView.stash.description":"Tienes cambios sin commit que podrían sobrescribirse. Guárdalos temporalmente antes de continuar.","gitView.stash.mergeWith":"Merge con","gitView.stash.rebaseOnto":"Rebase sobre","gitView.stash.restoreAfterOperation":"Restaurar después de la operación","gitView.stash.restoreAria":"Restaurar stash","gitView.stash.stepRestore":"Restaura tus cambios guardados","gitView.stash.stepStash":"Guarda tus cambios sin commit","gitView.stash.thisWill":"Esto hará:","gitView.stash.title":"Cambios sin commit","gitView.stashes.actions.apply":"Apply","gitView.stashes.actions.drop":"Drop","gitView.stashes.actions.pop":"Pop","gitView.stashes.actions.stashCurrent":"Stash current changes","gitView.stashes.actions.stashCurrentWithCount":"Stash {count} files","gitView.stashes.confirm.drop":"Drop {ref}?","gitView.stashes.description":"Save, restore, and clean up Git stashes for this repository.","gitView.stashes.empty.list":"No stashes yet.","gitView.stashes.empty.search":"No matching stashes.","gitView.stashes.includeUntrackedHint":"Untracked files are included automatically.","gitView.stashes.fileCount":"{count} files","gitView.stashes.fileCountLoading":"counting files...","gitView.stashes.itemNumber":"#{number}","gitView.stashes.latestLabel":"Latest","gitView.stashes.messagePlaceholder":"Stash name","gitView.stashes.searchPlaceholder":"Search stashes","gitView.stashes.title":"Stashes","gitView.stashes.toast.applyFailed":"Failed to apply stash","gitView.stashes.toast.applySuccess":"Stash applied","gitView.stashes.toast.createFailed":"Failed to stash changes","gitView.stashes.toast.created":"Changes stashed","gitView.stashes.toast.dropFailed":"Failed to drop stash","gitView.stashes.toast.dropSuccess":"Stash dropped","gitView.stashes.toast.loadFailed":"Failed to load stashes","gitView.stashes.toast.noChanges":"No local changes to stash","gitView.stashes.toast.popFailed":"Failed to pop stash","gitView.stashes.toast.popSuccess":"Stash popped","gitView.stashes.untitled":"Untitled stash","gitView.sync.fetch":"Fetch","gitView.sync.fetchFromRemote":"Fetch de {name}","gitView.sync.fetchTooltip":"Fetch del remoto","gitView.sync.commitOrStashTooltip":"Haz commit o stash de tus cambios antes de sincronizar","gitView.sync.moreActionsAria":"Más acciones de sincronización","gitView.sync.noRemoteTooltip":"No hay remotos configurados","gitView.sync.pull":"Pull","gitView.sync.pullRebase":"Pull (rebase)","gitView.sync.pullTooltip":"Hacer pull","gitView.sync.pullTooltipBehind":"Hacer pull ({count} detrás)","gitView.sync.push":"Push","gitView.sync.pushTooltip":"Hacer push","gitView.sync.pushTooltipAhead":"Hacer push ({count} por delante)","gitView.sync.sync":"sync","gitView.sync.syncChanges":"Sync Changes","gitView.sync.syncChangesTooltip":"Sync Changes ({behind} abajo, {ahead} arriba)","gitView.sync.syncChangesWithCounts":"Sync Changes {behind}↓ {ahead}↑","gitView.sync.syncCounts":"{behind}↓ {ahead}↑","gitView.branch.actionsUnavailable":"Acciones de rama no disponibles en este estado del repositorio","gitView.conflict.noDetailsAvailable":"No hay detalles de conflicto disponibles","gitView.empty.notGitRepository":"Este directorio no es un repositorio Git","gitView.empty.notGitRepositoryDescription":"Inicializa Git en este directorio o abre un repositorio.","gitView.empty.selectSessionOrDirectory":"Selecciona una sesión o directorio para ver el estado de Git","gitView.empty.worktreeFeaturesUnavailable":"Las características de worktree no están disponibles en este modo de espacio de trabajo.","gitView.empty.worktreeSetupDescription":"Finalizando la configuración de worktree y preparando el estado del repositorio.","gitView.empty.worktreeSetupInProgress":"Configuración de worktree en progreso","gitView.empty.discoveringRepositories":"Buscando repositorios de Git...","gitView.empty.discoverFailed":"No se pudo escanear en busca de repositorios de Git","gitView.empty.retryDiscovery":"Reintentar","gitView.empty.initializeGit":"Inicializar Git","gitView.toast.initializeGitFailed":"No se pudo inicializar Git","gitView.toast.initializeGitNeedsNewerOpenCode":"Para inicializar Git se necesita OpenCode 2.0.23 o posterior.","gitView.toast.initializeGitNotDetected":"Git se inicializó, pero OpenChamber no ve un repositorio aquí. Esto ocurre cuando OpenCode se ejecuta en otra máquina o en un contenedor.","gitView.empty.selectRepositoryPlaceholder":"Selecciona un repositorio...","worktree.bootstrap.toast.failed":"Error al configurar el worktree","worktree.bootstrap.toast.failedDescription":"El worktree se creó, pero la configuración en segundo plano no terminó.","worktree.bootstrap.toast.authorizationRequired":"OpenChamber no llega al repositorio o a sus submódulos. Configura el acceso en Configurar repositorio y vuelve a intentarlo.","worktree.bootstrap.toast.lfsClientMissing":"Instala Git LFS en el servidor y vuelve a configurar el worktree.","worktree.bootstrap.toast.invalidConfiguration":"Revisa la configuración de submódulos y Git LFS del repositorio, y vuelve a intentarlo.","worktree.bootstrap.toast.repositoryTooManyFiles":"El repositorio tiene demasiados archivos.","worktree.bootstrap.toast.cancelled":"La configuración del worktree se canceló. Vuelve a intentarlo cuando quieras.","worktree.bootstrap.toast.transportFailed":"Comprueba el acceso al repositorio y la conexión de red, y vuelve a intentarlo.","worktree.bootstrap.toast.timeoutDescription":"El worktree se creó, pero la configuración en segundo plano agotó el tiempo de espera.","gitView.gitmoji.empty":"No se encontraron gitmojis","gitView.gitmoji.searchPlaceholder":"Buscar gitmojis...","gitView.gitmoji.title":"Insertar gitmoji","gitView.history.dialogDescription":"Navega por commits recientes e inspecciona los archivos modificados.","gitView.loading.checkingRepository":"Verificando repositorio...","gitView.loading.loading":"Cargando...","gitView.pr.actions.createPr":"Crear PR","gitView.pr.actions.openOnProvider":"Abrir en {provider}","gitView.pr.actions.openOnProviderAria":"Abrir la solicitud de cambios en {provider}","gitView.pr.actions.openSettings":"Abrir configuración","gitView.pr.actions.repo":"Repositorio","gitView.pr.actions.resolveFailedChecks":"Adjuntar comprobaciones fallidas","gitView.pr.actions.sendToAgent":"Adjuntar al chat","gitView.pr.actions.refresh":"Actualizar estado de la PR","gitView.pr.actions.refreshAria":"Actualizar estado del pull request","gitView.pr.checkingStatus":"Comprobando estado de la PR...","gitView.pr.checks.label":"checks","gitView.pr.checks.completedLabel":"Completado","gitView.pr.checks.conclusionLabel":"Conclusión","gitView.pr.checks.startedLabel":"Iniciado","gitView.pr.checks.statusLabel":"Estado","gitView.pr.checks.stepLabel":"Paso","gitView.pr.checks.steps":"Pasos","gitView.pr.checks.openRun":"Abrir","gitView.pr.checks.failedAnnotations":"Anotaciones fallidas","gitView.pr.checks.failedAnnotationsShown":"Anotaciones fallidas (se muestran {shown} de {total})","gitView.pr.field.baseBranch":"Rama base","gitView.pr.field.description":"Descripción","gitView.pr.field.title":"Título","gitView.pr.providerNotConnected":"{provider} no está conectado","gitView.pr.history.merged":"La PR #{number} se fusionó en {base}.","gitView.pr.history.closed":"La PR #{number} se cerró.","gitView.pr.mergeMethod.merge":"Crear un merge commit","gitView.pr.mergeMethod.rebase":"Rebase y merge","gitView.pr.mergeMethod.squash":"Squash y merge","gitView.pr.notMergeable":"No se puede hacer merge","gitView.pr.numberLabel":"PR # {number}","gitView.pr.segment.checks":"Comprobaciones","gitView.pr.comments.addAll":"Adjuntar todo al chat","gitView.pr.placeholder.additionalContext":"Cualquier restricción, nota de lanzamiento o contexto para revisor...","gitView.pr.placeholder.main":"Resume tu PR","gitView.pr.placeholder.selectBaseBranch":"Seleccionar rama base","gitView.pr.placeholder.title":"Título de la PR","gitView.pr.placeholder.whatChanged":"¿Qué cambió y por qué?","gitView.pr.statusUnavailable":"Estado de la PR no disponible","gitView.pr.capabilitiesUnavailable":"No se pudieron cargar las funciones del proveedor","gitView.pr.toast.baseBranchRequired":"Selecciona una rama base","gitView.pr.toast.baseMustDifferFromHead":"La rama base debe diferir de la rama actual","gitView.pr.toast.createPrFailed":"No se pudo crear la PR","gitView.pr.toast.generateDescriptionFailed":"No se pudo generar la descripción de la PR","gitView.pr.toast.noActiveSession":"No hay sesión de chat activa","gitView.pr.toast.noActiveSessionDescription":"Abre o crea una sesión de chat para enviar contexto a un agente.","gitView.pr.toast.noFailedChecks":"No se encontraron checks fallidos","gitView.pr.toast.prCreated":"PR creada","gitView.pr.toast.titleRequired":"El título es obligatorio","gitView.pullRequest.createHint":"Crea y gestiona PR desde esta rama.","gitView.pullRequest.availableOnFeatureBranches":"Disponible cuando la rama actual puede abrir un PR.","gitView.pullRequest.title":"PR","gitView.tabs.worktree":"Árbol de trabajo","gitView.toast.abortOperationFailed":"No se pudo abortar la operación","gitView.toast.appliedIdentity":"Identidad aplicada: {name}","gitView.toast.applyIdentityFailed":"No se pudo aplicar la identidad","gitView.toast.cannotCheckout":"No se puede cambiar a la rama: {reason}","gitView.toast.cannotCreateBranch":"No se puede crear la rama: {reason}","gitView.toast.cannotRemoveOriginRemote":"No se puede eliminar el remoto origin","gitView.toast.cannotRenameBranch":"No se puede cambiar el nombre de la rama: {reason}","gitView.toast.checkedOut":"Cambiado a {name}","gitView.toast.checkoutFailed":"No se pudo cambiar a {name}","gitView.toast.commitCreated":"Commit creado","gitView.toast.commitHashCopied":"Hash del commit copiado","gitView.toast.continueOperationFailed":"No se pudo continuar la operación","gitView.toast.copyFailed":"No se pudo copiar","gitView.toast.createBranchFailed":"No se pudo crear la rama","gitView.toast.createCommitFailed":"No se pudo crear el commit","gitView.toast.createdBranch":"Rama {name} creada","gitView.toast.enterCommitMessage":"Escribe un mensaje de commit","gitView.toast.fetchedFromRemote":"Recuperado de {name}","gitView.toast.generateCommitMessageFailed":"No se pudo generar el mensaje de commit","gitView.toast.mergeAborted":"Merge abortado","gitView.toast.mergeCompleted":"Merge completado","gitView.toast.mergeConflictsDetected":"Se detectaron conflictos al hacer merge","gitView.toast.mergedIntoBranch":"Merge de {branch} en {currentBranch}","gitView.toast.syncedChanges":"Cambios sincronizados","gitView.toast.alreadyUpToDate":"Ya está actualizado","gitView.toast.rebaseAborted":"Rebase abortado","gitView.toast.rebaseConflictsDetected":"Se detectaron conflictos al hacer rebase","gitView.toast.rebaseStepCompleted":"Paso de rebase completado","gitView.toast.rebasedOntoBranch":"Rebase de {currentBranch} sobre {branch}","gitView.toast.refreshRepositoryFailed":"No se pudo actualizar el repositorio","gitView.toast.remoteNameRequired":"Se requiere nombre del remoto","gitView.toast.removedRemote":"Remoto {name} eliminado","gitView.toast.renameBranchFailed":"No se pudo cambiar el nombre de {oldName} a {newName}","gitView.toast.renamedBranch":"{oldName} renombrado a {newName}","gitView.toast.restoreStashFailed":"No se pudo restaurar el stash","gitView.toast.restoreStashManually":"Debes restaurar el stash manualmente","gitView.toast.revertFailed":"No se pudieron revertir los cambios","gitView.toast.revertedFile":"{path} revertido","gitView.toast.revertedFilesPlural":"{count} archivos revertidos","gitView.toast.revertedFilesSingle":"{count} archivo revertido","gitView.toast.revertedSomePlural":"{success} archivos revertidos, {failed} fallidos","gitView.toast.revertedSomeSingle":"{success} archivo revertido, {failed} fallido","gitView.toast.stageFileFailed":"No se pudieron preparar los cambios","gitView.toast.stageFileToCommit":"Prepara al menos un archivo para el commit","gitView.toast.stageFileToDescribe":"Prepara al menos un archivo para describir","gitView.toast.selectFileToCommit":"Selecciona al menos un archivo para el commit","gitView.toast.selectFileToDescribe":"Selecciona al menos un archivo para describir","gitView.toast.stashedRestored":"Cambios del stash restaurados","gitView.toast.syncActionFailed":"{action} falló","gitView.contributor.chooseDestination":"¿Adónde debe ir esta rama?","gitView.contributor.destination.contributor-fork":"Bifurcación del colaborador","gitView.contributor.destination.own-fork":"Tu bifurcación","gitView.contributor.destination.bound-repository":"Este repositorio","gitView.contributor.destination.other":"Otro remoto","gitView.toast.contributorPublishCancelled":"Se canceló la publicación. No se modificó ningún remoto.","gitView.toast.contributorPublishCancelledAfterUpdate":"Los cambios se actualizaron localmente, pero se canceló la publicación.","gitView.toast.unstageFileFailed":"No se pudieron quitar los cambios del área preparada","gitView.worktree.availableInWorktreeMode":"Disponible solo en modo worktree","contextPanel.mode.chat":"Chat","contextPanel.mode.files":"Archivos","contextPanel.mode.diff":"Cambios","contextPanel.mode.stagedDiff":"Staged Diff","contextPanel.mode.workingDiff":"Working Diff","contextPanel.mode.pr":"Seguimiento","contextPanel.tracker.branchTab":"Rama actual","contextPanel.tracker.loadFailed":"No se pudo cargar este elemento.","contextPanel.tracker.unavailable":"OpenChamber no puede leer este elemento aquí.","gitView.mergeRequest.title":"MR","gitView.mergeRequest.availableOnFeatureBranches":"Disponible cuando la rama actual puede abrir un MR.","gitView.mr.openMergeRequest":"Abrir merge request","gitView.mr.actions.createMr":"Crear MR","gitView.pr.actions.createDraftPr":"Crear PR en borrador","gitView.mr.actions.createDraftMr":"Crear MR en borrador","gitView.pr.actions.pushAndCreatePr":"Hacer push y crear PR","gitView.mr.actions.pushAndCreateMr":"Hacer push y crear MR","gitView.pr.actions.pushAndCreateDraftPr":"Hacer push y crear PR en borrador","gitView.mr.actions.pushAndCreateDraftMr":"Hacer push y crear MR en borrador","gitView.pr.createKindAria":"Cómo crearla","gitView.pr.unpushed.unpublished":"Esta rama aún no está en el remoto; se hará push primero","gitView.pr.unpushed.one":"1 commit aún no tiene push; se hará push primero","gitView.pr.unpushed.many":"{count} commits aún no tienen push; se hará push primero","gitView.pr.generate.optionsAria":"Más formas de generar","gitView.pr.generate.withNotes":"Generar con notas…","gitView.pr.generate.notesAria":"Notas para la descripción generada","gitView.pr.generate.removeNotesAria":"Quitar las notas","gitView.pr.toast.gitBusy":"Otra transferencia de Git sigue en curso. Inténtalo de nuevo cuando termine.","gitView.mr.actions.openOnProviderAria":"Abrir el merge request en {provider}","gitView.mr.actions.refresh":"Actualizar estado del MR","gitView.mr.actions.refreshAria":"Actualizar estado del merge request","gitView.mr.checkingStatus":"Comprobando estado del MR...","gitView.mr.history.closed":"El MR !{number} se cerró.","gitView.mr.history.merged":"El MR !{number} se fusionó en {base}.","gitView.mr.placeholder.main":"Resume tu MR","gitView.mr.placeholder.title":"Título del MR","gitView.mr.statusUnavailable":"Estado del MR no disponible","gitView.mr.toast.createMrFailed":"No se pudo crear el MR","gitView.mr.toast.generateDescriptionFailed":"No se pudo generar la descripción del MR","gitView.mr.toast.mrCreated":"MR creado","gitView.mr.comparison.mode":"MR","gitView.mr.comparison.select":"Seleccionar merge request","gitView.mr.comparison.pickAbove":"Elige una merge request arriba","gitView.mr.comparison.partial":"No se pudieron cargar algunos merge requests","gitView.mr.comparison.searchPlaceholder":"Buscar MR","gitView.mr.comparison.loading":"Cargando MR...","gitView.mr.comparison.empty":"No se encontraron MR","gitView.mr.comparison.notConnected":"GitLab no está conectado. Conecta tu cuenta de GitLab en configuración.","gitView.mr.comparison.runtimeUnavailable":"API de runtime de GitLab no disponible","gitView.mr.comparison.loadMoreFailed":"No se pudieron cargar más MR","gitView.mr.walkthroughScope":"MR !{number}","gitView.mr.createHint":"Crea y gestiona MR desde esta rama.","header.gitlab.connectedWithLogin":"GitLab: {login}","header.gitlab.connected":"GitLab conectado","header.gitlab.accountsTitle":"Cuentas de GitLab","contextPanel.mode.context":"Contexto","contextPanel.mode.preview":"Vista previa","contextPanel.mode.browser":"Navegador","contextRail.configure.open":"Configurar paneles","contextRail.configure.dialogTitle":"Paneles de la barra","contextRail.configure.reorder":"Arrastra {label} para cambiar el orden","contextRail.configure.dragInstructions":"Pulsa Espacio para seleccionar un panel, muévelo con las flechas y pulsa Espacio para soltarlo. Pulsa Escape para cancelar.","contextRail.configure.position":"{label}, posición {position} de {count}.","contextRail.configure.dragCancelled":"Cambio de orden cancelado.","contextRail.configure.dialogDescription":"Elige qué paneles muestra la barra. Los paneles ocultos conservan sus datos y siguen accesibles desde la paleta de comandos.","contextRail.configure.showAll":"Mostrar todos","contextRail.configure.noneWarning":"Todos los paneles están ocultos.","contextRail.aria.rail":"Superficies del panel","contextPanel.editorEmpty.title":"Ningún archivo abierto","contextPanel.editorEmpty.description":"Elige un archivo del árbol para empezar a editar.","contextRail.surface.editor.description":"Editar archivos del proyecto","contextRail.surface.git.description":"Commits, ramas y pull requests","contextRail.surface.git.changesCountAriaSingle":"{label}, {count} archivo modificado","contextRail.surface.git.changesCountAriaPlural":"{label}, {count} archivos modificados","contextRail.surface.git.changesCountTooltipSingle":"{count} archivo modificado","contextRail.surface.git.changesCountTooltipPlural":"{count} archivos modificados","contextRail.surface.terminal.description":"Terminal integrada","contextRail.surface.diff.description":"Revisar cambios en curso","contextPanel.mode.walkthrough":"Recorrido","contextRail.surface.walkthrough.description":"Un recorrido por tus cambios guiado por IA","walkthrough.scope.all":"Todo sin confirmar","walkthrough.scope.group.workingTree":"Árbol de trabajo","walkthrough.scope.staged":"Preparados","walkthrough.scope.working":"Sin preparar","walkthrough.scope.branch":"Esta rama","walkthrough.scope.selectorAria":"Elegir qué revisar","walkthrough.language.menuLabel":"Idioma del recorrido","walkthrough.missing.language":"Aún no hay un recorrido en {requested}: se muestra el de {shown}.","walkthrough.missing.model":"Aún no hay un recorrido de {model}: se muestra el último generado aquí.","walkthrough.missing.languageAndModel":"Aún no hay un recorrido en este idioma con este modelo: se muestra el último generado aquí.","walkthrough.language.selectorAria":"Elegir el idioma del recorrido","walkthrough.scope.pullRequest":"PR n.º {number}","walkthrough.action.generate":"Generar recorrido","walkthrough.action.regenerate":"Regenerar","walkthrough.action.cancel":"Cancelar","walkthrough.action.next":"Paso siguiente","walkthrough.action.previous":"Paso anterior","walkthrough.action.refresh":"Actualizar","walkthrough.action.open":"Recorrido con IA","walkthrough.stage.collecting":"Reuniendo los cambios","walkthrough.stage.asking":"Esperando al modelo","walkthrough.stage.assembling":"Montando el recorrido","walkthrough.empty.title":"Todavía no hay recorrido","walkthrough.empty.description":"Crea una ruta de lectura guiada por estos cambios. Esto llama al modelo pequeño y consume tokens, así que solo se ejecuta cuando lo pides.","walkthrough.stale.banner":"El código cambió después de esta revisión. Pasos desactualizados: {count}","walkthrough.stop.staleAll":"Todo el código que describía este paso ha cambiado.","walkthrough.stop.stalePartial":"Parte del código que describía este paso ha cambiado. Fragmentos perdidos: {count}","walkthrough.stop.staleShort":"Desactualizado","walkthrough.stop.noCode":"El código de este paso no está en el diff actual.","walkthrough.uncovered.title":"Cambios que la revisión omitió: {count}","walkthrough.uncovered.description":"La revisión los consideró rutinarios. Despliega para revisarlos tú mismo.","walkthrough.toc.moreFiles":"Más archivos: {count}","walkthrough.toc.uncovered":"Sin cubrir: {count}","walkthrough.toc.resize":"Cambiar el ancho de la columna de contenidos","walkthrough.toc.jumpAria":"Ir a un paso","walkthrough.options.title":"Opciones del recorrido","walkthrough.options.moreAria":"Más opciones del recorrido","walkthrough.options.model":"Modelo","walkthrough.options.language":"Idioma","walkthrough.importance.critical":"Cambio clave","walkthrough.importance.criticalHint":"Este paso impulsa el resto del cambio, así que léelo con atención. No es un problema detectado en tu código.","walkthrough.importance.context":"Contexto","walkthrough.importance.contextHint":"Un cambio de apoyo, incluido para que el resto tenga sentido.","walkthrough.help.guide":"Cómo funcionan los walkthroughs","walkthrough.blocked.noModel.title":"No hay ningún modelo pequeño disponible","walkthrough.blocked.noModel.description":"Inicia sesión en un proveedor de modelos para generar una revisión.","walkthrough.blocked.emptyDiff.title":"Nada que revisar","walkthrough.blocked.emptyDiff.description":"Todavía no hay cambios en este ámbito.","walkthrough.blocked.contextTooSmall.title":"Este diff es demasiado grande para el modelo actual","walkthrough.blocked.contextTooSmall.description":"{model} admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.","walkthrough.blocked.structuredOutput.title":"Este modelo no puede generar salida estructurada","walkthrough.blocked.structuredOutput.description":"{model} no admite las respuestas estructuradas que necesita un recorrido.","walkthrough.blocked.chooseModel":"Elige el modelo pequeño","walkthrough.blocked.outputExhausted.title":"El modelo se quedó sin presupuesto de respuesta","walkthrough.blocked.outputExhausted.description":"{model} gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.","walkthrough.blocked.outputExhausted.descriptionUnknownModel":"El modelo pequeño gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.","walkthrough.blocked.onlyGenerated.title":"Solo cambiaron archivos generados","walkthrough.blocked.onlyGenerated.description":"Todos los cambios son archivos de bloqueo u otra salida generada por herramientas, que la revisión omite a propósito.","walkthrough.blocked.serverUnsupported.title":"Este servidor no admite walkthroughs","walkthrough.blocked.serverUnsupported.description":"El servidor de OpenChamber al que está conectada esta app no respondió a la API de walkthrough, así que es más antiguo que la app. Actualiza el servidor a 1.18 o posterior y vuelve a intentarlo.","walkthrough.blocked.contextTooSmall.descriptionUnknownModel":"El modelo pequeño admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.","walkthrough.blocked.structuredOutput.descriptionUnknownModel":"El modelo pequeño no admite las respuestas estructuradas que necesita un recorrido.","contextRail.surface.pr.description":"El pull request de la rama actual y los issues, pull requests y tickets abiertos desde tus sesiones","contextRail.surface.notes.description":"Notas, tareas, planes y memoria del agente del proyecto","contextRail.surface.context.description":"Contexto de la sesión y uso de tokens","contextRail.surface.browser.description":"Navegador web integrado","contextRail.surface.preview.description":"Vista previa del servidor de desarrollo","contextRail.surface.chat.description":"Sesión abierta en paralelo","contextRail.surface.notes":"Conocimiento del proyecto","contextRail.editorTree.toggle":"Alternar árbol de archivos","contextRail.editor.toggle":"Alternar editor de archivos","contextPanel.browser.open":"Abrir panel del navegador","contextPanel.browser.addressAria":"Dirección del navegador","contextPanel.browser.history.label":"Direcciones recientes","contextPanel.browser.history.forget":"Quitar del historial","contextPanel.browser.newTab":"Nueva pestaña del navegador","contextPanel.browser.empty":"Navegador web","contextPanel.browser.emptyHint":"Ingrese una dirección arriba para comenzar a navegar","contextPanel.browser.inspectUnavailable":"Esta página no se puede inspeccionar desde el panel del navegador.","contextPanel.browser.back":"Atrás","contextPanel.browser.forward":"Adelante","contextPanel.browser.reload":"Recargar","contextPanel.browser.hardReload":"Recargar ignorando la caché","contextPanel.browser.zoomIn":"Acercar","contextPanel.browser.zoomOut":"Alejar","contextPanel.browser.zoomReset":"Restablecer zoom","contextPanel.browser.clearCookies":"Borrar cookies","contextPanel.browser.clearCache":"Borrar caché","contextPanel.browser.clearedCookies":"Cookies borradas","contextPanel.browser.clearedCache":"Caché borrada","contextPanel.browser.clearFailed":"No se pudieron borrar los datos de navegación","contextPanel.browser.stop":"Detener","contextPanel.browser.openExternal":"Abrir en el navegador del sistema","contextPanel.browser.devTools":"Abrir DevTools","contextPanel.browser.deviceToolbar":"Barra de dispositivos","contextPanel.browser.device.preset":"Preajuste de dispositivo","contextPanel.browser.device.responsive":"Adaptable","contextPanel.browser.device.width":"Ancho del viewport","contextPanel.browser.device.height":"Alto del viewport","contextPanel.browser.device.rotate":"Rotar","contextPanel.browser.device.schemeSystem":"Auto","contextPanel.browser.device.schemeLight":"Claro","contextPanel.browser.device.schemeDark":"Oscuro","contextPanel.browser.device.schemeFailed":"No se pudo cambiar la apariencia de la página","contextPanel.browser.frameTitle":"Navegador","contextPanel.browser.loadFailed":"No se pudo cargar esta página","contextPanel.browser.waitingForServer":"Esperando al servidor de desarrollo","contextPanel.browser.waitingForServerHint":"Todavía no acepta conexiones. La página se cargará en cuanto lo haga.","contextPanel.browser.tunnelFailed":"No se pudo alcanzar este servidor de desarrollo","contextPanel.browser.remoteLoopback.title":"{url} está en la máquina de OpenChamber","contextPanel.browser.remoteLoopback.hint":"Una pestaña del navegador no puede abrir páginas que se ejecutan allí. Ábrela en la app de escritorio.","contextPanel.browser.tunnelFailedHint":"{url} se ejecuta en la máquina donde está OpenChamber y no se pudo abrir la conexión con ella. Aquí no se muestra nada de tu propia máquina.","contextPanel.browser.loadFailedUnknown":"No se pudo acceder a la página.","contextPanel.browser.crashed":"Esta página dejó de responder","contextPanel.browser.crashedHint":"La página falló varias veces seguidas. Recarga para volver a intentarlo.","contextPanel.browser.devServers.title":"Servidores de desarrollo activos","projectActions.toast.multipleServers":"Se iniciaron varios servidores: elige uno en el panel del navegador","contextPanel.browser.devServers.justStarted":"Recién iniciados","contextPanel.browser.devServers.unavailable":"No se pudieron comprobar los servidores de desarrollo activos.","contextPanel.browser.devServers.remoteOnly":"Se ejecutan en la máquina que aloja OpenChamber. Abrirlos requiere la aplicación de escritorio.","contextPanel.browser.annotate.toggle":"Anotar página","contextPanel.browser.annotate.intro":"Esta es una selección anotada del navegador integrado.","contextPanel.browser.annotate.attached":"Anotación adjuntada al chat","contextPanel.browser.annotate.noSession":"Abre una sesión de chat antes de adjuntar una anotación","contextPanel.browser.annotate.noPage":"Carga una página antes de anotar","contextPanel.browser.annotate.failed":"No se pudo anotar esta página","contextPanel.browser.annotate.tool.element":"Elemento","contextPanel.browser.annotate.tool.region":"Región","contextPanel.browser.annotate.tool.draw":"Dibujar","contextPanel.browser.annotate.commentPlaceholder":"Describe el cambio...","contextPanel.browser.annotate.submit":"Adjuntar","contextPanel.browser.trustNotice":"Las páginas que abras aquí se ejecutan con acceso completo a OpenChamber: necesario para la inspección y las capturas. Abre solo sitios de confianza: una página maliciosa podría leer tus datos o actuar en tu nombre.","contextPanel.tab.closeTabAria":"Cerrar pestaña {label}","contextPanel.tab.menu.close":"Cerrar","contextPanel.tab.menu.closeOthers":"Cerrar otras","contextPanel.tab.menu.closeToLeft":"Cerrar pestañas a la izquierda","contextPanel.tab.menu.closeToRight":"Cerrar pestañas a la derecha","contextPanel.tab.menu.closeAll":"Cerrar todas las pestañas","contextPanel.zone.moveLeft":"Mover el panel a la izquierda","contextPanel.zone.moveBottom":"Mover el panel abajo","contextPanel.zone.moveRight":"Mover el panel a la derecha","contextPanel.zone.dropLeft":"Izquierda","contextPanel.zone.dropBottom":"Abajo","contextPanel.zone.dropRight":"Derecha","contextPanel.actions.collapsePanel":"Colapsar panel","contextPanel.actions.expandPanel":"Expandir panel","contextPanel.actions.closePanel":"Cerrar panel","contextPanel.actions.resizePanelAria":"Ajustar tamaño del panel de contexto","contextPanel.iframe.sessionChatTitle":"Chat de sesión {sessionID}","contextPanel.preview.actions.reload":"Recargar vista previa","contextPanel.preview.actions.openExternal":"Abrir en el navegador","contextPanel.preview.actions.retry":"Reintentar","contextPanel.preview.iframeTitle":"Vista previa","contextPanel.preview.invalidUrl":"La vista previa necesita una URL http(s) válida.","contextPanel.preview.empty":"Sin URL de vista previa","contextPanel.preview.loading":"Conectando proxy de vista previa...","contextPanel.preview.proxyError":"No se pudo iniciar el proxy de vista previa.","contextPanel.preview.upstreamUnreachable":"El servidor de desarrollo no responde.","contextPanel.preview.upstreamUnreachableHint":"Verifica que tu servidor de desarrollo siga en ejecución y vuelve a intentarlo.","terminalView.preview.open":"Vista previa","terminalView.preview.openTitle":"Abrir panel de vista previa","sidebarFilesTree.menu.rename":"Cambiar nombre","sidebarFilesTree.menu.copyPath":"Copiar ruta","sidebarFilesTree.menu.save":"Guardar","sidebarFilesTree.menu.download":"Descargar","sidebarFilesTree.menu.newFile":"Nuevo archivo","sidebarFilesTree.menu.newFolder":"Nueva carpeta","sidebarFilesTree.menu.uploadFiles":"Subir archivos","sidebarFilesTree.menu.delete":"Eliminar","sidebarFilesTree.toast.pathCopied":"Ruta copiada","sidebarFilesTree.toast.copyFailed":"No se pudo copiar","sidebarFilesTree.toast.revealFailed":"No se pudo revelar la ruta","sidebarFilesTree.toast.filenameRequired":"El nombre de archivo es obligatorio","sidebarFilesTree.toast.writeNotSupported":"La escritura no es compatible","sidebarFilesTree.toast.fileCreated":"Archivo creado","sidebarFilesTree.toast.operationFailed":"No se pudo completar la operación","sidebarFilesTree.toast.uploaded":"Archivos subidos","sidebarFilesTree.toast.uploadedWithoutConflicts":"Se subieron los archivos sin conflictos","sidebarFilesTree.toast.uploadFailed":"No se pudieron subir algunos archivos","sidebarFilesTree.drop.target":"Subir a {path}","sidebarFilesTree.drop.uploading":"Subiendo archivos a {path}","sidebarFilesTree.drop.moveTarget":"Mover a {path}","sidebarFilesTree.dialog.uploadConflicts.title":"¿Reemplazar los archivos existentes?","sidebarFilesTree.dialog.uploadConflicts.description":"Ya existen archivos con estos nombres en {path}. El reemplazo no se puede deshacer.","sidebarFilesTree.dialog.uploadConflicts.replace":"Reemplazar","sidebarFilesTree.toast.folderNameRequired":"El nombre de carpeta es obligatorio","sidebarFilesTree.toast.folderCreated":"Carpeta creada","sidebarFilesTree.toast.nameRequired":"El nombre es obligatorio","sidebarFilesTree.toast.renameNotSupported":"El cambio de nombre no es compatible","sidebarFilesTree.toast.renamedSuccessfully":"Nombre cambiado","sidebarFilesTree.toast.nameTaken":"{folder} ya tiene un archivo o una carpeta llamada {name}","sidebarFilesTree.toast.deleteNotSupported":"La eliminación no es compatible","sidebarFilesTree.toast.deletedSuccessfully":"Eliminado","sidebarFilesTree.search.placeholder":"Buscar archivos...","sidebarFilesTree.search.clearAria":"Limpiar búsqueda","sidebarFilesTree.actions.uploadFilesTitle":"Subir archivos","sidebarFilesTree.actions.addMenuTitle":"Nuevo archivo, carpeta o subida","sidebarFilesTree.actions.refreshTitle":"Actualizar","sidebarFilesTree.actions.collapseAllTitle":"Contraer todas las carpetas","sidebarFilesTree.actions.fileMenuTitle":"Menú de archivo","sidebarFilesTree.state.searching":"Buscando...","sidebarFilesTree.state.loading":"Cargando...","sidebarFilesTree.dialog.createFile.title":"Crear archivo","sidebarFilesTree.dialog.createFolder.title":"Crear carpeta","sidebarFilesTree.dialog.rename.title":"Cambiar nombre","sidebarFilesTree.dialog.delete.title":"Eliminar","sidebarFilesTree.dialog.createFile.description":"Crea un archivo nuevo en {path}","sidebarFilesTree.dialog.createFolder.description":"Crea una carpeta nueva en {path}","sidebarFilesTree.dialog.rename.description":"Cambiar el nombre de {name}","sidebarFilesTree.dialog.delete.description":"¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.","sidebarFilesTree.dialog.rootFallback":"raíz","sidebarFilesTree.dialog.rename.placeholder":"Nuevo nombre","sidebarFilesTree.dialog.namePlaceholder":"Nombre","sidebarFilesTree.dialog.cancel":"Cancelar","sidebarFilesTree.dialog.confirm":"Confirmar","sidebarFilesTree.dialog.delete.confirm":"Eliminar","sidebarFilesTree.dialog.move.title":"Mover","sidebarFilesTree.dialog.move.description":"¿Mover {name} a {folder}?","sidebarFilesTree.dialog.move.confirm":"Mover","sidebarFilesTree.dialog.move.neverAsk":"No volver a preguntar","filesView.dialog.createFile.title":"Crear archivo","filesView.dialog.createFolder.title":"Crear carpeta","filesView.dialog.rename.title":"Cambiar nombre","filesView.dialog.delete.title":"Eliminar","filesView.dialog.createFile.description":"Crea un archivo nuevo en {path}","filesView.dialog.createFolder.description":"Crea una carpeta nueva en {path}","filesView.dialog.rename.description":"Cambiar el nombre de {name}","filesView.dialog.delete.description":"¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.","filesView.dialog.rootFallback":"raíz","filesView.dialog.rename.placeholder":"Nuevo nombre","filesView.dialog.namePlaceholder":"Nombre","filesView.dialog.cancel":"Cancelar","filesView.dialog.confirm":"Confirmar","filesView.dialog.delete.confirm":"Eliminar","filesView.editor.saving":"Guardando...","filesView.editor.saved":"Guardado","filesView.editor.autoSaveOn":"Guardado automático activado","filesView.editor.manualSave":"Guardado manual","filesView.editor.saveNowTitle":"Guardar ahora ({shortcut}) - se guarda automáticamente después de 1.5 segundos","filesView.editor.saveNowManualTitle":"Guardar ahora ({shortcut})","filesView.editor.saveAria":"Guardar ({shortcut})","filesView.editor.openInDesktopApp":"Abrir en la aplicación de escritorio","filesView.editor.refreshApps":"Actualizar aplicaciones","filesView.editor.disableLineWrap":"Desactivar ajuste de línea","filesView.editor.enableLineWrap":"Activar ajuste de línea","filesView.editor.findInFile":"Buscar en el archivo","filesView.preview.find.placeholder":"Buscar en la vista previa","filesView.preview.find.nextAria":"Siguiente coincidencia","filesView.preview.find.previousAria":"Coincidencia anterior","filesView.preview.find.closeAria":"Cerrar búsqueda","filesView.preview.find.noMatches":"Sin coincidencias","filesView.preview.find.countAria":"{current} de {total}","filesView.editor.goToLine":"Ir a línea","filesView.editor.symbols":"Símbolos del archivo","filesView.symbols.placeholder":"Ir a símbolo…","filesView.symbols.noneInFile":"No se encontraron funciones, clases ni encabezados en este archivo","filesView.symbols.noMatches":"No hay símbolos que coincidan","filesView.editor.switchToEditMode":"Cambiar al modo de edición","filesView.editor.switchToPreviewMode":"Cambiar al modo de vista previa","filesView.editor.switchToTextView":"Cambiar a vista de texto","filesView.editor.switchToTreeView":"Cambiar a vista de árbol","filesView.toast.copyFailed":"No se pudo copiar","filesView.toast.openInAppFailed":"No se pudo abrir en {app}","filesView.toast.savingNotSupported":"El guardado no es compatible","filesView.toast.writeFileFailed":"No se pudo escribir el archivo","filesView.toast.saveFailed":"No se pudo guardar","filesView.editor.copyFileContents":"Copiar contenido del archivo","filesView.editor.moreActions":"Más acciones","filesView.editor.toast.contentsCopied":"Contenido del archivo copiado","filesView.editor.copyFilePathTitle":"Copiar ruta del archivo ({path})","filesView.editor.saveFile":"Guardar archivo","filesView.editor.exitFullscreen":"Salir de pantalla completa","filesView.editor.fullscreen":"Pantalla completa","filesView.unsaved.title":"Cambios no guardados","filesView.unsaved.description":"¿Quieres guardar tus cambios antes de continuar?","filesView.unsaved.saveChanges":"Guardar cambios","filesView.unsaved.discard":"Descartar","filesView.editor.back":"Atrás","filesView.editor.openFilesAria":"Abrir archivos","filesView.editor.closeFileAria":"Cerrar {name}","filesView.editor.selectFile":"Seleccionar un archivo","filesView.editor.showControlsAria":"Mostrar controles del editor","filesView.editor.controlsTitle":"Controles del editor","filesView.editor.pickFileFromTree":"Selecciona un archivo del árbol.","filesView.editor.cannotPreviewBinary":"No se puede previsualizar el archivo binario","filesView.editor.binaryFileDescription":"Este archivo es binario y no se puede editar en OpenChamber. Descárgalo para abrirlo con otra aplicación.","filesView.state.loading":"Cargando...","filesView.state.openingFileAtChange":"Abriendo archivo en cambio...","filesView.tree.search.placeholder":"Buscar archivos...","filesView.tree.search.clearAria":"Limpiar búsqueda","filesView.tree.search.searching":"Buscando...","filesView.tree.actions.newFileTitle":"Nuevo archivo","filesView.tree.actions.newFolderTitle":"Nueva carpeta","filesView.tree.actions.refreshTitle":"Actualizar","filesView.tree.actions.showGitignored":"Mostrar archivos ignorados por git","filesView.tree.actions.hideGitignored":"Ocultar archivos ignorados por git","filesView.editor.imageAltFallback":"Imagen","filesView.error.jsonViewerUnavailable":"Visualizador JSON no disponible","filesView.error.switchToTextMode":"Cambia al modo de texto para ver contenido bruto.","filesView.warning.largeFilePreviewLimited":"Este archivo es grande ({sizeKb}KB). La vista previa puede estar limitada.","filesView.error.previewUnavailable":"Vista previa no disponible","filesView.error.switchToEditMode":"Cambia al modo de edición para resolver el problema.","filesView.error.readFileFailed":"No se pudo leer el archivo","filesView.editor.htmlPreviewTitle":"Vista previa HTML","filesView.editor.htmlAnnotate.intro":"Esta es una selección anotada de la vista previa de un archivo HTML.","filesView.diagram.closeDiagramView":"Cerrar vista de diagrama","filesView.diagram.saveDiagram":"Guardar diagrama","filesView.excalidraw.installHint":"Instala la extensión de Excalidraw para dibujar en este archivo.","filesView.excalidraw.installAction":"Instalar","filesView.fileEditor.save":"Guardar","filesView.fileEditor.snapshotFailed":"No se pudieron obtener tus cambios de {editor}. Inténtalo de nuevo.","filesView.fileEditor.unsupported":"{editor} no puede abrir este archivo. Se muestra el código en su lugar.","filesView.fileEditor.tooLarge":"Este archivo es demasiado grande para {editor}. Edita el código en su lugar.","contextUsage.aria.label":"Uso del contexto","contextUsage.mobile.title":"Uso del contexto","contextUsage.mobile.usedTokens":"Tokens usados","contextUsage.mobile.contextLimit":"Límite de contexto","contextUsage.mobile.outputLimit":"Límite de salida","contextUsage.mobile.cost":"Costo","contextUsage.mobile.usage":"Uso","contextUsage.tooltip.usedTokens":"Tokens usados: {tokens}","contextUsage.tooltip.contextLimit":"Límite de contexto: {tokens}","contextUsage.tooltip.outputLimit":"Límite de salida: {tokens}","contextUsage.tooltip.cost":"Costo: {cost}","contextUsage.compacted.description":"Contexto compactado. El uso se actualizará tras la próxima respuesta.","contextSidebar.session.untitled":"Sesión sin título","contextSidebar.empty.openSession":"Abrir una sesión para inspeccionar el contexto.","contextSidebar.section.context":"Contexto","contextSidebar.section.lastAssistantMessage":"Último mensaje del asistente","contextSidebar.section.rawMessages":"Mensajes brutos","contextSidebar.context.percentUsed":"{percent}% usado","contextSidebar.breakdown.user":"Usuario","contextSidebar.breakdown.assistant":"Asistente","contextSidebar.breakdown.toolCalls":"Llamadas a herramientas","contextSidebar.breakdown.other":"Sistema y herramientas","contextSidebar.stats.messages":"Mensajes","contextSidebar.stats.user":"Usuario","contextSidebar.stats.assistant":"Asistente","contextSidebar.stats.cost":"Costo","contextSidebar.tokens.input":"Entrada","contextSidebar.tokens.output":"Salida","contextSidebar.tokens.reasoning":"Razonamiento","contextSidebar.tokens.cacheRead":"Lectura de caché","contextSidebar.tokens.cacheWrite":"Escritura de caché","contextSidebar.tokens.cacheHit":"Acierto de caché","contextSidebar.actions.copyJson":"Copiar JSON","contextSidebar.actions.copy":"Copiar","contextSidebar.actions.copied":"Copiado","planView.file.defaultName":"plan","planView.title.default":"Plan","planView.error.saveFailed":"No se pudo guardar","planView.error.loadFailed":"No se pudo cargar este plan","planView.error.previewUnavailable":"Vista previa no disponible","planView.error.switchToEditMode":"Cambia al modo de edición para resolver el problema.","planView.error.writeFailed":"No se pudo escribir","planView.error.writePlanFileFailed":"No se pudo escribir el archivo de plan ({status})","planView.actions.improvePlanAria":"Mejorar plan","planView.actions.improve":"Mejorar","planView.actions.implementPlanAria":"Implementar plan","planView.actions.implement":"Implementar","planView.actions.sendToNewSession":"Enviar a nueva sesión","planView.actions.sendToNewWorktreeSession":"Enviar a nueva sesión de worktree","planView.actions.copyPlanContents":"Copiar contenido del plan","planView.state.loading":"Cargando...","diffView.binary.unavailable":"El contenido de este archivo no puede visualizarse.","diffView.state.whitespaceOnly":"En este archivo solo cambiaron espacios en blanco.","diffView.change.untracked":"Archivo no rastreado","diffView.change.new":"Archivo nuevo","diffView.change.deleted":"Archivo eliminado","diffView.change.renamed":"Archivo renombrado","diffView.change.copied":"Archivo copiado","diffView.change.modified":"Archivo modificado","diffView.change.conflicted":"Archivo en conflicto","diffView.selector.selectFile":"Seleccionar archivo","diffView.image.original":"Original","diffView.image.modified":"Modificado","diffView.image.new":"Nuevo","diffView.image.originalAlt":"Original: {path}","diffView.image.modifiedAlt":"Modificado: {path}","diffView.section.files":"Archivos","diffView.fileTree.showAsList":"Vista de lista","diffView.fileTree.showAsTree":"Vista de árbol","diffView.fileTree.collapseDirectoryAria":"Contraer {path}","diffView.fileTree.expandDirectoryAria":"Expandir {path}","diffView.fileTree.resize":"Cambiar el ancho del árbol de archivos","diffView.state.selectSessionDirectory":"Selecciona un directorio de sesión para ver diferencias","diffView.state.loadingRepositoryStatus":"Cargando estado del repositorio...","diffView.state.notGitRepository":"No es un repositorio Git. Usa la pestaña Git para inicializar o cambiar de directorio.","diffView.state.cleanWorkingTree":"Worktree limpio, no hay cambios para mostrar","diffView.state.noLastTurnChanges":"No hay cambios del último turno para mostrar","diffView.state.failedToLoadDiff":"No se pudo cargar la diferencia","diffView.unavailable.missingTitle":"El archivo ya no existe","diffView.unavailable.missingDescription":"Se eliminó después de cargar la lista de cambios. La lista se está actualizando.","diffView.unavailable.nestedRepositoryTitle":"Repositorio Git independiente","diffView.unavailable.nestedRepositoryDescription":"Esta carpeta tiene su propio historial de Git. Ábrela como proyecto para ver sus cambios.","diffView.nestedRepository.description":"Esta carpeta tiene su propio historial de Git. Ábrela como proyecto para hacer commit de estos cambios.","diffView.nestedRepository.openAsProject":"Abrir como proyecto","diffView.nestedRepository.openFailed":"No se pudo abrir esta carpeta como proyecto","diffView.nestedRepository.loading":"Leyendo los cambios del repositorio…","diffView.nestedRepository.loadFailed":"No se pudieron leer los cambios del repositorio","diffView.nestedRepository.noChanges":"No hay cambios en este repositorio","diffView.unavailable.untrackedDirectoryTitle":"Carpeta con archivos nuevos","diffView.unavailable.untrackedDirectoryDescription":"Esta carpeta contiene demasiados archivos nuevos para listarlos uno por uno. Prepárala (stage) o añádela a .gitignore si no pertenece al repositorio.","diffView.submodule.title":"Submódulo","diffView.submodule.commitChanged":"Commit {from} → {to}","diffView.submodule.commitUnchanged":"Sigue en el commit {commit}","diffView.submodule.added":"Nuevo submódulo en el commit {commit}","diffView.submodule.removed":"Submódulo eliminado, estaba en el commit {commit}","diffView.submodule.notCheckedOut":"No está descargado. Commit registrado: {commit}","diffView.submodule.trackedChanges":"Tiene cambios sin confirmar","diffView.submodule.untrackedFiles":"Tiene archivos sin seguimiento","diffView.submodule.conflict":"Conflicto de fusión en el commit registrado","diffView.state.loadingDiff":"Cargando diff...","diffView.state.loadingChanges":"Cargando cambios...","diffView.state.largeDiff":"Diff grande ({count} líneas modificadas)","diffView.state.largeDiffDescription":"El renderizado puede ser lento. Aun así puedes ver el diff con el botón de abajo.","diffView.summary.changedFilesSingle":"{count} archivo modificado","diffView.summary.changedFilesPlural":"{count} archivos modificados","diffView.scope.changed":"Cambiados","diffView.scope.staged":"Staged","diffView.scope.lastTurn":"Último turno","diffView.scope.branch":"Rama","diffView.branch.resolvingBase":"Detectando rama base...","diffView.branch.noBaseTitle":"Sin rama base","diffView.branch.noBaseDescription":"Git no tiene registro de dónde surgió esta rama. Elige una rama base para comparar.","diffView.branch.loadError":"No se pudieron cargar los cambios de la rama","diffView.branch.loadingFiles":"Cargando cambios de la rama...","diffView.branch.empty":"No hay cambios en esta rama respecto a {base}","diffView.scope.selectorAria":"Seleccionar modo de cambios","diffView.actions.retry":"Volver a intentar","diffView.actions.renderAnyway":"Renderizar de todos modos","diffView.actions.showLinesBelow":"Mostrar líneas siguientes","diffView.actions.expandAll":"Expandir todo","diffView.actions.collapseAll":"Contraer todo","diffView.actions.disableLineWrap":"Desactivar ajuste de línea","diffView.actions.enableLineWrap":"Activar ajuste de línea","diffView.actions.hideWhitespace":"Ocultar cambios de espacios en blanco","diffView.whitespace.hidden":"Cambios de espacios en blanco ocultos","diffView.layout.switchToUnified":"Cambiar a vista unificada","diffView.layout.switchToSideBySide":"Cambiar a vista lado a lado","diffView.layout.sideBySide":"Vista lado a lado","diffView.actions.wrapLines":"Ajuste de línea","diffView.actions.moreActions":"Más acciones","diffView.whitespace.shown":"Cambios de espacios en blanco visibles","diffView.actions.openFileInEditorAtChange":"Abrir este archivo en el editor en el cambio","diffView.actions.openFileAtFirstChangedLine":"Abrir este archivo en la primera línea modificada","diffView.actions.review":"Revisar","diffView.actions.reviewAria":"Revisar cambios","diffView.reviewDialog.title":"Revisar cambios","diffView.reviewDialog.description":"Inicia una sesión de revisión separada para los cambios actuales.","diffView.reviewDialog.generateHandoff":"Generar handoff","diffView.reviewDialog.autoReview":"Ejecutar ciclo de revisión automática","diffView.reviewDialog.info":"Este flujo funciona mejor si se inicia desde la sesión donde se implementaron los cambios.","diffView.reviewDialog.actions.cancel":"Cancelar","diffView.reviewDialog.actions.start":"Revisar","diffView.reviewDialog.actions.starting":"Iniciando...","diffView.reviewDialog.toast.noSessionDirectory":"El directorio de la sesión no está disponible","diffView.reviewDialog.toast.startFailed":"No se pudo iniciar el flujo de revisión","chat.dictation.start":"Iniciar dictado","chat.dictation.overlayAria":"Dictado","chat.dictation.downloadingModel":"Descargando el modelo de voz...","chat.dictation.downloadingModelProgress":"Descargando el modelo de voz... {percent}%","chat.dictation.listening":"Escuchando...","chat.dictation.processing":"Transcribiendo...","chat.dictation.failed":"La transcripción falló","chat.dictation.cancel":"Descartar dictado","chat.dictation.insert":"Insertar transcripción","chat.dictation.insertAndSend":"Insertar y enviar","chat.dictation.retry":"Reintentar transcripción","chat.dictation.discard":"Descartar grabación","chat.history.loadOlder":"Cargar mensajes anteriores","chat.appLink.confirm.title":"¿Abrir este enlace en otra aplicación?","chat.appLink.confirm.description":"Este enlace del chat usa el protocolo {scheme} y se abrirá en otra aplicación.","chat.appLink.confirm.descriptionPlain":"Este enlace del chat se abrirá en otra aplicación.","chat.appLink.confirm.cancel":"Cancelar","chat.appLink.confirm.open":"Abrir una vez","chat.appLink.confirm.trustAndOpen":"Confiar y abrir","chat.autoReview.title":"El ciclo de revisión de código está en curso","chat.autoReview.status.waitingForReviewer":"Esperando al revisor","chat.autoReview.status.waitingForImplementer":"Esperando al implementador","chat.autoReview.reviewSessionLabel":"Sesión de revisión","chat.autoReview.actions.open":"Abrir","chat.autoReview.actions.stop":"Detener","chat.draftDirtyNotice.tooltip":`Tienes cambios sin confirmar en esta rama.
9
+ Usa @filename para añadir el contenido del archivo.`,"settings.commands.page.templateHint.userInput":"entrada del usuario","settings.commands.page.templateHint.shellOutput":"salida del shell","settings.commands.page.templateHint.fileContents":"contenido del archivo","settings.commands.agentSelector.title":"Seleccionar agente","settings.commands.agentSelector.notSelected":"No seleccionado","settings.commands.agentSelector.selectAgentPlaceholder":"Seleccionar agente...","settings.gitIdentities.page.section.title":"Identidades","settings.gitIdentities.page.empty.title":"No hay identidades configuradas","settings.gitIdentities.page.empty.description":"Crea una para gestionar la configuración del autor de Git por proyecto","settings.gitIdentities.page.badge.default":"predeterminado","settings.gitIdentities.page.actions.setAsDefault":"Establecer como predeterminado","settings.gitIdentities.page.actions.unsetDefault":"Quitar predeterminado","settings.gitIdentities.page.toast.updateDefaultFailed":"No se pudo actualizar la identidad predeterminada","settings.gitIdentities.page.toast.defaultUpdated":"Identidad predeterminada actualizada","settings.gitIdentities.page.toast.defaultUnset":"Identidad predeterminada quitada","settings.gitIdentities.page.toast.profileDeleted":'Perfil "{name}" eliminado',"settings.gitIdentities.page.toast.deleteProfileFailed":"No se pudo eliminar el perfil","settings.gitIdentities.page.deleteDialog.title":"Eliminar perfil","settings.gitIdentities.page.deleteDialog.description":'¿Estás seguro de que quieres eliminar "{name}"?',"settings.gitIdentities.editor.title.newIdentity":"Nueva identidad","settings.gitIdentities.editor.title.globalIdentity":"Identidad global","settings.gitIdentities.editor.title.editIdentity":"Editar identidad","settings.gitIdentities.editor.description.globalReadOnly":"Identidad Git global (solo lectura)","settings.gitIdentities.editor.section.commitSigning":"Firma de commits","settings.gitIdentities.editor.field.profileName":"Nombre de la identidad","settings.gitIdentities.editor.field.profileNamePlaceholder":"Identidad de trabajo, personal, etc.","settings.gitIdentities.editor.field.color":"Color","settings.gitIdentities.editor.field.icon":"Icono","settings.gitIdentities.editor.field.userName":"Nombre de usuario","settings.gitIdentities.editor.field.userNameTooltip":"El nombre que aparecerá en los mensajes de commit de Git.","settings.gitIdentities.editor.field.userNamePlaceholder":"John Doe","settings.gitIdentities.editor.field.emailAddress":"Dirección de correo electrónico","settings.gitIdentities.editor.field.emailAddressTooltip":"Debe coincidir con tu correo en GitHub/GitLab para atribuir correctamente.","settings.gitIdentities.editor.field.emailAddressPlaceholder":"john@example.com","settings.gitIdentities.editor.field.signCommits":"Firmar commits con esta identidad","settings.gitIdentities.editor.field.signingKey":"Clave de firma","settings.gitIdentities.editor.field.signingKeyPlaceholder":"~/.ssh/id_ed25519.pub","settings.gitIdentities.editor.field.account":"Cuenta de control de código","settings.gitIdentities.editor.field.accountNone":"Sin cuenta","settings.gitIdentities.editor.auth.label":"Autenticación","settings.gitIdentities.editor.auth.systemHint":"Push y pull con lo que Git tenga configurado en este equipo: claves SSH, un gestor de credenciales, la CLI gh.","settings.gitIdentities.editor.auth.system":"Este equipo","settings.gitIdentities.editor.auth.accountHint":"Push y pull con el inicio de sesión o el token de la cuenta conectada.","settings.gitIdentities.editor.auth.account":"Cuenta","settings.gitIdentities.editor.auth.anonymous":"Anónimo","settings.gitIdentities.editor.auth.ssh":"SSH","settings.gitIdentities.editor.auth.anonymousHint":"Lee repositorios públicos por HTTPS sin iniciar sesión y no puede hacer push. Las issues y pull requests siguen usando la cuenta.","settings.gitIdentities.page.incomplete":"Necesita una cuenta o una clave antes de que un repositorio pueda usarla","settings.gitIdentities.page.accountGone":"La cuenta que usa esta identidad ya no está conectada","settings.gitIdentities.page.cliAccountInactive":"Cambia a la cuenta de GitHub CLI en Integraciones","settings.gitIdentities.editor.toast.accountRequired":"Elige la cuenta con la que actúa esta identidad.","settings.gitIdentities.editor.toast.sshKeyRequired":"Elige la clave SSH gestionada que usa esta identidad.","settings.gitIdentities.editor.actions.close":"Cerrar","settings.gitIdentities.editor.actions.create":"Crear","settings.gitIdentities.editor.actions.save":"Guardar","settings.gitIdentities.editor.toast.userNameEmailRequired":"Se requieren nombre de usuario y dirección de correo electrónico","settings.gitIdentities.editor.toast.signingKeyRequired":"Se requiere una clave de firma cuando la firma de commits está activada","settings.gitIdentities.editor.toast.profileCreated":"Identidad creada","settings.gitIdentities.editor.toast.profileUpdated":"Identidad actualizada","settings.gitIdentities.editor.toast.createProfileFailed":"No se pudo crear la identidad","settings.gitIdentities.editor.toast.updateProfileFailed":"No se pudo actualizar la identidad","settings.gitIdentities.editor.toast.saveUnexpectedError":"Ocurrió un error al guardar","settings.gitIdentities.editor.toast.profileDeleted":"Identidad eliminada","settings.gitIdentities.editor.toast.deleteProfileFailed":"No se pudo eliminar la identidad","settings.gitIdentities.editor.toast.deleteUnexpectedError":"Ocurrió un error al eliminar","settings.skills.sidebar.title":"Habilidades","settings.skills.sidebar.total":"Total {count}","settings.skills.sidebar.blockedByPolicy":"Bloqueado","settings.skills.sidebar.blockedByPolicyHint":"Una política de tu configuración de OpenCode bloquea este skill, así que los agentes no pueden usarlo.","settings.skills.sidebar.section.project":"Habilidades del proyecto","settings.skills.sidebar.section.user":"Habilidades del usuario","settings.skills.sidebar.empty.title":"No hay habilidades configuradas","settings.skills.sidebar.empty.description":"Usa el botón + arriba para crear una","settings.skills.sidebar.badge.claude":"claude","settings.skills.sidebar.badge.agents":"agentes","settings.skills.sidebar.badge.opencode":"opencode","settings.skills.sidebar.toast.skillDeleted":'Habilidad "{name}" eliminada con éxito',"settings.skills.sidebar.toast.deleteSkillFailed":"No se pudo eliminar la habilidad","settings.skills.sidebar.toast.duplicateLoadFailed":"No se pudo cargar la información de la habilidad para duplicarla","settings.skills.sidebar.toast.renameFailed":"No se pudo cambiar el nombre de la habilidad","settings.skills.sidebar.toast.skillRenamed":'Habilidad renombrada a "{name}"',"settings.skills.sidebar.deleteDialog.title":"Eliminar habilidad","settings.skills.sidebar.deleteDialog.description":'¿Estás seguro de que quieres eliminar la habilidad "{name}"?',"settings.skills.sidebar.renameDialog.title":"Cambiar nombre habilidad","settings.skills.sidebar.renameDialog.description":'Introduce un nuevo nombre para la habilidad "{name}"',"settings.skills.sidebar.renameDialog.placeholder":"Nuevo nombre de habilidad...","settings.skills.page.title.newSkill":"Nueva habilidad","settings.skills.page.subtitle.newSkill":"Configurar una nueva habilidad","settings.skills.page.subtitle.skillLocation":"{location} habilidad","settings.skills.page.section.basicInformation":"Información básica","settings.skills.page.section.instructions":"Instrucciones","settings.skills.page.section.supportingFiles":"Archivos de apoyo","settings.skills.page.field.skillNameLocation":"Nombre de la habilidad y ubicación","settings.skills.page.field.skillNameHint":"Minúsculas, números y guiones","settings.skills.page.field.skillNamePlaceholder":"nombre-de-habilidad","settings.skills.page.field.descriptionHint":"El agente usa esta descripción para decidir cuándo cargar la habilidad","settings.skills.page.field.disableModelInvocation":"Ejecutar solo al invocarla manualmente","settings.skills.page.field.disableModelInvocationHint":"El agente no elegirá esta habilidad por su cuenta. Solo se carga cuando la llamas por su nombre.","settings.skills.page.field.descriptionPlaceholder":"Breve descripción de lo que hace esta habilidad...","settings.skills.page.field.instructionsPlaceholder":"Instrucciones paso a paso, guías o contenido de referencia...","settings.skills.page.badge.claudeCompatible":"Compatible con Claude","settings.skills.page.badge.pending":"pendiente","settings.skills.page.actions.addFile":"Añadir archivo","settings.skills.page.actions.createSkill":"Crear habilidad","settings.skills.page.actions.createFile":"Crear archivo","settings.skills.page.supportingFiles.empty":'No hay archivos de apoyo. Usa "Añadir archivo" para incluir materiales de referencia.',"settings.skills.page.loading.details":"Cargando detalles de la habilidad...","settings.skills.page.loading.fileContent":"Cargando contenido del archivo...","settings.skills.page.empty.title":"Selecciona una habilidad del panel lateral","settings.skills.page.empty.description":"o crea una nueva","settings.skills.page.deleteFileDialog.title":"Eliminar archivo de apoyo","settings.skills.page.deleteFileDialog.description":'¿Estás seguro de que quieres eliminar "{path}"?',"settings.skills.page.fileDialog.titleEdit":"Editar archivo de apoyo","settings.skills.page.fileDialog.titleAdd":"Añadir archivo de apoyo","settings.skills.page.fileDialog.descriptionEdit":"Modificar el contenido del archivo","settings.skills.page.fileDialog.descriptionAdd":"Crea un archivo nuevo en el directorio de la habilidad","settings.skills.page.fileDialog.field.filePath":"Ruta del archivo","settings.skills.page.fileDialog.field.filePathPlaceholder":"example.md o docs/reference.txt","settings.skills.page.fileDialog.field.filePathHint":"Ruta relativa dentro del directorio de la habilidad. Se crearán automáticamente las subcarpetas.","settings.skills.page.fileDialog.field.content":"Contenido","settings.skills.page.fileDialog.field.contentPlaceholder":"Contenido del archivo...","settings.skills.page.toast.skillNameRequired":"Se requiere el nombre de la habilidad","settings.skills.page.toast.invalidSkillName":"El nombre de la habilidad debe ser 1-64 caracteres alfanuméricos en minúscula con guiones, no puede comenzar ni terminar con guion","settings.skills.page.toast.descriptionRequired":"Se requiere una descripción","settings.skills.page.toast.skillExists":"Ya existe una habilidad con este nombre","settings.skills.page.toast.skillCreated":"Habilidad creada","settings.skills.page.toast.skillUpdated":"Habilidad actualizada","settings.skills.page.toast.createSkillFailed":"No se pudo crear la habilidad","settings.skills.page.toast.updateSkillFailed":"No se pudo actualizar la habilidad","settings.skills.page.toast.saveUnexpectedError":"Ocurrió un error al guardar","settings.skills.page.toast.loadFileContentFailed":"No se pudo cargar el contenido del archivo","settings.skills.page.toast.fileNameRequired":"Se requiere el nombre del archivo","settings.skills.page.toast.fileExists":"Ya existe un archivo con este nombre","settings.skills.page.toast.noSkillSelected":"No se seleccionó ninguna habilidad","settings.skills.page.toast.fileAdded":'Archivo "{path}" añadido',"settings.skills.page.toast.fileCreated":'Archivo "{path}" creado',"settings.skills.page.toast.fileUpdated":'Archivo "{path}" actualizado',"settings.skills.page.toast.fileRemoved":'Archivo "{path}" eliminado',"settings.skills.page.toast.fileDeleted":'Archivo "{path}" borrado',"settings.skills.page.toast.createFileFailed":"No se pudo crear el archivo","settings.skills.page.toast.updateFileFailed":"No se pudo actualizar el archivo","settings.skills.page.toast.deleteFileFailed":"No se pudo eliminar el archivo","settings.skills.location.option.userOpencode.label":"Usuario / OpenCode","settings.skills.location.option.userOpencode.description":"Ubicación global de la configuración de OpenCode","settings.skills.location.option.projectOpencode.label":"Proyecto / OpenCode","settings.skills.location.option.projectOpencode.description":"Ubicación del .opencode del proyecto actual","settings.skills.location.option.userClaude.label":"Usuario / Claude","settings.skills.location.option.userClaude.description":"Ubicación global de skills de Claude","settings.skills.location.option.projectClaude.label":"Proyecto / Claude","settings.skills.location.option.projectClaude.description":"Ubicación .claude del proyecto actual","settings.skills.location.option.userAgents.label":"Usuario / Agentes","settings.skills.location.option.userAgents.description":"Ubicación global de compatibilidad con .agents","settings.skills.location.option.projectAgents.label":"Proyecto / Agentes","settings.skills.location.option.projectAgents.description":"Ubicación de compatibilidad con .agents del proyecto actual","settings.skills.catalog.shared.field.repository":"Repositorio","settings.skills.catalog.shared.field.repositoryPlaceholder":"owner/repo o git@github.com:owner/repo.git","settings.skills.catalog.shared.field.optionalSubpath":"Subruta opcional","settings.skills.catalog.shared.field.subpathPlaceholder":"ej. skills","settings.skills.catalog.shared.field.targetLocation":"Ubicación de destino","settings.skills.catalog.shared.field.project":"Proyecto","settings.skills.catalog.shared.field.noProjects":"No hay proyectos disponibles","settings.skills.catalog.shared.field.chooseProjectPlaceholder":"Elige un proyecto","settings.skills.catalog.shared.field.searchSkillsPlaceholder":"Buscar habilidades…","settings.skills.catalog.shared.toast.repositoryRequired":"Se requiere la fuente del repositorio","settings.skills.catalog.shared.toast.privateRepoNotSupportedVsCode":"Los repositorios privados no son compatibles en VS Code aún","settings.skills.catalog.shared.toast.foundSkills":"Se encontraron {count} habilidad(es)","settings.skills.catalog.shared.noDescription":"No se proporcionó una descripción","settings.skills.catalog.shared.actions.scan":"Escanear","settings.skills.catalog.shared.actions.scanning":"Escanear...","settings.skills.catalog.shared.actions.install":"Instalar","settings.skills.catalog.shared.actions.installing":"Instalando...","settings.skills.catalog.shared.auth.title":"Autenticación requerida","settings.skills.catalog.shared.auth.description":"Identidad de Git","settings.skills.catalog.shared.auth.chooseIdentity":"Elige la identidad","settings.skills.catalog.shared.auth.default":"Configuración de Git predeterminada","settings.skills.catalog.shared.auth.defaultHint":"Usa las claves SSH y los inicios de sesión guardados que Git ya tiene en este equipo.","settings.skills.catalog.shared.auth.accountHint":"Inicia sesión con la cuenta conectada","settings.skills.catalog.shared.auth.sshHint":"Inicia sesión con su clave SSH","settings.skills.catalog.shared.auth.footerHint":"Configura las identidades en Configuración - Identidades de Git.","settings.skills.catalog.shared.auth.footerHintArrow":"Configura las identidades en Configuración → Identidades de Git.","settings.skills.catalog.conflicts.title":"Ya existen habilidades","settings.skills.catalog.conflicts.description":"Algunas de las habilidades seleccionadas ya están instaladas en este alcance. Elige si quieres omitirlas o sobrescribirlas.","settings.skills.catalog.conflicts.count":"{count} conflicto(s)","settings.skills.catalog.conflicts.installedIn":"Instalado en {scope} / {source}","settings.skills.catalog.conflicts.scope.user":"usuario","settings.skills.catalog.conflicts.scope.project":"proyecto","settings.skills.catalog.conflicts.source.opencode":"opencode","settings.skills.catalog.conflicts.source.agents":"agents","settings.skills.catalog.conflicts.decision.skip":"Omitir","settings.skills.catalog.conflicts.decision.overwrite":"Sobrescribir","settings.skills.catalog.conflicts.actions.skipAll":"Omitir todo","settings.skills.catalog.conflicts.actions.overwriteAll":"Sobrescribir todo","settings.skills.catalog.conflicts.actions.continue":"Continuar","settings.skills.catalog.installSkill.title":"Instalar habilidad","settings.skills.catalog.installSkill.descriptionPrefix":"Instalar","settings.skills.catalog.installSkill.descriptionSuffix":"en uno de los cuatro ubicaciones de destino.","settings.skills.catalog.installSkill.field.destination":"Destino","settings.skills.catalog.installSkill.field.project":"Proyecto","settings.skills.catalog.installSkill.field.noProjects":"No hay proyectos disponibles","settings.skills.catalog.installSkill.field.chooseProjectPlaceholder":"Seleccionar proyecto","settings.skills.catalog.installSkill.actions.install":"Instalar","settings.skills.catalog.installSkill.actions.installing":"Instalando...","settings.skills.catalog.installSkill.toast.installed":"Habilidad instalada correctamente","settings.skills.catalog.installSkill.toast.authRequired":"Autenticación requerida","settings.skills.catalog.installSkill.toast.installFailed":"No se pudo instalar la habilidad","settings.skills.catalog.installSkill.toast.skipped":"Algunas habilidades no se instalaron: {skills}","settings.skills.catalog.add.title":"Añadir catálogo de habilidades","settings.skills.catalog.edit.title":"Editar catálogo de habilidades","settings.skills.catalog.edit.actions.save":"Guardar","settings.skills.catalog.add.descriptionPrefix":"Añade un repositorio Git como nuevo origen de catálogo. OpenChamber escaneará para encontrar carpetas que contengan","settings.skills.catalog.add.descriptionSuffix":".","settings.skills.catalog.add.field.catalogName":"Nombre del catálogo","settings.skills.catalog.add.field.catalogNamePlaceholder":"p. ej. Habilidades del equipo","settings.skills.catalog.add.field.repository":"Repositorio","settings.skills.catalog.add.field.optionalSubpath":"Subruta opcional","settings.skills.catalog.add.field.repositoryHint":"Los repositorios públicos funcionan en cualquier lugar. Los privados requieren una identidad SSH (solo en Desktop/Web).","settings.skills.catalog.add.scanResult":"Resultado del escaneo: {count} habilidad(es) encontrada(s)","settings.skills.catalog.add.duplicateMessage":"Este catálogo ya está añadido.","settings.skills.catalog.add.actions.addCatalog":"Añadir catálogo","settings.skills.catalog.add.toast.repositoryRequired":"Se requiere el origen del repositorio","settings.skills.catalog.add.toast.authenticationRequiredScan":"Autenticación requerida. Selecciona una identidad Git y escanea de nuevo.","settings.skills.catalog.add.toast.scanFailed":"No se pudo escanear el repositorio","settings.skills.catalog.add.toast.noSkillsFound":"No se encontraron habilidades en este repositorio","settings.skills.catalog.add.toast.catalogNameRequired":"Se requiere el nombre del catálogo","settings.skills.catalog.add.toast.scanBeforeAdd":"Escanea el repositorio antes de añadir este catálogo","settings.skills.catalog.add.toast.catalogAlreadyExists":"Este catálogo ya existe","settings.skills.catalog.add.toast.catalogAdded":"Catálogo añadido","settings.skills.catalog.add.toast.saveFailed":"No se pudo guardar el catálogo","settings.skills.catalog.installFromRepo.title":"Instalar desde repositorio Git","settings.skills.catalog.installFromRepo.descriptionPrefix":"Escanea un repositorio para encontrar carpetas que contengan","settings.skills.catalog.installFromRepo.descriptionSuffix":", luego instala las habilidades seleccionadas.","settings.skills.catalog.installFromRepo.repositoryHintPrefix":"Para el formato abreviado de GitHub, puedes añadir una subruta como","settings.skills.catalog.installFromRepo.authDescription":"Selecciona una identidad de Git que pueda acceder a este repositorio.","settings.skills.catalog.installFromRepo.empty.noScanResultsTitle":"No hay resultados de escaneo aún","settings.skills.catalog.installFromRepo.empty.noScanResultsDescription":"Escanea un repositorio para descubrir habilidades","settings.skills.catalog.installFromRepo.actions.selectAll":"Seleccionar todo","settings.skills.catalog.installFromRepo.actions.selectNone":"Seleccionar ninguno","settings.skills.catalog.installFromRepo.actions.installSelected":"Instalar selección","settings.skills.catalog.installFromRepo.badge.installed":"instalado ({scope}/{source})","settings.skills.catalog.installFromRepo.selectedCount":"Seleccionado: {selected} / {total}","settings.skills.catalog.installFromRepo.toast.authenticationRequiredScan":"Autenticación requerida. Selecciona una identidad Git y prueba a escanear de nuevo.","settings.skills.catalog.installFromRepo.toast.authenticationRequiredInstall":"Autenticación requerida. Selecciona una identidad Git y prueba a instalar de nuevo.","settings.skills.catalog.installFromRepo.toast.scanFailed":"No se pudo escanear el repositorio","settings.skills.catalog.installFromRepo.toast.selectAtLeastOne":"Selecciona al menos una habilidad para instalar","settings.skills.catalog.installFromRepo.toast.installedCount":"{count} habilidad(es) instalada(s)","settings.skills.catalog.installFromRepo.toast.installCompleted":"Instalación completada","settings.skills.catalog.installFromRepo.toast.installFailed":"No se pudieron instalar las habilidades","settings.skills.catalog.page.mode.manual":"Manual","settings.skills.catalog.page.mode.external":"Externo","settings.skills.catalog.page.title":"Catálogo de habilidades","settings.skills.catalog.page.subtitle":"Instala skills listos desde repositorios curados o añade tu propia fuente.","settings.skills.catalog.page.section.sources":"Fuentes","settings.skills.catalog.page.searchAllPlaceholder":"Buscar skills en todas las fuentes…","settings.skills.catalog.page.search.clear":"Borrar búsqueda","settings.skills.catalog.page.source.skillsCount":"Skills: {count}","settings.skills.catalog.page.source.stars":"Estrellas: {count}","settings.skills.catalog.page.source.updated":"Actualizado {time}","settings.skills.catalog.page.source.addOwnTitle":"Añadir tu propia fuente","settings.skills.catalog.page.source.addOwnDescription":"Cualquier repositorio Git con skills","settings.skills.catalog.page.source.viewRepo":"Abrir repositorio en GitHub","settings.skills.catalog.page.skill.viewOnGithub":"Ver skill en GitHub","settings.skills.catalog.page.list.searchTitle":"Resultados de búsqueda","settings.skills.catalog.page.section.sourceRepository":"Repositorio de origen","settings.skills.catalog.page.field.selectSourcePlaceholder":"Seleccionar origen","settings.skills.catalog.page.actions.refreshTitle":"Actualizar","settings.skills.catalog.page.actions.removeCatalogTitle":"Eliminar catálogo","settings.skills.catalog.page.actions.addCatalog":"Añadir catálogo","settings.skills.catalog.page.actions.removeCatalog":"Eliminar catálogo","settings.skills.catalog.page.actions.editCatalog":"Editar catálogo","settings.skills.catalog.page.actions.deselectAll":"Deseleccionar todo","settings.skills.catalog.page.actions.delete":"Eliminar","settings.skills.catalog.page.toast.deleted":"Habilidades eliminadas: {count}","settings.skills.catalog.page.loading.catalog":"Cargando...","settings.skills.catalog.page.loading.skills":"Cargando habilidades...","settings.skills.catalog.page.foundCount":"{count} habilidad(es) encontrada(s)","settings.skills.catalog.page.error.catalogTitle":"Error del catálogo","settings.skills.catalog.page.empty.noSkillsTitle":"No se encontraron habilidades","settings.skills.catalog.page.empty.noSkillsDescription":"Prueba con una búsqueda diferente o refresca el catálogo","settings.skills.catalog.page.badge.installed":"instalado ({scope})","settings.skills.catalog.page.badge.notInstallable":"no instalable","settings.skills.catalog.page.badge.unknown":"desconocido","settings.skills.catalog.page.removeDialog.title":"Eliminar catálogo","settings.skills.catalog.page.removeDialog.description":"¿Estás seguro de que quieres eliminar este catálogo?","settings.openchamber.passkeys.title":"Claves de paso","settings.openchamber.passkeys.field.currentDevice":"Dispositivo actual","settings.openchamber.passkeys.actions.add":"Añadir clave de paso","settings.openchamber.passkeys.actions.cancelSetup":"Cancelar configuración de clave de paso","settings.openchamber.passkeys.actions.signOutEverywhere":"Cerrar sesión en todos los lugares","settings.openchamber.passkeys.actions.signingOut":"Cerrando sesión…","settings.openchamber.passkeys.actions.removing":"Eliminando…","settings.openchamber.passkeys.actions.rename":"Cambiar nombre","settings.openchamber.passkeys.state.uiPasswordRequired":"Las claves de paso solo están disponibles cuando el bloqueo con contraseña de la interfaz está habilitado.","settings.openchamber.passkeys.state.loading":"Cargando claves de paso…","settings.openchamber.passkeys.state.noneSaved":"No se han guardado claves de paso para este host aún.","settings.openchamber.passkeys.item.lastUsed":"Último uso {time}","settings.openchamber.passkeys.item.added":"Añadido {time}","settings.openchamber.passkeys.time.neverUsed":"Nunca usado","settings.openchamber.passkeys.toast.loadFailed":"No se pudieron cargar las claves de paso.","settings.openchamber.passkeys.toast.enableUiPasswordFirst":"Habilita la contraseña de bloqueo de la interfaz de usuario antes de añadir claves de paso.","settings.openchamber.passkeys.toast.added":"Clave de paso añadida","settings.openchamber.passkeys.toast.setupCanceled":"Configuración de clave de paso cancelada","settings.openchamber.passkeys.toast.addFailed":"No se pudo agregar la clave de paso.","settings.openchamber.passkeys.toast.removed":"Clave de paso eliminada","settings.openchamber.passkeys.toast.removeFailed":"No se pudo eliminar la clave de paso.","settings.openchamber.passkeys.toast.renamed":"Clave de paso renombrada","settings.openchamber.passkeys.toast.renameFailed":"No se pudo cambiar el nombre de la clave de paso.","settings.openchamber.passkeys.toast.clearAuthFailed":"No se pudo limpiar la autenticación guardada.","settings.openchamber.sessionRetention.title":"Retención de sesiones","settings.openchamber.mergedWorktreeCleanup.title":"Después de fusionar un PR","settings.openchamber.mergedWorktreeCleanup.info":"Usa el estado del PR que ya muestra la barra lateral. No pasa nada mientras un agente trabaja en el worktree o una de sus sesiones está abierta.","settings.openchamber.mergedWorktreeCleanup.field.enable":"Archivar las sesiones y eliminar el worktree","settings.openchamber.mergedWorktreeCleanup.field.enableDescription":"El worktree y su rama local se eliminan cuando no tiene cambios sin confirmar ni commits que falten en el PR fusionado. Hasta entonces, se archivan las sesiones y el worktree se conserva.","settings.openchamber.messageSearch.title":"Búsqueda de mensajes","settings.openchamber.messageSearch.field.enabled":"Buscar mensajes en todas las conversaciones","settings.openchamber.messageSearch.field.enabledInfo":"Guarda junto a los ajustes un pequeño índice de tus mensajes y de las respuestas del agente, para que la búsqueda los encuentre al instante. Se queda en el equipo donde se ejecuta OpenChamber y nunca se envía a ninguna parte.","settings.openchamber.messageSearch.field.reasoning":"Buscar también en el razonamiento del agente","settings.openchamber.messageSearch.field.reasoningInfo":"Los modelos que piensan mucho pueden multiplicar el tamaño del índice, y al activarlo se vuelven a leer todas las conversaciones. Los resultados en el razonamiento solo aparecen si el razonamiento se muestra en el chat.","settings.openchamber.messageSearch.field.index":"Índice de búsqueda","settings.openchamber.messageSearch.status.loading":"Comprobando el índice…","settings.openchamber.messageSearch.status.off":"La búsqueda está desactivada. No se indexa nada.","settings.openchamber.messageSearch.status.offWithFile":"La búsqueda está desactivada. El índice ocupa {size} en disco.","settings.openchamber.messageSearch.status.indexing":"Indexando conversaciones: {done} de {total}. {size} en disco.","settings.openchamber.messageSearch.status.ready":"Conversaciones indexadas: {sessions}, mensajes: {messages}. {size} en disco.","settings.openchamber.messageSearch.status.failed":"No se pudo abrir el índice. Reconstruirlo suele solucionarlo.","settings.openchamber.messageSearch.status.unsupported":"Este servidor no tiene SQLite, así que no puede mantener un índice de búsqueda.","settings.openchamber.messageSearch.status.error":"No se pudo leer el estado del índice.","settings.openchamber.messageSearch.actions.rebuild":"Reconstruir índice","settings.openchamber.messageSearch.actions.delete":"Eliminar índice","settings.openchamber.messageSearch.actions.working":"Procesando…","settings.openchamber.sessionWork.title":"Sesiones en curso","settings.openchamber.sessionWork.info":"Un bloque en la barra lateral, debajo de los chats, para las sesiones en las que estás trabajando. Una sesión llega ahí en cuanto envías un mensaje en ella, sigue también en su proyecto y sale cuando la marcas como hecha: pasa el cursor y usa la marca, o usa el menú de la sesión. Cuando un turno parece el final del trabajo, la marca se vuelve gris como pista.","settings.openchamber.sessionWork.field.enabled":"Mostrar sesiones en curso","settings.openchamber.sessionRetention.field.onlyArchived":"Solo sesiones archivadas","settings.openchamber.sessionRetention.field.onlyArchivedDescription":"Usa Eliminar y cuenta el periodo de retención desde el archivado. Las sesiones no archivadas se conservan.","settings.openchamber.sessionRetention.archivedTooltip":"Elimina sesiones archivadas cuyo periodo de retención ha vencido. Conserva las 5 sesiones archivadas más recientemente, la sesión abierta, las sesiones en ejecución y las compartidas. Una sesión principal se conserva si eliminarla también eliminaría una sesión secundaria protegida.","settings.openchamber.sessionRetention.tooltip":"Archiva o elimina sesiones no archivadas según su última actividad. Conserva las 5 sesiones más recientes, la sesión abierta, las sesiones en ejecución y las compartidas. Las sesiones archivadas se conservan. Una sesión principal se conserva si eliminarla también eliminaría una sesión secundaria protegida.","settings.openchamber.sessionRetention.field.enableAutoCleanupAria":"Habilitar limpieza automática","settings.openchamber.sessionRetention.field.enableAutoCleanup":"Habilitar limpieza automática","settings.openchamber.sessionRetention.field.retentionPeriod":"Periodo de retención","settings.openchamber.sessionRetention.field.retentionPeriodAria":"Período de retención en días","settings.openchamber.sessionRetention.field.days":"días","settings.openchamber.sessionRetention.field.whenSessionsExpire":"Cuando las sesiones expiren","settings.openchamber.sessionRetention.actions.resetRetentionAria":"Restablecer período de retención","settings.openchamber.sessionRetention.actions.runCleanupNow":"Ejecutar limpieza ahora","settings.openchamber.sessionRetention.actions.cleaningUp":"Limpieza en curso...","settings.openchamber.sessionRetention.action.archive":"Archivar","settings.openchamber.sessionRetention.action.delete":"Eliminar","settings.openchamber.sessionRetention.manualCleanup.title":"Limpieza manual","settings.openchamber.sessionRetention.manualCleanup.eligibleArchiveNow":"Elegible para archivar ahora: {count}","settings.openchamber.sessionRetention.manualCleanup.eligibleDeleteNow":"Elegible para eliminar ahora: {count}","settings.openchamber.sessionRetention.toast.noneEligibleArchive":"No hay sesiones elegibles para archivar","settings.openchamber.sessionRetention.toast.noneEligibleDelete":"No hay sesiones elegibles para eliminar","settings.openchamber.sessionRetention.toast.archivedCount":"Archivadas {count} sesión(es)","settings.openchamber.sessionRetention.toast.deletedCount":"Eliminadas {count} sesión(es)","settings.openchamber.sessionRetention.toast.failedArchiveCount":"No se pudo archivar {count} sesión(es)","settings.openchamber.sessionRetention.toast.failedDeleteCount":"No se pudo eliminar {count} sesión(es)","settings.openchamber.desktopNetwork.field.windowControlsPosition":"Posición de los controles de ventana","settings.openchamber.desktopNetwork.field.windowControlsPositionDescription":"Elige dónde aparecen los botones de minimizar, maximizar y cerrar. Por defecto a la derecha.","settings.openchamber.desktopNetwork.field.windowControlsPositionAria":"Posición de los controles de ventana","settings.openchamber.desktopNetwork.option.windowControlsLeft":"Izquierda","settings.openchamber.desktopNetwork.option.windowControlsRight":"Derecha","settings.openchamber.desktopNetwork.field.windowControls":"Controles de ventana","settings.openchamber.desktopNetwork.field.windowControlsStyle":"Estilo","settings.openchamber.desktopNetwork.field.windowControlsStyleAria":"Estilo de los controles de ventana","settings.openchamber.desktopNetwork.option.windowControlsClassic":"Clásico","settings.openchamber.desktopNetwork.option.windowControlsTrafficLights":"Semáforo","settings.openchamber.desktopNetwork.field.launchAtLoginAria":"Iniciar OpenChamber al iniciar sesión","settings.openchamber.desktopNetwork.field.launchAtLogin":"Iniciar OpenChamber al iniciar sesión","settings.openchamber.desktopNetwork.field.launchAtLoginDescription":"Inicia la app en segundo plano sin abrir una ventana. Usa el icono de estado del escritorio para abrirla.","settings.openchamber.desktopNetwork.field.macMenuBarAria":"Mostrar OpenChamber en la barra de menús de macOS","settings.openchamber.desktopNetwork.field.macMenuBar":"Mostrar OpenChamber en la barra de menús","settings.openchamber.desktopNetwork.field.macMenuBarDescription":"Requiere reiniciar la aplicación. Al desactivarlo, OpenChamber no crea el elemento de la barra de menús ni ejecuta sus actualizaciones de sesiones, aprobaciones y uso.","settings.openchamber.desktopNetwork.field.minimizeToTrayAria":"Cerrar OpenChamber a la bandeja del sistema","settings.openchamber.desktopNetwork.field.minimizeToTray":"Cerrar a la bandeja del sistema","settings.openchamber.desktopNetwork.field.minimizeToTrayDescription":"Mantiene OpenChamber en ejecución en la bandeja del sistema cuando se cierra la ventana principal. Al minimizar, la ventana sigue en la barra de tareas.","settings.openchamber.desktopNetwork.field.keepAwakeAria":"Mantener el ordenador activo mientras OpenChamber está en ejecución","settings.openchamber.desktopNetwork.field.keepAwake":"Mantener el ordenador activo mientras OpenChamber está en ejecución","settings.openchamber.desktopNetwork.field.keepAwakeDescription":"Para que los teléfonos puedan seguir abriendo esta app. La pantalla aún puede apagarse.","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcut":"Atajo global de Mini Chat","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcutDescription":"Muestre u oculte Mini Chat desde cualquier parte del escritorio, incluso cuando OpenChamber no esté en foco.","settings.openchamber.desktopNetwork.field.miniChatGlobalShortcutInactive":"No registrado: otra aplicación podría estar usando este atajo.","settings.openchamber.desktopNetwork.field.quakeMode":"Modo Quake","settings.openchamber.desktopNetwork.field.quakeModeAria":"Activar el modo Quake en segundo plano","settings.openchamber.desktopNetwork.field.quakeModeDescription":"Mantiene OpenChamber ejecutándose en segundo plano y muestra u oculta la ventana principal desde cualquier lugar con un atajo global, como el modo Quake de Windows Terminal. Cerrar la ventana la oculta en lugar de salir.","settings.openchamber.desktopNetwork.field.quakeModeShortcut":"Atajo global del modo Quake","settings.openchamber.desktopNetwork.field.quakeModeShortcutDescription":"Muestre u oculte la ventana principal desde cualquier parte del escritorio, incluso cuando OpenChamber no esté en foco. El valor predeterminado es Ctrl+`, que nunca choca con Win+` de Windows Terminal.","settings.openchamber.desktopNetwork.field.quakeModeShortcutInactive":"No registrado: otra aplicación podría estar usando este atajo.","settings.openchamber.desktopNetwork.field.quakeModeHeight":"Altura de la ventana Quake","settings.openchamber.desktopNetwork.field.quakeModeHeightAria":"Altura de la ventana Quake","settings.openchamber.desktopNetwork.field.quakeModeHeightDescription":"Cuánto de la pantalla cubre la ventana Quake al abrirse. Se acopla arriba de la pantalla del cursor en todo su ancho.","settings.openchamber.desktopNetwork.field.allowLanAccessAria":"Permitir acceso LAN al lado de escritorio","settings.openchamber.desktopNetwork.field.allowLanAccess":"Permitir que otros dispositivos en tu red local abran esta aplicación","settings.openchamber.desktopNetwork.field.allowLanAccessDescription":"Reinicia la aplicación para que los teléfonos, tablets y otros ordenadores en tu Wi-Fi puedan abrirla.","settings.openchamber.desktopNetwork.field.warning":"Advertencia: mientras esté habilitado, la aplicación es accesible por cualquiera en la misma red local.","settings.openchamber.desktopNetwork.field.passwordRequiredWarning":"El acceso LAN requiere una contraseña de UI de escritorio. Hasta que se configure, la app de escritorio se inicia solo localmente.","settings.openchamber.desktopNetwork.field.enterpriseBlocked":"El modo empresa mantiene OpenChamber en este equipo. Tu administrador puede permitir el acceso por red.","settings.openchamber.desktopPassword.field.password":"Contraseña de UI de escritorio","settings.openchamber.desktopPassword.field.passwordPlaceholder":"No se requiere contraseña","settings.openchamber.desktopPassword.field.passwordSetPlaceholder":"Contraseña establecida. Escribe una nueva para reemplazarla.","settings.openchamber.desktopPassword.actions.removePassword":"Quitar contraseña","settings.openchamber.desktopPassword.field.passwordDescription":"OpenChamber la pide después del reinicio y luego cuando vence la sesión: tras 12 horas, o 7 días con Confiar en este dispositivo. Déjalo vacío para desactivar el inicio de sesión.","settings.openchamber.desktopNetwork.hint.openAfterRestart":"Después del reinicio, abre desde otro dispositivo: ","settings.openchamber.desktopNetwork.hint.openNow":"Abrir desde otro dispositivo: ","settings.openchamber.desktopNetwork.actions.saveAndRestart":"Guardar y reiniciar","settings.openchamber.desktopNetwork.error.loadFailed":"No se pudo cargar la configuración de escritorio","settings.openchamber.desktopNetwork.error.saveFailed":"No se pudo guardar la configuración de escritorio","settings.openchamber.desktopNetwork.error.savedRestartFailed":"Guardado, pero no se pudo reiniciar la aplicación","settings.openchamber.desktopNetwork.error.launchAtLoginUnsupported":"El inicio al iniciar sesión no es compatible con este sistema","settings.openchamber.desktopNetwork.error.launchAtLoginSaveFailed":"No se pudo actualizar la opción de inicio al iniciar sesión","settings.openchamber.desktopNetwork.error.minimizeToTrayUnsupported":"El modo en segundo plano de la bandeja del sistema no es compatible con este sistema","settings.openchamber.desktopNetwork.error.minimizeToTraySaveFailed":"No se pudo actualizar la opción de bandeja del sistema","settings.openchamber.desktopNetwork.error.keepAwakeUnsupported":"Evitar la suspensión no es compatible con este sistema","settings.openchamber.desktopNetwork.error.keepAwakeSaveFailed":"No se pudo actualizar la opción de mantener activo","settings.openchamber.desktopNetwork.error.miniChatGlobalShortcutSaveFailed":"No se pudo actualizar el atajo global de Mini Chat","settings.openchamber.desktopNetwork.error.miniChatGlobalShortcutUnsupported":"Esta combinación no se puede usar como atajo global. Incluye Ctrl, Alt o Cmd.","settings.openchamber.desktopNetwork.error.quakeModeSaveFailed":"No se pudo actualizar el modo Quake","settings.openchamber.desktopNetwork.error.quakeModeShortcutUnsupported":"Esta combinación no se puede usar como atajo global. Incluye Ctrl, Alt o Cmd.","settings.openchamber.opencodeCli.title":"CLI de OpenCode","settings.openchamber.spaces.title":"Espacios aislados","settings.openchamber.spaces.field.enabled":"Permitir que los agentes trabajen en espacios aislados","settings.openchamber.spaces.field.enabledAria":"Permitir que los agentes trabajen en espacios aislados","settings.openchamber.spaces.field.enabledInfo":"El agente trabaja en tu proyecto dentro de un contenedor Docker. No puede llegar a tus archivos, otros proyectos ni claves. Puedes aplicar o descartar sus cambios. El primer inicio descarga unos 1,6 GB.","settings.openchamber.spaces.idleStop.enabled":"Detener los espacios inactivos","settings.openchamber.spaces.idleStop.enabledAria":"Detener los espacios inactivos","settings.openchamber.spaces.idleStop.enabledInfo":"Detiene un espacio sin actividad. Los archivos se conservan. Funciona incluso con OpenChamber cerrado.","settings.openchamber.spaces.idleStop.after":"Detener tras","settings.openchamber.spaces.idleStop.afterAria":"Horas sin trabajo antes de que un espacio se detenga","settings.openchamber.spaces.idleStop.hours":"horas","settings.openchamber.spaces.idleStop.resetAria":"Volver a 4 horas","settings.openchamber.spaces.idleStop.loadFailed":"No se pudo cargar este ajuste.","settings.openchamber.tools.title":"Herramientas de OpenChamber","settings.openchamber.tools.field.agentControlTool":"Herramienta de control para agentes","settings.openchamber.tools.field.agentControlToolAria":"Activar la herramienta de control para agentes","settings.openchamber.tools.field.agentControlToolInfo":"Los agentes también pueden pasar prompts a otras sesiones e iniciarlas en worktrees. Borrar sesiones y worktrees queda en tus manos.","settings.openchamber.tools.field.agentControlToolSummary":"Crear y dirigir sesiones y worktrees.","settings.openchamber.tools.field.agentScheduleTool":"Herramienta de programación para agentes","settings.openchamber.tools.field.agentScheduleToolAria":"Activar la herramienta de programación para agentes","settings.openchamber.tools.field.agentScheduleToolInfo":"Los agentes pueden programar un prompt a diario, cada semana, una sola vez o con cron, y cambiar, ejecutar, pausar o borrar una tarea.","settings.openchamber.tools.field.agentScheduleToolSummary":"Crear y ejecutar tareas programadas.","settings.openchamber.tools.field.agentWebTool":"Herramienta OpenChamber Web","settings.openchamber.tools.field.agentWebToolAria":"Activar la herramienta OpenChamber Web","settings.openchamber.tools.field.agentWebToolInfo":"Útil para revisar trabajo de UI en la app en marcha. Los agentes pueden navegar, revisar páginas y hacer capturas de pantalla.","settings.openchamber.tools.field.agentWebToolSummary":"Abrir, leer y recorrer páginas en el panel del navegador.","settings.openchamber.tools.browserProvider.label":"Proveedor del navegador","settings.openchamber.tools.browserProvider.aria":"Elegir quién responde a las acciones de navegador del agente","settings.openchamber.tools.browserProvider.info":"OpenChamber Web es el panel del navegador de la app de escritorio. Una extensión de navegador se ejecuta en el servidor, así los agentes navegan sin la app de escritorio abierta.","settings.openchamber.tools.browserProvider.option.builtin":"OpenChamber Web","settings.openchamber.tools.browserProvider.toast.reset":"{name} ya no puede proporcionar el navegador. Los agentes vuelven a usar OpenChamber Web.","settings.openchamber.tools.field.agentMemoryTool":"Herramienta de memoria del agente","settings.openchamber.tools.field.agentMemoryToolAria":"Herramienta de memoria del agente","settings.openchamber.tools.field.agentMemoryToolInfo":"Los agentes solo ven los títulos y abren una entrada cuando es relevante. Al desactivarla también se oculta la pestaña Memoria.","settings.openchamber.tools.field.agentMemoryToolSummary":"Recordar entre sesiones lo que es cierto sobre ti y cada proyecto.","settings.openchamber.tools.field.agentNotifyTool":"Herramienta de notificaciones del agente","settings.openchamber.tools.field.agentNotifyToolAria":"Herramienta de notificaciones del agente","settings.openchamber.tools.field.agentNotifyToolInfo":"Sigue tu configuración de Notificaciones.","settings.openchamber.tools.field.agentNotifyToolSummary":"Los agentes te avisan cuando terminan o se quedan bloqueados.","settings.openchamber.tools.field.agentKnowledgeTool":"Herramienta de conocimiento del proyecto","settings.openchamber.tools.field.agentKnowledgeToolAria":"Herramienta de conocimiento del proyecto","settings.openchamber.tools.field.agentKnowledgeToolInfo":"Los agentes trabajan con los mismos elementos que ves en el panel Conocimiento del proyecto.","settings.openchamber.tools.field.agentKnowledgeToolSummary":"Los agentes leen y actualizan las notas, tareas y planes del proyecto.","settings.openchamber.tools.field.agentToolsCodeMode":"Ejecutar mediante Code Mode","settings.openchamber.tools.field.agentToolsCodeModeAria":"Ejecutar las herramientas de OpenChamber mediante Code Mode","settings.openchamber.tools.field.agentToolsCodeModeInfo":"Desactivado: el modelo ve cada herramienta directamente. Activado: quedan detrás de una herramienta que ejecuta un script corto. Ahorra algo de contexto, pero el modelo puede pasarlas por alto, sobre todo los pequeños. La herramienta de renderizado siempre queda directa, porque el chat dibuja la página a partir de su propia llamada.","settings.openchamber.opencodeCli.tooltipPrefix":"Ruta absoluta opcional al","settings.openchamber.opencodeCli.tooltipSuffix":"ejecutable.","settings.openchamber.opencodeCli.field.binaryPath":"Ruta del ejecutable de OpenCode","settings.openchamber.opencodeCli.field.binaryPathPlaceholder":"/Users/you/.bun/bin/opencode","settings.openchamber.opencodeCli.field.pinnedByAdministrator":"Tu administrador fijó esta ruta, así que OpenChamber siempre inicia OpenCode desde ella.","settings.openchamber.opencodeCli.field.showUpdateNotifications":"Mostrar notificaciones de actualización de OpenCode","settings.openchamber.opencodeCli.field.showUpdateNotificationsAria":"Mostrar notificaciones de actualización de OpenCode","settings.openchamber.opencodeCli.actions.browseAria":"Buscar ruta del ejecutable de OpenCode","settings.openchamber.opencodeCli.actions.browse":"Buscar","settings.openchamber.opencodeCli.actions.saveAndReload":"Guardar + Recargar","settings.openchamber.opencodeCli.actions.restartingOpenCode":"Reiniciando OpenCode…","settings.openchamber.opencodeCli.restart.manualRequired":"Guardado en disco. Reinicia el servidor OpenCode conectado para aplicar los cambios.","settings.openchamber.opencodeCli.restart.failed":"No se pudieron aplicar los cambios de configuración.","settings.openchamber.opencodeCli.actions.restart":"Reiniciar OpenCode","settings.openchamber.opencodeCli.restart.external":"Este OpenCode se inició fuera de OpenChamber. Reinícialo donde lo iniciaste.","settings.openchamber.opencodeCli.restart.restartFailed":"No se pudo reiniciar OpenCode.","settings.openchamber.opencodeCli.dialog.selectBinaryTitle":"Seleccionar ejecutable de opencode","settings.openchamber.opencodeCli.tipPrefix":"Consejo: también puedes usar","settings.openchamber.opencodeCli.tipMiddle":"variable de entorno, pero esta configuración persiste en","settings.mcp.sidebar.actions.refreshStatusAria":"Actualizar estado MCP","settings.mcp.sidebar.actions.refreshStatusTitle":"Actualizar estado MCP","settings.mcp.sidebar.actions.addServerTitle":"Añadir servidor MCP","settings.mcp.sidebar.serverType.localTitle":"Servidor local","settings.mcp.sidebar.serverType.remoteTitle":"Servidor remoto","settings.plugins.sidebar.actions.addTitle":"Añadir plugin","settings.plugins.sidebar.actions.deleting":"Eliminando…","settings.plugins.sidebar.empty.description":"Usa el botón + de arriba para añadir uno","settings.plugins.sidebar.group.userEntries":"Configuración de usuario","settings.plugins.sidebar.group.userFiles":"Archivo de plugin de usuario","settings.plugins.sidebar.group.projectEntries":"Configuración del proyecto","settings.plugins.sidebar.group.projectFiles":"Archivo de plugin del proyecto","settings.plugins.sidebar.kind.npm":"paquete npm","settings.plugins.sidebar.kind.path":"Ruta local","settings.plugins.sidebar.kind.file":"Archivo de plugin","settings.plugins.sidebar.kind.package":"Paquete de plugin","settings.plugins.sidebar.deleteDialog.title":"Eliminar plugin","settings.plugins.sidebar.deleteDialog.description":'¿Seguro que quieres eliminar "{name}"?',"settings.plugins.sidebar.toast.deleted":'Plugin "{name}" eliminado',"settings.plugins.sidebar.toast.deleteFailed":"No se pudo eliminar el plugin","settings.plugins.page.header.entry":"Plugin instalado","settings.plugins.page.header.file":"Archivo de plugin","settings.plugins.page.field.spec":"Especificación","settings.plugins.page.field.spec.placeholder":"paquete-npm@versión o /ruta/absoluta","settings.plugins.page.field.options":"Opciones (JSON)","settings.plugins.page.field.options.invalidJson":"JSON no válido","settings.plugins.page.field.fileName":"Nombre de archivo","settings.plugins.page.field.content":"Contenido","settings.plugins.page.field.scope":"Ámbito","settings.plugins.scope.user":"Usuario","settings.plugins.scope.project":"Proyecto","settings.plugins.dialog.add.title":"Añadir plugin","settings.plugins.dialog.add.tab.npm":"Desde npm","settings.plugins.dialog.add.tab.path":"Desde ruta local","settings.plugins.dialog.add.tab.file":"Archivo nuevo","settings.plugins.dialog.add.action.submit":"Añadir","settings.plugins.dialog.add.action.cancel":"Cancelar","settings.plugins.toast.created":"Plugin añadido","settings.plugins.toast.updated":"Plugin actualizado","settings.plugins.toast.reloadFailed":"Falló la recarga de opencode; se requiere reiniciar","settings.plugins.validation.fileName":"El nombre de archivo debe estar en minúsculas y terminar en .js / .ts / .mjs / .cjs","settings.plugins.validation.specRequired":"La especificación es obligatoria","settings.plugins.validation.specUnloadable":"No es un paquete npm ni un repositorio Git","settings.plugins.registry.badge.network.tooltip":"No se pudo conectar con el registro de paquetes","settings.plugins.registry.banner.updateAvailable.title":"Actualización disponible","settings.plugins.registry.banner.updateAvailable.description":"{current} → {latest}","settings.plugins.registry.banner.updateAvailable.action":"Actualizar a {latest}","settings.plugins.registry.banner.invalid.title":"Plugin no válido","settings.plugins.registry.banner.invalid.malformed":"La sintaxis de la especificación no es válida","settings.plugins.registry.banner.invalid.missingPackage":"Paquete no encontrado en el registro","settings.plugins.registry.banner.invalid.missingVersion":"Versión no publicada","settings.plugins.registry.banner.invalid.pathMissing":"El archivo no existe","settings.plugins.registry.banner.invalid.pathUnreadable":"No se puede leer el archivo","settings.plugins.sidebar.actions.refresh":"Buscar actualizaciones","settings.plugins.toast.updatedToLatest":"Plugin actualizado a {version}","settings.plugins.toast.refreshing":"Buscando actualizaciones en npm…","settings.plugins.toast.refreshFailed":"No se pudo consultar el registro de npm","settings.plugins.status.loaded":"Cargado","settings.plugins.status.loadedVersion":"Cargado · {version}","settings.plugins.status.failed.title":"Error al cargar","settings.plugins.status.failed.ref":"Referencia de registro: {ref}","settings.plugins.status.notReported.title":"No cargado","settings.plugins.status.notReported.description":"OpenCode no ha informado de este plugin aquí. Puede que aún se esté instalando o que otra entrada de configuración lo desactive.","settings.plugins.status.unknown.title":"Estado desconocido","settings.plugins.status.unknown.description":"No se pudo leer el estado del plugin desde OpenCode.","settings.plugins.status.retry":"Reintentar","settings.plugins.status.sidebar.unavailable":"Estado de plugins no disponible","settings.plugins.update.available.title":"Actualización disponible","settings.plugins.update.available.description":"Hay una versión más reciente que coincide con esta especificación. Al actualizar se reinstala sin cambiar tu configuración.","settings.plugins.update.action":"Actualizar","settings.plugins.update.running":"Actualizando…","settings.plugins.update.failed.title":"Error al actualizar","settings.plugins.update.toast.done":"{name} actualizado","settings.plugins.update.toast.failed":"No se pudo actualizar {name}","settings.plugins.toast.checkFailed":"No se pudieron buscar actualizaciones mediante OpenCode","settings.openchamber.keyboardShortcuts.title":"Atajos de teclado","settings.openchamber.keyboardShortcuts.actions.resetAll":"Restablecer todo","settings.openchamber.keyboardShortcuts.actions.overwrite":"Sobrescribir","settings.openchamber.keyboardShortcuts.tooltip":"Captura una nueva combinación de teclas, guárdala y los enlaces se actualizarán inmediatamente.","settings.openchamber.keyboardShortcuts.overwritePrompt":"Esta combinación ya está usada por otro atajo. ¿Sobrescribir y limpiar esa otra asignación?","settings.openchamber.keyboardShortcuts.field.pressKeys":"Pulsa las teclas...","settings.openchamber.keyboardShortcuts.error.captureFirst":"Captura un atajo primero.","settings.openchamber.keyboardShortcuts.warning.riskyBrowserShortcut":"Este atajo puede entrar en conflicto con los predeterminados del navegador. Aun así, puedes guardarlo.","settings.openchamber.keyboardShortcuts.action.open_go_to_line.label":"Ir a línea (editor de archivos)","settings.openchamber.keyboardShortcuts.action.open_document_symbols.label":"Ir a símbolo en el archivo (editor de archivos)","settings.openchamber.keyboardShortcuts.action.open_command_palette.label":"Abrir paleta de comandos","settings.openchamber.keyboardShortcuts.action.focus_input.label":"Enfocar entrada","settings.openchamber.keyboardShortcuts.action.open_settings.label":"Abrir configuración","settings.openchamber.keyboardShortcuts.action.toggle_terminal.label":"Mostrar u ocultar panel de terminal","settings.openchamber.keyboardShortcuts.action.toggle_terminal_expanded.label":"Expandir o contraer terminal","settings.openchamber.keyboardShortcuts.action.add_selection_to_chat.label":"Agregar selección al chat","settings.openchamber.keyboardShortcuts.action.toggle_sidebar.label":"Mostrar u ocultar barra lateral","settings.openchamber.keyboardShortcuts.action.switch_session_tab.label":"Cambiar pestaña de sesión","settings.openchamber.keyboardShortcuts.action.switch_session_tab.suffix":" + 1…9","settings.openchamber.keyboardShortcuts.action.switch_context_surface.label":"Cambiar superficie del panel de contexto","settings.openchamber.keyboardShortcuts.action.switch_context_surface.suffix":" + 1…0","settings.openchamber.keyboardShortcuts.action.new_chat.label":"Nueva sesión","settings.openchamber.keyboardShortcuts.action.switch_session_previous.label":"Sesión anterior","settings.openchamber.keyboardShortcuts.action.switch_session_next.label":"Sesión siguiente","settings.openchamber.keyboardShortcuts.action.session_history_back.label":"Atrás en el historial de sesiones","settings.openchamber.keyboardShortcuts.action.session_history_forward.label":"Adelante en el historial de sesiones","settings.openchamber.keyboardShortcuts.action.archive_current_session.label":"Archivar sesión actual","settings.openchamber.keyboardShortcuts.action.rename_current_session.label":"Renombrar sesión actual","settings.openchamber.keyboardShortcuts.action.toggle_permission_auto_accept.label":"Cambiar el modo de permisos","settings.openchamber.keyboardShortcuts.action.close_session_tab.label":"Cerrar pestaña de sesión","settings.openchamber.keyboardShortcuts.action.new_chat_worktree.label":"Worktree rápido","settings.openchamber.keyboardShortcuts.action.new_mini_chat.label":"Nueva ventana Mini Chat","settings.openchamber.keyboardShortcuts.action.mini_chat_global.label":"Atajo global de Mini Chat","settings.openchamber.keyboardShortcuts.action.quake_mode_global.label":"Atajo global del modo Quake","settings.openchamber.keyboardShortcuts.action.open_help.label":"Abrir atajos de teclado","settings.openchamber.keyboardShortcuts.action.toggle_services_menu.label":"Mostrar u ocultar menú de servicios","settings.openchamber.keyboardShortcuts.action.cycle_theme.label":"Cambiar tema","settings.openchamber.keyboardShortcuts.action.cycle_agent.label":"Cambiar agente","settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_forward.label":"Siguiente modelo favorito","settings.openchamber.keyboardShortcuts.action.cycle_favorite_model_backward.label":"Modelo favorito anterior","settings.openchamber.keyboardShortcuts.action.open_model_selector.label":"Abrir selector de modelo","settings.openchamber.keyboardShortcuts.action.expand_input.label":"Expandir entrada","settings.openchamber.keyboardShortcuts.action.open_timeline_dialog.label":"Abrir línea de tiempo de conversación","settings.openchamber.keyboardShortcuts.action.toggle_prompt_navigator.label":"Mostrar u ocultar navegador de prompts","settings.openchamber.keyboardShortcuts.warning.contextualPrefix":"Esta secuencia comparte un prefijo contextual con {action}. Cuando su contexto está activo, esa acción tiene prioridad.","settings.openchamber.keyboardShortcuts.category.session":"Controles de sesión","settings.openchamber.keyboardShortcuts.category.models":"Modelos y agentes","settings.openchamber.keyboardShortcuts.category.panels":"Paneles y herramientas","settings.openchamber.keyboardShortcuts.category.navigation":"Navegación","settings.openchamber.keyboardShortcuts.category.application":"Aplicación","settings.openchamber.keyboardShortcuts.actions.edit":"Editar","settings.openchamber.keyboardShortcuts.actions.confirm":"Confirmar","settings.openchamber.keyboardShortcuts.dialog.title":"Editar {action}","settings.openchamber.keyboardShortcuts.dialog.instructions":"Pulse hasta dos combinaciones de teclas, con un máximo de tres teclas cada una. Tras la primera, espere hasta 3 segundos por una segunda combinación. Use Confirmar para aplicar o Cancelar para descartar. Retroceso elimina la última.","settings.openchamber.keyboardShortcuts.dialog.instructionsSingle":"Pulse una combinación de teclas con un máximo de tres teclas. Use Confirmar para aplicar o Cancelar para descartar. Retroceso la elimina.","settings.openchamber.keyboardShortcuts.dialog.firstChord":"Primera combinación","settings.openchamber.keyboardShortcuts.dialog.secondChord":"Segunda combinación","settings.openchamber.keyboardShortcuts.dialog.recording":"Pulse las teclas…","settings.openchamber.keyboardShortcuts.unassigned":"Sin asignar","settings.openchamber.keyboardShortcuts.error.prefixConflict":"Esto entra en conflicto con la secuencia usada por {action}. Elija otra combinación.","settings.openchamber.keyboardShortcuts.error.exactConflict":"Esta combinación ya la usa {action}.","settings.openchamber.keyboardShortcuts.error.internalConflict":"Esta combinación entra en conflicto con un atajo integrado, que no se puede reemplazar.","settings.openchamber.keyboardShortcuts.action.open_draft_project_picker.label":"Abrir selector de proyecto de borrador","settings.openchamber.keyboardShortcuts.action.open_draft_worktree_picker.label":"Abrir selector de árbol de trabajo de borrador","settings.openchamber.keyboardShortcuts.action.open_session_list.label":"Abrir sesiones recientes","settings.openchamber.keyboardShortcuts.action.background_session_work.label":"Mover el trabajo en curso a segundo plano","settings.openchamber.keyboardShortcuts.action.toggle_dictation.label":"Entrada de voz","settings.projects.sidebar.total":"Total {count}","settings.projects.sidebar.actions.addProject":"Añadir proyecto","settings.projects.page.empty.noProjects":"No hay proyectos disponibles.","settings.projects.page.section.worktree":"Worktree","settings.projects.page.field.projectName":"Nombre del proyecto","settings.projects.page.field.projectAgent":"Agente del proyecto","settings.projects.page.field.projectModel":"Modelo del proyecto","settings.projects.page.field.projectThinking":"Razonamiento del proyecto","settings.projects.page.section.chatDefaults":"Valores por defecto para chats nuevos","settings.projects.page.section.chatDefaultsDescription":"Se usa al iniciar un chat nuevo en este proyecto. Si está vacío, se aplican los valores globales. El razonamiento solo aparece en modelos que ofrecen niveles.","settings.projects.page.field.projectNamePlaceholder":"Nombre del proyecto","settings.projects.page.option.thinkingDefault":"El del modelo","settings.projects.page.field.projectIcon":"Icono del proyecto","settings.projects.page.actions.uploadIcon":"Subir icono","settings.projects.page.actions.uploading":"Subiendo...","settings.projects.page.actions.discoverFavicon":"Buscar favicon","settings.projects.page.actions.discovering":"Descubriendo...","settings.projects.page.actions.removeProjectIcon":"Eliminar icono del proyecto","settings.projects.page.actions.closeProject":"Cerrar proyecto","settings.projects.page.closeDialog.title":"¿Cerrar {name}?","settings.projects.page.closeDialog.message":"Los archivos y los chats se conservan.","settings.projects.page.actions.removing":"Eliminando...","settings.projects.page.toast.uploadIconFailed":"No se pudo subir el icono del proyecto","settings.projects.page.toast.iconUpdated":"Icono del proyecto actualizado","settings.projects.page.toast.removeIconFailed":"No se pudo eliminar el icono del proyecto","settings.projects.page.toast.iconRemoved":"Icono del proyecto eliminado","settings.projects.page.toast.discoverIconFailed":"No se pudo descubrir el icono del proyecto","settings.projects.page.toast.customIconAlreadySet":"Icono personalizado ya establecido para este proyecto","settings.projects.page.toast.iconDiscovered":"Icono del proyecto descubierto","settings.projects.page.toast.saveFailed":"Error al guardar la configuración del proyecto","settings.usage.sidebar.title":"Uso","settings.usage.sidebar.total":"Total {count}","settings.usage.sidebar.actions.toggleAutoRefreshAria":"Alternar refresco automático","settings.usage.sidebar.actions.refreshAria":"Actualizar uso","settings.usage.sidebar.actions.refreshTitle":"Actualizar uso","settings.usage.sidebar.tooltip.autoRefresh":"Actualizar automáticamente los datos de uso en el intervalo establecido","settings.usage.sidebar.field.intervalPlaceholder":"Intervalo","settings.usage.sidebar.field.display":"Visualización","settings.usage.sidebar.field.displayModePlaceholder":"Modo de visualización","settings.usage.sidebar.field.displayModeUsage":"Uso","settings.usage.sidebar.field.displayModeRemaining":"Cuota restante","settings.usage.sidebar.status.notSet":"No establecido","settings.usage.page.empty.selectProvider":"Selecciona un proveedor para ver detalles de uso.","settings.usage.page.header.providerUsage":"Uso de {provider}","settings.usage.page.header.refreshing":"Actualizando uso...","settings.usage.page.header.lastUpdated":"Última actualización: {time}","settings.usage.page.header.lastUpdatedWithPlan":"Plan: {plan} · Última actualización: {time}","settings.usage.page.options.showInWorkStatusAria":"Mostrar en el panel de estado del trabajo","settings.usage.page.options.showInWorkStatus":"Mostrar en el panel de estado del trabajo","settings.usage.page.options.showInWorkStatusTooltip":"Cuando esté habilitado, el uso de este proveedor será visible en el panel de estado del trabajo.","settings.usage.page.state.noData":"No hay datos de uso disponibles aún.","settings.usage.page.state.refreshFailedTitle":"No se pudo actualizar los datos de uso","settings.usage.page.state.providerNotConfiguredTitle":"Proveedor no configurado","settings.usage.page.state.providerNotConfiguredDescription":"Añade credenciales en la pestaña de Proveedores para habilitar el seguimiento de uso.","settings.usage.page.state.claudeSignedOutTitle":"No has iniciado sesión en Claude Code","settings.usage.page.state.claudeSignInCommand":"Ejecuta este comando en una terminal:","settings.usage.page.section.modelQuotas":"Cuotas de modelo","settings.usage.page.section.otherModels":"Otros modelos","settings.usage.page.state.noQuotaWindowsTitle":"No se reportaron ventanas de cuota","settings.usage.page.state.noQuotaWindowsDescription":"Este proveedor actualmente no reporta límites de tasa ni cuotas de uso.","settings.usage.page.window.giftResetAria":"Reinicio de límite de regalo","settings.usage.page.window.giftResetExpires":"Reinicio de límite de regalo disponible hasta {time}","settings.usage.page.window.giftResetActivated":"Reinicio de límite de regalo activado","settings.usage.page.window.giftResetActivateFailed":"No se pudo activar el reinicio de límite de regalo","settings.usage.page.window.giftResetNotNeeded":"No se necesita reinicio de límite de regalo por ahora","settings.usage.pace.status.onTrack":"A buen ritmo","settings.usage.pace.status.slightlyFast":"Ligeramente rápido","settings.usage.pace.status.tooFast":"Demasiado rápido","settings.usage.pace.status.usedUp":"Agotado","settings.usage.pace.predictionTooltip":"Uso predicho al final de la ventana basado en la velocidad actual: {prediction}","settings.usage.pace.wait":"Esperar {duration}","settings.usage.pace.prediction":"Pred.: {prediction}","settings.usage.pace.rate":"Velocidad: {rate}","settings.usage.pace.waitSeparator":" · Esperar ","settings.usage.pace.predictionLabel":"Pred.: ","settings.usage.card.showInHeaderAria":"Mostrar en el menú del encabezado","settings.usage.card.resetsAt":"Se restablece {time}","settings.usage.card.bar.used":"usado","settings.usage.card.bar.remaining":"restante","settings.remoteInstances.page.title":"Instancia remota","settings.remoteInstances.page.description":"Conéctate a otra máquina por SSH y abre OpenChamber allí.","settings.remoteInstances.page.empty.selectInstance":"Selecciona una instancia para ver y editar sus configuraciones.","settings.remoteInstances.page.empty.noExtraForwards":"No hay redirecciones adicionales de puerto configuradas.","settings.remoteInstances.page.section.actions":"Acciones","settings.remoteInstances.page.section.actionsDescription":"Conecta, reconecta, revisa registros o elimina esta conexión.","settings.remoteInstances.page.section.remoteServer":"OpenChamber en la máquina remota","settings.remoteInstances.page.section.remoteServerDescription":"Elige cómo debe ejecutarse OpenChamber después de conectar por SSH.","settings.remoteInstances.page.section.mainTunnel":"Acceso desde este equipo","settings.remoteInstances.page.section.mainTunnelDescription":"OpenChamber se ejecuta en la máquina remota. Estos ajustes solo controlan la dirección de este equipo que lleva hasta ella por el túnel SSH.","settings.remoteInstances.page.section.authentication":"Autenticación","settings.remoteInstances.page.section.authenticationDescription":"Credenciales opcionales para SSH y la interfaz de usuario de OpenChamber remoto.","settings.remoteInstances.page.section.portForwards":"Redirecciones de puerto","settings.remoteInstances.page.section.portForwardsDescription":"Puertos adicionales opcionales que estarán disponibles a través de esta conexión SSH.","settings.remoteInstances.page.field.sshCommand":"Comando SSH","settings.remoteInstances.page.field.sshCommandPlaceholder":"ssh user@host","settings.remoteInstances.page.field.nickname":"Apodo","settings.remoteInstances.page.field.nicknamePlaceholder":"Portátil de trabajo","settings.remoteInstances.page.field.connectionTimeoutSeconds":"Tiempo de espera de conexión (segundos)","settings.remoteInstances.page.field.installMethod":"Método de instalación","settings.remoteInstances.page.field.installMethodHint":"Cómo debe colocarse OpenChamber en la máquina remota cuando esta app lo inicia por ti.","settings.remoteInstances.page.field.selectInstallMethodPlaceholder":"Seleccionar método de instalación","settings.remoteInstances.page.field.selectBindHostPlaceholder":"Seleccionar host de enlace","settings.remoteInstances.page.field.sshPasswordOptional":"Contraseña SSH (opcional)","settings.remoteInstances.page.field.sshPasswordPlaceholder":"Introducir contraseña SSH","settings.remoteInstances.page.field.uiPasswordOptional":"Contraseña de interfaz de usuario (opcional)","settings.remoteInstances.page.field.uiPasswordPlaceholder":"Introducir contraseña de interfaz de usuario","settings.remoteInstances.page.field.forwardTypeHint":"Elige qué tipo de acceso a puertos debe ofrecer esta conexión SSH.","settings.remoteInstances.page.field.typePlaceholder":"Tipo","settings.remoteInstances.page.forwardType.local":"Local (-L)","settings.remoteInstances.page.forwardType.remote":"Remota (-R)","settings.remoteInstances.page.forwardType.dynamic":"Dinámica (-D)","settings.remoteInstances.page.forwardTypeDescription.local":"Abre un puerto local que se conecta a un servicio en la máquina remota.","settings.remoteInstances.page.forwardTypeDescription.remote":"Abre un puerto en la máquina remota que vuelve a conectarse a tu ordenador.","settings.remoteInstances.page.forwardTypeDescription.dynamic":"Abre un proxy SOCKS local a través de la conexión SSH.","settings.remoteInstances.page.actions.create":"Crear","settings.remoteInstances.page.actions.cancel":"Cancelar","settings.remoteInstances.page.actions.connecting":"Conectando...","settings.remoteInstances.page.actions.reconnecting":"Reconectando...","settings.remoteInstances.page.actions.reconnectNow":"Reconectar ahora","settings.remoteInstances.page.actions.logs":"Registros SSH","settings.remoteInstances.page.actions.pickRandomPort":"Elegir puerto aleatorio","settings.remoteInstances.page.actions.enableForwardAria":"Habilitar redirección","settings.remoteInstances.page.actions.openLocal":"Abrir local","settings.remoteInstances.page.actions.addForward":"Añadir redirección","settings.remoteInstances.page.addDialog.description":"Elige un host de tu configuración SSH o escribe la conexión tú mismo.","settings.remoteInstances.page.addDialog.sourceLabel":"De dónde viene la conexión","settings.remoteInstances.page.addDialog.tab.saved":"Desde la configuración SSH","settings.remoteInstances.page.addDialog.tab.manual":"Escribirla yo","settings.remoteInstances.page.addDialog.searchPlaceholder":"Buscar hosts","settings.remoteInstances.page.addDialog.emptySaved":"No se encontraron hosts en tu configuración SSH. Escribe la conexión tú mismo.","settings.remoteInstances.page.addDialog.searchEmpty":"Ningún host coincide con esta búsqueda.","settings.remoteInstances.page.addDialog.use":"Usar","settings.remoteInstances.page.state.notConnected":"Sin conexión","settings.remoteInstances.page.state.connecting":"Conectando","settings.remoteInstances.page.state.ready":"Conectado","settings.remoteInstances.page.state.problem":"Requiere atención","settings.remoteInstances.page.section.advanced":"Ajustes avanzados","settings.remoteInstances.page.section.advancedHint":"Puertos, método de instalación, contraseñas y reenvíos adicionales. Los valores predeterminados sirven para casi todas las conexiones.","settings.remoteInstances.page.field.installMethodAuto":"Automático","settings.remoteInstances.page.error.hint.noRuntime":"La máquina remota no tiene ni bun ni npm. Instala uno de ellos allí o cambia esta conexión a «Ya está en ejecución».","settings.remoteInstances.page.error.hint.noOpencode":"La CLI de opencode no está instalada en la máquina remota. Instálala allí (consulta opencode.ai) y vuelve a conectar.","settings.remoteInstances.page.error.action.setUiPassword":"Definir contraseña de la interfaz","settings.remoteInstances.page.error.action.pickRandomPort":"Usar otro puerto local","settings.remoteInstances.page.error.action.setRemotePort":"Definir el puerto remoto","settings.remoteInstances.page.validation.externalPortRequired":"Primero indica un puerto remoto. En el modo «Ya está en ejecución», OpenChamber necesita saber en qué puerto escucha el servidor.","settings.remoteInstances.page.empty.noInstances":"Aún no hay conexiones SSH.","settings.remoteInstances.page.field.uiPasswordRequired":"Contraseña de la interfaz (obligatoria)","settings.remoteInstances.page.field.uiPasswordMissingForLan":"Obligatoria mientras el servidor remoto sea accesible en su red.","settings.remoteInstances.page.field.remoteLanAccess":"Accesible en la red remota","settings.remoteInstances.page.field.remoteLanAccessHint":"Permitir también que otros dispositivos de la red de la máquina remota abran este OpenChamber directamente, sin el túnel SSH. Requiere contraseña de la interfaz.","settings.remoteInstances.page.field.remoteLanAccessWarning":"Cualquiera en esa red puede llegar al OpenChamber remoto. Solo lo protege la contraseña de la interfaz de abajo.","settings.remoteInstances.page.validation.remoteLanNeedsPassword":"Define primero una contraseña de la interfaz. Sin ella, el OpenChamber remoto quedaría abierto a todos los dispositivos de esa red.","settings.remoteInstances.page.field.bindHostOption.loopback":"Solo este equipo (127.0.0.1)","settings.remoteInstances.page.field.bindHostOption.localhost":"Solo este equipo (localhost)","settings.remoteInstances.page.field.bindHostOption.lan":"Cualquier dispositivo de mi red (0.0.0.0)","settings.remoteInstances.page.field.sshPasswordHint":"Solo hace falta cuando este host pide contraseña en lugar de aceptar una clave SSH.","settings.remoteInstances.page.field.uiPasswordHintManaged":"Contraseña con la que se protegerá la interfaz remota de OpenChamber. OpenChamber la aplica al servidor que inicia por ti.","settings.remoteInstances.page.field.uiPasswordHintExternal":"Contraseña del servidor OpenChamber que ya se ejecuta en la máquina remota, usada para iniciar sesión.","settings.remoteInstances.page.tunnelPreview.caption":"Esta conexión reenvía:","settings.remoteInstances.page.empty.noInstancesWithOneImport":"Aún no hay conexiones SSH. Hay 1 host disponible para importar desde tu configuración SSH.","settings.remoteInstances.page.empty.noInstancesWithImports":"Aún no hay conexiones SSH. Hay {count} hosts disponibles para importar desde tu configuración SSH.","settings.remoteInstances.page.state.loadingInstances":"Cargando conexiones...","settings.remoteInstances.page.import.loading":"Cargando hosts SSH...","settings.remoteInstances.page.import.noneFound":"No se encontraron hosts SSH.","settings.remoteInstances.page.import.noneAvailable":"No hay hosts SSH disponibles para importar.","settings.remoteInstances.page.import.patternSuffix":"(patrón)","settings.remoteInstances.page.status.currentLocalUrl":"URL local actual:","settings.remoteInstances.page.status.reconnectStale":"La reconexión parece estar atascada. Puedes intentarlo ahora.","settings.remoteInstances.page.logsDialog.title":"Registros SSH","settings.remoteInstances.page.logsDialog.loading":"Cargando registros...","settings.remoteInstances.page.logsDialog.empty":"No hay registros SSH aún.","settings.remoteInstances.page.patternDialog.title":"Crear desde patrón comodín","settings.remoteInstances.page.patternDialog.destinationPlaceholder":"user@host","settings.remoteInstances.page.phase.resolvingConfiguration":"Resolviendo configuración","settings.remoteInstances.page.phase.checkingAuth":"Verificando autenticación","settings.remoteInstances.page.phase.establishingSsh":"Estableciendo conexión SSH","settings.remoteInstances.page.phase.probingRemote":"Comprobando la máquina remota","settings.remoteInstances.page.phase.installingOpenChamber":"Instalando OpenChamber","settings.remoteInstances.page.phase.updatingOpenChamber":"Actualizando OpenChamber","settings.remoteInstances.page.phase.detectingServer":"Detectando servidor","settings.remoteInstances.page.phase.startingServer":"Iniciando servidor","settings.remoteInstances.page.phase.forwardingPorts":"Redirigiendo puertos","settings.remoteInstances.page.phase.reconnecting":"Reconectando","settings.remoteInstances.page.confirm.storeSshPasswordPlaintext":"¿Guardar contraseña SSH en texto plano en disco?","settings.remoteInstances.page.confirm.storeUiPasswordPlaintext":"¿Guardar contraseña de interfaz de usuario en texto plano en disco?","settings.remoteInstances.page.confirm.removeInstance":"¿Eliminar esta instancia remota?","settings.remoteInstances.page.toast.sshCommandRequired":"Se requiere el comando SSH","settings.remoteInstances.page.toast.saveFailed":"No se pudo guardar la instancia","settings.remoteInstances.page.toast.instanceSaved":"Instancia guardada","settings.remoteInstances.page.toast.instanceCreated":"Instancia creada","settings.remoteInstances.page.toast.destinationRequired":"Se requiere destino","settings.remoteInstances.page.toast.noLogsToCopy":"No hay registros para copiar","settings.remoteInstances.page.toast.logsCopied":"Registros copiados","settings.remoteInstances.page.toast.logsCleared":"Registros eliminados","settings.remoteInstances.page.toast.clearLogsFailed":"No se pudieron eliminar los registros","settings.remoteInstances.page.toast.instanceUrlUnavailable":"La URL de la instancia no está disponible","settings.remoteInstances.page.toast.connectFailed":"No se pudo conectar con la instancia","settings.remoteInstances.page.toast.cancelConnectionFailed":"No se pudo cancelar la conexión","settings.remoteInstances.page.toast.disconnectFailed":"No se pudo desconectar la instancia","settings.remoteInstances.page.toast.retryFailed":"No se pudo reintentar la conexión","settings.remoteInstances.page.toast.instanceRemoved":"Instancia eliminada","settings.remoteInstances.page.toast.removeInstanceFailed":"No se pudo eliminar la instancia","settings.openchamber.worktrees.state.selectProject":"Selecciona un proyecto para gestionar worktrees.","settings.openchamber.worktrees.state.gitOnly":"La configuración de worktree solo está disponible para repositorios Git.","settings.openchamber.worktrees.setup.title":"Comandos de configuración","settings.openchamber.worktrees.setup.tooltipPrefix":"Ejecútalo automáticamente dentro del directorio del nuevo worktree cuando se crea un worktree. Usa","settings.openchamber.worktrees.setup.tooltipSuffix":"para la raíz del proyecto.","settings.openchamber.worktrees.setup.commandPlaceholder":"ej.: bun install","settings.openchamber.worktrees.setup.removeCommandAria":"Eliminar comando","settings.openchamber.worktrees.setup.addCommand":"Añadir comando","settings.openchamber.worktrees.setup.waitForCommands":"Esperar a que terminen los comandos de configuración antes de crear o enviar una sesión","settings.openchamber.worktrees.setup.toast.saveFailed":"Error al guardar los comandos de configuración del worktree","settings.openchamber.worktrees.list.title":"Worktrees existentes","settings.openchamber.worktrees.list.tooltip":"Eliminar un worktree también elimina las sesiones vinculadas.","settings.openchamber.worktrees.list.loading":"Cargando worktrees...","settings.openchamber.worktrees.list.empty":"No se encontraron worktrees para este proyecto","settings.openchamber.worktrees.list.detachedHead":"HEAD desvinculado","settings.openchamber.worktrees.list.deleteWorktreeAria":"Eliminar worktree {name}","settings.agents.modelSelector.title":"Seleccionar modelo","settings.agents.modelSelector.searchPlaceholder":"Buscar modelos","settings.agents.modelSelector.selectPlaceholder":"Seleccionar modelo...","settings.agents.modelSelector.notSelected":"No seleccionado","settings.agents.modelSelector.noModelOptional":"Sin modelo (opcional)","settings.agents.modelSelector.section.favorites":"Favoritos","settings.agents.modelSelector.section.recents":"Recientes","settings.agents.modelSelector.section.recent":"Reciente","settings.agents.modelSelector.badge.current":"Actual","settings.agents.modelSelector.actions.favorite":"Favorito","settings.agents.modelSelector.actions.unfavorite":"No favorito","settings.agents.modelSelector.actions.addToFavorites":"Añadir a favoritos","settings.agents.modelSelector.actions.removeFromFavorites":"Eliminar de favoritos","settings.agents.modelSelector.state.noModelsFound":"No se encontraron modelos","settings.agents.modelSelector.keyboardHints":"↑↓ navegar • Enter seleccionar • Esc cerrar","settings.providers.page.state.loading":"Cargando...","settings.providers.page.state.unableToLoadProviderList":"No se pudo cargar la lista de proveedores","settings.providers.page.connect.title":"Conectar proveedor","settings.providers.page.connect.noProvidersFound":"No se encontraron proveedores","settings.providers.connect.searchPlaceholder":"Buscar proveedores","settings.providers.connect.popular":"Populares","settings.providers.connect.all":"Todos los proveedores","settings.providers.connect.showAll":"Mostrar todos los proveedores ({count})","settings.providers.connect.recommended":"Recomendado","settings.providers.connect.customHint":"Cualquier endpoint compatible con OpenAI o Anthropic","settings.providers.connect.note.openai":"Modelos GPT, inicia sesión con ChatGPT","settings.providers.connect.note.opencodeGo":"Suscripción económica","settings.providers.connect.note.openrouter":"Todos los modelos con una sola clave","settings.providers.connect.note.anthropic":"Modelos Claude con una clave de API","settings.providers.connect.note.githubCopilot":"Modelos de tu plan de Copilot","settings.providers.connect.note.google":"Modelos Gemini con una clave de API","settings.providers.connect.note.vercel":"Muchos modelos a través de una sola pasarela","settings.providers.page.custom.title":"Proveedor personalizado","settings.providers.page.custom.editTitle":"Editar proveedor personalizado","settings.providers.page.custom.description":"Añade un proveedor con URL base, credenciales, lista de modelos y un protocolo de API compatible. Se guarda en la configuración de OpenCode para usarlo en el chat.","settings.providers.page.custom.field.providerID.label":"ID del proveedor","settings.providers.page.custom.field.providerID.placeholder":"mi-proveedor","settings.providers.page.custom.field.providerID.info":"Minúsculas, números, guiones y guiones bajos. Se usa como ID de proveedor de OpenCode.","settings.providers.page.custom.field.name.label":"Nombre visible","settings.providers.page.custom.field.name.placeholder":"Mi proveedor","settings.providers.page.custom.field.name.info":"Se muestra en los selectores de proveedor y modelo.","settings.providers.page.custom.field.icon.label":"Icono del proveedor","settings.providers.page.custom.field.icon.info":"Se usa para este proveedor personalizado en las listas de proveedores y modelos.","settings.providers.page.custom.field.icon.option.default":"Predeterminado","settings.providers.page.custom.field.icon.option.server":"Servidor","settings.providers.page.custom.field.icon.option.cloud":"Nube","settings.providers.page.custom.field.icon.option.database":"Base de datos","settings.providers.page.custom.field.icon.option.terminal":"Terminal","settings.providers.page.custom.field.icon.option.code":"Código","settings.providers.page.custom.field.icon.option.ai":"IA","settings.providers.page.custom.field.protocol.label":"Protocolo de API","settings.providers.page.custom.field.protocol.info":"Elige el formato de solicitud que implementa esta API.","settings.providers.page.custom.field.protocol.openaiChat":"OpenAI Chat Completions","settings.providers.page.custom.field.protocol.openaiResponses":"OpenAI Responses","settings.providers.page.custom.field.protocol.anthropicMessages":"Anthropic Messages","settings.providers.page.custom.field.baseURL.label":"URL base","settings.providers.page.custom.field.baseURL.placeholder":"https://api.example.com/v1","settings.providers.page.custom.field.baseURL.info":"URL base de la API compatible con OpenAI. Debe empezar por http:// o https://.","settings.providers.page.custom.field.apiKey.label":"Clave API","settings.providers.page.custom.field.apiKey.placeholder":"sk-... o {env:VAR_NAME}","settings.providers.page.custom.field.apiKey.info":"Se guarda en la autenticación de OpenCode, no en OpenChamber. Usa {env:VAR_NAME} para leer una clave del entorno.","settings.providers.page.custom.field.apiKey.editInfo":"Déjalo en blanco para conservar la credencial existente, o introduce una clave nueva / {env:VAR_NAME}.","settings.providers.page.custom.field.apiKey.editPlaceholder":"Déjalo en blanco para conservar la clave existente","settings.providers.page.custom.models.title":"Modelos","settings.providers.page.custom.models.idLabel":"ID del modelo","settings.providers.page.custom.models.idPlaceholder":"gpt-4o","settings.providers.page.custom.models.nameLabel":"Nombre del modelo","settings.providers.page.custom.models.namePlaceholder":"GPT-4o","settings.providers.page.custom.models.variantsLabel":"Niveles de razonamiento","settings.providers.page.custom.models.variantsPlaceholder":"low, medium, high","settings.providers.page.custom.models.variantsInfo":"Opcional. Niveles de esfuerzo separados por comas que acepta el endpoint, p. ej. low, medium, high. Cada uno se convierte en una variante que puedes elegir en el selector de modelos.","settings.providers.page.custom.models.add":"Añadir modelo","settings.providers.page.custom.models.remove":"Quitar modelo","settings.providers.page.custom.models.untitled":"Modelo nuevo","settings.providers.page.custom.headers.title":"Encabezados","settings.providers.page.custom.headers.description":"Encabezados de solicitud opcionales enviados en cada llamada.","settings.providers.page.custom.headers.keyLabel":"Nombre del encabezado","settings.providers.page.custom.headers.keyPlaceholder":"X-Custom-Header","settings.providers.page.custom.headers.valueLabel":"Valor del encabezado","settings.providers.page.custom.headers.valuePlaceholder":"valor","settings.providers.page.custom.headers.add":"Añadir encabezado","settings.providers.page.custom.headers.remove":"Quitar encabezado","settings.providers.page.custom.actions.back":"Atrás","settings.providers.page.custom.actions.save":"Guardar proveedor","settings.providers.page.custom.actions.update":"Actualizar proveedor","settings.providers.page.custom.error.providerID.required":"El ID del proveedor es obligatorio","settings.providers.page.custom.error.providerID.format":"Usa minúsculas, números, guiones o guiones bajos","settings.providers.page.custom.error.providerID.exists":"Ya hay un proveedor conectado con este ID","settings.providers.page.custom.error.name.required":"El nombre visible es obligatorio","settings.providers.page.custom.error.baseURL.required":"La URL base es obligatoria","settings.providers.page.custom.error.baseURL.format":"La URL base debe empezar por http:// o https://","settings.providers.page.custom.error.required":"Obligatorio","settings.providers.page.custom.error.duplicate":"Duplicado","settings.providers.page.custom.error.apiKey.required":"Se requiere una clave API o {env:VAR_NAME}","settings.providers.page.custom.authFailure.keyAfterConfig":"El proveedor se guardó, pero su clave de API no. Guarda de nuevo para reintentar la clave o desconéctalo para eliminar el proveedor.","settings.providers.page.auth.title":"Autenticación","settings.providers.page.auth.loadingMethods":"Cargando métodos de autenticación...","settings.providers.page.auth.apiKeyLabel":"Clave API","settings.providers.page.auth.apiKeyTooltip":"Las claves se envían directamente a OpenCode y nunca se almacenan en OpenChamber.","settings.providers.page.auth.apiKeyPlaceholder":"sk-...","settings.providers.page.auth.oauthMethodFallback":"Método OAuth {index}","settings.providers.page.auth.pasteAuthorizationCodePlaceholder":"Pegar código de autorización","settings.providers.page.auth.oauth.starting":"Iniciando la autorización…","settings.providers.page.auth.external.connecting":"Conectando…","settings.providers.page.auth.field.other":"Otro…","settings.providers.page.auth.field.otherPlaceholder":"Escribe un valor","settings.providers.page.auth.oauth.waiting":"Esperando la autorización…","settings.providers.page.auth.oauth.waitingHint":"Termina de iniciar sesión en el navegador. Mantén esta página abierta: la conexión se completará sola.","settings.providers.page.auth.oauth.codeHint":"Copia el código de autorización del navegador y pégalo aquí.","settings.providers.page.auth.oauth.deviceCodeLabel":"Código del dispositivo","settings.providers.page.auth.oauth.linkLabel":"Enlace de autorización","settings.providers.page.auth.oauth.promptRequired":"Completa «{field}» para continuar","settings.providers.page.auth.oauth.error.sessionExpired":"La solicitud de autorización caducó. Vuelve a conectar para reiniciarla.","settings.providers.page.auth.oauth.error.codeRequired":"Este proveedor necesita el código de autorización de tu navegador.","settings.providers.page.auth.oauth.error.declined":"La autorización se rechazó o no se completó.","settings.providers.page.auth.oauth.error.invalidInput":"Se rechazaron los datos introducidos.","settings.providers.page.auth.incomplete":"Faltan credenciales","settings.providers.page.auth.incompleteHint":"· Añade una clave API o {env:VAR} antes de usar este proveedor en el chat","settings.providers.page.connectionDetails.source.userConfig":"configuración del usuario","settings.providers.page.connectionDetails.source.projectConfig":"configuración del proyecto","settings.providers.page.connectionDetails.source.customConfig":"configuración personalizada","settings.providers.page.models.title":"Modelos disponibles","settings.providers.page.models.filterPlaceholder":"Filtrar modelos...","settings.providers.page.models.noModelsMatchFilter":"No hay modelos que coincidan con este filtro.","settings.providers.page.models.capability.toolCalling":"Uso de herramientas","settings.providers.page.models.capability.reasoning":"Razonamiento","settings.providers.page.models.capability.imageInput":"Entrada de imagen","settings.providers.page.models.tokenBadge.context":"ctx","settings.providers.page.models.tokenBadge.output":"out","settings.providers.page.models.actions.hideModelFromSelectors":"Ocultar modelo en selectores","settings.providers.page.models.actions.showModelInSelectors":"Mostrar modelo en selectores","settings.providers.page.models.actions.hideModel":"Ocultar modelo","settings.providers.page.models.actions.showModel":"Mostrar modelo","settings.providers.page.actions.saving":"Guardando...","settings.providers.page.actions.saveKey":"Guardar clave","settings.providers.page.actions.connect":"Conectar","settings.providers.page.actions.copyCode":"Copiar código","settings.providers.page.actions.open":"Abrir","settings.providers.page.actions.copy":"Copiar","settings.providers.page.actions.complete":"Completar","settings.providers.page.actions.continue":"Continuar","settings.providers.page.actions.cancel":"Cancelar","settings.providers.page.actions.tryAgain":"Reintentar","settings.providers.page.actions.hide":"Ocultar","settings.providers.page.actions.edit":"Editar","settings.providers.page.actions.disconnect":"Desconectar","settings.providers.page.actions.hideAll":"Ocultar todo","settings.providers.page.actions.showAll":"Mostrar todo","settings.providers.page.toast.authMethodsLoadFailed":"No se pudo cargar los métodos de autenticación del proveedor","settings.providers.page.toast.providerSourcesLoadFailed":"No se pudo cargar las fuentes del proveedor","settings.providers.page.toast.apiKeyRequired":"Se requiere una clave API","settings.providers.page.toast.apiKeySaveFailed":"No se pudo guardar la clave API","settings.providers.page.toast.apiKeySaved":"Clave API guardada","settings.providers.page.toast.oauthStartFailed":"No se pudo iniciar el flujo OAuth","settings.providers.page.toast.oauthDetailsMissing":"No se devolvieron detalles de OAuth","settings.providers.page.toast.oauthCompleteFailed":"No se pudo completar el flujo OAuth","settings.providers.page.toast.oauthCompleted":"Conexión OAuth completada","settings.providers.page.toast.externalConnected":"Conectado con credenciales externas","settings.providers.page.toast.externalConnectFailed":"No se pudo conectar con credenciales externas","settings.providers.page.toast.oauthLinkCopied":"Enlace de OAuth copiado","settings.providers.page.toast.oauthLinkCopyFailed":"No se pudo copiar el enlace de OAuth","settings.providers.page.toast.deviceCodeCopied":"Código de dispositivo copiado","settings.providers.page.toast.deviceCodeCopyFailed":"No se pudo copiar el código de dispositivo","settings.providers.page.toast.providerDisconnected":"Proveedor desconectado","settings.providers.page.toast.providerDisconnectFailed":"No se pudo desconectar el proveedor","settings.providers.page.toast.customProviderSaved":"{provider} conectado","settings.providers.page.custom.discovery.fetch":"Buscar modelos","settings.providers.page.custom.discovery.fetching":"Buscando modelos...","settings.providers.page.custom.discovery.info":"Consulta una vez la lista de modelos de este proveedor. Los límites y las capacidades se completan desde models.dev cuando conoce el modelo. Después no se actualiza nada por sí solo.","settings.providers.page.custom.discovery.failed":"No se pudieron obtener los modelos de este proveedor","settings.providers.page.custom.discovery.review":"Modelos encontrados","settings.providers.page.custom.discovery.counts":"{matching} de {total} modelos, {selected} seleccionados","settings.providers.page.custom.discovery.selectAll":"Seleccionar todo","settings.providers.page.custom.discovery.deselectAll":"Deseleccionar todo","settings.providers.page.custom.discovery.importSelected":"Añadir seleccionados ({count})","settings.providers.page.custom.discovery.cancel":"Cancelar","settings.providers.page.custom.discovery.alreadyAdded":"Ya añadido","settings.providers.page.custom.discovery.contextValue":"Contexto {value}","settings.providers.page.custom.discovery.outputValue":"Salida {value}","settings.providers.page.custom.discovery.source.provider-api":"Completado desde el proveedor","settings.providers.page.custom.discovery.source.models.dev":"Completado desde models.dev","settings.providers.page.custom.models.contextWindow":"Ventana de contexto","settings.providers.page.custom.models.maxOutputTokens":"Máximo de tokens de salida","settings.providers.page.custom.models.inputCapabilities":"Capacidades de entrada","settings.providers.page.custom.models.outputCapabilities":"Capacidades de salida","settings.providers.page.custom.models.tools":"Llamadas a herramientas","settings.providers.page.custom.models.toolsOff":"sin llamadas a herramientas","settings.providers.page.custom.error.positiveInteger":"Introduce un número entero positivo","settings.providers.page.toast.customProviderSaveFailed":"No se pudo guardar el proveedor personalizado","settings.mcp.page.header.newServer":"Nuevo servidor MCP","settings.mcp.page.header.configureNewServer":"Configurar un nuevo servidor MCP","settings.mcp.page.header.transport":"{type} transporte","settings.mcp.page.transport.local":"Local · stdio","settings.mcp.page.transport.remote":"Remoto · SSE","settings.mcp.page.status.label.connected":"Conectado","settings.mcp.page.status.label.failed":"Fallido","settings.mcp.page.status.label.needsAuth":"Necesita autenticación","settings.mcp.page.status.label.needsRegistration":"Necesita registro","settings.mcp.page.status.description.connected":"Conectado y listo para que OpenCode descubra herramientas y recursos.","settings.mcp.page.status.description.failedDefault":"OpenCode no pudo alcanzar este servidor MCP.","settings.mcp.page.status.description.needsAuth":"Este servidor MCP remoto requiere autorización antes de poder conectarse.","settings.mcp.page.status.description.needsClientRegistrationDefault":"Este servidor MCP remoto requiere registro del cliente antes de completar la autorización.","settings.mcp.page.status.description.disabled":"Este servidor MCP está desactivado en la configuración.","settings.mcp.page.status.description.blockedByPolicy":"Una política de tu configuración de OpenCode bloquea este servidor, así que OpenCode no lo inicia. Cambia la regla integration.use para permitirlo.","settings.mcp.page.status.description.default":"Actualiza o prueba la conexión para cargar el estado de ejecución en tiempo real.","settings.mcp.page.status.runtimeStatus":"Estado de ejecución","settings.mcp.page.status.projectScopedTo":"Alcance del proyecto: {directory}","settings.mcp.page.status.userScoped":"Configuración de alcance del usuario","settings.mcp.page.status.activeProject":"el proyecto activo","settings.mcp.page.actions.connect":"Conectar","settings.mcp.page.actions.disconnect":"Desconectar","settings.mcp.page.actions.authorize":"Autorizar","settings.mcp.page.actions.reauthorize":"Reautorizar","settings.mcp.page.actions.clearAuth":"Limpiar autenticación","settings.mcp.page.actions.test":"Probar","settings.mcp.page.actions.testConnection":"Probar conexión","settings.mcp.page.actions.working":"Trabajando...","settings.mcp.page.actions.starting":"Iniciando...","settings.mcp.page.actions.clearing":"Limpiando...","settings.mcp.page.actions.testing":"Probando...","settings.mcp.page.actions.completing":"Completando...","settings.mcp.page.actions.completeAuthorization":"Completar autorización","settings.mcp.page.actions.openInBrowser":"Abrir en el navegador","settings.mcp.page.actions.copyLink":"Copiar enlace","settings.mcp.page.actions.deleting":"Eliminando…","settings.mcp.page.auth.authorizationUrl":"URL de autorización","settings.mcp.page.auth.manualFallbackTitle":"Autenticación manual alternativa","settings.mcp.page.auth.manualFallbackDescription":"Si el navegador vuelve a una máquina diferente o muestra una URL de callback con un código, pega esa URL completa o el código sin formato aquí.","settings.mcp.page.auth.callbackInputPlaceholder":"Pega la URL de callback o el código de autorización","settings.mcp.page.auth.waitingForOpenCode":"Esperando a que OpenCode observe el flujo de autorización completado por el navegador...","settings.mcp.page.server.title":"Servidor","settings.mcp.page.server.name":"Nombre del servidor","settings.mcp.page.server.namePlaceholder":"my-mcp-server","settings.mcp.page.server.importJson":"Importar desde un fragmento JSON","settings.mcp.page.server.importJsonTitle":"Importa una configuración completa del servidor MCP desde un fragmento JSON","settings.mcp.page.server.enable":"Habilitar servidor","settings.mcp.page.server.enableAria":"Habilitar servidor","settings.mcp.page.server.transportMode":"Modo de transporte","settings.mcp.page.connection.command":"Comando","settings.mcp.page.connection.serverUrl":"URL del servidor","settings.mcp.page.connection.serverUrlPlaceholder":"https://mcp.example.com/mcp","settings.mcp.page.connection.pasteCommand":"Pegar comando","settings.mcp.page.connection.pasteCommandTitle":"Pega un comando local desde el portapapeles y divídelo automáticamente","settings.mcp.page.connection.previewArgs":"Vista previa ({count} argumentos)","settings.mcp.page.advanced.title":"Avanzado","settings.mcp.page.advanced.configure":"Configurar opciones avanzadas","settings.mcp.page.advanced.autoDetect":"Detectar automáticamente","settings.mcp.page.advanced.custom":"Personalizado","settings.mcp.page.advanced.headers":"encabezados","settings.mcp.page.advanced.requestHeaders":"Encabezados de solicitud","settings.mcp.page.advanced.headerNamePlaceholder":"Header-Name","settings.mcp.page.advanced.pasteHeaders":"Pegar encabezados","settings.mcp.page.advanced.pasteHeadersTitle":"Pega líneas KEY=VALUE de encabezados desde el portapapeles","settings.mcp.page.advanced.oauthAutoDetection":"Habilitar detección automática de OAuth","settings.mcp.page.advanced.oauthAutoDetectionAria":"Habilitar detección automática de OAuth","settings.mcp.page.advanced.oauthClientIdPlaceholder":"OAuth client ID","settings.mcp.page.advanced.oauthClientSecretPlaceholder":"OAuth client secret","settings.mcp.page.advanced.oauthScopesPlaceholder":"Scopes (separados por espacios)","settings.mcp.page.advanced.oauthRedirectUriPlaceholder":"Redirect URI","settings.mcp.page.advanced.oauthHint":"Dejar estos campos en blanco para que OpenCode infiera automáticamente la configuración de OAuth del servidor MCP.","settings.mcp.page.advanced.oauthCallbackHint":"La autorización basada en el navegador utiliza esta URL de callback cuando el Redirect URI está en blanco:","settings.mcp.page.env.title":"Variables de entorno","settings.mcp.page.env.key":"Clave","settings.mcp.page.env.value":"Valor","settings.mcp.page.env.valuePlaceholder":"valor","settings.mcp.page.env.hide":"Ocultar","settings.mcp.page.env.show":"Mostrar","settings.mcp.page.env.addVariable":"Añadir variable","settings.mcp.page.env.addEnvironmentVariable":"Añadir variable de entorno","settings.mcp.page.env.keyPlaceholder":"API_KEY","settings.mcp.page.env.pasteEnv":"Pegar .env","settings.mcp.page.env.pasteEnvTitle":"Pega líneas KEY=VALUE desde el portapapeles","settings.mcp.page.env.plainTextWarning":"⚠ Los valores se almacenan como texto plano en opencode.json","settings.mcp.page.env.removeVariableAria":"Eliminar variable","settings.mcp.page.importDialog.title":"Importar fragmento JSON","settings.mcp.page.importDialog.description":"Pega un fragmento completo de JSON MCP desde documentos u otro archivo de configuración. Los valores leídos llenarán este formulario para revisión antes de guardar.","settings.mcp.page.importDialog.pasteFromClipboard":"Pegar JSON desde el portapapeles","settings.mcp.page.deleteDialog.title":'Eliminar "{name}"?',"settings.mcp.page.deleteDialog.descriptionPrefix":"Esto elimina el servidor de","settings.mcp.page.deleteDialog.descriptionSuffix":"OpenCode necesitará recargar.","settings.mcp.page.toast.clipboardReadFailed":"No se puede leer el portapapeles","settings.mcp.page.toast.configImported":"Configuración MCP importada","settings.mcp.page.toast.nameRequired":"Se requiere un nombre","settings.mcp.page.toast.serverNameExists":"Ya existe un servidor con este nombre","settings.mcp.page.toast.localCommandRequired":"El comando no puede estar vacío para un servidor local","settings.mcp.page.toast.remoteUrlRequired":"La URL no puede estar vacía para un servidor remoto","settings.mcp.page.toast.serverCreatedReloadFailed":"Servidor MCP creado, pero OpenCode no pudo recargar.","settings.mcp.page.toast.savedReloadFailed":"Guardado, pero OpenCode no pudo recargar.","settings.mcp.page.toast.retryRefreshHint":"Vuelve a actualizar o vuelve a abrir Configuración antes de autorizar este servidor.","settings.mcp.page.toast.serverCreatedReloading":"Servidor MCP creado. OpenCode recargando…","settings.mcp.page.toast.saveFailed":"No se pudo guardar","settings.mcp.page.toast.unexpectedError":"Ocurrió un error","settings.mcp.page.toast.serverDeletedReloadFailed":'"{name}" eliminado, pero OpenCode no pudo recargar',"settings.mcp.page.toast.refreshListIfStale":"Actualiza la lista de MCP si la interfaz parece desactualizada.","settings.mcp.page.toast.serverDeleted":'"{name}" eliminado',"settings.mcp.page.toast.deleteFailed":"No se pudo eliminar","settings.mcp.page.toast.disconnected":"Desconectado","settings.mcp.page.toast.connected":"Conectado","settings.mcp.page.toast.connectionNeedsAuthorization":"La conexión requiere autorización","settings.mcp.page.toast.connectionNeedsClientRegistration":"La conexión requiere registro del cliente","settings.mcp.page.toast.connectionFailed":"Error de conexión","settings.mcp.page.toast.connectionAttemptFinished":"Intento de conexión finalizado. Refresca el estado para más detalles.","settings.mcp.page.toast.createServerBeforeLiveActions":"Crea el servidor antes de ejecutar acciones en vivo","settings.mcp.page.toast.refreshStatusFailed":"No se pudo actualizar el estado de MCP","settings.mcp.page.toast.oauthRedirectUrlBuildFailed":"No se pudo construir la URL de redirección de OAuth de MCP","settings.mcp.page.toast.oauthBrowserCallbackSaveFailed":"No se pudo guardar la URL de callback del navegador para la autorización de MCP","settings.mcp.page.toast.openCodeReloadFailedAfterCallbackSave":"No se pudo recargar OpenCode después de guardar la URL de callback del navegador","settings.mcp.page.toast.completeAuthorizationInBrowserWithPaste":"Completa el flujo de autorización de MCP en tu navegador, luego pega el código o URL de callback devuelto aquí","settings.mcp.page.toast.completeAuthorizationInBrowser":"Completa el flujo de autorización de MCP en tu navegador","settings.mcp.page.toast.openAuthorizationUrlFailed":"No se pudo abrir la URL de autorización automáticamente","settings.mcp.page.toast.authorizationStartFailed":"No se pudo iniciar la autorización","settings.mcp.page.toast.authSessionExpired":"La sesión de autorización expiró o fue eliminada durante el reinicio. Haz clic en Autorizar nuevamente.","settings.mcp.page.toast.savedAuthorizationRemoved":"La autorización guardada de MCP fue eliminada","settings.mcp.page.toast.clearAuthorizationFailed":"No se pudo limpiar la autorización","settings.mcp.page.toast.authorizationUrlCopied":"URL de autorización copiada","settings.mcp.page.toast.authorizationUrlCopyFailed":"No se pudo copiar la URL de autorización","settings.mcp.page.toast.pasteCallbackOrCodeFirst":"Pega primero la URL de callback o el código de autorización","settings.mcp.page.toast.missingServerDetails":"Detalles del servidor MCP faltantes. Selecciona el servidor nuevamente o pega la URL completa de callback.","settings.mcp.page.toast.authorizationCompleted":"Autorización de MCP completada","settings.mcp.page.toast.authorizationCompletedFor":"Autorización de MCP completada para {name}","settings.mcp.page.toast.authorizationCompleteFailed":"No se pudo completar la autorización de MCP","settings.mcp.page.toast.enableServerBeforeTest":"Habilita este servidor antes de probar la conexión","settings.mcp.page.toast.connectionTestSucceeded":"Prueba de conexión correcta","settings.mcp.page.toast.connectionTestFailed":"No se pudo probar la conexión","settings.mcp.page.toast.connectionTestFinished":"Prueba de conexión finalizada. Actualiza el estado para ver detalles.","settings.mcp.page.toast.authorizationFailed":"No se pudo autorizar","settings.mcp.page.toast.authorizationStillInProgress":"La autorización aún está en progreso en tu navegador. Pega la URL de callback o el código si es necesario.","settings.mcp.page.toast.noKeyValuePairsFound":"No se encontraron pares KEY=VALUE en el portapapeles","settings.mcp.page.toast.importedVariablesCount":"Variables importadas: {count}","settings.mcp.page.toast.pastedArgumentsCount":"Argumentos pegados: {count}","settings.shared.projectSelector.fallbackProject":"Proyecto","settings.shared.projectSelector.switchProjectAria":"Cambiar proyecto","settings.shared.projectSelector.switchProjectTitle":"Cambiar proyecto","settings.shared.projectSelector.sheetTitle":"Proyecto","settings.shared.projectSelector.searchPlaceholder":"Buscar proyectos...","settings.openchamber.defaults.title":"Configuración por defecto","settings.openchamber.defaults.summaryPrefix":"Las nuevas sesiones comenzarán con:","settings.openchamber.defaults.summaryOpenCodeDefault":"Agente OpenCode por defecto","settings.openchamber.defaults.field.defaultModel":"Modelo por defecto","settings.openchamber.defaults.field.defaultThinking":"Pensamiento por defecto","settings.openchamber.defaults.field.thinkingPlaceholder":"Pensando","settings.openchamber.defaults.field.defaultAgent":"Agente por defecto","settings.openchamber.defaults.field.showDeletionDialogAria":"Mostrar diálogo de eliminación","settings.openchamber.defaults.field.sessionWarming":"Mantener activas las sesiones inactivas","settings.openchamber.defaults.field.sessionWarmingInfo":"Algunos proveedores olvidan el contexto en caché de una conversación tras unos minutos de silencio, así que el siguiente mensaje tarda más y cuesta más. Con esto activado, OpenCode envía una petición mínima «OK» cada 4 minutos mientras la sesión está inactiva, hasta 30 minutos después de tu último mensaje. Cada ping se cobra como una petición pequeña. Se aplica a todos los proyectos.","settings.openchamber.defaults.smallModel.title":"Modelo pequeño","settings.openchamber.defaults.smallModel.description":"Un modelo económico para tareas utilitarias rápidas, como recapitulaciones y resúmenes breves.","settings.openchamber.defaults.smallModel.useDefault":"Usar el modelo pequeño predeterminado","settings.openchamber.defaults.smallModel.useDefaultAria":"Usar el modelo pequeño predeterminado","settings.openchamber.defaults.walkthroughModel.title":"Modelo del recorrido de cambios","settings.openchamber.defaults.walkthroughModel.description":"La revisión con IA de tus cambios necesita salida estructurada y espacio para un diff completo, algo que un modelo pequeño y barato a menudo no ofrece. Los modelos que el catálogo declara incapaces de producir salida estructurada se ocultan aquí. Si no eliges nada, se usa el modelo pequeño.","settings.openchamber.defaults.walkthroughModel.usesSmallModel":"Modelo pequeño","settings.openchamber.defaults.field.showDeletionDialog":"Mostrar diálogo de eliminación","settings.openchamber.defaults.field.openFilesPreviewAria":"Abrir archivos previsualizables en modo vista previa","settings.openchamber.defaults.field.openFilesPreview":"Abrir archivos previsualizables en modo vista previa","settings.openchamber.defaults.option.default":"Predeterminado","settings.openchamber.defaults.option.defaultLowercase":"default","settings.openchamber.git.title":"Preferencias de Git","settings.openchamber.git.changesViewTitle":"Vista de cambios","settings.openchamber.git.changesViewAria":"Modo de vista de cambios de Git","settings.openchamber.git.option.flatList":"Lista plana","settings.openchamber.git.option.treeView":"Vista en árbol","settings.openchamber.git.optionAria":"Modo de vista de cambios de Git: {option}","settings.openchamber.git.enableGitmojiAria":"Habilitar selector de Gitmoji","settings.openchamber.git.enableGitmoji":"Habilitar selector de Gitmoji","settings.openchamber.git.showGitignoredAria":"Mostrar archivos gitignored","settings.openchamber.git.showGitignored":"Mostrar archivos ignorados por Git","settings.github.page.tooltip.connectAccount":"Conecta una cuenta de GitHub para flujos de trabajo de PR e issue dentro de la aplicación.","settings.github.page.avatarAlt.withLogin":"Avatar de {login}","settings.github.page.avatarAlt.fallback":"Avatar de GitHub","settings.github.page.accountSource.oauth":"OAuth","settings.github.page.accountSource.cli":"CLI","settings.github.page.actions.connect":"Conectar GitHub","settings.github.page.actions.addAccount":"Añadir cuenta","settings.github.page.actions.openGithub":"Abrir GitHub","settings.github.page.status.notConnected":"No conectado","settings.github.page.status.active":"Activo","settings.github.page.flow.title":"Autorizar OpenChamber","settings.github.page.flow.description":"En GitHub, ingresa el siguiente código para autorizar este dispositivo:","settings.github.page.flow.waiting":"Esperando aprobación","settings.github.page.flow.autoRefresh":"(actualización automática)","settings.github.page.toast.startConnectFailed":"No se pudo iniciar la conexión de GitHub","settings.github.page.toast.connected":"Conexión con GitHub establecida","settings.github.page.toast.authorizationFailed":"No se pudo autorizar en GitHub","settings.github.page.toast.disconnected":"Desconectado de GitHub","settings.github.page.toast.disconnectFailed":"No se pudo desconectar de GitHub","settings.github.page.toast.switchFailed":"No se pudo cambiar la cuenta de GitHub","settings.github.page.ghCli.title":"Token CLI de GitHub","settings.github.page.ghCli.availableDescription":"Sesión iniciada con gh CLI. No se usa hasta que cambies a ella","settings.github.page.ghCli.disabledDescription":"Instalado y oculto en tus cuentas","settings.github.page.ghCli.actions.disable":"Desactivar","settings.github.page.ghCli.actions.enable":"Activar","settings.github.page.toast.ghCliEnabled":"Cuenta de gh CLI visible","settings.github.page.toast.ghCliDisabled":"Cuenta de gh CLI oculta","settings.github.page.toast.ghCliUpdateFailed":"No se pudo actualizar la configuración de gh CLI","settings.notifications.page.delivery.title":"Entrega de notificaciones","settings.notifications.page.delivery.enableAria":"Habilitar notificaciones","settings.notifications.page.delivery.enableLabel":"Habilitar notificaciones","settings.notifications.page.delivery.focusedAria":"Notificar mientras la aplicación esté en foco","settings.notifications.page.delivery.focusedLabel":"Notificar mientras la aplicación está en foco","settings.notifications.page.delivery.testAction":"Enviar notificación de prueba","settings.notifications.page.delivery.browserPermissionHint":"Tu navegador puede solicitar permiso la primera vez.","settings.notifications.page.delivery.permissionDenied":"Permiso para notificaciones denegado. Actívalo en la configuración de tu navegador.","settings.notifications.page.delivery.permissionGrantedButDisabled":"Permiso concedido, pero las notificaciones están desactivadas.","settings.notifications.page.delivery.vscodeHint":"Cuando esté activado, las notificaciones se entregan a través de notificaciones nativas de VS Code.","settings.notifications.page.events.title":"Eventos de notificaciones","settings.notifications.page.events.completionAria":"Completado del agente","settings.notifications.page.events.completionLabel":"Finalización del agente","settings.notifications.page.events.subtaskAria":"Completado del subagente","settings.notifications.page.events.subtaskLabel":"Finalización del subagente","settings.notifications.page.events.errorAria":"Errores del agente","settings.notifications.page.events.errorLabel":"Errores del agente","settings.notifications.page.events.questionAria":"Preguntas del agente","settings.notifications.page.events.questionLabel":"Preguntas del agente","settings.notifications.page.template.title":"Plantillas de notificaciones","settings.notifications.page.template.variablesLabel":"Variables:","settings.notifications.page.template.event.completion":"completion","settings.notifications.page.template.event.subtask":"Finalización del subagente","settings.notifications.page.template.event.error":"error","settings.notifications.page.template.event.question":"question","settings.notifications.page.template.field.title":"Título","settings.notifications.page.template.field.message":"Mensaje","settings.notifications.page.template.defaults.completion.title":"{agent_name} está listo","settings.notifications.page.template.defaults.completion.message":"{model_name} completó la tarea","settings.notifications.page.template.defaults.error.title":"Error de herramienta","settings.notifications.page.template.defaults.error.message":"{last_message}","settings.notifications.page.template.defaults.question.title":"Entrada necesaria","settings.notifications.page.template.defaults.question.message":"{last_message}","settings.notifications.page.template.defaults.subtask.title":"{agent_name} está listo","settings.notifications.page.template.defaults.subtask.message":"{model_name} completó la tarea","settings.notifications.page.summary.title":"Resumen de IA","settings.notifications.page.summary.toggleAria":"Resumir el último mensaje","settings.notifications.page.summary.toggleLabel":"Resumir último mensaje","settings.notifications.page.summary.requiresTemplateVariable":"Requiere","settings.notifications.page.summary.modelLabel":"Modelo de resumen","settings.notifications.page.summary.modelTooltip":"Usado para resúmenes de notificaciones y voz.","settings.notifications.page.summary.notSelected":"No seleccionado","settings.notifications.page.summary.thresholdLabel":"Umbral","settings.notifications.page.summary.thresholdHint":"Mensajes más largos que este serán resumidos","settings.notifications.page.summary.resetThresholdAria":"Restablecer umbral","settings.notifications.page.summary.lengthLabel":"Longitud","settings.notifications.page.summary.lengthHint":"Longitud objetivo del resumen en caracteres","settings.notifications.page.summary.resetLengthAria":"Restablecer longitud del resumen","settings.notifications.page.summary.maxLengthLabel":"Longitud máxima","settings.notifications.page.summary.maxLengthHint":"Acortar {last_message} a esta longitud","settings.notifications.page.summary.resetMaxLengthAria":"Restablecer longitud máxima del mensaje","settings.notifications.page.push.title":"Notificaciones en segundo plan","settings.notifications.page.push.enableAria":"Habilitar notificaciones de fondo","settings.notifications.page.push.enableLabel":"Habilitar notificaciones en segundo plan","settings.notifications.page.push.unsupportedHint":"Las notificaciones en segundo plan no son compatibles. Chrome/Edge de escritorio y Android admiten push. iOS requiere una PWA instalada.","settings.notifications.page.push.supportedHint":"Recibe alertas a través del servicio en segundo plan de su sistema operativo","settings.notifications.page.push.loadingAria":"Cargando","settings.notifications.page.toast.permissionDenied.title":"Permiso para notificaciones denegado","settings.notifications.page.toast.permissionDenied.description":"Por favor, habilita las notificaciones en la configuración de tu navegador.","settings.notifications.page.toast.permissionDenied.enableInBrowser":"Habilita las notificaciones en la configuración de tu navegador.","settings.notifications.page.toast.requestPermissionFailed":"No se pudo solicitar permiso para notificaciones","settings.notifications.page.toast.notificationsApiUnavailable":"API de notificaciones no disponible","settings.notifications.page.toast.testNotificationSent":"Notificación de prueba enviada con éxito","settings.notifications.page.toast.testNotificationFailed":"No se pudo enviar la notificación de prueba","settings.notifications.page.toast.pushUnsupported":"Las notificaciones en segundo plan no son compatibles","settings.notifications.page.toast.pushApiUnavailable":"API de push no disponible","settings.notifications.page.toast.pushKeyLoadFailed":"No se pudo cargar la clave de push","settings.notifications.page.toast.enableBackgroundFailed":"No se pudo habilitar notificaciones de fondo","settings.notifications.page.toast.backgroundEnabled":"Notificaciones de fondo habilitadas","settings.notifications.page.toast.backgroundDisabled":"Notificaciones de fondo deshabilitadas","settings.notifications.page.testNotification.title":"Notificación de prueba","settings.notifications.page.testNotification.body":"Esta es una notificación de prueba de OpenChamber.","settings.voice.page.section.speechRecognition":"Reconocimiento de voz","settings.voice.page.field.enableVoiceInput":"Habilitar entrada de voz","settings.voice.page.field.enableVoiceInputAria":"Habilitar entrada de voz (dictado)","settings.voice.page.section.playbackAndSummary":"Reproducción","settings.voice.page.field.provider":"Proveedor","settings.voice.page.provider.browser":"Navegador","settings.voice.page.provider.openai":"OpenAI","settings.voice.page.provider.custom":"Personalizado","settings.voice.page.provider.say":"Decir","settings.voice.page.provider.server":"Servidor","settings.voice.page.provider.local":"Local","settings.voice.page.tooltip.sttLocal":"Transcripción local en el servidor de OpenChamber. Los modelos se descargan automáticamente; no se necesita clave de API.","settings.voice.page.tooltip.localTts":"Síntesis local en el servidor de OpenChamber (Kokoro para inglés; los modelos de otros idiomas se descargan en el primer uso). No requiere clave de API.","settings.voice.page.field.followTextLanguage":"Ajustar la voz al idioma del texto","settings.voice.page.field.followTextLanguageAria":"Ajustar la voz al idioma del texto","settings.voice.page.field.followTextLanguageInfo":"Si una respuesta está en otro idioma, se usa una voz para ese idioma: una voz de macOS adecuada o un modelo local que se descarga en el primer uso.","settings.voice.page.stt.model.parakeetV2":"Parakeet v2 (inglés)","settings.voice.page.stt.model.parakeetV3":"Parakeet v3 (25 idiomas europeos)","settings.voice.page.stt.model.whisperBase":"Whisper base (multilingüe)","settings.voice.page.stt.model.whisperTiny":"Whisper tiny (multilingüe)","settings.voice.page.stt.badge.bestForEnglish":"Mejor para inglés","settings.voice.page.stt.badge.bestForMultilingual":"Mejor multilingüe","settings.voice.page.stt.meta.accuracy":"Precisión","settings.voice.page.stt.meta.speed":"Velocidad","settings.voice.page.stt.modelInstalled":"Modelo instalado","settings.voice.page.stt.modelDownloading":"Descargando modelo...","settings.voice.page.stt.modelDownloadingProgress":"Descargando modelo... {percent}%","settings.voice.page.stt.modelNotInstalled":"Modelo no descargado","settings.voice.page.stt.modelDownload":"Descargar","settings.voice.page.stt.modelDelete":"Eliminar modelo","settings.voice.page.stt.modelRetry":"Reintentar","settings.voice.page.localTts.availableToDownload":"Disponibles para descargar","settings.voice.page.localTts.filterPlaceholder":"Filtrar por idioma o descripción","settings.voice.page.localTts.filterNoMatch":"Ningún modelo coincide con el filtro","settings.voice.page.provider.wasm":"Local","settings.voice.page.stt.wasmModel":"Modelo Whisper","settings.voice.page.stt.wasmLoaded":"Modelo cargado","settings.voice.page.stt.wasmDownloading":"Descargando modelo...","settings.voice.page.stt.wasmLoading":"Cargando modelo...","settings.voice.page.stt.wasmNotLoaded":"El modelo se descargará en el primer uso de voz","settings.voice.page.stt.wasmDownload":"Descargar","settings.voice.page.stt.wasmRetry":"Reintentar","settings.voice.page.tooltip.browser":"Gratuito, offline, soporte limitado en móvil.","settings.voice.page.tooltip.openai":"Calidad alta, compatible con móviles, requiere clave de API.","settings.voice.page.tooltip.custom":"Servidor compatible con OpenAI (por ejemplo Kokoro).","settings.voice.page.tooltip.say":"Nativo de macOS. Rápido, gratis, offline.","settings.voice.page.tooltip.sttBrowser":"API de voz web (Chrome/Edge). Gratis, sin configuración.","settings.voice.page.tooltip.sttServer":"Servidor compatible con Whisper de OpenAI. Mayor precisión, cualquier idioma.","settings.voice.page.field.apiKey":"Clave de API","settings.voice.page.field.apiKeyHintUsingConfig":"Usando la clave de la configuración","settings.voice.page.field.apiKeyHintRequired":"OpenAI TTS requiere una clave de API","settings.voice.page.enterpriseMode":"En modo empresa, la lectura en voz alta se queda en esta máquina: usa una voz local o un servidor personalizado que se ejecute aquí.","settings.voice.page.field.apiKeyHintProvide":"Proporciona tu clave de OpenAI","settings.voice.page.field.apiKeySavedPlaceholder":"Guardada en el servidor","settings.voice.page.field.apiKeyRemove":"Quitar la clave guardada","settings.voice.page.field.apiKeyOptional":"Opcional","settings.voice.page.toast.apiKeySaveFailed":"No se pudo guardar la clave","settings.voice.page.field.serverUrl":"URL del servidor","settings.voice.page.field.serverUrlHint":"URL base del servidor compatible con TTS de OpenAI","settings.voice.page.field.model":"Modelo","settings.voice.page.field.voice":"Voz","settings.voice.page.field.voiceIdentifierHint":"Identificador de voz compatible con el servidor","settings.voice.page.field.configuredAbove":"Configurado anteriormente","settings.voice.page.actions.preview":"Vista previa","settings.voice.page.field.selectVoicePlaceholder":"Seleccionar voz","settings.voice.page.field.auto":"Automático","settings.voice.page.field.speechRate":"Velocidad de habla","settings.voice.page.field.speechPitch":"Tono de habla","settings.voice.page.field.speechVolume":"Volumen de habla","settings.voice.page.field.language":"Idioma","settings.voice.page.field.selectLanguagePlaceholder":"Seleccionar idioma","settings.voice.page.field.sttBrowserSupportError":"MediaRecorder o AudioContext no están disponibles en este navegador. El STT del servidor puede que no funcione.","settings.voice.page.field.sttServerUrlHint":"URL base del servidor compatible con Whisper","settings.voice.page.field.sttLanguageHint":"Código BCP-47 (por ejemplo en, fr). Dejar en blanco para detección automática.","settings.voice.page.field.silenceThreshold":"Umbral de silencio","settings.voice.page.field.silenceHold":"Retención de silencio","settings.voice.page.field.transcribeOnStopAria":"Transcribir al detener la grabación","settings.voice.page.field.transcribeOnStop":"Transcribir al detener","settings.voice.page.field.millisecondsUnit":"ms","settings.voice.page.field.messageReadAloudButtonAria":"Botón de lectura en voz alta del mensaje","settings.voice.page.field.messageReadAloudButton":"Botón de lectura en voz alta del mensaje","settings.voice.page.field.summarizeBeforePlaybackAria":"Resumir antes de la reproducción","settings.voice.page.field.summarizeBeforePlayback":"Resumir antes de la reproducción","settings.voice.page.field.summarizeVoiceModeResponsesAria":"Resumir respuestas en modo de voz","settings.voice.page.field.summarizeVoiceModeResponses":"Resumir respuestas en modo de voz","settings.voice.page.field.summarizationThreshold":"Umbral de resumen","settings.voice.page.field.summaryMaxLength":"Longitud máxima del resumen","settings.voice.page.hint.shiftClickPrefix":"Presionar","settings.voice.page.hint.shiftClickSuffix":"en el botón del micrófono para alternar el modo continuo","settings.voice.page.preview.browserVoiceFallback":"voz del navegador","settings.voice.page.preview.voiceLine":"¡Hola! Soy {voiceName}. Así suena mi voz.","settings.voice.page.preview.customServerLine":"¡Hola! Esta es una previsualización del servidor TTS personalizado.","settings.voice.page.field.ttsInputMode":"Modo de entrada TTS","settings.voice.page.field.ttsInputModeSanitized":"Texto limpio","settings.voice.page.field.ttsInputModeRaw":"Markdown sin procesar","settings.voice.page.field.ttsInputModeSummarized":"Resumido","settings.voice.page.field.ttsChunkedMode":"Empezar a hablar antes en respuestas largas","settings.voice.page.field.ttsChunkedModeAria":"Empezar a hablar antes en respuestas largas","settings.voice.page.tooltip.ttsChunked":"Divide el texto largo en frases y reproduce cada una en cuanto se sintetiza, así la reproducción comienza mucho antes. Desactívalo para sintetizar todo el texto en una sola solicitud.","settings.openchamber.visual.section.colorMode":"Modo de color","settings.openchamber.visual.section.colorModeAndTheme":"Modo de color y tema","settings.openchamber.visual.section.localization":"Localización","settings.openchamber.visual.section.spacingAndLayout":"Espaciado y diseño","settings.openchamber.visual.section.densityAndType":"Densidad y tipografía","settings.openchamber.visual.section.appInstall":"Instalación de la app","settings.openchamber.visual.section.chatFeatures":"Funciones","settings.openchamber.visual.section.messageStreamTransport":"Transporte del flujo de mensajes","settings.openchamber.visual.section.activityDefault":"Modo predeterminado de actividad","settings.openchamber.visual.section.activityDefaultAria":"Modo predeterminado de actividad","settings.openchamber.visual.section.sessionActivity":"Actividad de la sesión","settings.openchamber.visual.section.sessionAssistance":"Asistencia de sesión","settings.openchamber.visual.section.reasoning":"Razonamiento","settings.openchamber.visual.field.streamingAutoFollow":"Seguir el contenido nuevo durante el streaming","settings.openchamber.visual.field.streamingAutoFollowAria":"Seguir automáticamente el contenido nuevo mientras se transmite una respuesta","settings.openchamber.visual.field.streamingAutoFollowInfo":"Mientras llega una respuesta, la vista se desplaza hacia el contenido más reciente. Desactívalo para mantener la vista quieta y desplazarte manualmente; enviar un mensaje desde la mitad del chat tampoco moverá la vista.","settings.openchamber.visual.field.animatedActivityIndicators":"Indicadores de actividad animados","settings.openchamber.visual.field.animatedActivityIndicatorsAria":"Mostrar un indicador animado en las sesiones en ejecución","settings.openchamber.visual.field.animatedActivityIndicatorsInfo":"Las sesiones en ejecución muestran un indicador giratorio en lugar de su icono de estado estático. El indicador se actualiza 4 veces por segundo y consume más energía que el icono. Esta animación se reproduce incluso con Reducir movimiento activado.","settings.openchamber.visual.section.messageAppearance":"Apariencia de los mensajes","settings.openchamber.visual.section.composer":"Compositor","settings.openchamber.visual.section.userMessageRendering":"Renderizado de mensajes del usuario","settings.openchamber.visual.section.userMessageRenderingAria":"Modo de Renderizado de mensajes del usuario","settings.openchamber.visual.section.mermaidRendering":"Renderizado de Mermaid","settings.openchamber.visual.section.mermaidRenderingAria":"Modo de Renderizado de Mermaid","settings.openchamber.visual.section.diffLayout":"Diseño de comparación","settings.openchamber.visual.section.diffLayoutAria":"Diseño de comparación","settings.openchamber.visual.section.privacy":"Privacidad","settings.openchamber.visual.field.lightTheme":"Tema claro","settings.openchamber.visual.field.darkTheme":"Tema oscuro","settings.openchamber.visual.field.selectLightThemeAria":"Seleccionar tema claro","settings.openchamber.visual.field.selectDarkThemeAria":"Seleccionar tema oscuro","settings.openchamber.visual.field.selectThemePlaceholder":"Seleccionar tema","settings.openchamber.visual.field.searchThemes":"Buscar temas...","settings.openchamber.visual.field.noThemesFound":"No se encontraron temas.","settings.openchamber.visual.field.timeFormat":"Formato de hora","settings.openchamber.visual.field.weekStartsOn":"La semana empieza el","settings.openchamber.visual.field.selectTimeFormatAria":"Seleccionar formato de hora","settings.openchamber.visual.field.selectWeekStartAria":"Seleccionar inicio de la semana","settings.openchamber.visual.actions.reloadThemes":"Recargar temas","settings.openchamber.visual.field.dockBadge":"Insignia en el Dock","settings.openchamber.visual.field.dockBadgeHint":"Muestra en el icono del Dock de macOS el número de chats con actividad sin ver.","settings.openchamber.visual.actions.saveAndRestart":"Guardar y reiniciar","settings.openchamber.visual.actions.restarting":"Reiniciando…","settings.openchamber.visual.actions.reloadingThemes":"Recargando temas...","settings.openchamber.visual.field.themeImportInfoAria":"Información de importación de temas","settings.openchamber.visual.field.themeImportInfoTooltip":"Importar temas personalizados desde ~/.config/openchamber/themes/","settings.openchamber.visual.field.installAppName":"Nombre de la aplicación para instalar","settings.openchamber.visual.field.installAppNameHint":"Lo usa la instalación de la PWA.","settings.openchamber.visual.field.pwaInstallAppNameAria":"Nombre de la aplicación para instalar PWA","settings.openchamber.visual.actions.resetInstallAppNameAria":"Restablecer nombre de la aplicación para instalar","settings.openchamber.visual.field.installOrientation":"Orientación de instalación","settings.openchamber.visual.field.installOrientationHint":"Usado por la aplicación web instalada. Vuelve a instalar la PWA después de cambiar esto.","settings.openchamber.visual.field.pwaInstallOrientationAria":"Orientación de instalación de PWA","settings.openchamber.visual.field.selectOrientationPlaceholder":"Seleccionar orientación","settings.openchamber.visual.actions.resetInstallOrientationAria":"Restablecer orientación de instalación","settings.openchamber.visual.field.mobileKeyboardMode":"Comportamiento del teclado móvil","settings.openchamber.visual.field.mobileKeyboardModeHint":"El comportamiento predeterminado del navegador es el más seguro. Redimensionar el contenido pide a los navegadores compatibles reducir la app cuando se abre el teclado.","settings.openchamber.visual.field.mobileKeyboardModeAria":"Comportamiento del teclado móvil","settings.openchamber.visual.field.selectMobileKeyboardModePlaceholder":"Seleccionar comportamiento del teclado","settings.openchamber.visual.actions.resetMobileKeyboardModeAria":"Restablecer comportamiento del teclado móvil","settings.openchamber.visual.field.interfaceFontSize":"Tamaño de fuente de la interfaz","settings.openchamber.visual.field.interfaceFont":"Fuente de la interfaz","settings.openchamber.visual.field.selectInterfaceFontAria":"Seleccionar fuente de interfaz","settings.openchamber.visual.actions.resetInterfaceFontAria":"Restablecer fuente de interfaz","settings.openchamber.visual.field.fontSizePercentageAria":"Porcentaje de tamaño de fuente","settings.openchamber.visual.actions.resetFontSizeAria":"Restablecer tamaño de fuente","settings.openchamber.visual.field.terminalFontSize":"Tamaño de fuente del terminal","settings.openchamber.visual.field.terminalShell":"Shell del terminal","settings.openchamber.visual.field.terminalShellAria":"Seleccionar shell del terminal","settings.openchamber.visual.field.terminalShellHint":"Reinicia el terminal para aplicar este cambio a la sesión actual.","settings.openchamber.visual.field.terminalLoginShell":"Iniciar como shell de inicio de sesión","settings.openchamber.visual.option.terminalShell.auto":"Automático","settings.openchamber.visual.field.editorFontSize":"Tamaño de fuente del editor","settings.openchamber.visual.field.codeFont":"Fuente de código","settings.openchamber.visual.field.webFontsEnterprise":"El modo enterprise usa las fuentes del sistema: las demás se cargan desde una CDN pública.","settings.openchamber.visual.field.selectCodeFontAria":"Seleccionar fuente de código","settings.openchamber.visual.actions.resetCodeFontAria":"Restablecer fuente de código","settings.openchamber.visual.actions.resetTerminalFontSizeAria":"Restablecer tamaño de fuente del terminal","settings.openchamber.visual.actions.resetEditorFontSizeAria":"Restablecer tamaño de fuente del editor","settings.openchamber.visual.field.spacingDensity":"Densidad de espaciado","settings.openchamber.visual.actions.resetSpacingAria":"Restablecer espaciado","settings.openchamber.visual.field.inputBarOffset":"Desplazamiento de la barra de entrada","settings.openchamber.visual.field.inputBarOffsetTooltip":"Elevar la barra de entrada para evitar obstáculos en la pantalla del sistema operativo, como barras de inicio.","settings.openchamber.visual.actions.resetInputBarOffsetAria":"Restablecer desplazamiento de la barra de entrada","settings.openchamber.visual.field.terminalQuickKeysAria":"Teclas rápidas del terminal","settings.openchamber.visual.field.terminalQuickKeys":"Teclas rápidas del terminal","settings.openchamber.visual.field.sessionTabsGroup":"Pestañas de sesión","settings.openchamber.visual.field.sessionTabs":"Mostrar las sesiones como pestañas en el encabezado","settings.openchamber.visual.field.sessionTabsAria":"Alternar las pestañas de sesión en el encabezado","settings.openchamber.visual.field.sessionTabsInfo":"Las sesiones que abres se alinean como pestañas en el encabezado. Al desactivarlo, el encabezado vuelve a mostrar solo el título de la sesión.","settings.openchamber.visual.field.terminalQuickKeysTooltip":"Mostrar Esc, Ctrl y flechas en la vista del terminal","settings.openchamber.visual.field.fileEditorKeymap":"Mapa de teclas del editor de archivos","settings.openchamber.visual.option.fileEditorKeymap.default":"Predeterminado","settings.openchamber.visual.option.fileEditorKeymap.vim":"Vim","settings.openchamber.visual.field.activityDefaultModeAria":"Modo predeterminado de actividad: {option}","settings.openchamber.visual.field.userMessageRenderingAria":"Renderizado de mensajes del usuario: {option}","settings.openchamber.visual.field.mermaidRenderingAria":"Renderizado de Mermaid: {option}","settings.openchamber.visual.field.diffLayoutAria":"Diseño de comparación: {option}","settings.openchamber.visual.field.sessionRecap":"Generar resumen de sesión","settings.openchamber.visual.field.sessionRecapAria":"Generar un resumen cuando el agente termina","settings.openchamber.visual.field.sessionSuggestion":"Generar sugerencia del próximo mensaje del usuario","settings.openchamber.visual.field.sessionSuggestionAria":"Generar un próximo mensaje sugerido del usuario cuando el agente termina","settings.openchamber.visual.field.sessionReviewOffer":"Ofrecer revisar los cambios","settings.openchamber.visual.field.sessionReviewOfferInfo":"Tras un turno que cambió el proyecto, ofrece sobre el campo de mensaje una revisión con IA o un recorrido por los cambios.","settings.openchamber.visual.field.sessionGoal":"Habilitar objetivos de sesión","settings.openchamber.visual.field.sessionGoalAria":"Mantener la sesión trabajando automáticamente hacia un objetivo","settings.openchamber.visual.goal.sectionTitle":"Objetivo","settings.openchamber.visual.goal.maxTurnsLabel":"Límite de turnos","settings.openchamber.visual.goal.maxTurnsInfo":"Tras este número de turnos automáticos, el objetivo se detiene y te devuelve el control, esté terminado o no. 20 por defecto.","settings.openchamber.visual.goal.maxTurnsResetAria":"Restablecer el límite de turnos a 20","settings.openchamber.visual.goal.budgetLabel":"Presupuesto de tokens predeterminado","settings.openchamber.visual.goal.budgetAria":"Aplicar un presupuesto de tokens predeterminado a los nuevos objetivos","settings.openchamber.visual.goal.description":"Activa el botón de diana en el compositor y el próximo mensaje se convierte en un objetivo: el agente sigue trabajando hacia él automáticamente, incluso mientras no estás, y su progreso se comprueba después de cada turno.","settings.openchamber.visual.goal.checkerLabel":"Comprobación del progreso","settings.openchamber.visual.goal.checkerInfo":"Después de cada turno se lee el informe del agente para decidir si el objetivo está cumplido, te está esperando o debe seguir. Jev decide en menos de un segundo; el modelo pequeño usa el proveedor de la propia sesión y también entra cuando Jev no puede responder.","settings.openchamber.visual.goal.checker.smallModel":"Modelo pequeño","settings.openchamber.visual.goal.checker.viaSmallModel":"El modelo pequeño comprueba cada turno.","settings.openchamber.visual.goal.checker.jevMissing":"No hay ningún proveedor de clasificación configurado para Jev, así que el modelo pequeño comprueba cada turno.","settings.openchamber.visual.goal.checker.smallModelLink":"Ajustes del modelo pequeño","settings.openchamber.visual.field.showReasoningTracesAria":"Mostrar rastros de razonamiento","settings.openchamber.visual.field.showReasoningTraces":"Mostrar trazas de razonamiento","settings.openchamber.visual.field.collapsibleThinkingBlocksAria":"Habilitar bloques de razonamiento colapsables","settings.openchamber.visual.field.collapsibleThinkingBlocks":"Habilitar Bloques de Razonamiento Colapsables","settings.openchamber.visual.field.expandReasoningWhileStreaming":"Expandir el razonamiento durante el streaming","settings.openchamber.visual.field.expandReasoningWhileStreamingAria":"Expandir los bloques de razonamiento mientras el modelo piensa","settings.openchamber.visual.field.expandReasoningWhileStreamingInfo":"Muestra el razonamiento del modelo y el resumen de la compactación a medida que llegan. Si está desactivado, los bloques quedan plegados y se abren con un clic.","settings.openchamber.visual.field.collapsibleUserMessagesAria":"Contraer mensajes largos del usuario","settings.openchamber.visual.field.collapsibleUserMessages":"Contraer mensajes largos del usuario","settings.openchamber.visual.field.stickyUserHeaderAria":"Encabezado del usuario fijo","settings.openchamber.visual.field.stickyUserHeader":"Encabezado de usuario fijo","settings.openchamber.visual.field.promptNavigatorEnabledAria":"Navegador de prompts","settings.openchamber.visual.field.promptNavigatorEnabled":"Navegador de prompts","settings.openchamber.visual.field.autoSaveEnabledAria":"Guardado automático de archivos","settings.openchamber.visual.field.autoSaveEnabled":"Guardado automático de archivos","settings.openchamber.visual.field.autoSaveEnabledInfo":"Guarda automáticamente las ediciones del archivo después de dejar de escribir. Desactívalo para exigir un guardado manual.","settings.openchamber.visual.field.confirmFileTreeMove":"Confirmar antes de mover archivos","settings.openchamber.visual.field.layoutAnimations":"Animar paneles","settings.openchamber.visual.field.layoutAnimationsAria":"Animar la barra lateral y los paneles alrededor del chat al abrirlos y cerrarlos","settings.openchamber.visual.field.layoutAnimationsInfo":"La barra lateral, los paneles alrededor del chat y la tarjeta de estado del trabajo se deslizan al abrirse y cerrarse. Desactívalo para mostrarlos y ocultarlos al instante.","settings.openchamber.visual.field.openLinksInBrowserPanel":"Abrir enlaces en el navegador integrado","settings.openchamber.visual.field.openLinksInBrowserPanelInfo":"Los enlaces del chat se abren en una pestaña del navegador junto al chat. Cmd+clic o Ctrl+clic los abre en tu navegador predeterminado.","settings.openchamber.visual.field.liveBrowserTabs":"Pestañas del navegador cargadas","settings.openchamber.visual.field.liveBrowserTabsInfo":"Hasta este número de tus pestañas del navegador, en todos los proyectos, siguen cargadas, así que al volver a una ves la página tal como la dejaste. Las pestañas más antiguas vuelven a cargar su página cuando las abres. Cada pestaña cargada usa memoria.","settings.openchamber.visual.field.liveBrowserTabsUnit":"pestañas","settings.openchamber.visual.field.openTrackerLinksOnBoard":"Abrir issues y pull requests en OpenChamber","settings.openchamber.visual.field.openTrackerLinksOnBoardInfo":"Los enlaces a issues, pull requests y merge requests de GitHub y GitLab, y a issues de Linear se abren en Seguimiento junto al chat cuando su proyecto está abierto aquí, y en el teléfono en el tablero Issues y PR. Cmd+clic o Ctrl+clic abre el enlace en sí.","settings.openchamber.visual.field.fileTreeSide":"Lado del árbol de archivos","settings.openchamber.visual.option.fileTreeSide.left":"Izquierda","settings.openchamber.visual.option.fileTreeSide.right":"Derecha","settings.openchamber.visual.field.wideChatLayoutAria":"Diseño de chat ancho","settings.openchamber.visual.field.wideChatLayout":"Diseño de chat ancho","settings.openchamber.visual.field.showSplitAssistantMessageActionsAria":"Acciones en línea del asistente","settings.openchamber.visual.field.showSplitAssistantMessageActions":"Acciones en línea del asistente","settings.openchamber.visual.field.showSplitAssistantMessageActionsTooltip":"Muestra Copiar respuesta, Guardar como imagen y Leer en voz alta en bloques de texto del asistente que aparecen antes de llamadas a herramientas posteriores dentro de la misma respuesta.","settings.openchamber.visual.field.allowPromptingSubagentSessionsAria":"Permitir enviar solicitudes a sesiones de subagentes","settings.openchamber.visual.field.allowPromptingSubagentSessions":"Permitir solicitudes en sesiones de subagentes","settings.openchamber.visual.field.savePastedImagesAsFiles":"Guardar las imágenes pegadas como archivos","settings.openchamber.visual.field.savePastedImagesAsFilesInfo":"Una imagen pegada o adjunta se guarda en la máquina donde se ejecuta OpenCode y su ruta se añade al mensaje, para que el agente pueda abrirla, enviarla o editarla.","settings.openchamber.visual.field.draftStartersVisible":"Mostrar iniciadores en la pantalla de nueva sesión","settings.openchamber.visual.field.draftStartersVisibleAria":"Mostrar iniciadores en la pantalla de nueva sesión","settings.openchamber.visual.field.showToolFileIconsAria":"Mostrar iconos de archivos de herramientas","settings.openchamber.visual.field.codeBlockLineWrapAria":"Ajustar líneas de bloques de código","settings.openchamber.visual.field.codeBlockLineWrap":"Ajustar líneas de bloques de código","settings.openchamber.visual.field.tableCellWrap":"Ajustar celdas de tablas","settings.openchamber.visual.field.tableCellWrapAria":"Ajustar celdas de tablas","settings.openchamber.visual.field.tableCellWrapInfo":"Las tablas se ajustan al ancho del chat y el texto largo de las celdas pasa a la siguiente línea en lugar de desplazarse horizontalmente.","settings.openchamber.visual.field.copyMessagesAsPlainText":"Copiar mensajes como texto sin formato","settings.openchamber.visual.field.copyMessagesAsPlainTextAria":"Copiar mensajes como texto sin formato","settings.openchamber.visual.field.copyMessagesAsPlainTextInfo":"Al copiar una respuesta o una selección obtienes el texto tal como lo ves, sin símbolos de Markdown como ** o #.","settings.openchamber.visual.field.showToolFileIcons":"Mostrar iconos de archivos de herramientas","settings.openchamber.visual.field.showTurnChangedFilesAria":"Mostrar archivos cambiados en turnos completados","settings.openchamber.visual.field.showTurnChangedFiles":"Mostrar archivos cambiados en turnos completados","settings.openchamber.visual.field.showDotfilesAria":"Mostrar archivos ocultos","settings.openchamber.visual.field.showDotfiles":"Mostrar archivos ocultos","settings.openchamber.visual.field.queueMessagesByDefaultAria":"Poner mensaje en cola por defecto","settings.openchamber.visual.field.queueMessagesByDefault":"Poner mensajes en cola por defecto","settings.openchamber.visual.field.queueMessagesByDefaultTooltip":"Cuando esté habilitado, Enter coloca mensajes en cola. Usa {modifier}+Enter para enviar.","settings.openchamber.visual.field.persistDraftMessagesAria":"Mantener borradores de mensajes","settings.openchamber.visual.field.persistDraftMessages":"Conservar borradores de mensajes","settings.openchamber.visual.field.enableSpellcheckInTextInputsAria":"Habilitar ortografía en campos de texto","settings.openchamber.visual.field.enableSpellcheckInTextInputs":"Habilitar ortografía en campos de texto","settings.openchamber.visual.field.largeTextPaste":"Pegado de texto grande","settings.openchamber.visual.field.largeTextPasteHint":"Al pegar más de unos 2000 caracteres o 25 líneas, elige si adjuntar el texto como archivo, pegarlo en línea o preguntar cada vez. Con doble pegado, volver a pegar el mismo texto en menos de un segundo lo convierte en un archivo.","settings.openchamber.visual.field.largeTextPasteAria":"Comportamiento del pegado de texto grande","settings.openchamber.visual.field.largeTextPasteOptionAria":"Pegado de texto grande: {option}","settings.openchamber.visual.option.largeTextPaste.ask.label":"Preguntar cada vez","settings.openchamber.visual.option.largeTextPaste.attach.label":"Adjuntar como archivo","settings.openchamber.visual.option.largeTextPaste.inline.label":"Pegar en línea","settings.openchamber.visual.option.largeTextPaste.inlineDoublePaste.label":"Pegar en línea, pegar dos veces para adjuntar","settings.openchamber.visual.field.sendAnonymousUsageReportsAria":"Enviar informes anónimos de uso","settings.openchamber.visual.field.sendAnonymousUsageReports":"Enviar informes anónimos de uso","settings.openchamber.visual.field.sendAnonymousUsageReportsHint":"Nos ayuda a entender qué versiones de la aplicación se usan activamente para priorizar mejoras. Solo se recopilan la versión de la aplicación, la plataforma y el entorno de ejecución ; no se recopilan datos personales ni código.","settings.openchamber.visual.option.themeMode.system":"Sistema","settings.openchamber.visual.option.themeMode.system.description":"Seguir la configuración del sistema","settings.openchamber.visual.option.themeMode.light":"Claro","settings.openchamber.visual.option.themeMode.light.description":"Usar siempre la apariencia clara","settings.openchamber.visual.option.themeMode.dark":"Oscuro","settings.openchamber.visual.option.themeMode.dark.description":"Usar siempre la apariencia oscura","settings.openchamber.visual.option.diffLayout.dynamic.label":"Dinámico","settings.openchamber.visual.option.diffLayout.dynamic.description":"Nuevo en línea, modificado lado a lado.","settings.openchamber.visual.option.diffLayout.inline.label":"Siempre en línea","settings.openchamber.visual.option.diffLayout.inline.description":"Muestra una vista unificada.","settings.openchamber.visual.option.diffLayout.sideBySide.label":"Siempre lado a lado","settings.openchamber.visual.option.diffLayout.sideBySide.description":"Compara archivos originales y modificados.","settings.openchamber.visual.option.mermaidRendering.svg.label":"SVG","settings.openchamber.visual.option.mermaidRendering.svg.description":"Renderiza diagramas como gráficos escalables.","settings.openchamber.visual.option.mermaidRendering.ascii.label":"ASCII","settings.openchamber.visual.option.mermaidRendering.ascii.description":"Renderiza diagramas como bloques de texto.","settings.openchamber.visual.option.pwaOrientation.system.label":"Seguir el sistema","settings.openchamber.visual.option.pwaOrientation.system.description":"Respetar la configuración de rotación del dispositivo.","settings.openchamber.visual.option.pwaOrientation.portrait.label":"Bloqueo vertical","settings.openchamber.visual.option.pwaOrientation.portrait.description":"Instalar la aplicación bloqueada en vertical.","settings.openchamber.visual.option.pwaOrientation.landscape.label":"Bloqueo horizontal","settings.openchamber.visual.option.pwaOrientation.landscape.description":"Instalar la aplicación bloqueada en horizontal.","settings.openchamber.visual.option.mobileKeyboardMode.native.label":"Seguir el navegador","settings.openchamber.visual.option.mobileKeyboardMode.native.description":"Usar el comportamiento predeterminado del navegador para el paneo y los cambios del viewport al abrir el teclado.","settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.label":"Redimensionar contenido","settings.openchamber.visual.option.mobileKeyboardMode.resizeContent.description":"Pedir a los navegadores compatibles que reduzcan el diseño de la app en lugar de depender solo del paneo.","settings.openchamber.visual.option.userMessageRendering.markdown.label":"Markdown","settings.openchamber.visual.option.userMessageRendering.markdown.description":"Renderiza el texto del usuario con formato markdown.","settings.openchamber.visual.option.userMessageRendering.plain.label":"Texto plano","settings.openchamber.visual.option.userMessageRendering.plain.description":"Renderiza el texto del usuario con espacios en blanco y enlaces preservados.","chat.message.userText.showLess":"Mostrar menos","chat.message.userText.showFullMessage":"Mostrar mensaje completo","settings.openchamber.visual.option.messageTransport.auto.label":"Automático","settings.openchamber.visual.option.messageTransport.auto.description":"Preferir WebSocket y caer en SSE si es necesario.","settings.openchamber.visual.option.messageTransport.ws.label":"WebSocket","settings.openchamber.visual.option.messageTransport.ws.description":"Usar WebSocket para transmisión de mensajes.","settings.openchamber.visual.option.messageTransport.sse.label":"SSE","settings.openchamber.visual.option.messageTransport.sse.description":"Usar server-sent events para transmitir mensajes.","settings.openchamber.visual.option.activityRenderMode.collapsed.label":"Colapsado","settings.openchamber.visual.option.activityRenderMode.collapsed.description":"Mantener la Actividad colapsada por defecto.","settings.openchamber.visual.option.activityRenderMode.summary.label":"Expandido","settings.openchamber.visual.option.activityRenderMode.summary.description":"Expandir la Actividad por defecto.","settings.openchamber.visual.option.timeFormat.auto.label":"Auto","settings.openchamber.visual.option.timeFormat.auto.description":"Usa la preferencia de la configuración regional del sistema.","settings.openchamber.visual.option.timeFormat.24h.label":"24 horas","settings.openchamber.visual.option.timeFormat.24h.description":"Mostrar la hora como 14:15.","settings.openchamber.visual.option.timeFormat.12h.label":"12 horas","settings.openchamber.visual.option.timeFormat.12h.description":"Mostrar la hora como 02:15 PM.","settings.openchamber.visual.option.weekStart.auto.label":"Auto","settings.openchamber.visual.option.weekStart.auto.description":"Usa el inicio de semana de la configuración regional.","settings.openchamber.visual.option.weekStart.monday.label":"Lunes","settings.openchamber.visual.option.weekStart.sunday.label":"Domingo","settings.magicPrompts.page.loading.aria":"Cargando","settings.magicPrompts.page.loading.text":"Cargando prompts mágicos...","settings.magicPrompts.page.block.visiblePrompt":"Prompt visible","settings.magicPrompts.page.block.instructions":"Instrucciones","settings.magicPrompts.page.group.gitCommitGenerate.title":"Generación de commit","settings.magicPrompts.page.group.gitCommitGenerate.description":"Prompts usados para la generación de mensajes de commit: mensaje visible del usuario + instrucciones ocultas.","settings.magicPrompts.page.group.gitPrGenerate.title":"Generación de PR","settings.magicPrompts.page.group.gitPrGenerate.description":"Prompts usados para la generación del título/cuerpo de un PR: mensaje visible del usuario + instrucciones ocultas.","settings.magicPrompts.page.group.gitConflictResolve.title":"Resolución de conflictos de merge/rebase","settings.magicPrompts.page.group.gitConflictResolve.description":"Prompts usados al resolver conflictos de merge/rebase con IA.","settings.magicPrompts.page.group.gitCherrypickConflictResolve.title":"Resolución de conflictos de cherry-pick","settings.magicPrompts.page.group.gitCherrypickConflictResolve.description":"Prompts usados al resolver conflictos de cherry-pick en el flujo de integración.","settings.magicPrompts.page.group.planImprove.title":"Mejora de plan","settings.magicPrompts.page.group.planImprove.description":"Prompt oculto usado al enviar un plan guardado a un flujo de mejora.","settings.magicPrompts.page.group.planTodo.title":"Planificación de tareas","settings.magicPrompts.page.group.planTodo.description":"Prompt oculto usado al enviar una tarea a una nueva sesión de planificación.","settings.magicPrompts.page.group.planImplement.title":"Implementación de plan","settings.magicPrompts.page.group.planImplement.description":"Prompt oculto usado al enviar un plan guardado a un flujo de implementación.","settings.magicPrompts.page.group.sessionSummary.title":"Resumen de sesión","settings.magicPrompts.page.group.sessionSummary.description":"Prompts usados por el comando /summary: mensaje visible del usuario + instrucciones ocultas. No destructivo: no compacta el historial de la sesión.","settings.magicPrompts.page.group.sessionWorkspaceReview.title":"Revisión del espacio de trabajo","settings.magicPrompts.page.group.sessionExplore.title":"Recorrido del código","settings.magicPrompts.page.group.sessionExplore.description":"Prompts usados por el comando /explore: mensaje visible del usuario + instrucciones ocultas. Investiga el repositorio y ofrece una orientación estructurada — la visión general, los módulos principales, cómo se conectan y por dónde empezar — en lugar de un listado archivo por archivo.","settings.magicPrompts.page.group.sessionWorkspaceReview.description":"Prompts usados por el comando /workspace-review: mensaje visible del usuario + instrucciones ocultas. Revisa el diff del espacio de trabajo: si logra su intención y si es correcto y adecuado, clasificando los hallazgos por severidad. Las instrucciones también guían las sesiones de revisión, incluido el bucle de revisión automática.","settings.magicPrompts.page.group.sessionFeaturePlan.title":"Planificación de funciones","settings.magicPrompts.page.group.sessionFeaturePlan.description":"Prompts usados por el comando /plan-feature: mensaje visible del usuario + instrucciones ocultas. Ejecuta un diálogo guiado que investiga el código y hace preguntas aclaratorias en lotes pequeños antes de producir un plan de implementación.","settings.magicPrompts.page.group.sessionCatchUp.title":"Ponerse al día","settings.magicPrompts.page.group.sessionCatchUp.description":"Prompts usados por el comando /catch-up: mensaje visible del usuario + instrucciones ocultas. Construye contexto según la rama — los commits de la rama, su PR y el trabajo sin confirmar juntos — para entender qué estabas haciendo, y luego da un resumen fácil de digerir y un siguiente paso centrado en el producto.","settings.magicPrompts.page.group.sessionDebug.title":"Depuración","settings.magicPrompts.page.group.sessionDebug.description":"Prompts usados por el comando /debug: mensaje visible del usuario + instrucciones ocultas. Ejecuta una investigación guiada de la causa raíz: captura el síntoma, formula hipótesis, las verifica contra el código y confirma la causa antes de proponer una solución.","settings.magicPrompts.page.group.sessionWeigh.title":"Comparar enfoques","settings.magicPrompts.page.group.sessionWeigh.description":"Prompts usados por el comando /weigh: mensaje visible del usuario + instrucciones ocultas. Investiga el código y luego presenta 2-3 enfoques distintos con sus ventajas y desventajas y una recomendación, sin escribir un plan ni código.","settings.magicPrompts.page.group.sessionFusion.title":"Fusion","settings.magicPrompts.page.group.sessionFusion.description":"Prompts usados para combinar salidas de multi-run en una respuesta final: mensaje visible del usuario + instrucciones ocultas antes de los resultados fuente.","settings.magicPrompts.page.group.memoryTidy.title":"Ordenar la memoria","settings.magicPrompts.page.group.memoryTidy.description":"Prompts usados por el botón Ordenar del panel Memoria: mensaje visible del usuario + instrucciones ocultas, seguidas de cada entrada guardada. El agente elimina entradas obsoletas, fusiona duplicados, reescribe lo que cambió e informa de lo que hizo.","settings.magicPrompts.page.actions.resetting":"Restableciendo...","settings.magicPrompts.page.actions.resetAllOverrides":"Restablecer todas las sobrescrituras","settings.magicPrompts.page.actions.resetToDefault":"Restablecer valores predeterminados","settings.magicPrompts.page.actions.save":"Guardar","settings.magicPrompts.page.placeholdersLabel":"Marcadores de posición:","settings.magicPrompts.page.validation.visiblePromptRequired":"El prompt visible no puede estar vacío.","settings.magicPrompts.page.status.unsavedChanges":"Cambios no guardados","settings.magicPrompts.page.status.usingSavedOverride":"Usando sobrescritura guardada","settings.magicPrompts.page.status.usingBuiltinDefault":"Usando valor predeterminado integrado","settings.magicPrompts.page.toast.loadFailed":"No se pudieron cargar los prompts mágicos","settings.magicPrompts.page.toast.visiblePromptRequired":"El prompt visible no puede estar vacío","settings.magicPrompts.page.toast.saved":"Prompt mágico guardado","settings.magicPrompts.page.toast.saveFailed":"No se pudo guardar el prompt mágico","settings.magicPrompts.page.toast.resetSuccess":"Prompt restablecido al valor predeterminado","settings.magicPrompts.page.toast.resetFailed":"No se pudo restablecer el prompt","settings.magicPrompts.page.toast.resetAllSuccess":"Se restablecieron todos los prompts sobrescritos","settings.magicPrompts.page.toast.resetAllFailed":"No se pudieron restablecer todos los prompts","settings.page.promptTemplates.title":"Plantillas de prompt","settings.promptTemplates.sidebar.title":"Plantillas de prompt","settings.promptTemplates.sidebar.total":"Total: {count}","settings.promptTemplates.sidebar.empty.title":"Sin plantillas de prompt","settings.promptTemplates.sidebar.empty.description":"Crea una plantilla de prompt para comenzar.","settings.promptTemplates.sidebar.toast.deleted":'Plantilla "{name}" eliminada',"settings.promptTemplates.sidebar.toast.deleteFailed":"Error al eliminar la plantilla","settings.promptTemplates.sidebar.toast.nameRequired":"El nombre de la plantilla es obligatorio","settings.promptTemplates.sidebar.toast.renamed":"Plantilla renombrada","settings.promptTemplates.sidebar.toast.renameFailed":"Error al renombrar la plantilla","settings.promptTemplates.sidebar.dialog.deleteTitle":"¿Eliminar plantilla?","settings.promptTemplates.sidebar.dialog.deleteDescription":'Se eliminará permanentemente "{name}". Esta acción no se puede deshacer.',"settings.promptTemplates.sidebar.renameDialog.title":"Renombrar plantilla","settings.promptTemplates.sidebar.renameDialog.description":'Introduce un nuevo nombre para "{name}".',"settings.promptTemplates.sidebar.renameDialog.placeholder":"Nombre de la plantilla","settings.promptTemplates.sidebar.badge.default":"predeterminada","settings.promptTemplates.page.empty.title":"Selecciona una plantilla","settings.promptTemplates.page.empty.description":"Elige una plantilla de la barra lateral para editarla.","settings.promptTemplates.page.title.new":"Nueva plantilla","settings.promptTemplates.page.subtitle.edit":"Editar plantilla","settings.promptTemplates.page.subtitle.new":"Crear una nueva plantilla de prompt","settings.promptTemplates.page.section.identity":"Identidad","settings.promptTemplates.page.field.name":"Nombre","settings.promptTemplates.page.field.namePlaceholder":"Nombre de la plantilla","settings.promptTemplates.page.section.template":"Plantilla","settings.promptTemplates.page.field.templatePlaceholder":"Introduce el texto de la plantilla de prompt...","settings.promptTemplates.page.templateHint":"Este texto se antepondrá al prompt del usuario cuando se seleccione en un grupo multi-run.","settings.promptTemplates.page.toast.nameRequired":"El nombre de la plantilla es obligatorio","settings.promptTemplates.page.toast.updated":"Plantilla actualizada","settings.promptTemplates.page.toast.updateFailed":"Error al actualizar la plantilla","settings.promptTemplates.page.toast.created":"Plantilla creada","settings.promptTemplates.page.toast.createFailed":"Error al crear la plantilla","settings.promptTemplates.page.toast.saveUnexpectedError":"Ocurrió un error inesperado al guardar","settings.openchamber.visual.section.followUpBehavior":"Follow-up behavior","settings.openchamber.visual.section.followUpBehaviorAria":"Follow-up behavior","settings.openchamber.visual.field.followUpBehaviorAria":"Follow-up behavior: {option}","settings.openchamber.visual.field.followUpBehaviorDescription":"Choose what happens when you press Enter on a follow-up message while the agent is still responding.","settings.openchamber.visual.option.followUpBehavior.steer.label":"Steer","settings.openchamber.visual.option.followUpBehavior.queue.label":"Queue","settings.gitlab.title":"GitLab","settings.gitlab.info":"Conecta GitLab.com o una instancia autogestionada para solicitudes de fusión, incidencias y CI.","settings.gitlab.instance.customLabel":"Instancia de GitLab","settings.gitlab.instance.customInfo":"Usa un origen HTTPS. HTTP solo se permite para direcciones locales.","settings.gitlab.actions.useInstance":"Usar instancia","settings.sourceControl.status.checking":"Comprobando conexión…","settings.gitlab.status.operationFailed":"La operación falló","settings.gitlab.status.tokenRejected":"GitLab no aceptó ese token. Comprueba que pertenece a esta instancia y que tiene acceso a la API.","settings.gitlab.status.notConnected":"No conectado","settings.gitlab.status.connected":"Conectado","settings.gitlab.actions.connect":"Conectar GitLab","settings.gitlab.token.label":"Token de acceso personal","settings.gitlab.token.info":"OpenChamber guarda el token en su servidor y nunca vuelve a mostrarlo.","settings.gitlab.device.label":"Código del dispositivo","settings.gitlab.cli.label":"glab CLI","settings.gitlab.cli.info":"Usa las credenciales de glab cuando no haya una cuenta guardada activa.","settings.gitlab.actions.enableCli":"Activar glab","settings.gitlab.actions.disableCli":"Desactivar glab","settings.gitlab.actions.addInstance":"Añadir instancia","settings.gitlab.device.waiting":"Autoriza el dispositivo en GitLab y vuelve a OpenChamber. Esta página se actualizará automáticamente.","settings.gitlab.actions.openGitLab":"Abrir GitLab","settings.sourceControl.accounts.inUse":"En uso","settings.sourceControl.accounts.connectedCount":"{count} cuentas","settings.sourceControl.accounts.needsAuthentication":"Requiere autenticación","settings.sourceControl.actions.reauthenticate":"Volver a autenticar","settings.sourceControl.actions.remove":"Eliminar","settings.sourceControl.actions.use":"Usar","settings.sourceControl.transport.retry":"Recargar y volver a intentar","settings.sourceControl.transport.remoteLabel":"Remoto","settings.sourceControl.transport.anonymous":"HTTPS anónimo, solo lectura","settings.sourceControl.transport.loading":"Cargando el transporte del repositorio…","settings.openchamber.visual.field.inputHistoryScope":"Alcance del historial de entrada","settings.openchamber.visual.field.inputHistoryScopeDescription":"Elige si los prompts enviados se recuperan en todos los proyectos conectados a este runtime o solo en la sesión actual.","settings.openchamber.visual.section.inputHistoryScopeAria":"Alcance del historial de entrada","settings.openchamber.visual.option.inputHistoryScope.global.label":"Todos los proyectos","settings.openchamber.visual.option.inputHistoryScope.session.label":"Sesión actual","settings.openchamber.visual.field.inputHistoryLimit":"Prompts que recordar","settings.openchamber.visual.field.inputHistoryLimitDescription":"Bajar este número elimina de inmediato los prompts más antiguos de tu historial.","settings.openchamber.visual.field.inputHistoryLimitAria":"Prompts que recordar","settings.openchamber.visual.field.inputHistoryLimitUnit":"prompts","settings.openchamber.visual.field.enterToSend":"Atajo de envío","settings.openchamber.visual.field.enterToSendHint":"Elige el atajo de envío para el compositor estándar. En el compositor expandido, Intro siempre añade una nueva línea y Ctrl/Cmd+Intro envía.","settings.openchamber.visual.option.enterToSend.enter.label":"Enviar con Intro","settings.openchamber.visual.option.enterToSend.modifier.label":"Enviar con Ctrl/Cmd+Intro",...i.es,...o.es,...s.es,...t.es,...a.es,...e.es,"settings.page.integrations.title":"Integraciones","settings.page.integrations.description":"Conecta los servicios y suscripciones con los que trabaja OpenChamber.","settings.agents.page.field.steps":"Pasos máximos","settings.agents.page.field.stepsTooltip":"Cuántos pasos de herramienta puede dar el agente en un turno antes de detenerse.","settings.agents.page.field.clearStepsAria":"Borrar pasos máximos","settings.commands.page.field.subagent":"Ejecutar en una sesión hija","settings.commands.page.field.subagentTooltip":"El comando se ejecuta en una sesión hija en segundo plano en vez de en la actual.","settings.common.legacyFormat.note":"Este archivo todavía usa el formato de OpenCode 1. El próximo guardado lo reescribirá como OpenCode 2.","settings.mcp.page.advanced.codemode":"Code Mode","settings.mcp.page.advanced.codemodeHint":"Normalmente cada herramienta de un servidor MCP se convierte en una herramienta aparte que el modelo ve y llama de una en una. Con Code Mode el modelo recibe una sola herramienta que ejecuta un script corto, y ese script llama a las herramientas de este servidor como funciones. Así el contexto no crece cuando un servidor tiene muchas herramientas y varias llamadas caben en un solo paso. Los modelos más pequeños escriben esos scripts con menos fiabilidad, por eso se puede desactivar por servidor.","settings.mcp.page.advanced.timeoutStartupMs":"Tiempo de arranque (ms)","settings.mcp.page.advanced.timeoutStartupHint":"Cuánto esperar a que arranque el proceso del servidor.","settings.mcp.page.advanced.timeoutCatalogMs":"Tiempo de catálogo (ms)","settings.mcp.page.advanced.timeoutCatalogHint":"Cuánto esperar mientras el servidor lista sus herramientas.","settings.mcp.page.advanced.timeoutExecutionMs":"Tiempo de ejecución (ms)","settings.mcp.page.advanced.timeoutExecutionHint":"Cuánto esperar a que termine una llamada de herramienta.","settings.mcp.page.advanced.summary.startup":"arranque {value}","settings.mcp.page.advanced.summary.catalog":"catálogo {value}","settings.mcp.page.advanced.summary.execution":"ejecución {value}","settings.mcp.page.advanced.codemodeDefaultHint":"Predeterminado deja que OpenCode decida: Code Mode está activado en la mayoría de los servidores, pero OpenCode lo desactiva en los que traen el suyo propio, como executor.sh, y pide a PostHog herramientas simples en lugar de su propio Code Mode.","settings.mcp.page.advanced.codemodeOption.default":"Predeterminado (decide OpenCode)","settings.mcp.page.advanced.codemodeOption.on":"Activado","settings.mcp.page.advanced.codemodeOption.off":"Desactivado","settings.mcp.page.advanced.summary.codemodeOn":"Code Mode activado","settings.mcp.page.advanced.summary.codemodeOff":"Code Mode desactivado","settings.mcp.page.advanced.protocol":"Protocolo","settings.mcp.page.advanced.protocolHint":"Legacy abre la conexión con el handshake initialize y habla revisiones del protocolo hasta 2025-11-25. Auto sondea la revisión 2026-07-28 y vuelve a legacy cuando el servidor no la admite. 2026-07-28 exige esa revisión y falla en caso contrario.","settings.mcp.page.advanced.protocolOption.legacy":"Legacy (predeterminado)","settings.mcp.page.advanced.protocolOption.auto":"Automático","settings.mcp.page.advanced.protocolOption.revision20260728":"2026-07-28","settings.mcp.page.advanced.oauth":"OAuth","settings.mcp.page.advanced.oauthMetadataUrl":"URL de metadatos del servidor de autorización","settings.mcp.page.advanced.oauthMetadataUrlHint":"El documento de metadatos del servidor de autorización OAuth u OpenID Connect. Defínelo cuando el servidor MCP no publique metadatos de recurso protegido que nombren su servidor de autorización.","settings.mcp.page.advanced.oauthMetadataUrlPlaceholder":"https://example.com/.well-known/oauth-authorization-server","settings.mcp.page.advanced.oauthMetadataUrlInvalid":"Introduce una dirección http:// o https:// completa.","settings.magicPrompts.page.block.codeFusionInstructions":"Instrucciones de fusion de código","settings.openchamber.desktopNetwork.field.linuxNativeFrame":"Usar la barra de título del sistema","settings.openchamber.desktopNetwork.field.linuxNativeFrameDescription":"Requiere reiniciar la app. La ventana usa la barra de título y los botones de tu entorno de escritorio, encima de la cabecera de OpenChamber.","settings.openchamber.visual.field.customFont":"Personalizada…","settings.openchamber.visual.field.customFontPlaceholder":"Nombre de una fuente instalada, p. ej. Maple Mono NF CN","settings.openchamber.visual.field.customFontAria":"Nombre de la fuente personalizada","settings.openchamber.defaults.field.showChats":"Mostrar chats en la barra lateral","settings.openchamber.visual.field.fileEditorVimMappings":"Mapeos de Vim","settings.openchamber.visual.field.fileEditorVimMappingsInfo":"Un mapeo por línea, escrito como en un vimrc. Se aplican siempre que el editor está en modo Vim. Admite map, noremap y sus variantes n, i, v, x y o.","settings.openchamber.visual.field.fileEditorVimMappingsInvalid":"No se aplican, el editor no puede leer estas líneas: {lines}","settings.agents.page.field.color":"Color","settings.agents.page.field.colorTooltip":"Marca al agente en el compositor, los menús y los mensajes. Se guarda en la configuración del agente, así que OpenCode también la usa. Si no hay ninguno, se elige un color del tema.","settings.agents.page.field.colorAutomatic":"Automático (color del tema)","settings.agents.page.field.colorSwatchAria":"Usar el color {color}","settings.agents.page.field.colorCustomAria":"Elegir un color personalizado","settings.agents.page.field.colorHexAria":"Color en hexadecimal, por ejemplo #ff6b6b","settings.agents.sidebar.section.disabled":"Desactivados","settings.agents.sidebar.actions.disable":"Desactivar","settings.agents.sidebar.actions.enable":"Activar","settings.agents.sidebar.actions.enableAria":"Activar {name}","settings.agents.sidebar.toast.agentDisabled":"{name} está desactivado. Su archivo se conserva; actívalo de nuevo desde la lista Desactivados.","settings.agents.sidebar.toast.agentEnabled":"{name} vuelve a estar activado","settings.agents.sidebar.toast.disableFailed":"No se pudo desactivar el agente: no se pudo escribir su archivo de configuración","settings.agents.sidebar.toast.enableFailed":"No se pudo activar el agente: no se pudo escribir su archivo de configuración"},z={"opencodeCompatibility.bundled":"OpenCode viene incluido en OpenChamber. Actualiza OpenChamber para obtener OpenCode v2.","opencodeCompatibility.title":"Se requiere OpenCode v2","opencodeCompatibility.outdatedTitle":"Actualiza OpenCode","opencodeCompatibility.outdatedLocal":"Tienes instalado OpenCode {version}. Esta versión de OpenChamber requiere OpenCode {minimum} o posterior.","opencodeCompatibility.outdatedExternal":"El servidor conectado usa OpenCode {version}. Actualízalo a OpenCode {minimum} o posterior y vuelve a conectarte.","opencodeCompatibility.update":"Actualizar OpenCode","opencodeCompatibility.local":"Tienes instalado OpenCode {version}. Esta versión de OpenChamber requiere OpenCode v2.","opencodeCompatibility.external":"El servidor conectado usa OpenCode {version}. Instala OpenCode v2 en ese servidor y vuelve a conectarte.","opencodeCompatibility.installDescription":"OpenChamber instalará v2 con el instalador oficial y después reiniciará OpenCode.","opencodeCompatibility.install":"Actualizar a OpenCode v2","opencodeCompatibility.reconnect":"Comprobar de nuevo","opencodeCompatibility.guide":"Guía de instalación","opencodeCompatibility.installing":"Instalando OpenCode v2…","opencodeCompatibility.reconnecting":"Conectando de nuevo…","opencodeCompatibility.failed":"No se pudo completar la operación. Inténtalo de nuevo o sigue la guía de instalación y vuelve a conectarte.","sessions.aiRename.action":"Renombrar con IA","sessions.aiRename.generating":"Generando el título de la sesión...","sessions.aiRename.checking":"Comprobando los turnos completados...","sessions.aiRename.noCompletedTurns":"Disponible después de la primera respuesta completada.","sessions.aiRename.failed":"No se pudo renombrar la sesión. Revisa la configuración del modelo pequeño e inténtalo de nuevo.","sessions.aiRename.unsupported":"El cambio de nombre con IA no está disponible en VS Code.","smallModel.toast.unavailable.title":"Small Model no disponible","smallModel.toast.unavailable.description":"Elige otro modelo en Ajustes → Sesiones → Small Model e inténtalo de nuevo.","sessions.aiRename.noSmallModel":"Necesita un Small Model. Inicia sesión en un proveedor de modelos o elige uno en Ajustes → Sesiones.","commitComparison.mode":"Commit","pullRequestComparison.select":"Seleccionar solicitud de incorporación","pullRequestComparison.pickAbove":"Elige una solicitud de incorporación arriba","pullRequestComparison.partial":"No se pudieron cargar algunas solicitudes de incorporación","commitComparison.select":"Seleccionar commit","commitComparison.search":"Buscar commits...","commitComparison.loadError":"No se pudieron cargar los commits","commitComparison.noCommits":"No se encontraron commits","commitComparison.emptyDiff":"No hay cambios en este commit","chat.liveActivity.title":"Actividad","chat.liveActivity.moreRows":"+{count} más","chat.liveActivity.changedFile":"{count} archivo modificado","chat.liveActivity.changedFiles":"{count} archivos modificados","chat.liveActivity.explored":"Código explorado","chat.liveActivity.ranCommand":"{count} comando ejecutado","chat.liveActivity.ranCommands":"{count} comandos ejecutados","chat.liveActivity.researched":"Investigación en la web realizada","chat.liveActivity.usedSubagent":"{count} subagente utilizado","chat.liveActivity.usedSubagents":"{count} subagentes utilizados","sessions.sidebar.projectAction.active":"Acción del proyecto en curso",...E,"gitView.context.configure":"Configurar repositorio","gitView.context.description":"Remotos que la identidad del repositorio no alcanza y acceso para submódulos y Git LFS. Las identidades están en los ajustes de Git.","gitView.context.needsAttention":"Requiere atención","gitView.identity.system":"Identidad del sistema","gitView.identity.systemNoAuthor":"No hay autor configurado en este equipo","gitView.identity.configChanged":"La configuración de Git del repositorio cambió después de aplicar esta identidad. Vuelve a elegir la identidad para actualizarla.","gitView.identity.unavailableHost":"Este repositorio no está en {host}","gitView.identity.unavailableNeedsHttps":"Hace push por HTTPS, pero este repositorio usa SSH","gitView.identity.unavailableNeedsSsh":"Hace push por SSH, pero este repositorio usa HTTPS","gitView.context.settings":"Abrir ajustes de Git","gitView.operation.title":"Operación de Git","gitView.operation.recovery.storage":"OpenChamber no puede guardar aquí el estado de las transferencias de Git. Permite el almacenamiento del sitio y recarga; hasta entonces, push y pull quedan en pausa.","gitView.operation.recovery.capacity":"Hay demasiadas transferencias de Git sin terminar guardadas. Revisa las de abajo antes de empezar otra.","gitView.operation.recovery.reconciling":"Comprobando la transferencia de Git anterior…","gitView.operation.recovery.repository":"No se pudo leer este repositorio. Vuelve a comprobarlo antes de hacer push o pull.","gitView.operation.recovery.inspect":"Si sigue sin saberse, revisa tú el repositorio y el remoto. OpenChamber nunca repite una transferencia por su cuenta.","gitView.operation.unknownHint":"No se sabe si esto llegó. Vuelve a comprobarlo antes de hacer push o pull otra vez.","gitView.operation.refresh":"Comprobar de nuevo","gitView.operation.cancel":"Cancelar","gitView.operation.state.unavailable":"Estado desconocido","gitView.operation.state.planned":"Iniciando","gitView.operation.state.running":"En curso","gitView.operation.state.succeeded":"Completada","gitView.operation.state.partial":"Hecho en parte","gitView.operation.state.failed":"Fallida","gitView.operation.state.cancelled":"Cancelada","gitView.operation.state.outcome-unknown":"Resultado desconocido","gitView.operation.state.conflicted":"Conflicto","gitView.operation.state.skipped":"Omitida","gitView.remotes.title":"Otros remotos","gitView.remotes.description":"Estos remotos están en un host o dirección que la identidad del repositorio no alcanza. Elige una identidad para cada uno para hacer fetch y push allí.","gitView.hydration.title":"Submódulos y Git LFS","gitView.hydration.description":"Acceso a submódulos y archivos de Git LFS que están en otros servidores.","gitView.hydration.parentRemote":"Remoto","gitView.hydration.retry":"Descargar de nuevo","gitView.hydration.endpoint":"Servidor","gitView.hydration.identity":"Identidad para este servidor","gitView.hydration.authorizationNeeded":"Algunos submódulos o archivos LFS están en servidores a los que OpenChamber aún no llega. Elige una identidad para cada uno y descarga de nuevo.","gitView.hydration.chooseEndpoint":"Elige un servidor","gitView.hydration.lfsMissing":"Git LFS no está instalado. Instala git-lfs y descarga de nuevo.","gitView.hydration.kind.submodule":"Submódulo","gitView.hydration.kind.lfs":"Git LFS","gitView.hydration.status.succeeded":"Completado","gitView.hydration.status.failed":"Error","gitView.hydration.status.cancelled":"Cancelado","gitView.hydration.status.authorization-required":"Autorización necesaria","gitView.hydration.status.invalid":"Configuración no válida","gitView.hydration.status.client-missing":"Git LFS no instalado","gitView.hydration.status.not-needed":"No es necesario","gitView.publish.title":"Publicar","gitView.publish.pushTo":"Push a…","gitView.publish.commitKept":"El commit se hizo localmente, pero el push no terminó.","gitView.publish.syncTitle":"Dónde sincronizar","gitView.publish.description":"Elige adónde hacer push de {branch}.","gitView.publish.fetchSource":"Hacer pull desde","gitView.publish.sourceBranch":"Rama de origen","gitView.publish.fetchFirst":"Aún no se conoce ninguna rama de este remoto. Haz fetch primero.","gitView.publish.pushDestination":"Hacer push a","gitView.publish.selectRemote":"Elige un remoto","gitView.publish.destinationBranch":"Rama de destino","gitView.publish.noGrants":"Este repositorio no tiene un remoto donde publicar.","gitView.toast.pushFailed":"Error al hacer push","gitView.publish.trackingRemoteMismatch":"Esta rama sigue a otro remoto.","gitView.publish.trackingRequired":"Esta rama aún no tiene upstream. Publícala primero.","gitView.publish.remoteNotGranted":"La identidad del repositorio no alcanza este remoto. Elige una identidad para él en Configurar repositorio.","gitView.publish.needsAttention":"La identidad del repositorio necesita atención. Vuelve a elegirla desde el botón de identidad.","gitView.publish.contributorCommitFirst":"Elegirás adónde hacer push después del commit. Si cancelas entonces, el commit se queda en local.","gitView.publish.detached":"Cámbiate a una rama antes de hacer push.","gitView.publish.stale":"La rama o sus remotos cambiaron mientras tanto. No se envió nada; elige otra vez adónde hacer push.","gitView.publish.cancelled":"Push cancelado. No se envió nada.","gitView.publish.succeeded":"Push hecho",...N.es,...D.es,...R.es,...I.es,...T.es,...P.es,...A.es,...S.es,...C.es,...k.es,...y.es,...w.es,...f.es,...v.es,...b.es,...h.es,...g.es,...m.es,...u.es,...p.es,...d.es,...c.es,...l.es,...r.es,...n.es,"terminalView.actions.attachSelection":"Adjuntar salida seleccionada","terminalView.actions.copySelection":"Copiar salida seleccionada","terminalView.toast.selectionCopied":"Salida copiada","terminalView.toast.copyFailed":"Error al copiar","terminalView.actions.copy":"Copiar","terminalView.actions.paste":"Pegar","terminalView.toast.pasteFailed":"No se pudo leer el portapapeles. Usa el atajo de teclado para pegar.","terminalView.toast.pasteFailedTouch":"No se pudo leer el portapapeles.","terminalView.actions.restart":"Reiniciar terminal","chat.message.terminalContext":"{terminal}, líneas {start}-{end}","chat.message.context.codeComment":"Comentario en {file}, líneas {start}-{end}","chat.message.context.codeCommentLine":"Comentario en {file}, línea {line}","chat.message.context.chatQuote":"Cita de un mensaje anterior","chat.message.context.showQuoteSource":"Mostrar en el mensaje original","chat.message.context.fileQuote":"Selección de {file}","chat.chatInput.chatQuoteContext":"Citas del chat","chat.chatInput.chatQuoteContextRemove":"Quitar citas del chat","chat.chatInput.contextPreview.selectedLabel":"Texto seleccionado","chat.chatInput.contextPreview.commentLabel":"Comentario del usuario","chat.chatInput.contextPreview.edit":"Editar comentario","chat.chatInput.contextPreview.remove":"Quitar","chat.message.context.browserAnnotation":"Anotación del navegador ({page})","chat.message.context.prComment":"Comentario de PR de GitHub ({label})","chat.message.context.mrComment":"Comentario de MR de GitLab ({label})","chat.message.context.prCheck":"Verificación de PR de GitHub fallida ({label})","chat.message.context.mrCheck":"Job de pipeline de GitLab fallido ({label})","chat.chatInput.terminalContext":"{terminal}, líneas {start}-{end}","chat.chatInput.terminalContextRemove":"Eliminar contexto del terminal","chat.chatInput.prCommentContext":"Comentarios del PR","chat.chatInput.mrCommentContext":"Comentarios del MR","chat.chatInput.waitingForOpenCode":"Esperando a OpenCode…","chat.chatInput.waitingForOpenCodeHint":"El mensaje se enviará en cuanto OpenCode se inicie","chat.chatInput.prCommentContextRemove":"Quitar el contexto de comentarios del PR","chat.chatInput.prCheckContext":"Comprobaciones del PR fallidas","chat.chatInput.mrCheckContext":"Jobs de pipeline fallidos","chat.chatInput.prCheckContextRemove":"Quitar el contexto de comprobaciones del PR","common.loading":"Cargando...","common.unavailable":"No disponible","common.language.english":"Inglés","common.language.german":"Alemán","common.language.french":"Francés","common.language.simplifiedChinese":"Chino (simplificado)","common.language.traditionalChinese":"Chino (tradicional)","common.language.ukrainian":"Ucraniano","common.language.spanish":"Español","common.language.brazilianPortuguese":"Portugués brasileño","common.language.korean":"Coreano","common.language.polish":"Polaco","common.language.japanese":"Japonés","common.language.turkish":"Turco","common.language.arabic":"Árabe","common.language.hebrew":"Hebreo","common.language.dutch":"Neerlandés","common.revealPath.finder":"Mostrar en Finder","common.revealPath.fileExplorer":"Abrir en File Explorer","common.revealPath.fileManager":"Abrir en gestor de archivos","pwa.installPrompt.description":"Instala OpenChamber para acceder más rápido","pwa.installPrompt.action":"Instalar","pwa.installPrompt.dismiss":"Descartar","pwa.installPrompt.started":"Instalación iniciada","pwa.installPrompt.installed":"OpenChamber se instaló","layout.mainTab.chat":"Chat","layout.mainTab.plan":"Plan","layout.mainTab.diff":"Diff","layout.mainTab.diagram":"Diagrama","layout.mainTab.files":"Archivos","layout.mainTab.terminal":"Terminal","layout.mainTab.context":"Contexto","mobile.nav.aria":"Navegación móvil","mobile.connect.welcome.title":"Conéctate a OpenChamber","mobile.connect.welcome.description":"Agrega una URL de servidor o escanea un código QR de emparejamiento para empezar a usar la app móvil.","mobile.connect.url.label":"URL del servidor","mobile.connect.url.placeholder":"http://192.168.1.74:2606","mobile.connect.token.label":"Token de cliente","mobile.connect.token.placeholder":"Pega el token de acceso","mobile.connect.token.hint":"Solo es necesario si tu servidor requiere un token en lugar de una contraseña.","mobile.connect.password.label":"Contraseña","mobile.connect.password.placeholder":"Contraseña de OpenChamber","mobile.connect.connectButton":"Conectar","mobile.connect.unlockButton":"Desbloquear y conectar","mobile.connect.cancelPassword":"Usar otro servidor","mobile.connect.connecting":"Conectando...","mobile.connect.notice.unreachable":"No se pudo conectar con {label}. Comprueba que el servidor esté en marcha.","mobile.connect.notice.relayLimit":"El Relay rechazó la conexión con {label}: demasiados dispositivos o reconexiones. Cierra OpenChamber en otro dispositivo o espera un minuto y luego toca {label} para volver a intentarlo.","mobile.connect.notice.authExpired":"El acceso a {label} caducó o fue revocado. Inicia sesión de nuevo.","mobile.connect.recovery.description":"No se pudo conectar con el servidor guardado. Comprueba que esté en marcha o elige otra instancia.","mobile.connect.scanQr":"Escanear código QR","mobile.connect.welcome.scanHint":"En tu ordenador, abre «Añadir un dispositivo» para mostrar un código QR y escanéalo aquí.","mobile.connect.advanced":"Avanzado","mobile.connect.manual.toggle":"Conectar por dirección","mobile.connect.scan.permissionDenied":"El acceso a la cámara está desactivado. Actívalo en Ajustes para escanear un código QR.","mobile.connect.scan.failed":"No se pudo escanear ese código QR. Inténtalo de nuevo o introduce la URL manualmente.","mobile.connect.scan.invalid":"Ese código QR no es un código de conexión de OpenChamber.","mobile.connect.scan.unsupported":"El escaneo de QR solo está disponible en la app móvil instalada.","mobile.connect.saved.title":"Conexiones guardadas","mobile.connect.saved.empty":"Aún no hay conexiones guardadas.","mobile.connect.relay.badge":"a través de OpenChamber Relay","mobile.connect.error.urlRequired":"Introduce una URL de servidor.","mobile.connect.splash.connectingTo":"Conectando al dispositivo:","mobile.connect.error.invalidUrl":"Esa URL de servidor no es válida.","mobile.connect.error.unreachable":"No se pudo conectar con ese servidor de OpenChamber.","mobile.connect.error.relayLimit":"El Relay rechazó la conexión: demasiados dispositivos o reconexiones. Cierra OpenChamber en otro dispositivo o espera un minuto y vuelve a intentarlo.","mobile.connect.error.authRequired":"Este servidor requiere una contraseña o un token de cliente.","mobile.connect.error.passwordFailed":"No se pudo desbloquear ese servidor. Revisa la contraseña.","mobile.instances.addTitle":"Agregar instancia","mobile.instances.addManual":"Añadir por dirección","mobile.instances.editTitle":"Editar instancia","mobile.instances.edit":"Editar","mobile.instances.delete":"Eliminar","mobile.instances.deleteAria":"Eliminar {label}","mobile.instances.confirmDeleteAria":"Confirmar la eliminación de {label}","mobile.instances.cancelDeleteAria":"Conservar {label}","mobile.instances.cancelEdit":"Cancelar","mobile.instances.label.label":"Nombre","mobile.instances.label.placeholder":"Nombre para mostrar (opcional)","mobile.instances.saveNew":"Guardar instancia","mobile.connectionDebug.title":"Registro de conexión","mobile.connectionDebug.copy":"Copiar","mobile.connectionDebug.copied":"Copiado","mobile.connectionDebug.close":"Cerrar","mobile.connectionDebug.empty":"Aún no hay eventos de conexión.","mobile.instances.status.connectedDirect":"Conectado · Red local","mobile.instances.status.connectedRelay":"Conectado · Relay privado","mobile.instances.saveEdit":"Guardar cambios","mobile.nav.changes":"Cambios","mobile.nav.settings":"Ajustes","mobile.surface.closeAria":"Cerrar","mobile.header.openWorkspaceAria":"Abrir panel de trabajo","mobile.header.openWorkspaceWithChangesAria":"Abrir panel de trabajo, cambios sin confirmar","mobile.header.openMetadataAria":"Abrir metadatos de la sesión","mobile.header.metadata.context":"Contexto","mobile.header.metadata.contextPending":"El uso del contexto aparecerá cuando comience la sesión.","mobile.header.metadata.usage":"Uso","mobile.menu.titleAria":"Herramientas del espacio de trabajo","mobile.menu.files":"Archivos","mobile.menu.git":"Git","mobile.menu.terminal":"Terminal","mobile.menu.mcp":"MCP","mobile.menu.instances":"Instancias","mobile.menu.update":"Actualizar","mobile.menu.settings":"Ajustes","mobile.sessions.footer.more":"Más","mobile.sessions.newChatCta":"Nuevo chat en {project}","mobile.sessions.dateGroup.today":"Hoy","mobile.sessions.dateGroup.yesterday":"Ayer","mobile.sessions.dateGroup.thisWeek":"Antes esta semana","mobile.sessions.dateGroup.older":"Más antiguos","mobile.sessions.section.worktrees":"Worktrees","mobile.sessions.section.otherProjects":"Cambiar de proyecto","mobile.sessions.section.projects":"Proyectos","mobile.sessions.viewMode.label":"Vista","mobile.sessions.viewMode.projects":"Árbol","mobile.sessions.viewMode.timeline":"Lista","mobile.sessions.section.chats":"Chats","mobile.sessions.empty.noProjectsTitle":"Sin proyectos","mobile.sessions.empty.noProjectsDescription":"Agrega un proyecto para empezar a chatear con tu código.","mobile.sessions.empty.noSessionsTitle":"Sin sesiones","mobile.sessions.empty.noSessionsDescription":"Inicia tu primer chat para verlo aquí.","mobile.sessions.empty.searchTitle":"Sin resultados","mobile.sessions.empty.searchDescription":"Prueba con otro término de búsqueda.","mobile.sessions.showArchived":"Mostrar archivadas ({count})","mobile.sessions.hideArchived":"Ocultar archivadas","mobile.sessions.activeWorktreeAria":"Worktree activo","mobile.sessions.startNewChat":"Iniciar nuevo chat","mobile.sessions.newChat":"Nuevo chat","mobile.sessions.editOrder":"Reordenar proyectos","mobile.sessions.doneEditing":"Listo","mobile.sessions.editOrderHint":"Arrastra el asa para reordenar los proyectos. Toca un proyecto para mostrar sus worktrees y arrástralos también. Toca la marca para terminar.","mobile.sessions.dragHandleAria":"Arrastra {label} para reordenar","mobile.sessions.moveUpAria":"Mover {label} arriba","mobile.sessions.moveDownAria":"Mover {label} abajo","mobile.sessions.removeProjectAria":"Eliminar {label}","mobile.sessions.confirmRemoveProjectAria":"Confirmar eliminación de {label}","mobile.sessions.toast.projectRemoved":"Se eliminó {label}","mobile.sessions.archiveSessionAria":"Archivar {title}","mobile.sessions.cancelArchiveAria":"Cancelar archivar {title}","mobile.sessions.renameSessionAria":"Renombrar {title}","mobile.sessions.renameError":"No se pudo renombrar la sesión","mobile.sessions.deleteSessionAria":"Eliminar {title}","mobile.sessions.confirmDeleteSessionAria":"Confirmar eliminación de {title}","mobile.sessions.editProjectAria":"Editar {label}","mobile.sessions.newSessionInProjectAria":"Nueva sesión en {label}","mobile.projectEdit.worktreesTitle":"Worktrees","mobile.projectEdit.worktreesEmpty":"Este proyecto aún no tiene worktrees.","mobile.projectEdit.reorderHint":"Arrastra para reordenar los worktrees.","mobile.projectEdit.dragWorktreeAria":"Arrastra {label} para reordenar","mobile.projectEdit.deleteWorktreeAria":"Eliminar worktree {label}","mobile.projectEdit.deleteWorktreeTitle":"Eliminar worktree","mobile.projectEdit.deleteWorktreeConfirmButton":"Eliminar","mobile.projectEdit.deleteWorktreeConfirm":"¿Eliminar el worktree «{name}»? No se puede deshacer.","mobile.projectEdit.deleteWorktreeDirty":"Este worktree tiene cambios sin confirmar que se perderán.","mobile.projectEdit.deleteWorktreeArchiveNote":"Se archivarán {count} sesión(es) adjunta(s).","mobile.projectEdit.deleteLocalBranch":"Eliminar también la rama local","mobile.projectEdit.deleteRemoteBranch":"Eliminar también la rama remota","mobile.sessions.showMore":"Mostrar {count} más","mobile.sessions.search.section.sessions":"Sesiones","mobile.sessions.search.section.archived":"Archivadas","mobile.sessions.search.section.projects":"Proyectos","mobile.sessions.clearSearchAria":"Limpiar búsqueda","mobile.header.noProject":"Selecciona un proyecto","mobile.header.activeSession":"Sesión activa","mobile.header.noSession":"No hay sesión activa","mobile.sessions.openSheetAria":"Abrir sesiones y proyectos","mobile.sessions.closeSheetAria":"Cerrar sesiones y proyectos","mobile.sessions.sheet.title":"Sesiones","mobile.sessions.sheet.description":"Cambia proyectos, abre sesiones o inicia un nuevo chat.","mobile.sessions.search.placeholder":"Buscar sesiones","mobile.sessions.empty":"No se encontraron sesiones.","mobile.sessions.unassignedProject":"Otras sesiones","mobile.sessions.newSessionAria":"Iniciar una nueva sesión en este proyecto","mobile.sessions.untitled":"Sesión sin título","mobile.sessions.project.sessionsSingle":"1 sesión","mobile.sessions.project.sessionsPlural":"{count} sesiones","mobile.files.refreshAria":"Actualizar archivos","mobile.files.backToParentAria":"Volver a {name}","mobile.files.rootDirectory":"Archivos del proyecto","mobile.files.search.placeholder":"Buscar archivos","mobile.files.search.empty":"No se encontraron archivos.","mobile.files.parentDirectory":"Directorio superior","mobile.files.empty.noDirectory":"Selecciona un proyecto para explorar archivos.","mobile.files.empty.directory":"Este directorio está vacío.","mobile.files.error.listFailed":"No se pudieron cargar los archivos","mobile.files.error.readUnavailable":"La vista previa del archivo no está disponible en este entorno.","mobile.files.file.truncated":"Vista previa del archivo truncada para móvil.","mobile.files.copyPathAria":"Copiar ruta del archivo","mobile.files.copyContent":"Copiar contenido","mobile.files.copyContentAria":"Copiar contenido del archivo","mobile.files.editAria":"Editar archivo","mobile.files.doneEditingAria":"Terminar edición","mobile.files.toast.pathCopied":"Ruta copiada","mobile.files.toast.contentCopied":"Contenido copiado","mobile.files.toast.copyFailed":"No se pudo copiar","mobile.changes.placeholder.title":"Cambios","mobile.changes.placeholder.description":"Aquí vivirán la revisión del árbol de trabajo, sync y commits.","mobile.changes.branchLabel":"Rama: {branch}","mobile.changes.cleanDescription":"No hay archivos modificados en este workspace.","mobile.changes.diffDetail.subtitle":"Diff de solo lectura","mobile.changes.diffDetail.loadFailed":"No se pudo cargar el diff","mobile.changes.diffDetail.missingTitle":"El archivo ya no tiene cambios","mobile.changes.diffDetail.missingDescription":"Vuelve a Cambios y actualiza la lista.","mobile.changes.diffDetail.imageUnavailable":"Los diffs de imagen aún no están disponibles en Cambios móvil.","mobile.settings.placeholder.title":"Ajustes","mobile.settings.placeholder.description":"Aquí vivirán los ajustes móviles de conexión y app.","layout.rightSidebar.git":"Git","layout.rightSidebar.files":"Archivos","layout.rightSidebar.context":"Contexto","layout.services.instance":"Instancia","layout.services.usage":"Uso","sessions.sidebar.header.actions.closeSessions":"Cerrar sesiones","sessions.sidebar.header.actions.addProject":"Añadir proyecto","sessions.sidebar.header.actions.newSession":"Nueva sesión","sessions.sidebar.header.actions.scheduledTasks":"Tareas programadas","sessions.scheduledTasks.dialog.title":"Tareas programadas","sessions.scheduledTasks.dialog.description":"Tareas del servidor que envían prompts a sesiones nuevas o existentes.","sessions.scheduledTasks.dialog.project.label":"Dónde ejecutar","sessions.scheduledTasks.dialog.project.placeholder":"Seleccionar proyecto","sessions.scheduledTasks.dialog.project.empty":"No hay proyectos","sessions.scheduledTasks.dialog.project.chats":"Chats","sessions.scheduledTasks.dialog.actions.newTask":"Nueva tarea","sessions.scheduledTasks.dialog.actions.runNow":"Ejecutar ahora","sessions.scheduledTasks.dialog.actions.edit":"Editar","sessions.scheduledTasks.dialog.actions.editAria":"Editar {taskName}","sessions.scheduledTasks.dialog.actions.deleteAria":"Eliminar {taskName}","sessions.scheduledTasks.dialog.loading":"Cargando tareas...","sessions.scheduledTasks.dialog.empty.noTasks":"No hay tareas programadas aún.","sessions.scheduledTasks.dialog.empty.selectProject":"Selecciona un proyecto para gestionar tareas programadas.","sessions.scheduledTasks.dialog.error.chooseProjectFirst":"Elige un proyecto primero","sessions.scheduledTasks.dialog.toast.loadFailed":"No se pudo cargar tareas programadas","sessions.scheduledTasks.dialog.toast.saved":"Tarea programada guardada","sessions.scheduledTasks.dialog.toast.updateFailed":"No se pudo actualizar la tarea","sessions.scheduledTasks.dialog.toast.deleted":"Tarea programada eliminada","sessions.scheduledTasks.dialog.toast.deleteFailed":"No se pudo eliminar la tarea","sessions.scheduledTasks.dialog.toast.started":"Tarea iniciada","sessions.scheduledTasks.dialog.toast.startedPersistWarning":"La tarea se inició, pero no se pudo guardar su estado. Puede seguir apareciendo como en ejecución hasta el siguiente inicio correcto.","sessions.scheduledTasks.dialog.toast.runFailed":"No se pudo ejecutar la tarea","sessions.scheduledTasks.dialog.confirm.deleteTask":'Eliminar tarea programada "{taskName}"?',"sessions.scheduledTasks.dialog.confirm.deleteLoopFile":"¿Eliminar la tarea de bucle «{taskName}» y su archivo Markdown?","sessions.scheduledTasks.dialog.schedule.daily":"Cada día {time}","sessions.scheduledTasks.dialog.schedule.dailyWithTimezone":"Cada día {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.weekly":"Cada semana {days} {time}","sessions.scheduledTasks.dialog.schedule.weeklyWithTimezone":"Cada semana {days} {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.once":"Una vez {date} {time}","sessions.scheduledTasks.dialog.schedule.onceWithTimezone":"Una vez {date} {time} ({timezone})","sessions.scheduledTasks.dialog.schedule.cron":"Cron: {cron}","sessions.scheduledTasks.dialog.schedule.cronWithTimezone":"Cron: {cron} ({timezone})","sessions.scheduledTasks.dialog.schedule.unknownDate":"Fecha desconocida","sessions.scheduledTasks.dialog.schedule.weekdayShort.sun":"Dom","sessions.scheduledTasks.dialog.schedule.weekdayShort.mon":"Lun","sessions.scheduledTasks.dialog.schedule.weekdayShort.tue":"Mar","sessions.scheduledTasks.dialog.schedule.weekdayShort.wed":"Mié","sessions.scheduledTasks.dialog.schedule.weekdayShort.thu":"Jue","sessions.scheduledTasks.dialog.schedule.weekdayShort.fri":"Vie","sessions.scheduledTasks.dialog.schedule.weekdayShort.sat":"Sáb","sessions.scheduledTasks.dialog.schedule.weekdayShort.unknown":"?","sessions.scheduledTasks.dialog.relativeTime.inLessThanOneMinute":"en <1m","sessions.scheduledTasks.dialog.relativeTime.justNow":"ahora mismo","sessions.scheduledTasks.dialog.relativeTime.inMinutes":"en {count}m","sessions.scheduledTasks.dialog.relativeTime.minutesAgo":"hace {count}m","sessions.scheduledTasks.dialog.relativeTime.inDuration":"en {duration}","sessions.scheduledTasks.dialog.relativeTime.durationAgo":"hace {duration}","sessions.scheduledTasks.dialog.status.success":"Éxito","sessions.scheduledTasks.dialog.status.error":"Error","sessions.scheduledTasks.dialog.status.running":"Ejecutándose","sessions.scheduledTasks.dialog.status.idle":"Inactivo","sessions.scheduledTasks.dialog.status.queued":"En cola","sessions.scheduledTasks.dialog.status.sent":"Enviado","sessions.scheduledTasks.dialog.status.skipped":"Omitido","sessions.scheduledTasks.dialog.status.cancelled":"Cancelado","sessions.scheduledTasks.dialog.nextRun.label":"Próximo","sessions.scheduledTasks.dialog.lastRun.label":"Última ejecución","sessions.scheduledTasks.dialog.lastRun.runningNow":"ejecutándose ahora","sessions.scheduledTasks.dialog.lastRun.never":"nunca","sessions.scheduledTasks.dialog.taskToggle.enableAria":"Habilitar {taskName}","sessions.scheduledTasks.dialog.taskToggle.pauseAria":"Pausar {taskName}","sessions.scheduledTasks.dialog.taskToggle.enabled":"Habilitado","sessions.scheduledTasks.dialog.taskToggle.paused":"Pausado","sessions.scheduledTasks.dialog.loopFile.note":"Gestionada por el archivo de bucle {file}","sessions.scheduledTasks.dialog.loopFile.toggleDisabled":"La activación la controla el archivo de bucle; establece enabled en el frontmatter de Markdown","sessions.scheduledTasks.dialog.loopFile.actionsDisabled":"Las tareas de bucle se configuran en su archivo Markdown .agents/loops","sessions.scheduledTasks.dialog.loopFile.enableOnThisComputer":"De este repositorio. Habilítalo para ejecutarlo en este equipo.","sessions.scheduledTasks.dialog.loopFile.changedSinceEnabled":"Cambió desde que lo habilitaste. Habilítalo de nuevo para ejecutarlo.","sessions.scheduledTasks.editor.title.edit":"Editar tarea programada","sessions.scheduledTasks.editor.title.new":"Nueva tarea programada","sessions.scheduledTasks.editor.description":"Programa un prompt para una sesión nueva o existente.","sessions.scheduledTasks.editor.sessionMode":"Modo de sesión","sessions.scheduledTasks.editor.newSession":"Nueva sesión","sessions.scheduledTasks.editor.existingSession":"Sesión existente","sessions.scheduledTasks.editor.targetSession":"Sesión de destino","sessions.scheduledTasks.editor.targetHint":"Espera en la cola de mensajes hasta que la sesión esté inactiva. Los valores predeterminados conservan la selección de la sesión de destino.","sessions.scheduledTasks.editor.targetLoadFailed":"No se pudieron cargar las sesiones de este proyecto.","sessions.scheduledTasks.editor.targetRetry":"Reintentar","sessions.scheduledTasks.editor.targetRequired":"Selecciona una sesión de destino.","sessions.scheduledTasks.editor.taskName.label":"Nombre de la tarea","sessions.scheduledTasks.editor.taskName.placeholder":"Sincronización diaria","sessions.scheduledTasks.editor.scheduleType.label":"Tipo de programación","sessions.scheduledTasks.editor.scheduleType.daily":"Diario","sessions.scheduledTasks.editor.scheduleType.weekly":"Semanal","sessions.scheduledTasks.editor.scheduleType.once":"Una vez","sessions.scheduledTasks.editor.scheduleType.cron":"Cron","sessions.scheduledTasks.editor.date.label":"Fecha","sessions.scheduledTasks.editor.date.placeholder":"Seleccionar fecha","sessions.scheduledTasks.editor.date.previousMonth":"Mes anterior","sessions.scheduledTasks.editor.date.nextMonth":"Próximo mes","sessions.scheduledTasks.editor.date.jumpToToday":"Ir a hoy","sessions.scheduledTasks.editor.date.today":"Hoy","sessions.scheduledTasks.editor.time.label":"Hora","sessions.scheduledTasks.editor.time.hourAria":"Horas","sessions.scheduledTasks.editor.time.minuteAria":"Minutos","sessions.scheduledTasks.editor.time.periodAria":"Período","sessions.scheduledTasks.editor.time.period.am":"AM","sessions.scheduledTasks.editor.time.period.pm":"PM","sessions.scheduledTasks.editor.times.label":"Horas","sessions.scheduledTasks.editor.times.add":"Añadir hora","sessions.scheduledTasks.editor.times.removeAria":"Eliminar hora","sessions.scheduledTasks.editor.timezone.label":"Zona horaria","sessions.scheduledTasks.editor.weekdays.label":"Días de la semana","sessions.scheduledTasks.editor.model.label":"Modelo","sessions.scheduledTasks.editor.thinkingLevel.label":"Nivel de pensamiento","sessions.scheduledTasks.editor.thinkingLevel.default":"Predeterminado","sessions.scheduledTasks.editor.agent.label":"Agente","sessions.scheduledTasks.editor.prompt.label":"Prompt","sessions.scheduledTasks.editor.prompt.placeholder":"Resumir tareas abiertas y proponer próximas acciones","sessions.scheduledTasks.editor.enabled.aria":"Habilitar tarea","sessions.scheduledTasks.editor.enabled.label":"Habilitado","sessions.scheduledTasks.editor.goal.label":"Ejecutar como objetivo","sessions.scheduledTasks.editor.goal.aria":"Ejecutar esta tarea como un objetivo que el agente persigue hasta completarlo","sessions.scheduledTasks.editor.goal.budgetLabel":"Presupuesto de tokens","sessions.scheduledTasks.editor.goal.budgetAria":"Limitar el objetivo a un presupuesto de tokens","sessions.scheduledTasks.editor.permissionAutoAccept.label":"Aceptar permisos automáticamente","sessions.scheduledTasks.editor.permissionAutoAccept.aria":"Iniciar la sesión de la tarea con la aceptación automática de permisos activada","sessions.scheduledTasks.editor.actions.closeAria":"Cerrar","sessions.scheduledTasks.editor.actions.cancel":"Cancelar","sessions.scheduledTasks.editor.actions.save":"Guardar","sessions.scheduledTasks.editor.actions.saving":"Guardando...","sessions.scheduledTasks.editor.toast.saveFailed":"No se pudo guardar la tarea","sessions.scheduledTasks.editor.validation.taskNameRequired":"Se requiere nombre de tarea","sessions.scheduledTasks.editor.validation.promptRequired":"Se requiere prompt","sessions.scheduledTasks.editor.validation.modelRequired":"Se requiere modelo","sessions.scheduledTasks.editor.validation.dateFormat":"La fecha debe usar YYYY-MM-DD","sessions.scheduledTasks.editor.validation.timeFormat":"La hora debe usar HH:mm","sessions.scheduledTasks.editor.validation.atLeastOneTime":"Añadir al menos una hora válida","sessions.scheduledTasks.editor.validation.atLeastOneWeekday":"Seleccionar al menos un día de la semana","sessions.scheduledTasks.editor.validation.timezoneRequired":"Se requiere zona horaria","sessions.scheduledTasks.editor.validation.cronRequired":"Se requiere una expresión cron","sessions.scheduledTasks.editor.validation.cronInvalid":"Expresión cron no válida","sessions.scheduledTasks.editor.cronExpression.label":"Expresión cron","sessions.scheduledTasks.editor.cronExpression.placeholder":"*/5 * * * *","sessions.scheduledTasks.editor.cronExpression.nextRuns":"Próximas ejecuciones","sessions.scheduledTasks.editor.cronExpression.examples":"Ejemplos","sessions.scheduledTasks.editor.cronExpression.examples.every5min":"Cada 5 minutos","sessions.scheduledTasks.editor.cronExpression.examples.everyHour":"Cada hora","sessions.scheduledTasks.editor.cronExpression.examples.monday9am":"Cada lunes a las 9 a. m.","sessions.scheduledTasks.editor.cronExpression.examples.9am5pm":"9 a. m. y 5 p. m. todos los días","sessions.scheduledTasks.editor.cronExpression.examples.firstOfMonth":"Primero de cada mes","multirun.launcher.project.empty":"Añade un proyecto primero.","multirun.launcher.toast.partialFailure":"No se pudieron crear algunas sesiones. Fallidas: {failed}.","multirun.modelMultiSelect.actions.addModel":"Añadir modelo","multirun.modelMultiSelect.search.placeholder":"Buscar modelos","multirun.modelMultiSelect.search.noResults":"No se encontraron modelos","multirun.modelMultiSelect.sections.favorites":"Favoritos","multirun.modelMultiSelect.sections.recent":"Recientes","multirun.modelMultiSelect.variant.placeholder":"Pensando","multirun.modelMultiSelect.variant.default":"Predeterminado","multirun.modelMultiSelect.keyboard.hint":"↑↓ navegar • Enter seleccionar • Esc cerrar","multirun.modelMultiSelect.validation.minOnly":"Selecciona al menos {min} modelos.","multirun.modelMultiSelect.validation.minToMax":"Selecciona entre {min} y {max} modelos.","multirun.agentSelector.placeholder":"Selecciona un agente","multirun.fusion.model.placeholder":"Modelo","multirun.fusion.actions.start":"Iniciar fusion","multirun.fusion.actions.starting":"Iniciando...","multirun.fusion.toast.noOutputs":"No se encontraron respuestas del asistente para fusionar.","multirun.fusion.toast.failed":"No se pudo iniciar fusion.","sessions.sidebar.header.actions.searchSessions":"Buscar sesiones","sessions.sidebar.header.actions.exitSelection":"Salir de selección","sessions.sidebar.header.actions.selectSessions":"Seleccionar sesiones","sessions.sidebar.header.actions.sortProjects":"Ordenar proyectos","sessions.sidebar.header.actions.sortWorktrees":"Ordenar worktrees","sessions.sidebar.header.worktreeSort.recent":"Actividad reciente","sessions.sidebar.header.actions.sessionDisplayMode":"Modo de visualización de sesión","sessions.sidebar.header.displayMode.label":"Modo de visualización","sessions.sidebar.header.displayMode.default":"Predeterminado","sessions.sidebar.header.displayMode.minimal":"Mínimo","sessions.sidebar.header.displayMode.showWork":"Mostrar en curso","sessions.sidebar.header.displayMode.showPinned":"Mostrar ancladas","sessions.sidebar.header.displayMode.detailedZoneRows":"Filas detalladas","sessions.sidebar.activity.pinnedTitle":"Ancladas","sessions.sidebar.header.displayMode.showArchived":"Mostrar sesiones archivadas","sessions.sidebar.header.displayMode.collapseAll":"Colapsar todo","sessions.sidebar.header.displayMode.expandAll":"Expandir todo","sessions.sidebar.header.projectSort.manual":"Manual","sessions.sidebar.header.projectSort.aToZ":"A → Z","sessions.sidebar.header.projectSort.zToA":"Z → A","sessions.sidebar.header.projectSort.dateAdded":"Más recientes","sessions.sidebar.header.projectSort.recent":"Recientes","sessions.sidebar.header.search.matchCountSingle":"{count} coincidencia","sessions.sidebar.header.search.matchCountPlural":"{count} coincidencias","sessions.sidebar.header.search.escapeHint":"Esc para limpiar","sessions.sidebar.header.search.placeholder":"Buscar sesiones...","sessions.sidebar.header.search.clear":"Limpiar búsqueda","sessions.sidebar.footer.actions.settings":"Configuración","sessions.sidebar.footer.actions.shortcuts":"Atajos","sessions.sidebar.footer.actions.aboutOpenChamber":"Acerca de OpenChamber","sessions.sidebar.footer.actions.update":"Actualizar","sessions.sidebar.footer.actions.updateApp":"Actualizar app","sessions.sidebar.empty.noSessions.title":"No hay sesiones aún","sessions.sidebar.empty.noSessions.description":"Crea tu primera sesión para comenzar a programar.","sessions.sidebar.empty.noMatches.title":"No hay sesiones coincidentes","sessions.sidebar.empty.noMatches.description":"Inténtalo con un título, rama, carpeta o ruta diferente.","sessions.sidebar.empty.noMatches.searchArchive":"Buscar en el archivo","sessions.sidebar.activity.chatsTitle":"Chats","sessions.sidebar.header.viewMode.label":"Vista","sessions.sidebar.header.viewMode.projects":"Árbol","sessions.sidebar.header.viewMode.timeline":"Lista","sessions.sidebar.activity.chatsEmpty":"Aún no hay chats.","chat.chatInput.chooseProject":"Elegir proyecto","sessions.archivePage.allDirectories":"Todos los directorios","sessions.sidebar.header.projectDisplay.label":"Mostrar proyectos","sessions.sidebar.header.projectDisplay.all":"Todos los proyectos","sessions.sidebar.header.listGrouping.label":"Sesiones","sessions.sidebar.header.listGrouping.project":"Por proyecto","sessions.sidebar.header.listGrouping.time":"Por fecha","sessions.sidebar.activity.projectsTitle":"Proyectos","sessions.sidebar.header.projectDisplay.single":"Un proyecto","sessions.sidebar.project.selectAria":"Seleccionar proyecto, actualmente {project}","sessions.sidebar.project.actions.manageWorktrees":"Gestionar worktrees","sessions.worktreesPage.title":"Worktrees en {project}","sessions.worktreesPage.description":"Crea, inspecciona y elimina los worktrees de git de este proyecto.","sessions.worktreesPage.closeAria":"Cerrar worktrees","sessions.scheduledTasks.page.closeAria":"Cerrar tareas programadas","sessions.sidebar.nav.archive":"Archivo","sessions.archivePage.title":"Archivo","sessions.archivePage.countSingle":"{count} sesión archivada","sessions.archivePage.countPlural":"{count} sesiones archivadas","sessions.archivePage.closeAria":"Cerrar archivo","sessions.archivePage.searchPlaceholder":"Buscar sesiones archivadas","sessions.archivePage.empty.noArchived":"No hay sesiones archivadas","sessions.archivePage.empty.noMatches":"No hay sesiones archivadas coincidentes","sessions.archivePage.otherProjects":"otros proyectos","sessions.archivePage.deleteProject":"Eliminar todas las sesiones archivadas de este proyecto","sessions.archivePage.deleteProjectAria":"Eliminar todas las sesiones archivadas de {label}","sessions.archivePage.deleteSessionAria":"Eliminar {title}","sessions.archivePage.restoreSessionAria":"Restaurar {title}","sessions.switcher.openAria":"Abrir selector de sesiones","header.sessionTabs.stripAria":"Sesiones abiertas","header.sessionTabs.tabMenuAria":"Acciones de la pestaña de sesión","header.sessionTabs.closeTab":"Cerrar pestaña","header.sessionTabs.closeOtherTabs":"Cerrar las demás pestañas","sessions.switcher.empty":"No hay sesiones recientes","sessions.switcher.draftTitle":"Nueva sesión","sessions.sidebar.updateCheck.errorTitle":"No se pudo comprobar actualizaciones","sessions.sidebar.updateCheck.latestVersion":"Estás en la última versión","sessions.sidebar.directory.errorAddProjectTitle":"No se pudo añadir el proyecto","sessions.sidebar.directory.errorAddProjectDescription":"Selecciona una carpeta válida.","sessions.sidebar.directory.errorSelectDirectoryTitle":"No se pudo seleccionar carpeta","sessions.sidebar.folder.newFolderName":"Nueva carpeta","sessions.sidebar.bulkActions.delete":"Eliminar","sessions.sidebar.bulkActions.archive":"Archivar","sessions.sidebar.bulkActions.selectedCount":"{count} seleccionados","sessions.sidebar.bulkActions.moveToFolder":"Mover a carpeta","sessions.sidebar.bulkActions.deletedSingle":"Se eliminó {count} sesión","sessions.sidebar.bulkActions.deletedPlural":"Se eliminaron {count} sesiones","sessions.sidebar.bulkActions.failedDeleteSingle":"No se pudo eliminar {count} sesión","sessions.sidebar.bulkActions.failedDeletePlural":"No se pudo eliminar {count} sesiones","sessions.sidebar.bulkActions.archivedSingle":"Se archivó {count} sesión","sessions.sidebar.bulkActions.archivedPlural":"Se archivaron {count} sesiones","sessions.sidebar.bulkActions.failedArchiveSingle":"No se pudo archivar {count} sesión","sessions.sidebar.bulkActions.failedArchivePlural":"No se pudo archivar {count} sesiones","sessions.sidebar.bulkActions.restore":"Restaurar","sessions.sidebar.bulkActions.restoredSingle":"Se restauró {count} sesión","sessions.sidebar.bulkActions.restoredPlural":"Se restauraron {count} sesiones","sessions.sidebar.bulkActions.failedRestoreSingle":"No se pudo restaurar {count} sesión","sessions.sidebar.bulkActions.failedRestorePlural":"No se pudo restaurar {count} sesiones","sessions.sidebar.folders.none":"No hay carpetas aún","sessions.sidebar.folders.newFolderEllipsis":"Nueva carpeta...","sessions.sidebar.folders.removeFromFolder":"Quitar de carpeta","sessions.sidebar.folders.moveToFolder":"Mover a carpeta","sessions.sidebar.project.actions.newWorktree":"Nuevo worktree","sessions.sidebar.project.actions.newWorktreeEllipsis":"Nuevo worktree...","sessions.sidebar.project.actions.projectMenu":"Menú del proyecto","sessions.sidebar.project.actions.newSession":"Nueva sesión","sessions.sidebar.project.actions.closeProject":"Cerrar proyecto","sessions.sidebar.project.actions.edit":"Editar","sessions.sidebar.project.actions.newDraftSession":"Nueva sesión de borrador","sessions.sidebar.session.menu.rename":"Cambiar nombre","sessions.sidebar.session.menu.copyId":"Copiar ID de sesión","sessions.sidebar.session.menu.openInMiniChat":"Abrir en Mini Chat","sessions.sidebar.session.copyId.success":"ID de sesión copiado","sessions.sidebar.session.copyId.error":"No se pudo copiar el ID de sesión","header.sessionActions.openAria":"Abrir acciones de sesión","sessions.sidebar.session.rename.save":"Guardar nombre de sesión","sessions.sidebar.session.rename.cancel":"Cancelar cambio de nombre de sesión","sessions.sidebar.session.menu.unpin":"Desanclar sesión","sessions.sidebar.session.menu.pin":"Anclar sesión","sessions.sidebar.work.title":"En curso","sessions.sidebar.session.work.track":"Seguir como en curso","sessions.sidebar.session.work.markDone":"Marcar como hecho","sessions.sidebar.session.work.doneSuggested":"Parece terminado","sessions.sidebar.session.work.updateFailed":"No se pudo actualizar la sesión","sessions.sidebar.session.pin.pinFailed":"No se pudo anclar la sesión","sessions.sidebar.session.pin.unpinFailed":"No se pudo desanclar la sesión","chat.work.doneHint.text":"Este trabajo parece terminado.","chat.work.doneHint.action":"Marcar como hecho","chat.work.reviewHint.text":"Los cambios están listos para revisar.","chat.work.reviewHint.aiReview":"Revisión con IA","chat.backgroundShells.aria":"Comandos en segundo plano","chat.backgroundShells.count":"Comandos en segundo plano: {count}","chat.backgroundShells.subagent":"subagente","chat.backgroundShells.stop":"Detener","chat.backgroundShells.stopAll":"Detener todos","chat.backgroundShells.stopAria":"Detener {command}","chat.backgroundShells.elapsed":"En ejecución desde hace {duration}","sessions.sidebar.session.menu.share":"Compartir","sessions.sidebar.session.menu.copied":"Copiado","sessions.sidebar.session.menu.copyLink":"Copiar enlace","sessions.sidebar.session.menu.unshare":"Dejar de compartir","sessions.sidebar.session.menu.exportMarkdown":"Exportar Markdown","sessions.sidebar.session.menu.moveToWorktree":"Mover a un worktree nuevo","sessions.sidebar.session.menu.moveToWorktreeTargets":"Mover a worktree","sessions.sidebar.session.menu.newWorktree":"Nuevo worktree...","sessions.sidebar.session.moveToWorktree.success":"Sesión movida a un worktree nuevo","sessions.sidebar.session.moveToWorktree.failed":"No se pudo mover la sesión a un worktree nuevo","sessions.sidebar.session.moveToWorktree.outcomeUnknown":"Se conservó el nuevo worktree: el traslado aún puede completarse en el servidor.","sessions.sidebar.session.moveToWorktree.main":"Worktree principal","sessions.sidebar.session.moveToWorktree.loadFailed":"No se pudieron cargar los worktrees","sessions.sidebar.session.moveToWorktree.current":"Worktree actual","sessions.sidebar.session.moveToWorktree.existingSuccess":"Sesión movida al worktree","sessions.sidebar.session.moveToWorktree.existingFailed":"No se pudo mover la sesión al worktree","sessions.sidebar.session.moveToWorktree.tooltip":"Crea un nuevo worktree a partir de la rama actual y mueve allí esta sesión y sus subsesiones. Los cambios sin confirmar se quedan en el worktree de origen.","sessions.sidebar.session.moveToWorktree.tooltipBusy":"Disponible cuando la sesión está inactiva. Detén la actividad actual o espera a que termine.","sessions.sidebar.session.moveToWorktree.tooltipMoving":"Esta sesión ya se está moviendo a un worktree nuevo.","sessions.sidebar.session.menu.openInSidePanel":"Abrir en panel lateral","sessions.sidebar.session.actions.openInEditor":"Abrir en el editor","sessions.sidebar.session.menu.label":"Menú de sesión","sessions.sidebar.session.untitled":"Sesión sin título","sessions.sidebar.session.export.nothingToExport":"No hay nada para exportar","sessions.sidebar.session.export.failedLoadHistory":"No se pudo cargar el historial completo de la sesión","sessions.sidebar.session.export.success":"Sesión exportada","sessions.sidebar.session.export.failedRevealPath":"No se pudo mostrar la ruta","sessions.sidebar.session.export.untitledSubagent":"Subagente sin título","sessions.sidebar.session.export.skippedSubtaskSingle":"La sesión se exportó, pero se omitió {count} tarea de subagente que no se pudo cargar.","sessions.sidebar.session.export.skippedSubtaskMany":"La sesión se exportó, pero se omitieron {count} tareas de subagente que no se pudieron cargar.","sessions.sidebar.session.export.dialog.title":"Exportar Markdown","sessions.sidebar.session.export.dialog.descriptionSingle":"Esta sesión tiene {count} tarea de subagente. ¿Incluirla en la exportación?","sessions.sidebar.session.export.dialog.descriptionMany":"Esta sesión tiene {count} tareas de subagente. ¿Incluirlas en la exportación?","sessions.sidebar.session.export.dialog.includeSubtasks":"Incluir tareas de subagente","sessions.sidebar.session.export.dialog.confirm":"Exportar","sessions.sidebar.session.status.active":"Sesión activa","sessions.sidebar.session.status.unread":"Actualizaciones no leídas","sessions.sidebar.session.status.backgroundSubagent":"Subagente en ejecución en segundo plano","sessions.sidebar.session.status.backgroundCommand":"Comando en ejecución en segundo plano","sessions.sidebar.session.status.pinned":"Sesión anclada","sessions.sidebar.session.status.movingToWorktree":"Moviendo la sesión a un worktree nuevo","sessions.sidebar.session.status.permissionRequired":"Permiso requerido","sessions.sidebar.session.status.questionPending":"Pregunta pendiente","sessions.sidebar.session.status.activeFor":"Activa desde hace {duration}","sessions.sidebar.session.status.lastTurnDuration":"El último turno duró {duration}","sessions.sidebar.session.subsessions.collapse":"Colapsar subsesiones","sessions.sidebar.session.subsessions.expand":"Expandir subsesiones","sessions.sidebar.dialogs.deleteSession.title":"¿Eliminar sesión?","sessions.sidebar.dialogs.archiveSession.title":"¿Archivar sesión?","sessions.sidebar.dialogs.deleteSession.withOneSubtask":'"{sessionTitle}" y su {count} subtarea se eliminarán permanentemente.',"sessions.sidebar.dialogs.deleteSession.withManySubtasks":'"{sessionTitle}" y sus {count} subtareas se eliminarán permanentemente.',"sessions.sidebar.dialogs.archiveSession.withOneSubtask":'"{sessionTitle}" y su {count} subtarea se archivarán.',"sessions.sidebar.dialogs.archiveSession.withManySubtasks":'"{sessionTitle}" y sus {count} subtareas se archivarán.',"sessions.sidebar.dialogs.deleteSession.single":'"{sessionTitle}" se eliminará permanentemente.',"sessions.sidebar.dialogs.archiveSession.single":'"{sessionTitle}" se archivará.',"sessions.sidebar.dialogs.neverAsk":"Nunca preguntar","sessions.sidebar.dialogs.cancel":"Cancelar","sessions.sidebar.dialogs.deleteSession.titleAction":"Eliminar sesión","sessions.sidebar.dialogs.deleteSessions.titleAction":"Eliminar sesiones","sessions.sidebar.dialogs.deleteSessions.title":"¿Eliminar sesiones?","sessions.sidebar.dialogs.archiveSessions.title":"¿Archivar sesiones?","sessions.sidebar.dialogs.deleteSessions.singleDescription":"Se eliminará {count} sesión permanentemente.","sessions.sidebar.dialogs.deleteSessions.pluralDescription":"{count} sesiones se eliminarán permanentemente.","sessions.sidebar.dialogs.archiveSessions.singleDescription":"{count} sesión se archivará.","sessions.sidebar.dialogs.archiveSessions.pluralDescription":"{count} sesiones se archivarán.","sessions.sidebar.dialogs.deleteFolder.title":"¿Eliminar carpeta?","sessions.sidebar.dialogs.deleteFolder.withOneSubfolder":'"{folderName}" se eliminará junto con {count} subcarpeta. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.withManySubfolders":'"{folderName}" se eliminará junto con {count} subcarpetas. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.withContentsNoSubfolders":'"{folderName}" se eliminará. Las sesiones dentro no se eliminarán.',"sessions.sidebar.dialogs.deleteFolder.single":'"{folderName}" se eliminará permanentemente.',"sessions.sidebar.dialogs.deleteResult.singleFailedToDelete":"{count} sesión no se pudo eliminar.","sessions.sidebar.dialogs.deleteResult.manyFailedToDelete":"{count} sesiones no se pudieron eliminar.","sessions.sidebar.dialogs.deleteResult.removedFromDate":"Se eliminaron todas las sesiones de {dateLabel}.","sessions.sidebar.dialogs.deleteResult.tryAgain":"Vuelve a intentarlo en un momento.","sessions.sidebar.dialogs.worktreeDelete.descriptionNoLinked":"Esta acción elimina el worktree seleccionado.","sessions.sidebar.dialogs.worktreeDelete.descriptionOneLinked":"Esta acción elimina el worktree seleccionado y archiva {count} sesión vinculada.","sessions.sidebar.dialogs.worktreeDelete.descriptionManyLinked":"Esta acción elimina el worktree seleccionado y archiva {count} sesiones vinculadas.","sessions.sidebar.dialogs.sessionDelete.descriptionOne":"Esta acción elimina permanentemente 1 sesión.","sessions.sidebar.dialogs.sessionDelete.descriptionOneWithDate":"Esta acción elimina permanentemente 1 sesión de {dateLabel}.","sessions.sidebar.dialogs.sessionDelete.descriptionMany":"Esta acción elimina permanentemente {count} sesiones.","sessions.sidebar.dialogs.sessionDelete.descriptionManyWithDate":"Esta acción elimina permanentemente {count} sesiones de {dateLabel}.","sessions.sidebar.dialogs.sessionList.more":"+{count} más","sessions.sidebar.session.share.successTitle":"Sesión compartida","sessions.sidebar.session.share.successDescription":"El enlace para compartir se copió al portapapeles.","sessions.sidebar.session.share.error":"No se puede compartir la sesión","sessions.sidebar.session.rename.error":"No se pudo renombrar la sesión. {detail}","sessions.sidebar.session.action.upstreamErrorWithRef":"OpenCode respondió {status} {name} (ref {ref}). Busca esta ref en el registro de OpenCode.","sessions.sidebar.session.action.upstreamError":"OpenCode respondió {status}: {message}","sessions.sidebar.session.action.noDetails":"sin detalles","sessions.sidebar.session.share.copyUrlError":"No se pudo copiar la URL","sessions.sidebar.session.unshare.success":"Sesión dejó de compartirse","sessions.sidebar.session.unshare.error":"No se puede dejar de compartir la sesión","sessions.sidebar.session.delete.success":"Sesión eliminada","sessions.sidebar.session.delete.error":"No se pudo eliminar la sesión","sessions.sidebar.session.archive.success":"Sesión archivada","sessions.sidebar.session.archive.undo":"Deshacer","sessions.sidebar.session.archive.error":"No se pudo archivar la sesión","sessions.sidebar.session.restore.success":"Sesión restaurada","sessions.sidebar.session.restore.error":"No se pudo restaurar la sesión","sessions.sidebar.group.pr.checksPassed":"{success}/{total} comprobaciones aprobadas","sessions.sidebar.group.pr.failingCount":"{count} con fallos","sessions.sidebar.group.pr.pendingCount":"{count} pendientes","sessions.sidebar.group.pr.conflictsOrBlocked":"Conflictos o bloqueados","sessions.sidebar.group.pr.mergeable":"Se puede hacer merge","sessions.sidebar.group.pr.mergeState":"Estado de merge: {state}","sessions.sidebar.group.pr.status.merged":"Fusionada","sessions.sidebar.group.pr.status.readyToMerge":"Lista para fusionar","sessions.sidebar.group.pr.status.open":"PR abierto","sessions.sidebar.group.mr.status.open":"MR abierto","sessions.sidebar.group.pr.status.mergeConflicts":"Conflictos de merge","sessions.sidebar.group.pr.status.mergeBlocked":"Fusión bloqueada","sessions.sidebar.group.pr.status.checksFailing":"Checks fallidos","sessions.sidebar.group.pr.status.checksRunning":"Checks en curso","sessions.sidebar.group.issue.status.open":"Issue abierto","sessions.sidebar.group.issue.status.completed":"Completado","sessions.sidebar.group.issue.status.notPlanned":"No planificado","sessions.sidebar.group.pr.status.draft":"PR en borrador","sessions.sidebar.group.mr.status.draft":"MR en borrador","sessions.sidebar.group.pr.status.closed":"Cerrado","sessions.sidebar.group.empty.noArchivedSessions":"No hay sesiones archivadas aún.","sessions.sidebar.group.empty.noSessionsInWorkspace":"Aún no hay sesiones en este espacio de trabajo.","sessions.sidebar.group.empty.startSession":"Iniciar una sesión","sessions.sidebar.group.showMore":"Mostrar más sesiones","sessions.sidebar.group.showMoreSingle":"Mostrar {count} más sesión","sessions.sidebar.group.showMorePlural":"Mostrar {count} más sesiones","sessions.sidebar.group.showFewer":"Mostrar menos sesiones","sessions.sidebar.group.expandAria":"Expandir {label}","sessions.sidebar.group.collapseAria":"Colapsar {label}","sessions.sidebar.group.actions.deleteArchivedInGroupAria":"Eliminar sesiones archivadas en {label}","sessions.sidebar.group.actions.deleteArchivedSessions":"Eliminar sesiones archivadas","sessions.sidebar.group.actions.deleteGroupAria":"Eliminar {label}","sessions.sidebar.group.actions.deleteWorktree":"Eliminar worktree","sessions.sidebar.group.actions.deleteWorktreeAndBranch":"Eliminar worktree y rama local","sessions.sidebar.group.actions.deleteGroupAndBranchAria":"Eliminar {label} y su rama local","sessions.sidebar.group.actions.newDraftInGroupAria":"Nueva sesión de borrador en {label}","sessions.sidebar.grouping.projectRoot":"raíz del proyecto","sessions.sidebar.grouping.projectRootWithBranch":"raíz del proyecto: {branch}","sessions.sidebar.grouping.archived":"archivado","sessions.sidebar.grouping.archivedDescription":"Sesiones archivadas y no asignadas","sessions.sidebar.folderItem.expandAria":"Expandir carpeta {folderName}","sessions.sidebar.folderItem.collapseAria":"Colapsar carpeta {folderName}","sessions.sidebar.folderItem.namePlaceholder":"Nombre de carpeta","sessions.sidebar.folderItem.newSessionAria":"Nueva sesión en {folderName}","sessions.sidebar.folderItem.newSubfolderAria":"Nueva subcarpeta en {folderName}","sessions.sidebar.folderItem.newSubfolder":"Nueva subcarpeta","sessions.sidebar.folderItem.renameAria":"Cambiar nombre carpeta {folderName}","sessions.sidebar.folderItem.deleteArchivedInFolderAria":"Eliminar sesiones archivadas en carpeta {folderName}","sessions.sidebar.folderItem.deleteFolderAria":"Eliminar carpeta {folderName}","sessions.sidebar.folderItem.emptyFolder":"Vaciar carpeta","sessions.sidebar.sessionDialogs.ok":"Aceptar","sessions.sidebar.sessionDialogs.linkedSessionSingle":"Sesión vinculada","sessions.sidebar.sessionDialogs.linkedSessionPlural":"Sesiones vinculadas","sessions.sidebar.sessionDialogs.delete.note":"Los directorios de worktree permanecen intactos. Las subsesiones vinculadas a las sesiones seleccionadas también serán eliminadas.","sessions.sidebar.sessionDialogs.directory.errorSelectTitle":"No se pudo seleccionar directorio","sessions.sidebar.sessionDialogs.directory.errorOpenTitle":"No se pudo abrir directorio","sessions.sidebar.sessionDialogs.directory.errorOpenDescription":"Desktop no pudo otorgar acceso a archivos.","sessions.sidebar.sessionDialogs.directory.errorAddProjectTitle":"No se pudo añadir proyecto","sessions.sidebar.sessionDialogs.directory.errorAddProjectDescription":"Selecciona una ruta de directorio válida.","sessions.sidebar.sessionDialogs.worktree.errorRemoveTitle":"No se pudo eliminar el worktree «{name}»","sessions.sidebar.sessionDialogs.worktree.removingTitle":"Eliminando el worktree «{name}»…","sessions.sidebar.sessionDialogs.worktree.removedTitle":"Worktree «{name}» eliminado","sessions.sidebar.sessionDialogs.worktree.removed":"Worktree eliminado.","sessions.sidebar.sessionDialogs.worktree.removedWithRemote":"Worktree y rama remota eliminados.","sessions.sidebar.sessionDialogs.worktree.attachedArchived":"Worktree adjunto archivado.","sessions.sidebar.sessionDialogs.worktree.attachedArchivedPlural":"Worktrees adjuntos archivados.","sessions.sidebar.sessionDialogs.worktree.archivedAndRemoteRemoved":"Worktrees archivados y ramas remotas eliminadas.","sessions.sidebar.group.worktreeMissing":"Falta la carpeta del worktree","sessions.mergedCleanup.toast.removedTitle":"{name} limpiado: PR #{number} fusionado","sessions.mergedCleanup.toast.mr.removedTitle":"{name} limpiado: MR !{number} fusionado","sessions.mergedCleanup.toast.removedDescription":"Sus sesiones están archivadas y el worktree y su rama local se eliminaron.","sessions.mergedCleanup.toast.archivedTitle":"Sesiones de {name} archivadas: PR #{number} fusionado","sessions.mergedCleanup.toast.mr.archivedTitle":"Sesiones de {name} archivadas: MR !{number} fusionado","sessions.mergedCleanup.toast.archivedDescription":"El worktree se conserva: tiene cambios o commits que no están en el PR fusionado.","sessions.mergedCleanup.toast.mr.archivedDescription":"El worktree se conserva: tiene cambios o commits que no están en el MR fusionado.","sessions.mergedCleanup.toast.failedTitle":"No se pudo limpiar {name} tras fusionar el PR #{number}","sessions.mergedCleanup.toast.mr.failedTitle":"No se pudo limpiar {name} tras fusionar el MR !{number}","sessions.sidebar.session.restore.relocatedTitle":"Sesión movida a la carpeta del proyecto","sessions.sidebar.session.restore.relocatedDescription":"Su carpeta de worktree ya no existe, así que ahora trabaja en {project}.","sessions.sidebar.session.restore.relocateFailed":"No se pudo mover la sesión restaurada fuera de su carpeta de worktree inexistente","sessions.sidebar.group.worktreeRemoving":"Eliminando el worktree…","sessions.sidebar.project.folderMissing":"La carpeta del proyecto no existe o no está disponible","sessions.sidebar.group.space":"Espacio aislado","sessions.sidebar.group.spaceStale":"No se muestran todas las sesiones de este espacio.","sessions.sidebar.grouping.spaceUnnamed":"Espacio aislado","sessions.sidebar.sessionDialogs.worktree.label":"Worktree","sessions.sidebar.sessionDialogs.worktree.pathUnavailable":"Ruta de worktree no disponible.","sessions.sidebar.sessionDialogs.worktree.uncommittedWarning":"Los cambios sin commit se perderán.","sessions.sidebar.sessionDialogs.actions.deleteRemoteBranch":"Eliminar rama remota","sessions.sidebar.sessionDialogs.actions.remoteBranchInfoUnavailable":"Información de rama remota no disponible","sessions.sidebar.sessionDialogs.actions.deleteLocalBranch":"Eliminar rama local","sessions.sidebar.sessionDialogs.actions.deleting":"Eliminando…","sessions.sidebar.sessionDialogs.actions.deleteWorktree":"Eliminar worktree","gitView.branch.branchToMergeInto":"Rama de destino del merge","gitView.branch.branchToRebaseOnto":"rama de destino del rebase","gitView.branch.create":"Crear nueva rama...","gitView.branch.currentBadge":"Actual","gitView.branch.currentBranchFallback":"rama actual","gitView.branch.currentBranchTooltip":"Rama actual","gitView.branch.detachedHead":"HEAD desvinculado","gitView.branch.dialogDescriptionPrefix":"Elige cómo traer otra rama a","gitView.branch.empty":"No se encontraron ramas.","gitView.branch.comparisonBaseAutomatic":"Automático","gitView.branch.localBranches":"Ramas locales","gitView.branch.mergeDescription":"Crea un commit de merge y conserva el historial.","gitView.branch.mergeRebase":"Merge/Rebase","gitView.branch.mergeRebaseTooltip":"Actualiza esta rama desde otra rama.","gitView.branch.mergingInProgress":"Merge en curso","gitView.branch.namePlaceholder":"Nombre de la rama","gitView.branch.newBranchPlaceholder":"Nombre de la nueva rama","gitView.branch.noLocalBranches":"No hay ramas locales","gitView.branch.noRemoteBranches":"No hay ramas remotas","gitView.branch.operation":"Operación","gitView.branch.operationCompleted":"Operación completada","gitView.branch.operationFailed":"No se pudo completar la operación","gitView.branch.rebaseDescription":"Reaplica tus commits encima de la rama seleccionada.","gitView.branch.rebasingInProgress":"Rebase en progreso","gitView.branch.remoteBranches":"Ramas remotas","gitView.branch.renameTitle":"Cambiar nombre de rama","gitView.branch.renameSave":"Guardar nombre de rama","gitView.branch.renameSaving":"Guardando nombre de rama","gitView.branch.renameCancel":"Cancelar cambio de nombre de rama","gitView.branch.searchPlaceholder":"Buscar ramas...","gitView.branch.selectBranch":"Seleccionar rama","gitView.branch.summaryMergeInfix":"en","gitView.branch.summaryMergePrefix":"Se hará merge de","gitView.branch.summaryRebaseInfix":"sobre","gitView.branch.summaryRebasePrefix":"Se hará rebase de","gitView.branch.updateDescriptionPrefix":"Trae los últimos cambios a","gitView.branch.updateTitle":"Actualizar rama","gitView.changes.changedFilesAria":"Archivos modificados","gitView.changes.clearSelectionAria":"Limpiar selección de archivos","gitView.changes.collapseDirectoryAria":"Contraer directorio","gitView.changes.expandDirectoryAria":"Expandir directorio","gitView.changes.revertAll":"Revertir todo","gitView.changes.revertAllDescriptionPlural":"Se descartarán los cambios locales de todos los archivos de la lista.","gitView.changes.revertAllDescriptionSingle":"Se descartarán los cambios locales del archivo seleccionado.","gitView.changes.revertAllDialogTitle":"¿Revertir todos los cambios?","gitView.changes.revertDirectoryAria":"Revertir cambios en {path}","gitView.changes.revertDirectory":"Revertir carpeta","gitView.changes.revertDirectoryDescriptionPlural":"Se descartarán los cambios locales de {count} archivos en {path}.","gitView.changes.revertDirectoryDescriptionSingle":"Se descartarán los cambios locales de {count} archivo en {path}.","gitView.changes.revertDirectoryDialogTitle":"¿Revertir cambios de la carpeta?","gitView.changes.revertDirectoryTooltip":"Revertir cambios de la carpeta","gitView.changes.revertFileAria":"Revertir archivo","gitView.changes.revertFileTooltip":"Revertir cambios","gitView.changes.reverting":"Revertiendo...","gitView.changes.selectAllAria":"Seleccionar todos los archivos","gitView.changes.selectFileAria":"Seleccionar archivo","gitView.changes.stagedTitle":"Preparados","gitView.changes.resizeSplitAria":"Ajustar tamaño de cambios preparados y sin preparar","gitView.changes.stageAllAria":"Preparar todos los cambios","gitView.changes.stageDirectoryAria":"Preparar todos los cambios en {path}","gitView.changes.stageFileAria":"Preparar {path}","gitView.changes.title":"Cambios","gitView.changes.toggleDirectorySelectionAria":"Alternar selección de directorio","gitView.changes.unstageAllAria":"Quitar todos los cambios del área preparada","gitView.changes.unstageDirectoryAria":"Quitar del área preparada todos los cambios en {path}","gitView.changes.unstageFileAria":"Quitar {path} del área preparada","gitView.commit.addGitmoji":"Añadir gitmoji","gitView.commit.aiHighlights.insertAria":"Insertar","gitView.commit.aiHighlights.insertTooltip":"Insertar","gitView.commit.aiHighlights.title":"Puntos destacados","gitView.commit.commit":"Commit","gitView.commit.commitAria":"Commit","gitView.commit.committing":"Creando commit...","gitView.commit.generate":"Generar","gitView.commit.generateAria":"Generar mensaje de commit","gitView.commit.messagePlaceholder":"Mensaje de commit","gitView.commit.push":"Commit & sync","gitView.commit.pushAria":"Commit and sync","gitView.commit.pushing":"Sincronizando...","gitView.commit.selectFilesHint":"Selecciona archivos en Cambios para habilitar el commit.","gitView.commit.stageFilesHint":"Prepara archivos para habilitar el commit.","gitView.commit.title":"Commit","gitView.common.cancel":"Cancelar","gitView.branch.switchBlockedNotice":"Cambios sin confirmar: antes de cambiar de rama se ofrece confirmar o revertir.","gitView.branch.unpushedSingle":"1 commit sin push","gitView.branch.unpushedPlural":"{count} commits sin push","gitView.branch.recentBranches":"Ramas recientes","gitView.dirtySwitch.title":"Cambios sin confirmar","gitView.dirtySwitch.descriptionSingle":"El cambio a {branch} está en pausa para no perder tu archivo modificado. Confírmalo o reviértelo primero.","gitView.dirtySwitch.descriptionPlural":"El cambio a {branch} está en pausa para no perder tus {count} archivos modificados. Confírmalos o reviértelos primero.","gitView.dirtySwitch.commitAndSwitch":"Confirmar y cambiar","gitView.dirtySwitch.committedNotPushed":"Confirmado en {branch}. El commit es solo local: no se ha hecho push.","gitView.dirtySwitch.pushAfterCommit":"Hacer push después del commit","gitView.dirtySwitch.pushFailed":"Se confirmó, pero el push falló: no se cambió de rama.","gitView.dirtySwitch.actionFailed":"La acción falló; no se cambió de rama.","gitView.dirtySwitch.revertAndSwitch":"Revertir y cambiar","gitView.dirtySwitch.revertIncomplete":"Algunos cambios no se pudieron revertir, así que no se cambió de rama.","gitView.common.close":"Cerrar","gitView.common.done":"Hecho","gitView.common.processing":"Procesando...","gitView.common.reset":"Restablecer","gitView.conflict.abortOperation":"Abortar operación","gitView.conflict.conflictedFiles":"Archivos en conflicto:","gitView.conflict.continueLater":"Continuar más tarde","gitView.conflict.detectedDescription":"Se detectaron conflictos que debes resolver.","gitView.conflict.detectedTitle":"Conflictos detectados","gitView.conflict.errorLoadingDetails":"No se pudo cargar detalles","gitView.conflict.headInfo":"Información de HEAD:","gitView.conflict.loadFailed":"No se pudo cargar","gitView.conflict.loading":"Cargando detalles del conflicto...","gitView.conflict.noActiveSession":"Sin sesión activa","gitView.conflict.noActiveSessionDescription":"Abre o crea una sesión para resolver los conflictos.","gitView.conflict.resolveCurrentSession":"Resolver en sesión actual","gitView.conflict.resolveNewSession":"Resolver en nueva sesión","gitView.empty.cleanDescription":"No hay cambios pendientes.","gitView.empty.cleanTitle":"Worktree limpio","gitView.empty.pullBehindPlural":"Pull de {count} commits","gitView.empty.pullBehindSingle":"Pull de {count} commit","gitView.header.identityTooltip":"Identidad de Git","gitView.header.noIdentity":"Sin identidad","gitView.header.noProfiles":"No hay perfiles disponibles para aplicar.","gitView.header.repositoryViews":"Vistas del repositorio","gitView.header.updateBranch":"Actualizar rama","gitView.header.openPullRequest":"Abrir pull request","gitView.header.openRepository":"Ver repositorio en {provider}","gitView.header.removeRemoteAria":"Eliminar remoto","gitView.header.removeRemoteTitle":"Eliminar remoto","gitView.header.upstreamSynced":"sincronizado","gitView.header.upstreamTooltip":"Comparado con {target}.","gitView.header.upstreamTooltipTracking":"Comparado con {target}. Los indicadores principales de sincronización aún reflejan {tracking}.","gitView.history.actions.cancelButton":"Cancelar","gitView.history.actions.checkoutConfirm":"¿Cambiar a este commit como HEAD separado?","gitView.history.actions.cherryPickConfirm":"¿Aplicar cherry-pick de este commit sobre la rama actual?","gitView.history.actions.conflictToastDescription":"Conflictos en: {files}. Resuélvelos manualmente y haz commit, o aborta con git cherry-pick/revert --abort.","gitView.history.actions.conflictToastTitle":"Conflicto","gitView.history.actions.confirmButton":"Confirmar","gitView.history.actions.mergeConfirm":"¿Fusionar este commit en la rama actual?","gitView.history.actions.rebaseConfirm":"¿Rebasear la rama actual sobre este commit?","gitView.history.actions.resetHardConfirm":"Reset hard — HEAD se mueve y todos los cambios sin commit se descartan permanentemente.","gitView.history.actions.resetMixedConfirm":"Reset mixed — HEAD se mueve y los cambios quedan sin preparar.","gitView.history.actions.resetSoftConfirm":"Reset soft — HEAD se mueve y los cambios preparados se conservan.","gitView.history.actions.revertConfirm":"¿Preparar una reversión de este commit?","gitView.history.actions.checkout":"Cambiar a commit","gitView.history.actions.cherryPick":"Cherry-pick","gitView.history.actions.createBranch":"Crear rama aquí","gitView.history.actions.createBranchConfirm":"Crear","gitView.history.actions.createBranchPlaceholder":"Nombre de rama","gitView.history.actions.detachedHead":"Checkout realizado (HEAD separado)","gitView.history.actions.merge":"Fusionar en la actual","gitView.history.actions.rebase":"Rebasear sobre este","gitView.history.actions.reset":"Reset...","gitView.history.actions.resetHard":"Hard — descartar todos los cambios","gitView.history.actions.resetHardConfirmButton":"Descartar cambios","gitView.history.actions.resetMixed":"Mixed — quitar del stage","gitView.history.actions.resetSoft":"Soft — conservar staged","gitView.history.actions.revert":"Revertir","gitView.history.binary":"Binario","gitView.history.binaryNoDiff":"Archivo binario — no hay diff disponible","gitView.history.commitsPlaceholder":"Buscar commits...","gitView.history.copySha":"Copiar SHA","gitView.history.diffError":"Error al cargar el diff. Haz clic para reintentar.","gitView.history.largeDiffDescription":"El renderizado puede ser lento. Puedes ver el diff igualmente haciendo clic abajo.","gitView.history.largeDiffTitle":"Diff grande ({count} líneas cambiadas)","gitView.history.loadingDiff":"Cargando diff...","gitView.history.loadingFiles":"Cargando archivos...","gitView.history.loadMore":"Cargar más","gitView.history.loadingMore":"Cargando...","gitView.history.logSize100":"100 commits","gitView.history.logSize25":"25 commits","gitView.history.logSize50":"50 commits","gitView.history.noCommits":"No se encontraron commits","gitView.history.noFiles":"No hay archivos","gitView.history.renamedNoDiff":"Archivo renombrado — diff no soportado","gitView.history.renderDiffAnyway":"Renderizar igualmente","gitView.history.title":"Historial","gitView.history.refresh":"Actualizar","gitView.graph.title":"Grafo","gitView.integrate.checking":"Verificando…","gitView.integrate.cherryPickAbortedToast":"Cherry-pick abortado","gitView.integrate.cherryPickConflictDescription":"Resuelve los conflictos de cherry-pick para continuar.","gitView.integrate.cherryPickConflictToast":"Conflictos de cherry-pick detectados","gitView.integrate.cherryPickContinueFailedToast":"No se pudo continuar el cherry-pick","gitView.integrate.cherryPickFinishedToast":"Cherry-pick completado","gitView.integrate.commitsMovedDescriptionPlural":"Commits movidos","gitView.integrate.commitsMovedDescriptionSingle":"Commit movido","gitView.integrate.commitsMovedToast":"Commits movidos","gitView.integrate.commitsToMove":"Commits por mover","gitView.integrate.conflictsInFiles":"Conflictos en archivos","gitView.integrate.currentCommit":"Commit actual","gitView.integrate.currentSession":"Sesión actual","gitView.integrate.failedToMoveToast":"No se pudieron mover los commits","gitView.integrate.moreFiles":"Más archivos","gitView.integrate.move":"Mover","gitView.integrate.moveCommits":"Mover commits","gitView.integrate.moving":"Moviendo…","gitView.integrate.newSession":"Nueva sesión","gitView.integrate.noActiveSession":"Sin sesión activa","gitView.integrate.noActiveSessionDescription":"Abre o crea una sesión para resolver los conflictos.","gitView.integrate.noCommitsToMove":"No hay commits para mover.","gitView.integrate.noCommitsToMoveToast":"No hay commits para mover","gitView.integrate.previewUnavailable":"Vista previa no disponible","gitView.integrate.showAll":"Mostrar todo","gitView.integrate.showLess":"Mostrar menos","gitView.integrate.showingFirstCommits":"Mostrando los primeros commits","gitView.integrate.target":"Destino","gitView.integrate.title":"Reintegrar commits","gitView.integrate.toMoveCount":"Commits por mover","gitView.operation.abort":"Abortar","gitView.operation.continue":"Continuar","gitView.operation.inProgressTitle":"{operation} en progreso","gitView.operation.inProgressTitleManyConflicts":"{operation} en curso: {count} conflictos","gitView.operation.inProgressTitleOneConflict":"{operation} en curso: {count} conflicto","gitView.operation.merge":"Merge","gitView.operation.mergeInProgressWithHead":"Haciendo merge de {head}","gitView.operation.mergingMessage":"Haciendo merge: {message}","gitView.operation.rebase":"Rebase","gitView.operation.rebaseInProgress":"Rebase en progreso","gitView.operation.rebasingOnto":"Haciendo rebase de {headName} sobre {onto}","gitView.operation.readyToContinueHint":"Todos los conflictos están resueltos. Continúa para finalizar la operación.","gitView.operation.resolveConflictsHint":"Resuelve los conflictos y luego continúa la operación.","gitView.operation.resolveWithAi":"Resolver con IA","gitView.stash.confirmButton":"Guardar cambios y continuar","gitView.stash.description":"Tienes cambios sin commit que podrían sobrescribirse. Guárdalos temporalmente antes de continuar.","gitView.stash.mergeWith":"Merge con","gitView.stash.rebaseOnto":"Rebase sobre","gitView.stash.restoreAfterOperation":"Restaurar después de la operación","gitView.stash.restoreAria":"Restaurar stash","gitView.stash.stepRestore":"Restaura tus cambios guardados","gitView.stash.stepStash":"Guarda tus cambios sin commit","gitView.stash.thisWill":"Esto hará:","gitView.stash.title":"Cambios sin commit","gitView.stashes.actions.apply":"Apply","gitView.stashes.actions.drop":"Drop","gitView.stashes.actions.pop":"Pop","gitView.stashes.actions.stashCurrent":"Stash current changes","gitView.stashes.actions.stashCurrentWithCount":"Stash {count} files","gitView.stashes.confirm.drop":"Drop {ref}?","gitView.stashes.description":"Save, restore, and clean up Git stashes for this repository.","gitView.stashes.empty.list":"No stashes yet.","gitView.stashes.empty.search":"No matching stashes.","gitView.stashes.includeUntrackedHint":"Untracked files are included automatically.","gitView.stashes.fileCount":"{count} files","gitView.stashes.fileCountLoading":"counting files...","gitView.stashes.itemNumber":"#{number}","gitView.stashes.latestLabel":"Latest","gitView.stashes.messagePlaceholder":"Stash name","gitView.stashes.searchPlaceholder":"Search stashes","gitView.stashes.title":"Stashes","gitView.stashes.toast.applyFailed":"Failed to apply stash","gitView.stashes.toast.applySuccess":"Stash applied","gitView.stashes.toast.createFailed":"Failed to stash changes","gitView.stashes.toast.created":"Changes stashed","gitView.stashes.toast.dropFailed":"Failed to drop stash","gitView.stashes.toast.dropSuccess":"Stash dropped","gitView.stashes.toast.loadFailed":"Failed to load stashes","gitView.stashes.toast.noChanges":"No local changes to stash","gitView.stashes.toast.popFailed":"Failed to pop stash","gitView.stashes.toast.popSuccess":"Stash popped","gitView.stashes.untitled":"Untitled stash","gitView.sync.fetch":"Fetch","gitView.sync.fetchFromRemote":"Fetch de {name}","gitView.sync.fetchTooltip":"Fetch del remoto","gitView.sync.commitOrStashTooltip":"Haz commit o stash de tus cambios antes de sincronizar","gitView.sync.moreActionsAria":"Más acciones de sincronización","gitView.sync.noRemoteTooltip":"No hay remotos configurados","gitView.sync.pull":"Pull","gitView.sync.pullRebase":"Pull (rebase)","gitView.sync.pullTooltip":"Hacer pull","gitView.sync.pullTooltipBehind":"Hacer pull ({count} detrás)","gitView.sync.push":"Push","gitView.sync.pushTooltip":"Hacer push","gitView.sync.pushTooltipAhead":"Hacer push ({count} por delante)","gitView.sync.sync":"sync","gitView.sync.syncChanges":"Sync Changes","gitView.sync.syncChangesTooltip":"Sync Changes ({behind} abajo, {ahead} arriba)","gitView.sync.syncChangesWithCounts":"Sync Changes {behind}↓ {ahead}↑","gitView.sync.syncCounts":"{behind}↓ {ahead}↑","gitView.branch.actionsUnavailable":"Acciones de rama no disponibles en este estado del repositorio","gitView.conflict.noDetailsAvailable":"No hay detalles de conflicto disponibles","gitView.empty.notGitRepository":"Este directorio no es un repositorio Git","gitView.empty.notGitRepositoryDescription":"Inicializa Git en este directorio o abre un repositorio.","gitView.empty.selectSessionOrDirectory":"Selecciona una sesión o directorio para ver el estado de Git","gitView.empty.worktreeFeaturesUnavailable":"Las características de worktree no están disponibles en este modo de espacio de trabajo.","gitView.empty.worktreeSetupDescription":"Finalizando la configuración de worktree y preparando el estado del repositorio.","gitView.empty.worktreeSetupInProgress":"Configuración de worktree en progreso","gitView.empty.discoveringRepositories":"Buscando repositorios de Git...","gitView.empty.discoverFailed":"No se pudo escanear en busca de repositorios de Git","gitView.empty.retryDiscovery":"Reintentar","gitView.empty.initializeGit":"Inicializar Git","gitView.toast.initializeGitFailed":"No se pudo inicializar Git","gitView.toast.initializeGitNeedsNewerOpenCode":"Para inicializar Git se necesita OpenCode 2.0.23 o posterior.","gitView.toast.initializeGitNotDetected":"Git se inicializó, pero OpenChamber no ve un repositorio aquí. Esto ocurre cuando OpenCode se ejecuta en otra máquina o en un contenedor.","gitView.empty.selectRepositoryPlaceholder":"Selecciona un repositorio...","worktree.bootstrap.toast.failed":"Error al configurar el worktree","worktree.bootstrap.toast.failedDescription":"El worktree se creó, pero la configuración en segundo plano no terminó.","worktree.bootstrap.toast.authorizationRequired":"OpenChamber no llega al repositorio o a sus submódulos. Configura el acceso en Configurar repositorio y vuelve a intentarlo.","worktree.bootstrap.toast.lfsClientMissing":"Instala Git LFS en el servidor y vuelve a configurar el worktree.","worktree.bootstrap.toast.invalidConfiguration":"Revisa la configuración de submódulos y Git LFS del repositorio, y vuelve a intentarlo.","worktree.bootstrap.toast.repositoryTooManyFiles":"El repositorio tiene demasiados archivos.","worktree.bootstrap.toast.cancelled":"La configuración del worktree se canceló. Vuelve a intentarlo cuando quieras.","worktree.bootstrap.toast.transportFailed":"Comprueba el acceso al repositorio y la conexión de red, y vuelve a intentarlo.","worktree.bootstrap.toast.timeoutDescription":"El worktree se creó, pero la configuración en segundo plano agotó el tiempo de espera.","gitView.gitmoji.empty":"No se encontraron gitmojis","gitView.gitmoji.searchPlaceholder":"Buscar gitmojis...","gitView.gitmoji.title":"Insertar gitmoji","gitView.history.dialogDescription":"Navega por commits recientes e inspecciona los archivos modificados.","gitView.loading.checkingRepository":"Verificando repositorio...","gitView.loading.loading":"Cargando...","gitView.pr.actions.createPr":"Crear PR","gitView.pr.actions.openOnProvider":"Abrir en {provider}","gitView.pr.actions.openOnProviderAria":"Abrir la solicitud de cambios en {provider}","gitView.pr.actions.openSettings":"Abrir configuración","gitView.pr.actions.repo":"Repositorio","gitView.pr.actions.resolveFailedChecks":"Adjuntar comprobaciones fallidas","gitView.pr.actions.sendToAgent":"Adjuntar al chat","gitView.pr.actions.refresh":"Actualizar estado de la PR","gitView.pr.actions.refreshAria":"Actualizar estado del pull request","gitView.pr.checkingStatus":"Comprobando estado de la PR...","gitView.pr.checks.label":"checks","gitView.pr.checks.completedLabel":"Completado","gitView.pr.checks.conclusionLabel":"Conclusión","gitView.pr.checks.startedLabel":"Iniciado","gitView.pr.checks.statusLabel":"Estado","gitView.pr.checks.stepLabel":"Paso","gitView.pr.checks.steps":"Pasos","gitView.pr.checks.openRun":"Abrir","gitView.pr.checks.failedAnnotations":"Anotaciones fallidas","gitView.pr.checks.failedAnnotationsShown":"Anotaciones fallidas (se muestran {shown} de {total})","gitView.pr.field.baseBranch":"Rama base","gitView.pr.field.description":"Descripción","gitView.pr.field.title":"Título","gitView.pr.providerNotConnected":"{provider} no está conectado","gitView.pr.history.merged":"La PR #{number} se fusionó en {base}.","gitView.pr.history.closed":"La PR #{number} se cerró.","gitView.pr.mergeMethod.merge":"Crear un merge commit","gitView.pr.mergeMethod.rebase":"Rebase y merge","gitView.pr.mergeMethod.squash":"Squash y merge","gitView.pr.notMergeable":"No se puede hacer merge","gitView.pr.numberLabel":"PR # {number}","gitView.pr.segment.checks":"Comprobaciones","gitView.pr.comments.addAll":"Adjuntar todo al chat","gitView.pr.placeholder.additionalContext":"Cualquier restricción, nota de lanzamiento o contexto para revisor...","gitView.pr.placeholder.main":"Resume tu PR","gitView.pr.placeholder.selectBaseBranch":"Seleccionar rama base","gitView.pr.placeholder.title":"Título de la PR","gitView.pr.placeholder.whatChanged":"¿Qué cambió y por qué?","gitView.pr.statusUnavailable":"Estado de la PR no disponible","gitView.pr.capabilitiesUnavailable":"No se pudieron cargar las funciones del proveedor","gitView.pr.toast.baseBranchRequired":"Selecciona una rama base","gitView.pr.toast.baseMustDifferFromHead":"La rama base debe diferir de la rama actual","gitView.pr.toast.createPrFailed":"No se pudo crear la PR","gitView.pr.toast.generateDescriptionFailed":"No se pudo generar la descripción de la PR","gitView.pr.toast.noActiveSession":"No hay sesión de chat activa","gitView.pr.toast.noActiveSessionDescription":"Abre o crea una sesión de chat para enviar contexto a un agente.","gitView.pr.toast.noFailedChecks":"No se encontraron checks fallidos","gitView.pr.toast.prCreated":"PR creada","gitView.pr.toast.titleRequired":"El título es obligatorio","gitView.pullRequest.createHint":"Crea y gestiona PR desde esta rama.","gitView.pullRequest.availableOnFeatureBranches":"Disponible cuando la rama actual puede abrir un PR.","gitView.pullRequest.title":"PR","gitView.tabs.worktree":"Árbol de trabajo","gitView.toast.abortOperationFailed":"No se pudo abortar la operación","gitView.toast.appliedIdentity":"Identidad aplicada: {name}","gitView.toast.applyIdentityFailed":"No se pudo aplicar la identidad","gitView.toast.cannotCheckout":"No se puede cambiar a la rama: {reason}","gitView.toast.cannotCreateBranch":"No se puede crear la rama: {reason}","gitView.toast.cannotRemoveOriginRemote":"No se puede eliminar el remoto origin","gitView.toast.cannotRenameBranch":"No se puede cambiar el nombre de la rama: {reason}","gitView.toast.checkedOut":"Cambiado a {name}","gitView.toast.checkoutFailed":"No se pudo cambiar a {name}","gitView.toast.commitCreated":"Commit creado","gitView.toast.commitHashCopied":"Hash del commit copiado","gitView.toast.continueOperationFailed":"No se pudo continuar la operación","gitView.toast.copyFailed":"No se pudo copiar","gitView.toast.createBranchFailed":"No se pudo crear la rama","gitView.toast.createCommitFailed":"No se pudo crear el commit","gitView.toast.createdBranch":"Rama {name} creada","gitView.toast.enterCommitMessage":"Escribe un mensaje de commit","gitView.toast.fetchedFromRemote":"Recuperado de {name}","gitView.toast.generateCommitMessageFailed":"No se pudo generar el mensaje de commit","gitView.toast.mergeAborted":"Merge abortado","gitView.toast.mergeCompleted":"Merge completado","gitView.toast.mergeConflictsDetected":"Se detectaron conflictos al hacer merge","gitView.toast.mergedIntoBranch":"Merge de {branch} en {currentBranch}","gitView.toast.syncedChanges":"Cambios sincronizados","gitView.toast.alreadyUpToDate":"Ya está actualizado","gitView.toast.rebaseAborted":"Rebase abortado","gitView.toast.rebaseConflictsDetected":"Se detectaron conflictos al hacer rebase","gitView.toast.rebaseStepCompleted":"Paso de rebase completado","gitView.toast.rebasedOntoBranch":"Rebase de {currentBranch} sobre {branch}","gitView.toast.refreshRepositoryFailed":"No se pudo actualizar el repositorio","gitView.toast.remoteNameRequired":"Se requiere nombre del remoto","gitView.toast.removedRemote":"Remoto {name} eliminado","gitView.toast.renameBranchFailed":"No se pudo cambiar el nombre de {oldName} a {newName}","gitView.toast.renamedBranch":"{oldName} renombrado a {newName}","gitView.toast.restoreStashFailed":"No se pudo restaurar el stash","gitView.toast.restoreStashManually":"Debes restaurar el stash manualmente","gitView.toast.revertFailed":"No se pudieron revertir los cambios","gitView.toast.revertedFile":"{path} revertido","gitView.toast.revertedFilesPlural":"{count} archivos revertidos","gitView.toast.revertedFilesSingle":"{count} archivo revertido","gitView.toast.revertedSomePlural":"{success} archivos revertidos, {failed} fallidos","gitView.toast.revertedSomeSingle":"{success} archivo revertido, {failed} fallido","gitView.toast.stageFileFailed":"No se pudieron preparar los cambios","gitView.toast.stageFileToCommit":"Prepara al menos un archivo para el commit","gitView.toast.stageFileToDescribe":"Prepara al menos un archivo para describir","gitView.toast.selectFileToCommit":"Selecciona al menos un archivo para el commit","gitView.toast.selectFileToDescribe":"Selecciona al menos un archivo para describir","gitView.toast.stashedRestored":"Cambios del stash restaurados","gitView.toast.syncActionFailed":"{action} falló","gitView.contributor.chooseDestination":"¿Adónde debe ir esta rama?","gitView.contributor.destination.contributor-fork":"Bifurcación del colaborador","gitView.contributor.destination.own-fork":"Tu bifurcación","gitView.contributor.destination.bound-repository":"Este repositorio","gitView.contributor.destination.other":"Otro remoto","gitView.toast.contributorPublishCancelled":"Se canceló la publicación. No se modificó ningún remoto.","gitView.toast.contributorPublishCancelledAfterUpdate":"Los cambios se actualizaron localmente, pero se canceló la publicación.","gitView.toast.unstageFileFailed":"No se pudieron quitar los cambios del área preparada","gitView.worktree.availableInWorktreeMode":"Disponible solo en modo worktree","contextPanel.mode.chat":"Chat","contextPanel.mode.files":"Archivos","contextPanel.mode.diff":"Cambios","contextPanel.mode.stagedDiff":"Staged Diff","contextPanel.mode.workingDiff":"Working Diff","contextPanel.mode.pr":"Seguimiento","contextPanel.tracker.branchTab":"Rama actual","contextPanel.tracker.loadFailed":"No se pudo cargar este elemento.","contextPanel.tracker.unavailable":"OpenChamber no puede leer este elemento aquí.","gitView.mergeRequest.title":"MR","gitView.mergeRequest.availableOnFeatureBranches":"Disponible cuando la rama actual puede abrir un MR.","gitView.mr.openMergeRequest":"Abrir merge request","gitView.mr.actions.createMr":"Crear MR","gitView.pr.actions.createDraftPr":"Crear PR en borrador","gitView.mr.actions.createDraftMr":"Crear MR en borrador","gitView.pr.actions.pushAndCreatePr":"Hacer push y crear PR","gitView.mr.actions.pushAndCreateMr":"Hacer push y crear MR","gitView.pr.actions.pushAndCreateDraftPr":"Hacer push y crear PR en borrador","gitView.mr.actions.pushAndCreateDraftMr":"Hacer push y crear MR en borrador","gitView.pr.createKindAria":"Cómo crearla","gitView.pr.unpushed.unpublished":"Esta rama aún no está en el remoto; se hará push primero","gitView.pr.unpushed.one":"1 commit aún no tiene push; se hará push primero","gitView.pr.unpushed.many":"{count} commits aún no tienen push; se hará push primero","gitView.pr.generate.optionsAria":"Más formas de generar","gitView.pr.generate.withNotes":"Generar con notas…","gitView.pr.generate.notesAria":"Notas para la descripción generada","gitView.pr.generate.removeNotesAria":"Quitar las notas","gitView.pr.toast.gitBusy":"Otra transferencia de Git sigue en curso. Inténtalo de nuevo cuando termine.","gitView.mr.actions.openOnProviderAria":"Abrir el merge request en {provider}","gitView.mr.actions.refresh":"Actualizar estado del MR","gitView.mr.actions.refreshAria":"Actualizar estado del merge request","gitView.mr.checkingStatus":"Comprobando estado del MR...","gitView.mr.history.closed":"El MR !{number} se cerró.","gitView.mr.history.merged":"El MR !{number} se fusionó en {base}.","gitView.mr.placeholder.main":"Resume tu MR","gitView.mr.placeholder.title":"Título del MR","gitView.mr.statusUnavailable":"Estado del MR no disponible","gitView.mr.toast.createMrFailed":"No se pudo crear el MR","gitView.mr.toast.generateDescriptionFailed":"No se pudo generar la descripción del MR","gitView.mr.toast.mrCreated":"MR creado","gitView.mr.comparison.mode":"MR","gitView.mr.comparison.select":"Seleccionar merge request","gitView.mr.comparison.pickAbove":"Elige una merge request arriba","gitView.mr.comparison.partial":"No se pudieron cargar algunos merge requests","gitView.mr.comparison.searchPlaceholder":"Buscar MR","gitView.mr.comparison.loading":"Cargando MR...","gitView.mr.comparison.empty":"No se encontraron MR","gitView.mr.comparison.notConnected":"GitLab no está conectado. Conecta tu cuenta de GitLab en configuración.","gitView.mr.comparison.runtimeUnavailable":"API de runtime de GitLab no disponible","gitView.mr.comparison.loadMoreFailed":"No se pudieron cargar más MR","gitView.mr.walkthroughScope":"MR !{number}","gitView.mr.createHint":"Crea y gestiona MR desde esta rama.","header.gitlab.connectedWithLogin":"GitLab: {login}","header.gitlab.connected":"GitLab conectado","header.gitlab.accountsTitle":"Cuentas de GitLab","contextPanel.mode.context":"Contexto","contextPanel.mode.preview":"Vista previa","contextPanel.mode.browser":"Navegador","contextRail.configure.open":"Configurar paneles","contextRail.configure.dialogTitle":"Paneles de la barra","contextRail.configure.reorder":"Arrastra {label} para cambiar el orden","contextRail.configure.dragInstructions":"Pulsa Espacio para seleccionar un panel, muévelo con las flechas y pulsa Espacio para soltarlo. Pulsa Escape para cancelar.","contextRail.configure.position":"{label}, posición {position} de {count}.","contextRail.configure.dragCancelled":"Cambio de orden cancelado.","contextRail.configure.dialogDescription":"Elige qué paneles muestra la barra. Los paneles ocultos conservan sus datos y siguen accesibles desde la paleta de comandos.","contextRail.configure.showAll":"Mostrar todos","contextRail.configure.noneWarning":"Todos los paneles están ocultos.","contextRail.aria.rail":"Superficies del panel","contextPanel.editorEmpty.title":"Ningún archivo abierto","contextPanel.editorEmpty.description":"Elige un archivo del árbol para empezar a editar.","contextRail.surface.editor.description":"Editar archivos del proyecto","contextRail.surface.git.description":"Commits, ramas y pull requests","contextRail.surface.git.changesCountAriaSingle":"{label}, {count} archivo modificado","contextRail.surface.git.changesCountAriaPlural":"{label}, {count} archivos modificados","contextRail.surface.git.changesCountTooltipSingle":"{count} archivo modificado","contextRail.surface.git.changesCountTooltipPlural":"{count} archivos modificados","contextRail.surface.terminal.description":"Terminal integrada","contextRail.surface.diff.description":"Revisar cambios en curso","contextPanel.mode.walkthrough":"Recorrido","contextRail.surface.walkthrough.description":"Un recorrido por tus cambios guiado por IA","walkthrough.scope.all":"Todo sin confirmar","walkthrough.scope.group.workingTree":"Árbol de trabajo","walkthrough.scope.staged":"Preparados","walkthrough.scope.working":"Sin preparar","walkthrough.scope.branch":"Esta rama","walkthrough.scope.selectorAria":"Elegir qué revisar","walkthrough.language.menuLabel":"Idioma del recorrido","walkthrough.missing.language":"Aún no hay un recorrido en {requested}: se muestra el de {shown}.","walkthrough.missing.model":"Aún no hay un recorrido de {model}: se muestra el último generado aquí.","walkthrough.missing.languageAndModel":"Aún no hay un recorrido en este idioma con este modelo: se muestra el último generado aquí.","walkthrough.language.selectorAria":"Elegir el idioma del recorrido","walkthrough.scope.pullRequest":"PR n.º {number}","walkthrough.action.generate":"Generar recorrido","walkthrough.action.regenerate":"Regenerar","walkthrough.action.cancel":"Cancelar","walkthrough.action.next":"Paso siguiente","walkthrough.action.previous":"Paso anterior","walkthrough.action.refresh":"Actualizar","walkthrough.action.open":"Recorrido con IA","walkthrough.stage.collecting":"Reuniendo los cambios","walkthrough.stage.asking":"Esperando al modelo","walkthrough.stage.assembling":"Montando el recorrido","walkthrough.empty.title":"Todavía no hay recorrido","walkthrough.empty.description":"Crea una ruta de lectura guiada por estos cambios. Esto llama al modelo pequeño y consume tokens, así que solo se ejecuta cuando lo pides.","walkthrough.stale.banner":"El código cambió después de esta revisión. Pasos desactualizados: {count}","walkthrough.stop.staleAll":"Todo el código que describía este paso ha cambiado.","walkthrough.stop.stalePartial":"Parte del código que describía este paso ha cambiado. Fragmentos perdidos: {count}","walkthrough.stop.staleShort":"Desactualizado","walkthrough.stop.noCode":"El código de este paso no está en el diff actual.","walkthrough.uncovered.title":"Cambios que la revisión omitió: {count}","walkthrough.uncovered.description":"La revisión los consideró rutinarios. Despliega para revisarlos tú mismo.","walkthrough.toc.moreFiles":"Más archivos: {count}","walkthrough.toc.uncovered":"Sin cubrir: {count}","walkthrough.toc.resize":"Cambiar el ancho de la columna de contenidos","walkthrough.toc.jumpAria":"Ir a un paso","walkthrough.options.title":"Opciones del recorrido","walkthrough.options.moreAria":"Más opciones del recorrido","walkthrough.options.model":"Modelo","walkthrough.options.language":"Idioma","walkthrough.importance.critical":"Cambio clave","walkthrough.importance.criticalHint":"Este paso impulsa el resto del cambio, así que léelo con atención. No es un problema detectado en tu código.","walkthrough.importance.context":"Contexto","walkthrough.importance.contextHint":"Un cambio de apoyo, incluido para que el resto tenga sentido.","walkthrough.help.guide":"Cómo funcionan los walkthroughs","walkthrough.blocked.noModel.title":"No hay ningún modelo pequeño disponible","walkthrough.blocked.noModel.description":"Inicia sesión en un proveedor de modelos para generar una revisión.","walkthrough.blocked.emptyDiff.title":"Nada que revisar","walkthrough.blocked.emptyDiff.description":"Todavía no hay cambios en este ámbito.","walkthrough.blocked.contextTooSmall.title":"Este diff es demasiado grande para el modelo actual","walkthrough.blocked.contextTooSmall.description":"{model} admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.","walkthrough.blocked.structuredOutput.title":"Este modelo no puede generar salida estructurada","walkthrough.blocked.structuredOutput.description":"{model} no admite las respuestas estructuradas que necesita un recorrido.","walkthrough.blocked.chooseModel":"Elige el modelo pequeño","walkthrough.blocked.outputExhausted.title":"El modelo se quedó sin presupuesto de respuesta","walkthrough.blocked.outputExhausted.description":"{model} gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.","walkthrough.blocked.outputExhausted.descriptionUnknownModel":"El modelo pequeño gastó todo su margen de salida razonando y no devolvió nada. Los modelos de razonamiento suelen hacerlo con diffs grandes: prueba con un modelo que razone menos o revisa un ámbito más reducido.","walkthrough.blocked.onlyGenerated.title":"Solo cambiaron archivos generados","walkthrough.blocked.onlyGenerated.description":"Todos los cambios son archivos de bloqueo u otra salida generada por herramientas, que la revisión omite a propósito.","walkthrough.blocked.serverUnsupported.title":"Este servidor no admite walkthroughs","walkthrough.blocked.serverUnsupported.description":"El servidor de OpenChamber al que está conectada esta app no respondió a la API de walkthrough, así que es más antiguo que la app. Actualiza el servidor a 1.18 o posterior y vuelve a intentarlo.","walkthrough.blocked.contextTooSmall.descriptionUnknownModel":"El modelo pequeño admite unos {available} mil caracteres y este diff necesita unos {required} mil. No se recorta nada: elige un modelo con más contexto.","walkthrough.blocked.structuredOutput.descriptionUnknownModel":"El modelo pequeño no admite las respuestas estructuradas que necesita un recorrido.","contextRail.surface.pr.description":"El pull request de la rama actual y los issues, pull requests y tickets abiertos desde tus sesiones","contextRail.surface.notes.description":"Notas, tareas, planes y memoria del agente del proyecto","contextRail.surface.context.description":"Contexto de la sesión y uso de tokens","contextRail.surface.browser.description":"Navegador web integrado","contextRail.surface.preview.description":"Vista previa del servidor de desarrollo","contextRail.surface.chat.description":"Sesión abierta en paralelo","contextRail.surface.notes":"Conocimiento del proyecto","contextRail.editorTree.toggle":"Alternar árbol de archivos","contextRail.editor.toggle":"Alternar editor de archivos","contextPanel.browser.open":"Abrir panel del navegador","contextPanel.browser.addressAria":"Dirección del navegador","contextPanel.browser.history.label":"Direcciones recientes","contextPanel.browser.history.forget":"Quitar del historial","contextPanel.browser.newTab":"Nueva pestaña del navegador","contextPanel.browser.empty":"Navegador web","contextPanel.browser.emptyHint":"Ingrese una dirección arriba para comenzar a navegar","contextPanel.browser.inspectUnavailable":"Esta página no se puede inspeccionar desde el panel del navegador.","contextPanel.browser.back":"Atrás","contextPanel.browser.forward":"Adelante","contextPanel.browser.reload":"Recargar","contextPanel.browser.hardReload":"Recargar ignorando la caché","contextPanel.browser.zoomIn":"Acercar","contextPanel.browser.zoomOut":"Alejar","contextPanel.browser.zoomReset":"Restablecer zoom","contextPanel.browser.clearCookies":"Borrar cookies","contextPanel.browser.clearCache":"Borrar caché","contextPanel.browser.clearedCookies":"Cookies borradas","contextPanel.browser.clearedCache":"Caché borrada","contextPanel.browser.clearFailed":"No se pudieron borrar los datos de navegación","contextPanel.browser.stop":"Detener","contextPanel.browser.openExternal":"Abrir en el navegador del sistema","contextPanel.browser.devTools":"Abrir DevTools","contextPanel.browser.deviceToolbar":"Barra de dispositivos","contextPanel.browser.device.preset":"Preajuste de dispositivo","contextPanel.browser.device.responsive":"Adaptable","contextPanel.browser.device.width":"Ancho del viewport","contextPanel.browser.device.height":"Alto del viewport","contextPanel.browser.device.rotate":"Rotar","contextPanel.browser.device.schemeSystem":"Auto","contextPanel.browser.device.schemeLight":"Claro","contextPanel.browser.device.schemeDark":"Oscuro","contextPanel.browser.device.schemeFailed":"No se pudo cambiar la apariencia de la página","contextPanel.browser.frameTitle":"Navegador","contextPanel.browser.loadFailed":"No se pudo cargar esta página","contextPanel.browser.waitingForServer":"Esperando al servidor de desarrollo","contextPanel.browser.waitingForServerHint":"Todavía no acepta conexiones. La página se cargará en cuanto lo haga.","contextPanel.browser.tunnelFailed":"No se pudo alcanzar este servidor de desarrollo","contextPanel.browser.remoteLoopback.title":"{url} está en la máquina de OpenChamber","contextPanel.browser.remoteLoopback.hint":"Una pestaña del navegador no puede abrir páginas que se ejecutan allí. Ábrela en la app de escritorio.","contextPanel.browser.tunnelFailedHint":"{url} se ejecuta en la máquina donde está OpenChamber y no se pudo abrir la conexión con ella. Aquí no se muestra nada de tu propia máquina.","contextPanel.browser.loadFailedUnknown":"No se pudo acceder a la página.","contextPanel.browser.crashed":"Esta página dejó de responder","contextPanel.browser.crashedHint":"La página falló varias veces seguidas. Recarga para volver a intentarlo.","contextPanel.browser.devServers.title":"Servidores de desarrollo activos","projectActions.toast.multipleServers":"Se iniciaron varios servidores: elige uno en el panel del navegador","contextPanel.browser.devServers.justStarted":"Recién iniciados","contextPanel.browser.devServers.unavailable":"No se pudieron comprobar los servidores de desarrollo activos.","contextPanel.browser.devServers.remoteOnly":"Se ejecutan en la máquina que aloja OpenChamber. Abrirlos requiere la aplicación de escritorio.","contextPanel.browser.annotate.toggle":"Anotar página","contextPanel.browser.annotate.intro":"Esta es una selección anotada del navegador integrado.","contextPanel.browser.annotate.attached":"Anotación adjuntada al chat","contextPanel.browser.annotate.noSession":"Abre una sesión de chat antes de adjuntar una anotación","contextPanel.browser.annotate.noPage":"Carga una página antes de anotar","contextPanel.browser.annotate.failed":"No se pudo anotar esta página","contextPanel.browser.annotate.tool.element":"Elemento","contextPanel.browser.annotate.tool.region":"Región","contextPanel.browser.annotate.tool.draw":"Dibujar","contextPanel.browser.annotate.commentPlaceholder":"Describe el cambio...","contextPanel.browser.annotate.submit":"Adjuntar","contextPanel.browser.trustNotice":"Las páginas que abras aquí se ejecutan con acceso completo a OpenChamber: necesario para la inspección y las capturas. Abre solo sitios de confianza: una página maliciosa podría leer tus datos o actuar en tu nombre.","contextPanel.tab.closeTabAria":"Cerrar pestaña {label}","contextPanel.tab.menu.close":"Cerrar","contextPanel.tab.menu.closeOthers":"Cerrar otras","contextPanel.tab.menu.closeToLeft":"Cerrar pestañas a la izquierda","contextPanel.tab.menu.closeToRight":"Cerrar pestañas a la derecha","contextPanel.tab.menu.closeAll":"Cerrar todas las pestañas","contextPanel.zone.moveLeft":"Mover el panel a la izquierda","contextPanel.zone.moveBottom":"Mover el panel abajo","contextPanel.zone.moveRight":"Mover el panel a la derecha","contextPanel.zone.dropLeft":"Izquierda","contextPanel.zone.dropBottom":"Abajo","contextPanel.zone.dropRight":"Derecha","contextPanel.actions.collapsePanel":"Colapsar panel","contextPanel.actions.expandPanel":"Expandir panel","contextPanel.actions.closePanel":"Cerrar panel","contextPanel.actions.resizePanelAria":"Ajustar tamaño del panel de contexto","contextPanel.iframe.sessionChatTitle":"Chat de sesión {sessionID}","contextPanel.preview.actions.reload":"Recargar vista previa","contextPanel.preview.actions.openExternal":"Abrir en el navegador","contextPanel.preview.actions.retry":"Reintentar","contextPanel.preview.iframeTitle":"Vista previa","contextPanel.preview.invalidUrl":"La vista previa necesita una URL http(s) válida.","contextPanel.preview.empty":"Sin URL de vista previa","contextPanel.preview.loading":"Conectando proxy de vista previa...","contextPanel.preview.proxyError":"No se pudo iniciar el proxy de vista previa.","contextPanel.preview.upstreamUnreachable":"El servidor de desarrollo no responde.","contextPanel.preview.upstreamUnreachableHint":"Verifica que tu servidor de desarrollo siga en ejecución y vuelve a intentarlo.","terminalView.preview.open":"Vista previa","terminalView.preview.openTitle":"Abrir panel de vista previa","sidebarFilesTree.menu.rename":"Cambiar nombre","sidebarFilesTree.menu.copyPath":"Copiar ruta","sidebarFilesTree.menu.save":"Guardar","sidebarFilesTree.menu.download":"Descargar","sidebarFilesTree.menu.newFile":"Nuevo archivo","sidebarFilesTree.menu.newFolder":"Nueva carpeta","sidebarFilesTree.menu.uploadFiles":"Subir archivos","sidebarFilesTree.menu.delete":"Eliminar","sidebarFilesTree.toast.pathCopied":"Ruta copiada","sidebarFilesTree.toast.copyFailed":"No se pudo copiar","sidebarFilesTree.toast.revealFailed":"No se pudo revelar la ruta","sidebarFilesTree.toast.filenameRequired":"El nombre de archivo es obligatorio","sidebarFilesTree.toast.writeNotSupported":"La escritura no es compatible","sidebarFilesTree.toast.fileCreated":"Archivo creado","sidebarFilesTree.toast.operationFailed":"No se pudo completar la operación","sidebarFilesTree.toast.uploaded":"Archivos subidos","sidebarFilesTree.toast.uploadedWithoutConflicts":"Se subieron los archivos sin conflictos","sidebarFilesTree.toast.uploadFailed":"No se pudieron subir algunos archivos","sidebarFilesTree.drop.target":"Subir a {path}","sidebarFilesTree.drop.uploading":"Subiendo archivos a {path}","sidebarFilesTree.drop.moveTarget":"Mover a {path}","sidebarFilesTree.dialog.uploadConflicts.title":"¿Reemplazar los archivos existentes?","sidebarFilesTree.dialog.uploadConflicts.description":"Ya existen archivos con estos nombres en {path}. El reemplazo no se puede deshacer.","sidebarFilesTree.dialog.uploadConflicts.replace":"Reemplazar","sidebarFilesTree.toast.folderNameRequired":"El nombre de carpeta es obligatorio","sidebarFilesTree.toast.folderCreated":"Carpeta creada","sidebarFilesTree.toast.nameRequired":"El nombre es obligatorio","sidebarFilesTree.toast.renameNotSupported":"El cambio de nombre no es compatible","sidebarFilesTree.toast.renamedSuccessfully":"Nombre cambiado","sidebarFilesTree.toast.nameTaken":"{folder} ya tiene un archivo o una carpeta llamada {name}","sidebarFilesTree.toast.deleteNotSupported":"La eliminación no es compatible","sidebarFilesTree.toast.deletedSuccessfully":"Eliminado","sidebarFilesTree.search.placeholder":"Buscar archivos...","sidebarFilesTree.search.clearAria":"Limpiar búsqueda","sidebarFilesTree.actions.uploadFilesTitle":"Subir archivos","sidebarFilesTree.actions.addMenuTitle":"Nuevo archivo, carpeta o subida","sidebarFilesTree.actions.refreshTitle":"Actualizar","sidebarFilesTree.actions.collapseAllTitle":"Contraer todas las carpetas","sidebarFilesTree.actions.fileMenuTitle":"Menú de archivo","sidebarFilesTree.state.searching":"Buscando...","sidebarFilesTree.state.loading":"Cargando...","sidebarFilesTree.dialog.createFile.title":"Crear archivo","sidebarFilesTree.dialog.createFolder.title":"Crear carpeta","sidebarFilesTree.dialog.rename.title":"Cambiar nombre","sidebarFilesTree.dialog.delete.title":"Eliminar","sidebarFilesTree.dialog.createFile.description":"Crea un archivo nuevo en {path}","sidebarFilesTree.dialog.createFolder.description":"Crea una carpeta nueva en {path}","sidebarFilesTree.dialog.rename.description":"Cambiar el nombre de {name}","sidebarFilesTree.dialog.delete.description":"¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.","sidebarFilesTree.dialog.rootFallback":"raíz","sidebarFilesTree.dialog.rename.placeholder":"Nuevo nombre","sidebarFilesTree.dialog.namePlaceholder":"Nombre","sidebarFilesTree.dialog.cancel":"Cancelar","sidebarFilesTree.dialog.confirm":"Confirmar","sidebarFilesTree.dialog.delete.confirm":"Eliminar","sidebarFilesTree.dialog.move.title":"Mover","sidebarFilesTree.dialog.move.description":"¿Mover {name} a {folder}?","sidebarFilesTree.dialog.move.confirm":"Mover","sidebarFilesTree.dialog.move.neverAsk":"No volver a preguntar","filesView.dialog.createFile.title":"Crear archivo","filesView.dialog.createFolder.title":"Crear carpeta","filesView.dialog.rename.title":"Cambiar nombre","filesView.dialog.delete.title":"Eliminar","filesView.dialog.createFile.description":"Crea un archivo nuevo en {path}","filesView.dialog.createFolder.description":"Crea una carpeta nueva en {path}","filesView.dialog.rename.description":"Cambiar el nombre de {name}","filesView.dialog.delete.description":"¿Estás seguro de que quieres eliminar {name}? Esta acción no se puede deshacer.","filesView.dialog.rootFallback":"raíz","filesView.dialog.rename.placeholder":"Nuevo nombre","filesView.dialog.namePlaceholder":"Nombre","filesView.dialog.cancel":"Cancelar","filesView.dialog.confirm":"Confirmar","filesView.dialog.delete.confirm":"Eliminar","filesView.editor.saving":"Guardando...","filesView.editor.saved":"Guardado","filesView.editor.autoSaveOn":"Guardado automático activado","filesView.editor.manualSave":"Guardado manual","filesView.editor.saveNowTitle":"Guardar ahora ({shortcut}) - se guarda automáticamente después de 1.5 segundos","filesView.editor.saveNowManualTitle":"Guardar ahora ({shortcut})","filesView.editor.saveAria":"Guardar ({shortcut})","filesView.editor.openInDesktopApp":"Abrir en la aplicación de escritorio","filesView.editor.refreshApps":"Actualizar aplicaciones","filesView.editor.disableLineWrap":"Desactivar ajuste de línea","filesView.editor.enableLineWrap":"Activar ajuste de línea","filesView.editor.findInFile":"Buscar en el archivo","filesView.preview.find.placeholder":"Buscar en la vista previa","filesView.preview.find.nextAria":"Siguiente coincidencia","filesView.preview.find.previousAria":"Coincidencia anterior","filesView.preview.find.closeAria":"Cerrar búsqueda","filesView.preview.find.noMatches":"Sin coincidencias","filesView.preview.find.countAria":"{current} de {total}","filesView.editor.goToLine":"Ir a línea","filesView.editor.symbols":"Símbolos del archivo","filesView.symbols.placeholder":"Ir a símbolo…","filesView.symbols.noneInFile":"No se encontraron funciones, clases ni encabezados en este archivo","filesView.symbols.noMatches":"No hay símbolos que coincidan","filesView.editor.switchToEditMode":"Cambiar al modo de edición","filesView.editor.switchToPreviewMode":"Cambiar al modo de vista previa","filesView.editor.switchToTextView":"Cambiar a vista de texto","filesView.editor.switchToTreeView":"Cambiar a vista de árbol","filesView.toast.copyFailed":"No se pudo copiar","filesView.toast.openInAppFailed":"No se pudo abrir en {app}","filesView.toast.savingNotSupported":"El guardado no es compatible","filesView.toast.writeFileFailed":"No se pudo escribir el archivo","filesView.toast.saveFailed":"No se pudo guardar","filesView.editor.copyFileContents":"Copiar contenido del archivo","filesView.editor.moreActions":"Más acciones","filesView.editor.toast.contentsCopied":"Contenido del archivo copiado","filesView.editor.copyFilePathTitle":"Copiar ruta del archivo ({path})","filesView.editor.saveFile":"Guardar archivo","filesView.editor.exitFullscreen":"Salir de pantalla completa","filesView.editor.fullscreen":"Pantalla completa","filesView.unsaved.title":"Cambios no guardados","filesView.unsaved.description":"¿Quieres guardar tus cambios antes de continuar?","filesView.unsaved.saveChanges":"Guardar cambios","filesView.unsaved.discard":"Descartar","filesView.editor.back":"Atrás","filesView.editor.openFilesAria":"Abrir archivos","filesView.editor.closeFileAria":"Cerrar {name}","filesView.editor.selectFile":"Seleccionar un archivo","filesView.editor.showControlsAria":"Mostrar controles del editor","filesView.editor.controlsTitle":"Controles del editor","filesView.editor.pickFileFromTree":"Selecciona un archivo del árbol.","filesView.editor.cannotPreviewBinary":"No se puede previsualizar el archivo binario","filesView.editor.binaryFileDescription":"Este archivo es binario y no se puede editar en OpenChamber. Descárgalo para abrirlo con otra aplicación.","filesView.state.loading":"Cargando...","filesView.state.openingFileAtChange":"Abriendo archivo en cambio...","filesView.tree.search.placeholder":"Buscar archivos...","filesView.tree.search.clearAria":"Limpiar búsqueda","filesView.tree.search.searching":"Buscando...","filesView.tree.actions.newFileTitle":"Nuevo archivo","filesView.tree.actions.newFolderTitle":"Nueva carpeta","filesView.tree.actions.refreshTitle":"Actualizar","filesView.tree.actions.showGitignored":"Mostrar archivos ignorados por git","filesView.tree.actions.hideGitignored":"Ocultar archivos ignorados por git","filesView.editor.imageAltFallback":"Imagen","filesView.error.jsonViewerUnavailable":"Visualizador JSON no disponible","filesView.error.switchToTextMode":"Cambia al modo de texto para ver contenido bruto.","filesView.warning.largeFilePreviewLimited":"Este archivo es grande ({sizeKb}KB). La vista previa puede estar limitada.","filesView.error.previewUnavailable":"Vista previa no disponible","filesView.error.switchToEditMode":"Cambia al modo de edición para resolver el problema.","filesView.error.readFileFailed":"No se pudo leer el archivo","filesView.editor.htmlPreviewTitle":"Vista previa HTML","filesView.editor.htmlAnnotate.intro":"Esta es una selección anotada de la vista previa de un archivo HTML.","filesView.diagram.closeDiagramView":"Cerrar vista de diagrama","filesView.diagram.saveDiagram":"Guardar diagrama","filesView.excalidraw.installHint":"Instala la extensión de Excalidraw para dibujar en este archivo.","filesView.excalidraw.installAction":"Instalar","filesView.fileEditor.save":"Guardar","filesView.fileEditor.snapshotFailed":"No se pudieron obtener tus cambios de {editor}. Inténtalo de nuevo.","filesView.fileEditor.unsupported":"{editor} no puede abrir este archivo. Se muestra el código en su lugar.","filesView.fileEditor.tooLarge":"Este archivo es demasiado grande para {editor}. Edita el código en su lugar.","contextUsage.aria.label":"Uso del contexto","contextUsage.mobile.title":"Uso del contexto","contextUsage.mobile.usedTokens":"Tokens usados","contextUsage.mobile.contextLimit":"Límite de contexto","contextUsage.mobile.outputLimit":"Límite de salida","contextUsage.mobile.cost":"Costo","contextUsage.mobile.usage":"Uso","contextUsage.tooltip.usedTokens":"Tokens usados: {tokens}","contextUsage.tooltip.contextLimit":"Límite de contexto: {tokens}","contextUsage.tooltip.outputLimit":"Límite de salida: {tokens}","contextUsage.tooltip.cost":"Costo: {cost}","contextUsage.compacted.description":"Contexto compactado. El uso se actualizará tras la próxima respuesta.","contextSidebar.session.untitled":"Sesión sin título","contextSidebar.empty.openSession":"Abrir una sesión para inspeccionar el contexto.","contextSidebar.section.context":"Contexto","contextSidebar.section.lastAssistantMessage":"Último mensaje del asistente","contextSidebar.section.rawMessages":"Mensajes brutos","contextSidebar.context.percentUsed":"{percent}% usado","contextSidebar.breakdown.user":"Usuario","contextSidebar.breakdown.assistant":"Asistente","contextSidebar.breakdown.toolCalls":"Llamadas a herramientas","contextSidebar.breakdown.other":"Sistema y herramientas","contextSidebar.stats.messages":"Mensajes","contextSidebar.stats.user":"Usuario","contextSidebar.stats.assistant":"Asistente","contextSidebar.stats.cost":"Costo","contextSidebar.tokens.input":"Entrada","contextSidebar.tokens.output":"Salida","contextSidebar.tokens.reasoning":"Razonamiento","contextSidebar.tokens.cacheRead":"Lectura de caché","contextSidebar.tokens.cacheWrite":"Escritura de caché","contextSidebar.tokens.cacheHit":"Acierto de caché","contextSidebar.actions.copyJson":"Copiar JSON","contextSidebar.actions.copy":"Copiar","contextSidebar.actions.copied":"Copiado","planView.file.defaultName":"plan","planView.title.default":"Plan","planView.error.saveFailed":"No se pudo guardar","planView.error.loadFailed":"No se pudo cargar este plan","planView.error.previewUnavailable":"Vista previa no disponible","planView.error.switchToEditMode":"Cambia al modo de edición para resolver el problema.","planView.error.writeFailed":"No se pudo escribir","planView.error.writePlanFileFailed":"No se pudo escribir el archivo de plan ({status})","planView.actions.improvePlanAria":"Mejorar plan","planView.actions.improve":"Mejorar","planView.actions.implementPlanAria":"Implementar plan","planView.actions.implement":"Implementar","planView.actions.sendToNewSession":"Enviar a nueva sesión","planView.actions.sendToNewWorktreeSession":"Enviar a nueva sesión de worktree","planView.actions.copyPlanContents":"Copiar contenido del plan","planView.state.loading":"Cargando...","diffView.binary.unavailable":"El contenido de este archivo no puede visualizarse.","diffView.state.whitespaceOnly":"En este archivo solo cambiaron espacios en blanco.","diffView.change.untracked":"Archivo no rastreado","diffView.change.new":"Archivo nuevo","diffView.change.deleted":"Archivo eliminado","diffView.change.renamed":"Archivo renombrado","diffView.change.copied":"Archivo copiado","diffView.change.modified":"Archivo modificado","diffView.change.conflicted":"Archivo en conflicto","diffView.selector.selectFile":"Seleccionar archivo","diffView.image.original":"Original","diffView.image.modified":"Modificado","diffView.image.new":"Nuevo","diffView.image.originalAlt":"Original: {path}","diffView.image.modifiedAlt":"Modificado: {path}","diffView.section.files":"Archivos","diffView.fileTree.showAsList":"Vista de lista","diffView.fileTree.showAsTree":"Vista de árbol","diffView.fileTree.collapseDirectoryAria":"Contraer {path}","diffView.fileTree.expandDirectoryAria":"Expandir {path}","diffView.fileTree.resize":"Cambiar el ancho del árbol de archivos","diffView.state.selectSessionDirectory":"Selecciona un directorio de sesión para ver diferencias","diffView.state.loadingRepositoryStatus":"Cargando estado del repositorio...","diffView.state.notGitRepository":"No es un repositorio Git. Usa la pestaña Git para inicializar o cambiar de directorio.","diffView.state.cleanWorkingTree":"Worktree limpio, no hay cambios para mostrar","diffView.state.noLastTurnChanges":"No hay cambios del último turno para mostrar","diffView.state.failedToLoadDiff":"No se pudo cargar la diferencia","diffView.unavailable.missingTitle":"El archivo ya no existe","diffView.unavailable.missingDescription":"Se eliminó después de cargar la lista de cambios. La lista se está actualizando.","diffView.unavailable.nestedRepositoryTitle":"Repositorio Git independiente","diffView.unavailable.nestedRepositoryDescription":"Esta carpeta tiene su propio historial de Git. Ábrela como proyecto para ver sus cambios.","diffView.nestedRepository.description":"Esta carpeta tiene su propio historial de Git. Ábrela como proyecto para hacer commit de estos cambios.","diffView.nestedRepository.openAsProject":"Abrir como proyecto","diffView.nestedRepository.openFailed":"No se pudo abrir esta carpeta como proyecto","diffView.nestedRepository.loading":"Leyendo los cambios del repositorio…","diffView.nestedRepository.loadFailed":"No se pudieron leer los cambios del repositorio","diffView.nestedRepository.noChanges":"No hay cambios en este repositorio","diffView.unavailable.untrackedDirectoryTitle":"Carpeta con archivos nuevos","diffView.unavailable.untrackedDirectoryDescription":"Esta carpeta contiene demasiados archivos nuevos para listarlos uno por uno. Prepárala (stage) o añádela a .gitignore si no pertenece al repositorio.","diffView.submodule.title":"Submódulo","diffView.submodule.commitChanged":"Commit {from} → {to}","diffView.submodule.commitUnchanged":"Sigue en el commit {commit}","diffView.submodule.added":"Nuevo submódulo en el commit {commit}","diffView.submodule.removed":"Submódulo eliminado, estaba en el commit {commit}","diffView.submodule.notCheckedOut":"No está descargado. Commit registrado: {commit}","diffView.submodule.trackedChanges":"Tiene cambios sin confirmar","diffView.submodule.untrackedFiles":"Tiene archivos sin seguimiento","diffView.submodule.conflict":"Conflicto de fusión en el commit registrado","diffView.state.loadingDiff":"Cargando diff...","diffView.state.loadingChanges":"Cargando cambios...","diffView.state.largeDiff":"Diff grande ({count} líneas modificadas)","diffView.state.largeDiffDescription":"El renderizado puede ser lento. Aun así puedes ver el diff con el botón de abajo.","diffView.summary.changedFilesSingle":"{count} archivo modificado","diffView.summary.changedFilesPlural":"{count} archivos modificados","diffView.scope.changed":"Cambiados","diffView.scope.staged":"Staged","diffView.scope.lastTurn":"Último turno","diffView.scope.branch":"Rama","diffView.branch.resolvingBase":"Detectando rama base...","diffView.branch.noBaseTitle":"Sin rama base","diffView.branch.noBaseDescription":"Git no tiene registro de dónde surgió esta rama. Elige una rama base para comparar.","diffView.branch.loadError":"No se pudieron cargar los cambios de la rama","diffView.branch.loadingFiles":"Cargando cambios de la rama...","diffView.branch.empty":"No hay cambios en esta rama respecto a {base}","diffView.scope.selectorAria":"Seleccionar modo de cambios","diffView.actions.retry":"Volver a intentar","diffView.actions.renderAnyway":"Renderizar de todos modos","diffView.actions.showLinesBelow":"Mostrar líneas siguientes","diffView.actions.expandAll":"Expandir todo","diffView.actions.collapseAll":"Contraer todo","diffView.actions.disableLineWrap":"Desactivar ajuste de línea","diffView.actions.enableLineWrap":"Activar ajuste de línea","diffView.actions.hideWhitespace":"Ocultar cambios de espacios en blanco","diffView.whitespace.hidden":"Cambios de espacios en blanco ocultos","diffView.layout.switchToUnified":"Cambiar a vista unificada","diffView.layout.switchToSideBySide":"Cambiar a vista lado a lado","diffView.layout.sideBySide":"Vista lado a lado","diffView.actions.wrapLines":"Ajuste de línea","diffView.actions.moreActions":"Más acciones","diffView.whitespace.shown":"Cambios de espacios en blanco visibles","diffView.actions.openFileInEditorAtChange":"Abrir este archivo en el editor en el cambio","diffView.actions.openFileAtFirstChangedLine":"Abrir este archivo en la primera línea modificada","diffView.actions.review":"Revisar","diffView.actions.reviewAria":"Revisar cambios","diffView.reviewDialog.title":"Revisar cambios","diffView.reviewDialog.description":"Inicia una sesión de revisión separada para los cambios actuales.","diffView.reviewDialog.generateHandoff":"Generar handoff","diffView.reviewDialog.autoReview":"Ejecutar ciclo de revisión automática","diffView.reviewDialog.info":"Este flujo funciona mejor si se inicia desde la sesión donde se implementaron los cambios.","diffView.reviewDialog.actions.cancel":"Cancelar","diffView.reviewDialog.actions.start":"Revisar","diffView.reviewDialog.actions.starting":"Iniciando...","diffView.reviewDialog.toast.noSessionDirectory":"El directorio de la sesión no está disponible","diffView.reviewDialog.toast.startFailed":"No se pudo iniciar el flujo de revisión","chat.dictation.start":"Iniciar dictado","chat.dictation.overlayAria":"Dictado","chat.dictation.downloadingModel":"Descargando el modelo de voz...","chat.dictation.downloadingModelProgress":"Descargando el modelo de voz... {percent}%","chat.dictation.listening":"Escuchando...","chat.dictation.processing":"Transcribiendo...","chat.dictation.failed":"La transcripción falló","chat.dictation.cancel":"Descartar dictado","chat.dictation.insert":"Insertar transcripción","chat.dictation.insertAndSend":"Insertar y enviar","chat.dictation.retry":"Reintentar transcripción","chat.dictation.discard":"Descartar grabación","chat.history.loadOlder":"Cargar mensajes anteriores","chat.appLink.confirm.title":"¿Abrir este enlace en otra aplicación?","chat.appLink.confirm.description":"Este enlace del chat usa el protocolo {scheme} y se abrirá en otra aplicación.","chat.appLink.confirm.descriptionPlain":"Este enlace del chat se abrirá en otra aplicación.","chat.appLink.confirm.cancel":"Cancelar","chat.appLink.confirm.open":"Abrir una vez","chat.appLink.confirm.trustAndOpen":"Confiar y abrir","chat.autoReview.title":"El ciclo de revisión de código está en curso","chat.autoReview.status.waitingForReviewer":"Esperando al revisor","chat.autoReview.status.waitingForImplementer":"Esperando al implementador","chat.autoReview.reviewSessionLabel":"Sesión de revisión","chat.autoReview.actions.open":"Abrir","chat.autoReview.actions.stop":"Detener","chat.draftDirtyNotice.tooltip":`Tienes cambios sin confirmar en esta rama.
10
10
  Una nueva sesión podría entrar en conflicto con ellos. Quizás quieras confirmarlos primero o usar otro worktree.`,"chat.draftDirtyNotice.indicatorAria":"Cambios sin confirmar en este directorio","diffView.hunk.label":"Fragmentos","diffView.hunk.stage":"Preparar","diffView.hunk.unstage":"Quitar","diffView.hunk.discard":"Descartar","diffView.hunk.stageTitle":"Preparar fragmento {index}","diffView.hunk.unstageTitle":"Quitar fragmento {index} de la preparación","diffView.hunk.discardTitle":"Descartar fragmento {index}","diffView.hunk.unavailable":"Este fragmento ya no está disponible. Actualice el diff e inténtelo de nuevo.","diffView.hunk.unsupported":"Preparar fragmentos individuales no es compatible en este entorno.","rightSidebar.contextNotesTodo.plan.defaultTitle":"Plan","rightSidebar.contextNotesTodo.empty.selectProject":"Selecciona un proyecto para añadir notas y tareas pendientes.","rightSidebar.contextNotesTodo.notes.placeholder":"Captura contexto, recordatorios o enlaces","rightSidebar.contextNotesTodo.notes.addAria":"Añadir nota","rightSidebar.contextNotesTodo.notes.actions.expand":"Expandir nota","rightSidebar.contextNotesTodo.notes.actions.delete":"Eliminar nota","rightSidebar.contextNotesTodo.notes.source.selection":"Del chat","rightSidebar.contextNotesTodo.notes.source.agent":"Del agente","rightSidebar.contextNotesTodo.search.noResults":'Nada coincide con "{query}".',"rightSidebar.contextNotesTodo.toast.deleteNoteFailed":"No se pudo eliminar la nota","rightSidebar.contextNotesTodo.toast.createNoteFailed":"No se pudo crear la nota","rightSidebar.contextNotesTodo.tabs.notes":"Notas","rightSidebar.contextNotesTodo.tabs.todos":"Tareas","rightSidebar.contextNotesTodo.tabs.plans":"Planes","rightSidebar.contextNotesTodo.plans.actions.back":"Volver a los planes","rightSidebar.contextNotesTodo.tabs.memory":"Memoria","rightSidebar.contextNotesTodo.sections.label":"Secciones del contexto del proyecto","rightSidebar.contextNotesTodo.memory.scope.project":"Proyecto","rightSidebar.contextNotesTodo.memory.scope.label":"Ámbito de la memoria","rightSidebar.contextNotesTodo.memory.scope.global":"Sobre ti","rightSidebar.contextNotesTodo.memory.type.fact":"hecho","rightSidebar.contextNotesTodo.memory.badge.new":"nuevo","rightSidebar.contextNotesTodo.memory.flagged":"Retenido del agente: parece una instrucción","rightSidebar.contextNotesTodo.memory.badge.changed":"cambiado","rightSidebar.contextNotesTodo.memory.type.preference":"preferencia","rightSidebar.contextNotesTodo.memory.type.reference":"referencia","rightSidebar.contextNotesTodo.memory.actions.delete":"Olvidar esta memoria","rightSidebar.contextNotesTodo.memory.actions.editTitle":"Título de la memoria","rightSidebar.contextNotesTodo.memory.actions.editBody":"Texto de la memoria","rightSidebar.contextNotesTodo.memory.toast.saveFailed":"No se pudo guardar la memoria","rightSidebar.contextNotesTodo.memory.toast.deleteFailed":"No se pudo olvidar la memoria","rightSidebar.contextNotesTodo.memory.empty.nothing":"El agente aún no ha guardado nada aquí.","rightSidebar.contextNotesTodo.memory.empty.noMatches":"Ninguna memoria guardada coincide con tu búsqueda.","rightSidebar.contextNotesTodo.memory.empty.noProject":"Abre un proyecto para ver qué recuerda el agente sobre él.","rightSidebar.contextNotesTodo.memory.empty.unavailable":"No se pudo cargar la memoria guardada. No se ha perdido nada: inténtalo de nuevo.","rightSidebar.contextNotesTodo.todo.clearCompleted":"Limpiar completadas","rightSidebar.contextNotesTodo.todo.inputPlaceholder":"Añade una tarea pendiente","rightSidebar.contextNotesTodo.todo.addAria":"Añadir tarea pendiente","rightSidebar.contextNotesTodo.todo.empty":"No hay tareas pendientes aún. Añade una pequeña lista de verificación para este proyecto.","rightSidebar.contextNotesTodo.todo.actions.markComplete":'Marcar "{text}" como completada',"rightSidebar.contextNotesTodo.todo.actions.collapse":'Colapsar tarea pendiente "{text}"',"rightSidebar.contextNotesTodo.todo.actions.expand":'Expandir tarea pendiente "{text}"',"rightSidebar.contextNotesTodo.todo.actions.send":'Enviar "{text}"',"rightSidebar.contextNotesTodo.todo.actions.reorder":'Reordenar "{text}"',"rightSidebar.contextNotesTodo.todo.sendMenu.currentSession":"Enviar a la sesión actual","rightSidebar.contextNotesTodo.todo.sendMenu.newSession":"Enviar a una nueva sesión","rightSidebar.contextNotesTodo.todo.sendMenu.newWorktreeSession":"Enviar a una nueva sesión de worktree","rightSidebar.contextNotesTodo.plans.importFromFile":"Importar plan desde archivo","rightSidebar.contextNotesTodo.plans.empty":"Aún no hay plans guardados.","rightSidebar.contextNotesTodo.plans.deletePlan":"Eliminar plan","rightSidebar.contextNotesTodo.plans.sharedBadge":"En el repo","rightSidebar.contextNotesTodo.plans.share":"Mover a la carpeta de planes del repositorio, para que todos los que lo clonen lo vean","rightSidebar.contextNotesTodo.plans.makePersonal":"Mover a mis planes, fuera del repositorio","rightSidebar.contextNotesTodo.sendDialog.title.newSession":"Enviar a una nueva sesión","rightSidebar.contextNotesTodo.sendDialog.title.newWorktree":"Enviar a una nueva sesión de worktree","rightSidebar.contextNotesTodo.sendDialog.variant.default":"Predeterminado","rightSidebar.contextNotesTodo.sendDialog.actions.cancel":"Cancelar","rightSidebar.contextNotesTodo.sendDialog.actions.send":"Enviar","rightSidebar.contextNotesTodo.sendDialog.actions.sending":"Enviando","rightSidebar.contextNotesTodo.toast.saveNotesFailed":"No se pudieron guardar las notas del proyecto","rightSidebar.contextNotesTodo.toast.loadNotesFailed":"No se pudieron cargar las notas del proyecto","rightSidebar.contextNotesTodo.toast.noActiveSession":"No hay ninguna sesión activa seleccionada","rightSidebar.contextNotesTodo.toast.sentToCurrentSession":"Tarea enviada a la sesión actual","rightSidebar.contextNotesTodo.toast.worktreeRequiresGitRepo":"Las acciones de worktree solo están disponibles para repositorios Git","rightSidebar.contextNotesTodo.toast.createSessionFailed":"No se pudo crear la sesión","rightSidebar.contextNotesTodo.toast.sentToNewSession":"Tarea enviada a una nueva sesión","rightSidebar.contextNotesTodo.toast.sentToNewWorktreeSession":"Tarea enviada a una nueva sesión de worktree","rightSidebar.contextNotesTodo.toast.sendTodoFailed":"No se pudo enviar la tarea","rightSidebar.contextNotesTodo.toast.updatePlanFailed":"No se pudo actualizar el plan","rightSidebar.contextNotesTodo.toast.deletePlanFailed":"No se pudo eliminar el plan","rightSidebar.contextNotesTodo.toast.movePlanFailed":"No se pudo mover el plan","rightSidebar.contextNotesTodo.toast.planFileEmpty":"El archivo del plan está vacío","rightSidebar.contextNotesTodo.toast.importPlanFailed":"No se pudo importar el plan","rightSidebar.contextNotesTodo.toast.planImported":"Plan importado","rightSidebar.contextNotesTodo.toast.readPlanFileFailed":"No se pudo leer el archivo del plan","inlineComment.range.lines":"Líneas {start}-{end}","inlineComment.input.placeholder":"Añadir un comentario... ({shortcut} para guardar)","inlineComment.input.placeholderShort":"Añadir un comentario...","inlineComment.actions.cancel":"Cancelar","inlineComment.actions.save":"Guardar","inlineComment.actions.comment":"Comentar","inlineComment.actions.showLess":"Mostrar menos","inlineComment.actions.showMore":"Mostrar más","inlineComment.actions.editComment":"Editar comentario","inlineComment.actions.deleteComment":"Eliminar comentario","inlineComment.toast.selectSessionToSave":"Selecciona una sesión para guardar el comentario","header.services.openWithCurrent":"Abrir instancia, uso y MCP (actual: {current})","header.services.open":"Abrir servicios, uso y MCP","header.services.title":"Servicios","header.services.viewAria":"Ver servicios","header.services.closeAria":"Cerrar servicios","header.services.rateLimits":"Límites de tasa","header.services.refreshRateLimitsAria":"Actualizar límites de tasa","header.services.noRateLimits":"No hay límites de tasa disponibles.","header.services.noRateLimitsReported":"No se reportaron límites de tasa.","header.services.usageRefreshFailedStale":"Se muestran los datos de uso recibidos anteriormente. No se pudieron actualizar: {error}","header.services.remoteUpdate.title":"Actualización de instancia remota","header.services.remoteUpdate.checking":"Buscando actualizaciones...","header.services.remoteUpdate.upToDate":"Esta instancia está actualizada.","header.services.remoteUpdate.available":"La versión {version} está disponible para esta instancia.","header.services.remoteUpdate.error":"No se pudieron comprobar las actualizaciones de la instancia remota","header.services.remoteUpdate.actions.open":"Actualizar","header.services.used":"Usado","header.services.remaining":"Restante","header.services.modelFamily.other":"Otro","header.actions.openPlanAria":"Abrir plan","header.actions.toggleChangesPanel":"Panel de cambios","header.actions.toggleChangesPanelAria":"Alternar panel de cambios","header.actions.planWithShortcut":"Plan ({shortcut})","header.actions.terminalPanelWithShortcut":"Panel de terminal ({shortcut})","chat.recap.aria":"Resumen de la sesión","chat.recap.label":"Resumen:","chat.sessionError.title":"OpenCode detuvo esta respuesta","chat.sessionError.noDetails":"OpenCode no informó detalles. El informe de estado muestra los errores recientes.","chat.sessionError.showStatus":"Mostrar cronología de diagnósticos","chat.sessionError.noReply":"OpenCode no comenzó una respuesta a este mensaje.","chat.sessionError.interrupted":"OpenCode interrumpió esta respuesta.","chat.longError.expand":"Mostrar el error completo","chat.longError.collapse":"Mostrar menos","chat.errorDetails.show":"Mostrar detalles de la respuesta","chat.errorDetails.hide":"Ocultar detalles de la respuesta","chat.goal.dialog.titleCreate":"Definir objetivo de sesión","chat.goal.dialog.titleManage":"Objetivo de sesión","chat.goal.dialog.objectiveLabel":"Objetivo","chat.goal.dialog.objectivePlaceholder":"Describe el estado final que el agente debe alcanzar y verificar…","chat.goal.dialog.budgetLabel":"Presupuesto de tokens","chat.goal.dialog.evaluationModelLabel":"Modelo de evaluación","chat.goal.status.active":"Activo","chat.goal.status.evaluating":"Evaluando…","chat.goal.status.paused":"En pausa","chat.goal.status.blocked":"Bloqueado","chat.goal.status.budgetLimited":"Presupuesto alcanzado","chat.goal.status.complete":"Completado","chat.goal.usage.tokens":"{used} tokens","chat.goal.usage.tokensWithBudget":"{used}/{budget} tokens","chat.goal.usage.turns":"{turns} continuaciones","chat.goal.action.pause":"Pausar","chat.goal.action.resume":"Reanudar","chat.goal.action.markComplete":"Marcar como completado","chat.goal.action.clear":"Eliminar objetivo","chat.goal.action.cancel":"Cancelar","chat.goal.action.save":"Guardar objetivo","chat.goal.action.start":"Iniciar objetivo","chat.goal.toast.actionFailed":"No se pudo actualizar el objetivo","chat.goal.toast.distillFallback":"El objetivo superó el límite y no se pudo destilar — el auditor usa una versión recortada","chat.goal.row.aria":"Objetivo de sesión — abrir detalles","chat.goal.button.createAria":"Definir un objetivo de sesión","chat.goal.button.manageAria":"Gestionar el objetivo de sesión","chat.goal.button.armAria":"Iniciar un objetivo con el próximo mensaje","chat.goal.counter.aria":"Límite de longitud del objetivo","chat.goal.button.disarmAria":"Objetivo armado — toca para desactivarlo","chat.goal.button.noSmallModel":"Los objetivos necesitan un Small Model. Inicia sesión en un proveedor de modelos o elige uno en Ajustes → Sesiones.","chat.goal.dialog.noSmallModel":"Los objetivos necesitan un Small Model para comprobar el progreso. Inicia sesión en un proveedor de modelos o elige uno en Ajustes → Sesiones.","chat.goal.button.cancelAria":"Objetivo en curso — toca para cancelarlo","chat.goal.cancelDialog.title":"¿Cancelar este objetivo?","chat.goal.cancelDialog.description":"El agente dejará de trabajar automáticamente hacia este objetivo.","chat.goal.cancelDialog.keep":"Mantener objetivo","chat.goal.cancelDialog.confirm":"Cancelar objetivo","chat.suggestion.applyAria":"Usar mensaje sugerido","chat.suggestion.dismissAria":"Descartar sugerencia","header.actions.toggleTerminalPanelAria":"Mostrar u ocultar panel de terminal","terminalView.stream.processExitedMessage":`\r
11
11
  [Proceso terminado{exitCodeSegment}{signalSegment}]\r
12
12
  `,"terminalView.stream.processExitedWithCode":" con código {exitCode}","terminalView.stream.processExitedWithSignal":" (señal {signal})","terminalView.error.sessionEnded":"Sesión de terminal terminada","terminalView.error.connectionFailed":"Error de conexión: {message}","terminalView.error.startSessionFailed":"No se pudo iniciar la sesión de terminal","terminalView.error.restartFailed":"No se pudo reiniciar la terminal","terminalView.error.sendInputFailed":"No se pudo enviar entrada","terminalView.empty.noWorkingDirectory":"No hay directorio de trabajo disponible para la terminal.","terminalView.empty.selectSession":"Selecciona una sesión para abrir la terminal.","terminalView.empty.noWorkingDirectoryForSession":"No hay directorio de trabajo disponible para esta sesión.","terminalView.actions.retry":"Volver a intentar","terminalView.actions.hardRestart":"Reinicio forzado","terminalView.actions.hardRestartTitle":"Forzar el cierre y crear una sesión nueva","terminalView.quickKeys.escape":"Esc","terminalView.quickKeys.tabAria":"Tab","terminalView.quickKeys.controlLabel":"Ctrl","terminalView.quickKeys.controlModifierAria":"Modificador de control","terminalView.quickKeys.altLabel":"Alt","terminalView.quickKeys.altModifierAria":"Modificador Alt","terminalView.quickKeys.commandModifierAria":"Modificador de comando","terminalView.quickKeys.arrowUpAria":"Flecha arriba","terminalView.quickKeys.arrowLeftAria":"Flecha izquierda","terminalView.quickKeys.arrowDownAria":"Flecha abajo","terminalView.quickKeys.arrowRightAria":"Flecha derecha","terminalView.quickKeys.enterAria":"Enter","terminalView.tabs.closeTabTitle":"Cerrar pestaña","terminalView.tabs.newTabTitle":"Nueva pestaña","terminalView.tabs.menu.rename":"Renombrar","terminalView.tabs.renameDialog.title":"Renombrar terminal","terminalView.tabs.renameDialog.placeholder":"Nombre del terminal","terminalView.tabs.renameDialog.cancel":"Cancelar","terminalView.tabs.renameDialog.save":"Renombrar","terminalView.viewport.inputAria":"Entrada de terminal","terminalView.viewport.scrollbarAria":"Historial del 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.addSelected":"Añadir seleccionados","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.clone.setupRequired":"Clonado y añadido. Termina de configurar el acceso en el panel de Git; no hace falta volver a clonar.","directoryExplorerDialog.clone.identityMismatch":"Esta identidad no alcanza esa dirección. Elige una que use el mismo tipo de dirección (HTTPS o SSH).","directoryExplorerDialog.clone.unsupported":"La clonación no está disponible en el entorno de VS Code.","directoryExplorerDialog.existing.bindFailed":"Proyecto añadido, pero no se pudo asignar su cuenta. Elígela en el panel de Git.","directoryExplorerDialog.browse.directories":"Directorios","directoryExplorerDialog.browse.loading":"Cargando directorios...","directoryExplorerDialog.browse.empty":"No hay directorios coincidentes.","directoryExplorerDialog.browse.permissionDenied":"OpenChamber necesita acceso a esta carpeta.","directoryExplorerDialog.browse.loadFailed":"No se pudo cargar esta carpeta.","directoryExplorerDialog.browse.grantAccess":"Permitir acceso","directoryExplorerDialog.browse.retry":"Reintentar","directoryExplorerDialog.browse.parentDirectory":"Directorio padre","directoryExplorerDialog.browse.addedBadge":"Añadido","directoryExplorerDialog.browse.quickAdd":"Añadir","directoryExplorerDialog.browse.selectForAdd":"Seleccionar para 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.addedProjects":"Se añadieron {count} proyecto(s)","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.appVersionLabel":"Versión de la app {version}","aboutDialog.actions.copyDiagnostics":"Copiar diagnósticos","aboutDialog.actions.preparingDiagnostics":"Preparando diagnósticos...","aboutDialog.actions.diagnosticsCopied":"Diagnósticos copiados","aboutDialog.diagnosticsDescription":"Incluye el estado de OpenChamber, el estado de OpenCode, directorios y proyectos.","aboutDialog.footerNote":"Hecho con amor para la comunidad","aboutDialog.toast.copyFailed":"No se pudo copiar","aboutDialog.toast.diagnosticsNotReady":"Los diagnósticos aún no están listos. Espera un segundo y vuelve a intentarlo.","aboutDialog.toast.diagnosticsCopied":"Diagnósticos copiados","helpDialog.title":"Atajos de teclado","helpDialog.description":"Usa estos atajos de teclado para navegar por OpenChamber de manera eficiente","helpDialog.section.navigationCommands":"Navegación y comandos","helpDialog.section.sessionManagement":"Gestión de sesiones","helpDialog.section.panels":"Paneles","helpDialog.section.interface":"Interfaz","helpDialog.item.openCommandPalette":"Abrir paleta de comandos","helpDialog.item.showKeyboardShortcuts":"Mostrar atajos de teclado (este diálogo)","helpDialog.item.toggleSessionSidebar":"Mostrar u ocultar barra lateral de sesión","helpDialog.item.addSelectionToChat":"Agregar selección al chat","helpDialog.item.cycleAgent":"Cambiar agente (entrada de chat)","helpDialog.item.openModelSelector":"Abrir selector de modelos","helpDialog.item.navigateModels":"Navegar modelos (en selector)","helpDialog.item.adjustThinkingMode":"Ajustar modo de pensamiento (en selector, cuando esté disponible)","helpDialog.item.cycleThinkingVariant":"Cambiar variante de pensamiento (atajo global)","helpDialog.item.newWindow":"Nueva ventana (solo escritorio)","helpDialog.item.createNewSession":"Crear nueva sesión","helpDialog.item.createNewWorktreeDraft":"Crear nuevo borrador de worktree","helpDialog.item.focusChatInput":"Enfocar entrada de chat","helpDialog.item.togglePromptNavigator":"Mostrar u ocultar navegador de prompts","helpDialog.item.abortActiveRun":"Detener ejecución activa (doble presionar)","helpDialog.item.toggleTerminalDock":"Mostrar u ocultar dock de terminal","helpDialog.item.toggleTerminalExpanded":"Expandir o contraer terminal","helpDialog.item.cycleTheme":"Cambiar tema (Claro → Oscuro → Sistema)","helpDialog.item.switchSessionTab":"Cambiar pestaña de sesión","helpDialog.item.switchContextSurface":"Cambiar superficie del panel de contexto (tecla numérica)","helpDialog.item.toggleServicesMenu":"Mostrar u ocultar menú de servicios","helpDialog.item.openSettings":"Abrir configuración","helpDialog.keyCombiner.or":"o","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.leaderSequences":"Atajos en dos pasos: pulsa la combinación y luego la segunda tecla; Esc cancela","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.actions.refresh":"Actualizar","session.githubPrPicker.error.runtimeUnavailable":"API de runtime de GitHub no disponible","session.githubPrPicker.error.repoNotResolvable":"No se pudo resolver el repositorio","session.githubPrPicker.toast.loadMoreFailed":"No se pudieron cargar más PR","session.githubPrPicker.searchPlaceholder":"Buscar usando la sintaxis de búsqueda de código de GitHub","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.loading.pullRequests":"Cargando PR...","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.branchName":"Nombre de la rama","session.newWorktree.branchNamePlaceholder":"feature/my-awesome-feature","session.newWorktree.actions.startFromGitHubIssuePr":"Iniciar desde Issue/PR de GitHub","session.newWorktree.actions.startFromGitLabIssueMr":"Una incidencia o merge request de GitLab","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.issueNumber":"Issue #{number}","session.newWorktree.prNumber":"PR #{number}","session.newWorktree.includeDiffBadge":"+diff","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.actions.unlink":"Desvincular","session.newWorktree.start.title":"Empezar desde","session.newWorktree.start.newBranchHint":"Una rama nueva, basada en la rama que elijas.","session.newWorktree.start.existingBranchHint":"Usar una rama que ya tienes.","session.newWorktree.start.fromItemHint":"Un PR usa su propia rama; un issue recibe una nueva. Ambos se adjuntan a tu primer mensaje.","session.newWorktree.mr.fromItemHint":"Un MR usa su propia rama; un issue recibe una nueva. Ambos se adjuntan a tu primer mensaje.","session.newWorktree.start.fromItemUnavailable":"Conecta GitHub o Linear para empezar desde un PR o issue.","session.newWorktree.mr.fromItemUnavailable":"Conecta GitLab o Linear para empezar desde un MR o issue.","session.newWorktree.item.title":"PR o issue","session.newWorktree.baseBranchNotApplicable":"No se usa en esta opción","session.newWorktree.mode.fromItem":"PR o issue","session.newWorktree.mr.item":"MR o issue","session.newWorktree.error.attachLinkedFailed":"No se pudo adjuntar {item}","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.createWorktreeFailed":"No se pudo crear el worktree","session.newWorktree.error.changeRequestAuthorityMissing":"Este pull request ya no está disponible. Vuelve a elegirlo.","session.newWorktree.mr.authorityMissing":"Este merge request ya no está disponible. Vuelve a elegirlo.","session.newWorktree.trust.confirmation":`Este worktree contiene código del fork de otra persona. Estos comandos ejecutarían ese código en tu equipo:
@@ -14,7 +14,7 @@ Una nueva sesión podría entrar en conflicto con ellos. Quizás quieras confirm
14
14
  {actions}
15
15
 
16
16
  Omitir crea el worktree sin ejecutarlos. Puedes ejecutarlos tú después de revisar el código.`,"session.newWorktree.toast.worktreeCreated":"Worktree creado","session.newWorktree.toast.worktreeCreatedDescription":"{target} - configurando en segundo plano","session.newWorktree.toast.fetchSourceFailed":"No se pudo obtener del remoto; se creó a partir del estado local","session.newWorktree.toast.fetchSourceAccess":"No se pudo obtener: el acceso a este repositorio necesita atención en Configurar repositorio. Se creó a partir del estado local.","session.newWorktree.toast.startFolderMissing":'Este worktree no tiene la carpeta "{folder}", así que OpenCode empezó en la raíz del worktree.',"session.newWorktree.toast.startFolderUnverified":'No se pudo comprobar la carpeta "{folder}", así que OpenCode empezó en la raíz del worktree.',"session.newWorktree.toast.startFolderUnknown":"No se pudo determinar qué carpeta del repositorio abre este proyecto, así que OpenCode empezó en la raíz del worktree.","session.newWorktree.toast.branchBackup":"{branch} ahora coincide con el remoto. Sus commits anteriores se guardaron en {backup}.","session.githubIntegration.tabs.pullRequests":"PR","session.githubIntegration.validation.branchAlreadyCheckedOut":"La rama ya está en uso en un worktree","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:
17
- {summary}`,"chat.fileAttachment.toast.vscodePickFailed":"No se pudieron seleccionar archivos en VS Code","chat.fileAttachment.fileFallback":"archivo","chat.fileAttachment.skippedFallback":"omitido","chat.fileAttachment.actions.attachAria":"Adjuntar archivos","chat.fileAttachment.actions.attach":"Adjuntar archivos","chat.fileAttachment.actions.removeNamed":"Eliminar {name}","chat.fileAttachment.actions.removeImage":"Eliminar imagen","chat.fileAttachment.activeEditor.addFile":"Agregar archivo:{name} al contexto","chat.fileAttachment.activeEditor.pinSelection":"Anclar selección al contexto","chat.fileAttachment.activeEditor.remove":"Quitar del contexto","chat.fileAttachment.openInDiagram":"Abrir en vista de diagrama","chat.changedFiles.title":"Archivos modificados","chat.changedFiles.actions.openFileTitle":"Abrir {path}","chat.changedFiles.actions.otherFiles":"Otros archivos modificados ({count})","chat.changedFiles.actions.showFewer":"Mostrar menos archivos","chat.emptyState.opencodeUnreachable":"OpenCode no es accesible","chat.emptyState.startNewChat":"Iniciar una nueva conversación","chat.emptyState.draftTitle":"What are we working on?","chat.emptyState.draftTitleWithProject":"What are we working on in {project}?","chat.draftPresets.explore.label":"Explore the codebase","chat.draftPresets.catchup.label":"Catch me up","chat.draftPresets.weigh.label":"Weigh my options","chat.draftPresets.plan.label":"Start feature planning","chat.draftPresets.craftGoal.label":"Crear un Goal","chat.draftPresets.scheduleTask.label":"Programar una tarea","chat.draftPresets.debug.label":"Debug an issue","chat.draftPresets.review.label":"Review my changes","chat.draftStarters.add":"Add a starter","chat.draftStarters.searchPlaceholder":"Search commands and skills…","chat.draftStarters.empty":"Nothing to add","chat.draftStarters.sectionBuiltIn":"Built-in","chat.draftStarters.sectionCommands":"Commands","chat.draftStarters.sectionSkills":"Skills","chat.draftStarters.remove":"Remove","chat.draftStarters.sharedTitle":"Fijado en la configuración del repositorio; cámbialo allí","chat.draftStarters.share":"Mover a la configuración del repositorio","chat.draftStarters.makePersonal":"Mover a mis ajustes","chat.scrollToBottom.aria":"Ir al final","chat.promptNavigator.aria":"Navegación de prompts","chat.promptNavigator.currentPrompt":"Prompt actual","chat.promptNavigator.loadMore":"Cargar más prompts","chat.timeline.relative.justNow":"ahora mismo","chat.timeline.relative.minutesAgo":"hace {count}m","chat.timeline.relative.hoursAgo":"hace {count}h","chat.timeline.relative.daysAgo":"hace {count}d","chat.timeline.title":"Línea de tiempo de la conversación","chat.timeline.description":"Navega hasta cualquier punto de la conversación o crea una nueva sesión","chat.timeline.searchPlaceholder":"Buscar mensajes...","chat.timeline.empty.search":"No se encontraron mensajes","chat.timeline.empty.session":"No hay mensajes en esta sesión aún","chat.timeline.noTextContent":"[No hay contenido de texto]","chat.timeline.actions.title":"Acciones","chat.timeline.actions.revertFromHere":"Revertir desde aquí","chat.timeline.actions.forkFromHere":"Crear una rama desde aquí","chat.timeline.actions.previousTurn":"Turno anterior","chat.timeline.actions.latest":"Último","chat.timeline.help.clickMessage":"Haz clic en un mensaje para desplazarse hasta él en la conversación","chat.timeline.help.undoToPoint":"Deshacer hasta este punto (el texto del mensaje se llenará en la entrada)","chat.timeline.help.createSessionFromHere":"Crear una nueva sesión desde aquí","chat.statusRow.todo.status.inProgress":"En progreso","chat.statusRow.todo.status.pending":"Pendiente","chat.statusRow.todo.status.completed":"Completado","chat.statusRow.todo.status.cancelled":"Cancelado","chat.statusRow.todo.priority.high":"Prioridad alta","chat.statusRow.todo.priority.medium":"Prioridad media","chat.statusRow.todo.priority.low":"Prioridad baja","chat.statusRow.actions.stopGeneratingAria":"Detener la generación","chat.statusRow.tasksTitle":"Tareas","chat.statusRow.modelStatus":"{model} · {status}","chat.statusRow.summary.activeLeft":"{active} activas · {left} restantes","chat.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.revert.toast.undo":"Revertido a {preview}","chat.revert.toast.redo":"Rehecho","chat.revert.toast.restored":"Todos los mensajes restaurados","chat.toast.opencodeRestartInterrupted.title":"Conversación interrumpida","chat.toast.opencodeRestartInterrupted.description":"OpenCode se reinició mientras aún se estaba generando una respuesta. Envía un mensaje para continuar.","chat.toast.opencodeRestartInterrupted.openSession":"Abrir sesión","chat.errorBoundary.title":"Error en la conversación","chat.errorBoundary.description":"La interfaz de la conversación encontró un error. Esto podría deberse a un problema de red temporal o a datos de mensaje corruptos.","chat.errorBoundary.sessionLabel":"Sesión","chat.errorBoundary.detailsSummary":"Detalles del error","chat.errorBoundary.resetAction":"Restablecer la conversación","chat.errorBoundary.persistentHint":"Si el problema persiste, intenta actualizar la página.","chat.autocomplete.tabs.commands":"Comandos","chat.autocomplete.tabs.agents":"Agentes","chat.autocomplete.tabs.files":"Archivos","chat.autocomplete.keyboardHint":"↑↓ navegar • Enter seleccionar • Esc cerrar","chat.commandAutocomplete.command.initDescription":"Crear/actualizar el archivo AGENTS.md","chat.commandAutocomplete.command.undoDescription":"Deshacer el último mensaje","chat.commandAutocomplete.command.redoDescription":"Rehacer mensajes previamente deshechos","chat.commandAutocomplete.command.timelineDescription":"Abrir la línea de tiempo de la conversación","chat.commandAutocomplete.command.compactDescription":"Comprimir el historial de la sesión usando IA para reducir el tamaño del contexto","chat.commandAutocomplete.command.summaryDescription":"Resumen no destructivo de la sesión. Pista opcional del tema después del comando.","chat.commandAutocomplete.command.workspaceReviewDescription":"Revisa el diff del espacio de trabajo en intención, corrección y adecuación, con hallazgos por severidad.","chat.commandAutocomplete.command.handoffReviewDescription":"Crea o reutiliza una sesión de revisión separada a partir de un handoff generado.","chat.commandAutocomplete.command.featurePlanDescription":"Inicia una sesión de planificación guiada e interactiva para una nueva función.","chat.commandAutocomplete.command.craftGoalDescription":"Convierte una idea o tarea en un Goal claro y verificable.","chat.commandAutocomplete.command.scheduleTaskDescription":"Define una tarea programada mediante un diálogo guiado.","chat.chatInput.toast.craftGoalFailed":"No se pudo iniciar la creación del Goal","chat.chatInput.toast.scheduleTaskFailed":"No se pudo iniciar la configuración de la tarea programada","chat.commandAutocomplete.command.catchUpDescription":"Recupera el contexto: qué estabas haciendo y por dónde continuar.","chat.commandAutocomplete.command.debugDescription":"Investigación guiada de la causa raíz de un error antes de proponer una solución.","chat.commandAutocomplete.command.weighDescription":"Compara 2-3 enfoques con sus ventajas y desventajas y una recomendación antes de decidir.","chat.commandAutocomplete.command.btwDescription":"Haz una pregunta paralela en una sesión hija temporal sin desviar este chat.","chat.commandAutocomplete.command.forkDescription":"Bifurca este chat desde la última respuesta terminada y continúa allí; el texto tras /fork se envía a la bifurcación.","chat.commandAutocomplete.command.exploreDescription":"Oriéntate en este código: un recorrido general de la arquitectura y las partes principales.","chat.commandAutocomplete.badge.command":"comando","chat.commandAutocomplete.badge.system":"sistema","chat.commandAutocomplete.empty":"No se encontraron comandos","chat.agentMentionAutocomplete.badge.system":"sistema","chat.agentMentionAutocomplete.empty":"No se encontraron agentes","chat.fileMentionAutocomplete.searchMoreAgents":"Escribe para buscar más agentes","chat.fileMentionAutocomplete.empty":"No se encontraron coincidencias","chat.queuedMessage.attachments":"+{count} archivo(s)","chat.queuedMessage.empty":"(vacío)","chat.queuedMessage.title":"Queued messages","chat.queuedMessage.edit":"edit","chat.queuedMessage.send":"send","chat.queuedMessage.removeAria":"Eliminar de la cola","chat.queuedMessage.goal":"Inicia un objetivo al enviarse","chat.queuedMessage.reorderAria":"Arrastra para reordenar","chat.queuedMessage.toast.queueFailed":"No se pudo poner el mensaje en cola. Vuelve a estar en el editor.","chat.queuedMessage.toast.takeFailed":"No se pudo cargar el mensaje en cola. Inténtalo de nuevo.","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.btw.destroyAria":"Destruir esta sesión btw","chat.btw.titleFallback":"sesión btw","chat.btw.mainComposerPlaceholder":"Pregunta en esta sesión btw…","chat.btw.loading":"Iniciando sesión btw…","chat.btw.toast.emptyArgument":"Escribe una pregunta después de /btw","chat.btw.toast.createFailed":"No se pudo iniciar la sesión btw","chat.btw.toast.destroyFailed":"No se pudo destruir la sesión btw. Permanecerá en la barra lateral.","chat.btw.working":"Trabajando…","chat.btw.collapseAria":"Contraer el panel btw","chat.btw.draftHint":"Haz tu pregunta","chat.btw.cancelAria":"Cancelar esta pregunta BTW","chat.btw.expandAria":"Expandir el panel btw","chat.btw.promoteAria":"Conservar como sesión aparte","chat.btw.toast.promoteFailed":"No se pudo conservar la sesión btw","chat.container.readOnlySubagentPromptBanner":"Las sesiones de subagentes no pueden recibir prompts.","chat.container.sessionLoadError.title":"No se pudo cargar la sesión","chat.container.sessionLoadError.description":"No se pudo obtener la conversación: puede que el servidor esté apagado o inaccesible. No se perdió nada; reintenta cuando vuelva.","chat.container.sessionLoadError.authDescription":"Tu sesión expiró, por lo que el servidor rechazó la solicitud. Inicia sesión y la conversación se cargará.","chat.container.sessionLoadError.retry":"Reintentar","sessions.sidebar.group.empty.loadingSessions":"Cargando sesiones…","sessions.sidebar.group.empty.loadFailed":"No se pudieron actualizar las sesiones.","sessions.sidebar.group.empty.initializationFailed":"No se pudo inicializar el espacio de trabajo.","sessions.search.submitHint":"Pulsa Intro para buscar","sessions.sidebar.group.empty.retry":"Reintentar","sessions.sidebar.group.empty.permissionDenied":"Se requiere acceso a la carpeta.","sessions.sidebar.group.empty.grantAccess":"Permitir acceso","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.addToInput":"Citar","chat.textSelection.actions.read":"Leer","chat.textSelection.actions.stopReading":"Detener","chat.textSelection.actions.comment":"Comentar","chat.textSelection.actions.askOpenChamber":"Por cierto…","chat.textSelection.title.askOpenChamber":"Abrir un borrador BTW con la selección","chat.textSelection.title.commentOnSelection":"Comentar la selección","chat.textSelection.comment.placeholder":"Añade un comentario opcional...","chat.textSelection.comment.attach":"Adjuntar","chat.textSelection.comment.save":"Guardar comentario","chat.textSelection.comment.attachFailed":"No se pudo adjuntar el comentario. Acórtalo o elimina otro contexto adjunto e inténtalo de nuevo.","chat.textSelection.actions.addToNotes":"Añadir a las notas","chat.textSelection.title.addToCurrentChat":"Añadir al chat actual","chat.textSelection.title.saveInsightToNotes":"Guardar texto seleccionado en notas","chat.messageBody.actions.revertAria":"Volver a este mensaje","chat.messageBody.actions.revert":"Volver desde aquí","chat.messageBody.actions.forkAria":"Bifurcar desde este mensaje","chat.messageBody.actions.fork":"Bifurcar desde aquí","chat.messageBody.actions.copyMessageAria":"Copiar texto del mensaje","chat.messageBody.actions.copyMessage":"Copiar mensaje","chat.messageBody.actions.copyLink":"Copiar enlace","chat.messageBody.toast.linkCopied":"Enlace copiado","chat.messageBody.toast.linkCopyFailed":"No se pudo copiar el enlace","chat.messageLink.notFound":"El mensaje enlazado no está en esta sesión","chat.messageBody.actions.pinContext":"Fijar en el contexto (se conserva tras la compactación)","chat.messageBody.actions.unpinContext":"Quitar del contexto (no se conservará tras la compactación)","chat.messageBody.actions.contextPinFailed":"No se pudo actualizar el mensaje fijado en el contexto","chat.messageBody.actions.copyAnswer":"Copiar respuesta","chat.messageBody.actions.moreActions":"Más acciones","chat.messageBody.toast.copied":"Copiado al portapapeles","chat.messageBody.actions.savingImage":"Guardando imagen...","chat.messageBody.actions.saveAsImage":"Guardar como imagen","chat.messageBody.actions.saveAsPlan":"Guardar como plan","chat.messageBody.actions.startNewSession":"Iniciar nueva sesión desde esta respuesta","chat.messageBody.actions.startNewMultiRun":"Iniciar nuevo multi-run desde esta respuesta","chat.messageBody.actions.branchMenu":"Continuar desde esta respuesta","chat.messageBody.forkDialog.instructions.label":"Instrucciones","chat.messageBody.forkDialog.instructions.placeholder":"Añade instrucciones para la nueva sesión…","chat.messageBody.forkDialog.createWorktree":"Crear worktree","chat.generatedResult.actions.copy":"Copiar","chat.generatedResult.actions.copied":"Copiado","chat.generatedResult.commit.title":"Mensaje de commit generado","chat.generatedResult.commit.highlights":"Puntos clave","chat.generatedResult.pullRequest.title":"Pull request generado","chat.generatedResult.mergeRequest.title":"Merge request generado","chat.generatedResult.pullRequest.titleLabel":"Título","chat.generatedResult.pullRequest.bodyLabel":"Descripción","chat.messageBody.tts.stopSpeaking":"Dejar de hablar","chat.messageBody.tts.readAloud":"Leer en voz alta","chat.messageBody.tts.readAloudWithProvider":"Leer en voz alta ({provider} voz)","planView.tts.readAloud":"Leer plan en voz alta","planView.tts.stopSpeaking":"Detener lectura","filesView.tts.readAloud":"Leer archivo en voz alta","filesView.tts.stopSpeaking":"Detener lectura","chat.messageBody.toast.noProject":"No se encontró proyecto para esta sesión","chat.messageBody.toast.savePlanFailed":"No se pudo guardar el plan","chat.messageBody.toast.planSaved":"Plan guardado","chat.messageBody.toast.imageSaved":"Imagen guardada","chat.messageBody.toast.generateImageFailed":"No se pudo generar la imagen","chat.chatInput.actions.commands":"Comandos","chat.chatInput.actions.attachFiles":"Adjuntar archivos","chat.chatInput.actions.addAttachment":"Añadir adjunto","chat.chatInput.actions.modelAgentSettings":"Configuración del modelo y agente","chat.chatInput.actions.sendMessageAria":"Enviar mensaje","chat.chatInput.actions.queueMessageAria":"Poner mensaje en cola","chat.chatInput.actions.stopGeneratingAria":"Detener generación","chat.chatInput.focusMode.toggleAria":"Activar o desactivar modo de enfoque","chat.chatInput.focusMode.label":"Modo de enfoque","chat.chatInput.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.openInBrowserAria":"Abrir PR en el navegador","chat.chatInput.linked.mr.openInBrowserAria":"Abrir merge request en el navegador","chat.chatInput.linked.pr.number":"PR #{number}","chat.chatInput.linked.pr.removeAria":"Eliminar PR vinculada","chat.chatInput.linked.mr.removeAria":"Quitar el merge request vinculado","chat.chatInput.placeholder.shell":"Escribe un comando de shell...","chat.chatInput.placeholder.chat":"Planifica, construye o pregunta. @ para mencionar, $ para habilidades, / para comandos","chat.chatInput.placeholder.chatCompact":"Planifica, construye o pregunta","chat.chatInput.placeholder.selectSession":"Selecciona o crea una sesión para comenzar a chatear","chat.snippetAutocomplete.action.addNew":"+ Agregar nuevo snippet","chat.snippetAutocomplete.empty":"No se encontraron snippets","chat.snippetAutocomplete.footer":"↑↓ navegar • Enter seleccionar • Esc cerrar","snippets.source.global":"global","snippets.source.project":"proyecto","chat.chatInput.toast.compactFailed":"No se pudo comprimir la sesión","chat.chatInput.toast.forkFailed":"No se pudo bifurcar la sesión","chat.chatInput.toast.forkNothingToFork":"Aún no hay nada que bifurcar: ninguna respuesta ha terminado en esta sesión","chat.chatInput.toast.forkSendFailed":"Bifurcada, pero el mensaje no se envió. Está de nuevo en el editor.","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.noModelSelected":"Selecciona un proveedor y un modelo antes de enviar.","chat.chatInput.toast.clipboardAttachFailed":"No se pudo adjuntar la imagen desde el portapapeles","chat.chatInput.toast.clipboardTextAttachFailed":"No se pudo adjuntar el texto pegado como archivo","chat.chatInput.largeTextPaste.title":"Texto grande detectado","chat.chatInput.largeTextPaste.attach":"Adjuntar como archivo","chat.chatInput.largeTextPaste.inline":"Pegar en línea","chat.chatInput.toast.addedFileMentions":"Se añadieron {count} mención(es) de archivo","chat.chatInput.toast.attachFileFailed":"No se pudo adjuntar el archivo","chat.chatInput.toast.attachNamedFailed":"No se pudo adjuntar {name}","chat.chatInput.toast.unsupportedAttachmentModalities":"{model} no admite la entrada de {modalities} necesaria para {files}. Aún puedes enviar el mensaje, pero estos adjuntos podrían ignorarse.","chat.chatInput.toast.imagesSaving":"Guardando {files}…","chat.chatInput.toast.imagesSavedForTextModel":"{model} no puede leer imágenes. {files} se guardó en {folder}.","chat.chatInput.toast.imageSaveFailed":"No se pudo guardar {files}. Se adjuntó en su lugar.","chat.chatInput.toast.someFilesSkipped":`Algunos archivos se omitieron:
17
+ {summary}`,"chat.fileAttachment.toast.vscodePickFailed":"No se pudieron seleccionar archivos en VS Code","chat.fileAttachment.fileFallback":"archivo","chat.fileAttachment.skippedFallback":"omitido","chat.fileAttachment.actions.attachAria":"Adjuntar archivos","chat.fileAttachment.actions.attach":"Adjuntar archivos","chat.fileAttachment.actions.removeNamed":"Eliminar {name}","chat.fileAttachment.actions.removeImage":"Eliminar imagen","chat.fileAttachment.activeEditor.addFile":"Agregar archivo:{name} al contexto","chat.fileAttachment.activeEditor.pinSelection":"Anclar selección al contexto","chat.fileAttachment.activeEditor.remove":"Quitar del contexto","chat.fileAttachment.openInDiagram":"Abrir en vista de diagrama","chat.changedFiles.title":"Archivos modificados","chat.changedFiles.actions.openFileTitle":"Abrir {path}","chat.changedFiles.actions.otherFiles":"Otros archivos modificados ({count})","chat.changedFiles.actions.showFewer":"Mostrar menos archivos","chat.emptyState.opencodeUnreachable":"OpenCode no es accesible","chat.emptyState.startNewChat":"Iniciar una nueva conversación","chat.emptyState.draftTitle":"What are we working on?","chat.emptyState.draftTitleWithProject":"What are we working on in {project}?","chat.draftPresets.explore.label":"Explore the codebase","chat.draftPresets.catchup.label":"Catch me up","chat.draftPresets.weigh.label":"Weigh my options","chat.draftPresets.plan.label":"Start feature planning","chat.draftPresets.craftGoal.label":"Crear un Goal","chat.draftPresets.scheduleTask.label":"Programar una tarea","chat.draftPresets.debug.label":"Debug an issue","chat.draftPresets.review.label":"Review my changes","chat.draftStarters.add":"Add a starter","chat.draftStarters.searchPlaceholder":"Search commands and skills…","chat.draftStarters.empty":"Nothing to add","chat.draftStarters.sectionBuiltIn":"Built-in","chat.draftStarters.sectionCommands":"Commands","chat.draftStarters.sectionSkills":"Skills","chat.draftStarters.remove":"Remove","chat.draftStarters.sharedTitle":"Fijado en la configuración del repositorio; cámbialo allí","chat.draftStarters.share":"Mover a la configuración del repositorio","chat.draftStarters.makePersonal":"Mover a mis ajustes","chat.scrollToBottom.aria":"Ir al final","chat.promptNavigator.aria":"Navegación de prompts","chat.promptNavigator.currentPrompt":"Prompt actual","chat.promptNavigator.loadMore":"Cargar más prompts","chat.timeline.relative.justNow":"ahora mismo","chat.timeline.relative.minutesAgo":"hace {count}m","chat.timeline.relative.hoursAgo":"hace {count}h","chat.timeline.relative.daysAgo":"hace {count}d","chat.timeline.title":"Línea de tiempo de la conversación","chat.timeline.description":"Navega hasta cualquier punto de la conversación o crea una nueva sesión","chat.timeline.searchPlaceholder":"Buscar mensajes...","chat.timeline.empty.search":"No se encontraron mensajes","chat.timeline.empty.session":"No hay mensajes en esta sesión aún","chat.timeline.noTextContent":"[No hay contenido de texto]","chat.timeline.actions.title":"Acciones","chat.timeline.actions.revertFromHere":"Revertir desde aquí","chat.timeline.actions.forkFromHere":"Crear una rama desde aquí","chat.timeline.actions.previousTurn":"Turno anterior","chat.timeline.actions.latest":"Último","chat.timeline.help.clickMessage":"Haz clic en un mensaje para desplazarse hasta él en la conversación","chat.timeline.help.undoToPoint":"Deshacer hasta este punto (el texto del mensaje se llenará en la entrada)","chat.timeline.help.createSessionFromHere":"Crear una nueva sesión desde aquí","chat.statusRow.todo.status.inProgress":"En progreso","chat.statusRow.todo.status.pending":"Pendiente","chat.statusRow.todo.status.completed":"Completado","chat.statusRow.todo.status.cancelled":"Cancelado","chat.statusRow.todo.priority.high":"Prioridad alta","chat.statusRow.todo.priority.medium":"Prioridad media","chat.statusRow.todo.priority.low":"Prioridad baja","chat.statusRow.actions.stopGeneratingAria":"Detener la generación","chat.statusRow.tasksTitle":"Tareas","chat.statusRow.modelStatus":"{model} · {status}","chat.statusRow.summary.activeLeft":"{active} activas · {left} restantes","chat.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.revert.toast.undo":"Revertido a {preview}","chat.revert.toast.redo":"Rehecho","chat.revert.toast.restored":"Todos los mensajes restaurados","chat.toast.opencodeRestartInterrupted.title":"Conversación interrumpida","chat.toast.opencodeRestartInterrupted.description":"OpenCode se reinició mientras aún se estaba generando una respuesta. Envía un mensaje para continuar.","chat.toast.opencodeRestartInterrupted.openSession":"Abrir sesión","chat.errorBoundary.title":"Error en la conversación","chat.errorBoundary.description":"La interfaz de la conversación encontró un error. Esto podría deberse a un problema de red temporal o a datos de mensaje corruptos.","chat.errorBoundary.sessionLabel":"Sesión","chat.errorBoundary.detailsSummary":"Detalles del error","chat.errorBoundary.resetAction":"Restablecer la conversación","chat.errorBoundary.persistentHint":"Si el problema persiste, intenta actualizar la página.","chat.autocomplete.tabs.commands":"Comandos","chat.autocomplete.tabs.agents":"Agentes","chat.autocomplete.tabs.files":"Archivos","chat.autocomplete.keyboardHint":"↑↓ navegar • Enter seleccionar • Esc cerrar","chat.commandAutocomplete.command.initDescription":"Crear/actualizar el archivo AGENTS.md","chat.commandAutocomplete.command.undoDescription":"Deshacer el último mensaje","chat.commandAutocomplete.command.redoDescription":"Rehacer mensajes previamente deshechos","chat.commandAutocomplete.command.timelineDescription":"Abrir la línea de tiempo de la conversación","chat.commandAutocomplete.command.compactDescription":"Comprimir el historial de la sesión usando IA para reducir el tamaño del contexto","chat.commandAutocomplete.command.summaryDescription":"Resumen no destructivo de la sesión. Pista opcional del tema después del comando.","chat.commandAutocomplete.command.workspaceReviewDescription":"Revisa el diff del espacio de trabajo en intención, corrección y adecuación, con hallazgos por severidad.","chat.commandAutocomplete.command.handoffReviewDescription":"Crea o reutiliza una sesión de revisión separada a partir de un handoff generado.","chat.commandAutocomplete.command.featurePlanDescription":"Inicia una sesión de planificación guiada e interactiva para una nueva función.","chat.commandAutocomplete.command.craftGoalDescription":"Convierte una idea o tarea en un Goal claro y verificable.","chat.commandAutocomplete.command.scheduleTaskDescription":"Define una tarea programada mediante un diálogo guiado.","chat.chatInput.toast.craftGoalFailed":"No se pudo iniciar la creación del Goal","chat.chatInput.toast.scheduleTaskFailed":"No se pudo iniciar la configuración de la tarea programada","chat.commandAutocomplete.command.catchUpDescription":"Recupera el contexto: qué estabas haciendo y por dónde continuar.","chat.commandAutocomplete.command.debugDescription":"Investigación guiada de la causa raíz de un error antes de proponer una solución.","chat.commandAutocomplete.command.weighDescription":"Compara 2-3 enfoques con sus ventajas y desventajas y una recomendación antes de decidir.","chat.commandAutocomplete.command.btwDescription":"Haz una pregunta paralela en una sesión hija temporal sin desviar este chat.","chat.commandAutocomplete.command.forkDescription":"Bifurca este chat desde la última respuesta terminada y continúa allí; el texto tras /fork se envía a la bifurcación.","chat.commandAutocomplete.command.exploreDescription":"Oriéntate en este código: un recorrido general de la arquitectura y las partes principales.","chat.commandAutocomplete.badge.command":"comando","chat.commandAutocomplete.badge.system":"sistema","chat.commandAutocomplete.empty":"No se encontraron comandos","chat.agentMentionAutocomplete.badge.system":"sistema","chat.agentMentionAutocomplete.empty":"No se encontraron agentes","chat.fileMentionAutocomplete.searchMoreAgents":"Escribe para buscar más agentes","chat.fileMentionAutocomplete.empty":"No se encontraron coincidencias","chat.queuedMessage.attachments":"+{count} archivo(s)","chat.queuedMessage.empty":"(vacío)","chat.queuedMessage.title":"Queued messages","chat.queuedMessage.edit":"edit","chat.queuedMessage.send":"send","chat.queuedMessage.removeAria":"Eliminar de la cola","chat.queuedMessage.goal":"Inicia un objetivo al enviarse","chat.queuedMessage.reorderAria":"Arrastra para reordenar","chat.queuedMessage.toast.queueFailed":"No se pudo poner el mensaje en cola. Vuelve a estar en el editor.","chat.queuedMessage.toast.takeFailed":"No se pudo cargar el mensaje en cola. Inténtalo de nuevo.","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.btw.destroyAria":"Destruir esta sesión btw","chat.btw.titleFallback":"sesión btw","chat.btw.mainComposerPlaceholder":"Pregunta en esta sesión btw…","chat.btw.loading":"Iniciando sesión btw…","chat.btw.toast.emptyArgument":"Escribe una pregunta después de /btw","chat.btw.toast.createFailed":"No se pudo iniciar la sesión btw","chat.btw.toast.destroyFailed":"No se pudo destruir la sesión btw. Permanecerá en la barra lateral.","chat.btw.working":"Trabajando…","chat.btw.collapseAria":"Contraer el panel btw","chat.btw.draftHint":"Haz tu pregunta","chat.btw.cancelAria":"Cancelar esta pregunta BTW","chat.btw.expandAria":"Expandir el panel btw","chat.btw.promoteAria":"Conservar como sesión aparte","chat.btw.toast.promoteFailed":"No se pudo conservar la sesión btw","chat.container.readOnlySubagentPromptBanner":"Las sesiones de subagentes no pueden recibir prompts.","chat.container.sessionLoadError.title":"No se pudo cargar la sesión","chat.container.sessionLoadError.description":"No se pudo obtener la conversación: puede que el servidor esté apagado o inaccesible. No se perdió nada; reintenta cuando vuelva.","chat.container.sessionLoadError.authDescription":"Tu sesión expiró, por lo que el servidor rechazó la solicitud. Inicia sesión y la conversación se cargará.","chat.container.sessionLoadError.retry":"Reintentar","sessions.sidebar.group.empty.loadingSessions":"Cargando sesiones…","sessions.sidebar.group.empty.loadFailed":"No se pudieron actualizar las sesiones.","sessions.sidebar.group.empty.initializationFailed":"No se pudo inicializar el espacio de trabajo.","sessions.search.submitHint":"Pulsa Intro para buscar","sessions.sidebar.group.empty.retry":"Reintentar","sessions.sidebar.group.empty.permissionDenied":"Se requiere acceso a la carpeta.","sessions.sidebar.group.empty.grantAccess":"Permitir acceso","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.addToInput":"Citar","chat.textSelection.actions.read":"Leer","chat.textSelection.actions.stopReading":"Detener","chat.textSelection.actions.comment":"Comentar","chat.textSelection.actions.askOpenChamber":"Por cierto…","chat.textSelection.title.askOpenChamber":"Abrir un borrador BTW con la selección","chat.textSelection.title.commentOnSelection":"Comentar la selección","chat.textSelection.comment.placeholder":"Añade un comentario opcional...","chat.textSelection.comment.attach":"Adjuntar","chat.textSelection.comment.save":"Guardar comentario","chat.textSelection.comment.attachFailed":"No se pudo adjuntar el comentario. Acórtalo o elimina otro contexto adjunto e inténtalo de nuevo.","chat.textSelection.actions.addToNotes":"Añadir a las notas","chat.textSelection.title.addToCurrentChat":"Añadir al chat actual","chat.textSelection.title.saveInsightToNotes":"Guardar texto seleccionado en notas","chat.messageBody.actions.revertAria":"Volver a este mensaje","chat.messageBody.actions.revert":"Volver desde aquí","chat.messageBody.actions.forkAria":"Bifurcar desde este mensaje","chat.messageBody.actions.fork":"Bifurcar desde aquí","chat.messageBody.actions.copyMessageAria":"Copiar texto del mensaje","chat.messageBody.actions.copyMessage":"Copiar mensaje","chat.messageBody.actions.copyLink":"Copiar enlace","chat.messageBody.toast.linkCopied":"Enlace copiado","chat.messageBody.toast.linkCopyFailed":"No se pudo copiar el enlace","chat.messageLink.notFound":"El mensaje enlazado no está en esta sesión","chat.messageBody.actions.pinContext":"Fijar en el contexto (se conserva tras la compactación)","chat.messageBody.actions.unpinContext":"Quitar del contexto (no se conservará tras la compactación)","chat.messageBody.actions.contextPinFailed":"No se pudo actualizar el mensaje fijado en el contexto","chat.messageBody.actions.copyAnswer":"Copiar respuesta","chat.messageBody.actions.moreActions":"Más acciones","chat.messageBody.toast.copied":"Copiado al portapapeles","chat.messageBody.actions.savingImage":"Guardando imagen...","chat.messageBody.actions.saveAsImage":"Guardar como imagen","chat.messageBody.actions.saveAsPlan":"Guardar como plan","chat.messageBody.actions.startNewSession":"Iniciar nueva sesión desde esta respuesta","chat.messageBody.actions.startNewMultiRun":"Iniciar nuevo multi-run desde esta respuesta","chat.messageBody.actions.branchMenu":"Continuar desde esta respuesta","chat.messageBody.forkDialog.instructions.label":"Instrucciones","chat.messageBody.forkDialog.instructions.placeholder":"Añade instrucciones para la nueva sesión…","chat.messageBody.forkDialog.createWorktree":"Crear worktree","chat.generatedResult.actions.copy":"Copiar","chat.generatedResult.actions.copied":"Copiado","chat.generatedResult.commit.title":"Mensaje de commit generado","chat.generatedResult.commit.highlights":"Puntos clave","chat.generatedResult.pullRequest.title":"Pull request generado","chat.generatedResult.mergeRequest.title":"Merge request generado","chat.generatedResult.pullRequest.titleLabel":"Título","chat.generatedResult.pullRequest.bodyLabel":"Descripción","chat.messageBody.tts.stopSpeaking":"Dejar de hablar","chat.messageBody.tts.readAloud":"Leer en voz alta","chat.messageBody.tts.readAloudWithProvider":"Leer en voz alta ({provider} voz)","planView.tts.readAloud":"Leer plan en voz alta","planView.tts.stopSpeaking":"Detener lectura","filesView.tts.readAloud":"Leer archivo en voz alta","filesView.tts.stopSpeaking":"Detener lectura","chat.messageBody.toast.noProject":"No se encontró proyecto para esta sesión","chat.messageBody.toast.savePlanFailed":"No se pudo guardar el plan","chat.messageBody.toast.planSaved":"Plan guardado","chat.messageBody.toast.imageSaved":"Imagen guardada","chat.messageBody.toast.generateImageFailed":"No se pudo generar la imagen","chat.chatInput.actions.commands":"Comandos","chat.chatInput.actions.attachFiles":"Adjuntar archivos","chat.chatInput.actions.addAttachment":"Añadir adjunto","chat.chatInput.actions.modelAgentSettings":"Configuración del modelo y agente","chat.chatInput.actions.sendMessageAria":"Enviar mensaje","chat.chatInput.actions.queueMessageAria":"Poner mensaje en cola","chat.chatInput.actions.stopGeneratingAria":"Detener generación","chat.chatInput.focusMode.toggleAria":"Activar o desactivar modo de enfoque","chat.chatInput.focusMode.label":"Modo de enfoque","chat.chatInput.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.openInBrowserAria":"Abrir PR en el navegador","chat.chatInput.linked.mr.openInBrowserAria":"Abrir merge request en el navegador","chat.chatInput.linked.pr.number":"PR #{number}","chat.chatInput.linked.pr.removeAria":"Eliminar PR vinculada","chat.chatInput.linked.mr.removeAria":"Quitar el merge request vinculado","chat.chatInput.placeholder.shell":"Escribe un comando de shell...","chat.chatInput.placeholder.chat":"Planifica, construye o pregunta. @ para mencionar, $ para habilidades, / para comandos","chat.chatInput.placeholder.chatCompact":"Planifica, construye o pregunta","chat.chatInput.placeholder.selectSession":"Selecciona o crea una sesión para comenzar a chatear","chat.snippetAutocomplete.action.addNew":"+ Agregar nuevo snippet","chat.snippetAutocomplete.empty":"No se encontraron snippets","chat.snippetAutocomplete.footer":"↑↓ navegar • Enter seleccionar • Esc cerrar","snippets.source.global":"global","snippets.source.project":"proyecto","chat.chatInput.toast.compactFailed":"No se pudo comprimir la sesión","chat.chatInput.toast.forkFailed":"No se pudo bifurcar la sesión","chat.chatInput.toast.forkNothingToFork":"Aún no hay nada que bifurcar: ninguna respuesta ha terminado en esta sesión","chat.chatInput.toast.forkSendFailed":"Bifurcada, pero el mensaje no se envió. Está de nuevo en el editor.","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.noModelSelected":"Selecciona un proveedor y un modelo antes de enviar.","chat.chatInput.toast.clipboardAttachFailed":"No se pudo adjuntar la imagen desde el portapapeles","chat.chatInput.toast.clipboardTextAttachFailed":"No se pudo adjuntar el texto pegado como archivo","chat.chatInput.largeTextPaste.title":"Texto grande detectado","chat.chatInput.largeTextPaste.attach":"Adjuntar como archivo","chat.chatInput.largeTextPaste.inline":"Pegar en línea","chat.chatInput.toast.addedFileMentions":"Se añadieron {count} mención(es) de archivo","chat.chatInput.toast.attachFileFailed":"No se pudo adjuntar el archivo","chat.chatInput.toast.attachNamedFailed":"No se pudo adjuntar {name}","chat.chatInput.toast.unsupportedAttachmentModalities":"{model} no admite la entrada de {modalities} necesaria para {files}. Aún puedes enviar el mensaje, pero estos adjuntos podrían ignorarse.","chat.chatInput.toast.imagesSaving":"Guardando {files}…","chat.chatInput.toast.imagesSavedForTextModel":"{model} no puede leer imágenes. {files} se guardó en {folder}.","chat.chatInput.toast.imageSaveFailed":"No se pudo guardar {files}. Se adjuntó en su lugar.","chat.chatInput.toast.imagesSaved":"{files} guardado en {folder}.","chat.chatInput.toast.imageCopySaveFailed":"No se pudo guardar {files}.","chat.chatInput.toast.someFilesSkipped":`Algunos archivos se omitieron:
18
18
  {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.dictationKeptForOriginalSession":"Dictado guardado como borrador en la sesión donde lo iniciaste","chat.chatInput.toast.togglePermissionAutoAcceptFailed":"No se pudo cambiar la aceptación automática de permisos","chat.chatInput.reviewComments":"Comentarios de revisión:","chat.chatInput.reviewCommentsRemove":"Quitar comentarios de revisión","chat.chatInput.previewAnnotations":"Anotaciones de vista previa:","chat.chatInput.previewContext":"Contexto de vista previa:","chat.chatInput.previewContextRemove":"Quitar contexto de vista previa","chat.chatInput.projectRoot":"Raíz del proyecto","chat.chatInput.branch":"Rama","chat.chatInput.draftPicker.projectTitle":"Proyecto","chat.chatInput.draftPicker.searchProjects":"Buscar proyectos...","chat.chatInput.draftPicker.searchBranches":"Buscar ramas...","chat.chatInput.draftPicker.noProjectsFound":"No se encontraron proyectos.","chat.chatInput.worktrees":"Worktrees","chat.chatInput.worktreeQuick":"Worktree rápido","chat.chatInput.worktreeCustom":"Nuevo worktree…","chat.chatInput.drop.insertMention":"Suelta para insertar como mención","chat.chatInput.drop.attachFiles":"Suelta archivos aquí para adjuntar","chat.chatInput.fileFallback":"archivo","chat.toolOutputDialog.image.previousAria":"Imagen anterior","chat.toolOutputDialog.image.nextAria":"Imagen siguiente","chat.toolOutputDialog.image.closeAria":"Cerrar vista previa de imagen","chat.toolOutputDialog.mermaid.missingSource":"Falta la URL de origen de Mermaid.","chat.toolOutputDialog.mermaid.loadFailed":"No se pudo cargar el diagrama de Mermaid.","chat.toolOutputDialog.mermaid.dataUrlMalformed":"La URL de datos de Mermaid no tiene un formato válido.","chat.toolOutputDialog.mermaid.invalidLocalPath":"La ruta del archivo local de Mermaid no es válida.","chat.toolOutputDialog.mermaid.readFileFailedWithStatus":"No se pudo leer el archivo de Mermaid. Estado: {status}.","chat.toolOutputDialog.mermaid.unsupportedUrlProtocol":"El protocolo de la URL de Mermaid no es compatible.","chat.toolOutputDialog.mermaid.loadFailedWithStatus":"No se pudo cargar el diagrama de Mermaid. Estado: {status}.","chat.toolOutputDialog.mermaid.closeAria":"Cerrar vista previa del diagrama","chat.toolOutputDialog.mermaid.loading":"Cargando diagrama...","chat.toolOutputDialog.mermaid.renderFailed":"No se pudo renderizar el diagrama de Mermaid.","chat.toolOutputDialog.mermaid.retry":"Volver a intentar","chat.toolOutputDialog.commandCompleted":"Comando completado con éxito","chat.toolOutputDialog.noOutputProduced":"No se produjo ninguna salida","chat.statusRow.background.action":"Mover a segundo plano: el agente deja de esperar y continúa","chat.statusRow.background.failed":"No se pudo mover el trabajo a segundo plano","chat.toolPart.background.label":"en segundo plano","chat.toolPart.subagent.stop":"Detener subagente","chat.toolPart.subagent.stopFailed":"No se pudo detener el subagente","chat.toolPart.background.stop":"Detener comando","chat.toolPart.background.stopLabel":"Detener","chat.toolPart.background.stopFailed":"No se pudo detener el comando","chat.toolPart.background.stoppedLabel":"detenido","chat.toolPart.background.stoppedNotice":"Lo detuviste tú. Se le indicó al agente que fue una detención tuya, no un fallo.","chat.toolPart.lspErrors":"Errores LSP","chat.toolPart.moreErrors":"+{count} errores más","chat.toolPart.moreRows":"+{count} filas más","chat.toolPart.error":"Error:","chat.toolPart.awaitingResponse":"Esperando respuesta...","chat.toolPart.noOutputProduced":"No se produjo ninguna salida","chat.toolPart.questionsAsked":"Preguntas realizadas: {count}","chat.toolPart.filesCount":"Archivos: {count}","chat.toolPart.moreToolCalls":"+{count} más","chat.toolPart.scriptCalls":"Llamadas a herramientas","chat.toolPart.outputTruncated":"La salida se truncó","chat.toolPart.content.loading":"Cargando el resultado…","chat.toolPart.content.loadFailed":"No se pudo cargar el resultado.","chat.toolPart.content.retry":"Reintentar","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.openFile":"Abrir archivo","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.patterns":"Patrones:","chat.permissionToast.sessionFallback":"Sesión","chat.permissionToast.permissionFallback":"Detalles de permiso no disponibles","chat.permissionToast.labels.session":"Sesión:","chat.permissionToast.labels.permission":"Permiso:","chat.permissionToast.actions.once":"Una vez","chat.permissionToast.actions.always":"Siempre","chat.permissionToast.actions.deny":"Denegar","chat.permissionToast.actions.approveOnceAria":"Aprobar una vez","chat.permissionToast.actions.approveOnceAriaWithSession":"Aprobar una vez para {session}","chat.permissionToast.actions.approveAlwaysAria":"Aprobar siempre","chat.permissionToast.actions.approveAlwaysAriaWithSession":"Aprobar siempre para {session}","chat.permissionToast.actions.denyAria":"Denegar permiso","chat.permissionToast.actions.denyAriaWithSession":"Denegar permiso para {session}","chat.permissionRequest.required":"Permiso requerido:","chat.permissionRequest.actions.once":"Una vez","chat.permissionRequest.actions.always":"Siempre","chat.permissionRequest.actions.reject":"Rechazar","chat.modelControls.provider":"Proveedor","chat.modelControls.capability.toolCalling":"Uso de herramientas","chat.modelControls.capability.reasoning":"Razonamiento","chat.modelControls.modality.text":"Texto","chat.modelControls.modality.image":"Imagen","chat.modelControls.modality.video":"Vídeo","chat.modelControls.modality.audio":"Audio","chat.modelControls.modality.pdf":"PDF","chat.modelControls.capabilities":"Capacidades","chat.modelControls.modalities":"Modalidades","chat.modelControls.input":"Entrada","chat.modelControls.output":"Salida","chat.modelControls.limits":"Límites","chat.modelControls.context":"Contexto","chat.modelControls.metadata":"Metadatos","chat.modelControls.knowledge":"Conocimiento","chat.modelControls.release":"Lanzamiento","chat.modelControls.mode":"Modo","chat.modelControls.model":"Modelo","chat.modelControls.temperature":"Temperatura","chat.modelControls.topP":"Top P","chat.modelControls.permissions":"Permisos","chat.modelControls.edit":"Editar","chat.modelControls.bash":"Bash","chat.modelControls.webFetch":"WebFetch","chat.modelControls.customPrompt":"Prompt personalizado","chat.modelControls.selectModel":"Seleccionar modelo","chat.modelControls.searchProvidersOrModels":"Buscar proveedores o modelos","chat.modelControls.clearSearch":"Limpiar búsqueda","chat.modelControls.current":"Actual","chat.modelControls.thinking":"Pensando","chat.modelControls.inheritedVariantTooltip":"Pensando: {variant}, predeterminado de este modelo","chat.modelControls.default":"Predeterminado","chat.modelControls.selectAgent":"Seleccionar agente","chat.modelControls.costPerMillion":"Costo ($/1M tokens)","chat.modelControls.metadataUnavailable":"Metadatos del modelo no disponibles.","chat.modelControls.addNewProvider":"Añadir nuevo proveedor","chat.modelControls.noAgentSelected":"No se seleccionó ningún agente.","chat.modelControls.resetToDefault":"Restablecer al valor predeterminado","chat.modelControls.searchModels":"Buscar modelos","chat.modelControls.searchAgents":"Buscar agentes","chat.modelControls.noModelsFound":"No se encontraron modelos","chat.modelControls.favorites":"Favoritos","chat.modelControls.recent":"Recientes","chat.modelControls.addToFavorites":"Añadir a favoritos","chat.modelControls.removeFromFavorites":"Eliminar de favoritos","chat.modelControls.favoriteAria":"Favorito","chat.modelControls.unfavoriteAria":"Quitar de favoritos","chat.modelControls.collapseProvider":"Colapsar proveedor","chat.modelControls.expandProvider":"Expandir proveedor","chat.modelControls.keyboardHint":"↑↓ navegar{thinking} • Enter seleccionar • Esc cerrar","chat.modelControls.keyboardHintNavigate":"↑↓ navegar","chat.modelControls.keyboardHintSwitchAgent":"{shortcut} cambiar agente","chat.modelControls.keyboardHintThinking":"←→ cambiar razonamiento","chat.modelControls.showThinkingModes":"Mostrar modos de razonamiento","chat.modelControls.hideThinkingModes":"Ocultar modos de razonamiento","chat.modelControls.moreThinkingModes":"Más modos de razonamiento","chat.modelControls.noProvidersOrModelsFound":"Ningún proveedor o modelo coincide con tu búsqueda.","chat.modelControls.reorderFavoriteAria":"Reordenar favorito","chat.modelControls.reorderFavoriteTitle":"Arrastrar para reordenar favorito","chat.modelControls.reorderProviderTitle":"Arrastrar para reordenar proveedor","chat.modelControls.permissionLabel.custom":"Personalizado","chat.modelControls.permissionLabel.allow":"Permitir","chat.modelControls.permissionLabel.deny":"Denegar","chat.modelControls.permissionLabel.ask":"Preguntar","chat.modelControls.modeValue.primary":"Primario","chat.modelControls.modeValue.subagent":"Subagente","chat.modelControls.modeValue.all":"Todos","chat.modelControls.modeValue.none":"—","chat.reasoningTrace.thinking":"Pensando","chat.reasoningTrace.expandAria":"Expandir traza de razonamiento","chat.reasoningTrace.collapseAria":"Contraer traza de razonamiento","chat.reasoningTrace.thought":"Pensó","chat.messageBody.subtask.title":"Tarea delegada","chat.messageBody.subtask.hidePrompt":"Ocultar prompt","chat.messageBody.subtask.showPrompt":"Mostrar prompt","chat.messageBody.subtask.openSession":"Abrir sesión de subtarea","chat.messageBody.shellCommand.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.quickWorktree":"Worktree rápido","commandPalette.item.newWorktreeDialog":"Nuevo worktree…","commandPalette.item.addProject":"Añadir proyecto","commandPalette.item.showSessionSwitcher":"Mostrar cambiador de sesiones","commandPalette.item.toggleSidebar":"Mostrar u ocultar barra lateral","commandPalette.item.showContextUsage":"Mostrar uso del contexto","commandPalette.item.toggleTerminal":"Mostrar u ocultar terminal","commandPalette.item.cycleTheme":"Cambiar tema","commandPalette.item.showOpenCodeStatus":"Mostrar cronología de diagnósticos","commandPalette.item.restartOpenCode":"Reiniciar OpenCode","commandPalette.item.toggleMemoryDebug":"Alternar panel de depuración de memoria","commandPalette.item.pinSession":"Anclar o desanclar sesión","commandPalette.item.copySessionId":"Copiar ID de sesión","commandPalette.item.openMultiRun":"Ejecutar en paralelo","commandPalette.item.openArchive":"Abrir sesiones archivadas","commandPalette.item.openNotes":"Abrir panel de notas","commandPalette.item.openTodos":"Abrir panel de tareas","commandPalette.item.openSettings":"Abrir configuración...","commandPalette.session.untitled":"Sesión sin título","commandPalette.item.reloadUi":"Recargar interfaz","commandPalette.group.openFiles":"Archivos abiertos","commandPalette.group.commands":"Comandos","commandPalette.group.settings":"Ajustes","chat.search.placeholder":"Buscar en esta conversación","chat.search.position":"{current} de {total}","chat.search.noResults":"Sin resultados","chat.search.searching":"Buscando…","chat.search.tooShort":"3+ caracteres","chat.search.error":"Error al buscar","chat.search.unavailable":"No disponible aquí","chat.search.previous":"Coincidencia anterior","chat.search.next":"Coincidencia siguiente","chat.search.close":"Cerrar búsqueda","commandPalette.group.sessions":"Sesiones","commandPalette.group.messages":"Mensajes","commandPalette.messages.showAll":"Mostrar todos los resultados en mensajes","commandPalette.messages.placeholder":"Buscar mensajes…","commandPalette.messages.back":"Atrás","commandPalette.messages.filter.scopeLabel":"Dónde","commandPalette.messages.filter.allProjects":"Todos los proyectos","commandPalette.messages.filter.thisProject":"Este proyecto","commandPalette.messages.filter.authorLabel":"Escrito por","commandPalette.messages.filter.anyone":"Cualquiera","commandPalette.messages.filter.you":"Tú","commandPalette.messages.filter.agent":"Agente","commandPalette.messages.filter.reasoning":"Pensando","commandPalette.messages.inReasoning":"Pensando","commandPalette.messages.tooShort":"Escribe al menos 3 caracteres para buscar mensajes","commandPalette.messages.searching":"Buscando mensajes…","commandPalette.messages.error":"No se pudieron buscar los mensajes","commandPalette.messages.unavailable":"La búsqueda de mensajes no está disponible en este servidor","commandPalette.messages.empty":"No se encontraron mensajes","commandPalette.messages.indexing":"Aún se están indexando conversaciones antiguas: {done} de {total}.","commandPalette.messages.loadMore":"Cargar más","commandPalette.messages.byYou":"Tu mensaje","commandPalette.messages.byAgent":"Respuesta del agente","commandPalette.group.files":"Archivos","commandPalette.group.projects":"Proyectos","commandPalette.footer.navigate":"navegar","commandPalette.footer.open":"abrir","commandPalette.footer.close":"cerrar","openCodeStatusDialog.title":"Cronología de diagnósticos","openCodeStatusDialog.description":"Eventos locales ordenados por hora. Se excluyen los textos privados y las fuentes remotas.","openCodeStatusDialog.actions.download":"Descargar registro","openCodeStatusDialog.toast.collectFailed":"No se pudieron recopilar los diagnósticos","openCodeStatusDialog.actions.copy":"Copiar","openCodeStatusDialog.empty.noData":"No hay datos.","openCodeStatusDialog.toast.copiedTitle":"Copiado","openCodeStatusDialog.toast.copiedDescription":"Registro de diagnóstico copiado al portapapeles","openCodeStatusDialog.toast.copyFailed":"No se pudo copiar el registro de diagnóstico","saveProjectPlanDialog.title":"Guardar plan del proyecto","saveProjectPlanDialog.description":"Guarda este plan en tu proyecto como un archivo Markdown.","saveProjectPlanDialog.field.title":"Título","saveProjectPlanDialog.field.titlePlaceholder":"Título del plan","saveProjectPlanDialog.field.contentPreview":"Vista previa del contenido","saveProjectPlanDialog.actions.cancel":"Cancelar","saveProjectPlanDialog.actions.save":"Guardar","saveProjectPlanDialog.actions.saving":"Guardando...","branchPickerDialog.title":"Selector de rama","branchPickerDialog.description.localBranchesForProject":"Ramas locales para {project}","branchPickerDialog.description.selectProject":"Selecciona un proyecto para ver ramas","branchPickerDialog.search.placeholder":"Buscar ramas...","branchPickerDialog.search.renameBranchPlaceholder":"Cambiar nombre de rama","branchPickerDialog.state.noProjectSelected":"No se seleccionó un proyecto","branchPickerDialog.state.loadingBranches":"Cargando ramas...","branchPickerDialog.state.noMatchingBranches":"No se encontraron ramas coincidentes","branchPickerDialog.state.noBranchesFound":"No se encontraron ramas","branchPickerDialog.badge.head":"HEAD","branchPickerDialog.badge.worktree":"worktree","branchPickerDialog.actions.createWorktreeAria":"Crear worktree desde rama","branchPickerDialog.actions.renameAria":"Cambiar nombre de rama","branchPickerDialog.actions.deleteAria":"Eliminar rama","branchPickerDialog.actions.deleteWorktreeAria":"Eliminar worktree","branchPickerDialog.actions.confirmRenameAria":"Confirmar cambio de nombre de","branchPickerDialog.actions.cancelRenameAria":"Cancelar cambio de nombre de","branchPickerDialog.actions.confirmDeleteAria":"Confirmar eliminación de rama","branchPickerDialog.actions.cancelDeleteAria":"Cancelar eliminación de rama","branchPickerDialog.actions.deletePrompt":"Eliminar","branchPickerDialog.actions.forceDeletePrompt":"Forzar eliminación","branchPickerDialog.tooltip.createWorktree":"Crear worktree","branchPickerDialog.tooltip.worktreeAlreadyExists":"El worktree ya existe","branchPickerDialog.tooltip.rename":"Cambiar nombre de rama","branchPickerDialog.tooltip.renameDisabledForRoot":"No se puede cambiar el nombre de la rama raíz","branchPickerDialog.tooltip.delete":"Eliminar rama","branchPickerDialog.tooltip.deleteCurrentBranch":"No se puede eliminar la rama actual","branchPickerDialog.tooltip.deleteDisabledForRoot":"No se puede eliminar la rama raíz","branchPickerDialog.tooltip.deleteWorktree":"Eliminar worktree","branchPickerDialog.tooltip.deleteWorktreeRootProtected":"No se puede eliminar el worktree raíz","branchPickerDialog.toast.branchRenamed":"Rama renombrada","branchPickerDialog.toast.failedToRenameBranch":"No se pudo cambiar el nombre de la rama","branchPickerDialog.toast.branchDeleted":"Rama eliminada","branchPickerDialog.toast.branchNotMerged":"La rama no tiene todos sus cambios integrados","branchPickerDialog.toast.confirmAgainToForceDelete":"Confirma de nuevo para eliminar forzadamente","branchPickerDialog.toast.failedToDeleteBranch":"No se pudo eliminar la rama","branchPickerDialog.toast.worktreeCreated":"Worktree creado","branchPickerDialog.toast.failedToCreateWorktree":"No se pudo crear el worktree","branchPickerDialog.error.failedToLoad":"No se pudieron cargar las ramas","branchPickerDialog.error.renameRejected":"El cambio de nombre fue rechazado","branchPickerDialog.error.renameFailed":"No se pudo cambiar el nombre de la rama","branchPickerDialog.error.deleteRejected":"La eliminación fue rechazada","branchPickerDialog.error.deleteFailed":"No se pudo eliminar la rama","branchPickerDialog.error.createWorktreeFailed":"No se pudo crear el worktree","projectEditDialog.title":"Editar proyecto","projectEditDialog.field.name":"Nombre","projectEditDialog.field.namePlaceholder":"Nombre del proyecto","projectEditDialog.field.color":"Color","projectEditDialog.field.icon":"Icono","projectEditDialog.field.preview":"Vista previa","projectEditDialog.field.iconBackground":"Fondo del icono","projectEditDialog.field.iconBackgroundAria":"Color del fondo del icono del proyecto","projectEditDialog.option.none":"Ninguno","projectEditDialog.actions.uploadIcon":"Subir icono","projectEditDialog.actions.uploading":"Subiendo...","projectEditDialog.actions.discoverFavicon":"Buscar icono","projectEditDialog.actions.discovering":"Descubriendo...","projectEditDialog.actions.removeProjectIcon":"Eliminar icono del proyecto","projectEditDialog.actions.removing":"Eliminando...","projectEditDialog.actions.undoRemove":"Deshacer eliminación","projectEditDialog.actions.clear":"Limpiar","projectEditDialog.actions.cancel":"Cancelar","projectEditDialog.actions.save":"Guardar","projectEditDialog.toast.failedToUploadIcon":"No se pudo subir el icono del proyecto","projectEditDialog.toast.iconUpdated":"Icono del proyecto actualizado","projectEditDialog.toast.failedToRemoveIcon":"No se pudo eliminar el icono del proyecto","projectEditDialog.toast.iconRemoved":"Icono del proyecto eliminado","projectEditDialog.toast.failedToDiscoverIcon":"No se pudo descubrir el icono del proyecto","projectEditDialog.toast.customIconAlreadySet":"Icono personalizado ya establecido para este proyecto","projectEditDialog.toast.iconDiscovered":"Icono del proyecto descubierto","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":"Detectar servidor de desarrollo","projectActions.menu.sharedBadge":"repo","projects.sharedTrust.title":"¿Ejecutar los comandos guardados en este repositorio?","projects.sharedTrust.description":"{path} en este repositorio define comandos que se ejecutan en esta máquina. Confía una vez y OpenChamber solo volverá a preguntar cuando cambien.","projects.sharedTrust.setupCommands":"Comandos de configuración del worktree","projects.sharedTrust.actions":"Acciones","projects.sharedTrust.skip":"Esta vez no","projects.sharedTrust.trust":"Confiar y ejecutar","projectActions.actions.autoDiscoverTooltip":"Detecta y ejecuta automáticamente el servidor de desarrollo","projectActions.actions.chooseActionAria":"Elegir acción del proyecto","projectActions.actions.openPreview":"Abrir Preview","projectActions.actions.runNamedAria":"Ejecutar {name}","projectActions.actions.stopNamedAria":"Detener {name}","projectActions.label.fallbackAction":"Acción","projectActions.toast.openedUrlFromOutput":"Abierto URL desde la salida de la acción","projectActions.toast.openedForwardedUrl":"Abierto URL reenviada","projectActions.toast.openedActionUrl":"Abierto URL de la acción","projectActions.error.noActiveDirectory":"No hay directorio activo","projectActions.error.noActiveDirectoryForAction":"No hay directorio activo para la acción","projectActions.error.failedToCreateTerminalSession":"No se pudo crear la sesión de terminal","projectActions.error.invalidCustomUrlFormat":"Formato de URL personalizada inválido","projectActions.error.openUrlTemplateUnresolved":"No se pudo leer la rama para la URL de la acción","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.expired.banner":"Tu sesión expiró: inicia sesión para continuar.","sessionAuth.expired.loginAction":"Iniciar sesión","sessionAuth.expired.sendBlocked":"Sesión expirada: inicia sesión para enviar mensajes.","sessionAuth.locked.unlockTitle":"Desbloquear OpenChamber","sessionAuth.locked.tunnelDescription":"Abre este túnel usando el enlace de conexión única desde la aplicación de escritorio.","sessionAuth.locked.passwordDescription":"Esta sesión está protegida con contraseña.","sessionAuth.locked.hostSwitcherHint":"Usa Local si el servidor remoto no está disponible.","sessionAuth.actions.cancelPasskey":"Cancelar clave de paso","sessionAuth.actions.usePasskey":"Usar clave de paso","sessionAuth.actions.unlockingAria":"Desbloqueando","sessionAuth.actions.unlockAria":"Desbloquear","sessionAuth.actions.trustDevice":"Confiar en este dispositivo","sessionAuth.actions.trustDeviceAria":"Confiar en este dispositivo","sessionAuth.actions.cancelPasskeySetup":"Cancelar configuración de clave de paso","sessionAuth.actions.addPasskey":"Añadir clave de paso","sessionAuth.password.placeholder":"Introduce contraseña","sessionAuth.toast.passkeyAdded":"Clave de paso añadido","sessionAuth.toast.passkeySetupCanceled":"Configuración de clave de paso cancelada","desktopHostSwitcher.title":"Instancia","desktopHostSwitcher.description":"Cambia entre Local y el servidor remoto de OpenChamber","desktopHostSwitcher.header.current":"Actual","desktopHostSwitcher.header.default":"Predeterminado","desktopHostSwitcher.header.currentColon":"Actual:","desktopHostSwitcher.header.currentDefaultColon":"Predeterminado actual:","desktopHostSwitcher.status.connected":"Conectado","desktopHostSwitcher.status.authRequired":"Autenticación requerida","desktopHostSwitcher.status.checking":"Comprobando","desktopHostSwitcher.status.updateRecommended":"Actualización recomendada","desktopHostSwitcher.status.incompatible":"Incompatible","desktopHostSwitcher.status.wrongService":"Servicio incorrecto","desktopHostSwitcher.status.unreachable":"Inalcanzable","desktopHostSwitcher.status.relayLimit":"Límite del Relay alcanzado","desktopHostSwitcher.status.unknown":"Desconocido","desktopHostSwitcher.status.ping":" · {ms}ms ping","desktopHostSwitcher.statusAria":"Estado de la instancia","desktopHostSwitcher.sshPhase.ready":"Listo","desktopHostSwitcher.sshPhase.error":"Error","desktopHostSwitcher.sshPhase.reconnecting":"Reconectando","desktopHostSwitcher.sshPhase.resolvingConfig":"Resolviendo configuración","desktopHostSwitcher.sshPhase.checkingAuth":"Verificando autenticación","desktopHostSwitcher.sshPhase.connectingSsh":"Conectando SSH","desktopHostSwitcher.sshPhase.probingRemote":"Explorando remoto","desktopHostSwitcher.sshPhase.installing":"Instalando","desktopHostSwitcher.sshPhase.updating":"Actualizando","desktopHostSwitcher.sshPhase.detectingServer":"Detectando servidor","desktopHostSwitcher.sshPhase.startingServer":"Iniciando servidor","desktopHostSwitcher.sshPhase.forwardingPorts":"Redirigiendo puertos","desktopHostSwitcher.sshPhase.idle":"Inactivo","desktopHostSwitcher.ssh.needInstancesHint":"¿Necesitas instancias SSH? Gestiónalas en Configuración.","desktopHostSwitcher.ssh.instanceFallback":"Instancia SSH","desktopHostSwitcher.ssh.connectingTo":"Conectando a {host}","desktopHostSwitcher.actions.refresh":"Actualizar","desktopHostSwitcher.actions.refreshInstancesAria":"Actualizar instancias","desktopHostSwitcher.actions.remoteSsh":"SSH remoto","desktopHostSwitcher.actions.instanceActionsAria":"Acciones de instancia","desktopHostSwitcher.actions.edit":"Editar","desktopHostSwitcher.actions.delete":"Eliminar","desktopHostSwitcher.actions.connect":"Conectar","desktopHostSwitcher.actions.defaultInstanceAria":"Instancia predeterminada","desktopHostSwitcher.actions.setAsDefaultAria":"Establecer como predeterminado","desktopHostSwitcher.actions.setAsDefault":"Establecer como predeterminado","desktopHostSwitcher.actions.openInNewWindowAria":"Abrir en nueva ventana","desktopHostSwitcher.actions.openInNewWindow":"Abrir en nueva ventana","desktopHostSwitcher.actions.addInstance":"Añadir instancia","desktopHostSwitcher.actions.cancel":"Cancelar","desktopHostSwitcher.actions.save":"Guardar","desktopHostSwitcher.actions.add":"Añadir","desktopHostSwitcher.actions.switchToLocal":"Cambiar a Local","desktopHostSwitcher.actions.retry":"Reintentar","desktopHostSwitcher.actions.switchInstanceAria":"Cambiar instancia","desktopHostSwitcher.actions.switchInstance":"Cambiar instancia","desktopHostSwitcher.actions.switchToAria":"Cambiar a {instance}","desktopHostSwitcher.field.labelPlaceholder":"Etiqueta","desktopHostSwitcher.field.labelOptionalPlaceholder":"Etiqueta (opcional)","desktopHostSwitcher.field.urlPlaceholder":"https://host:port","desktopHostSwitcher.state.limitedOnPage":"El selector de instancias está limitado en esta página. Usa Local para recuperar.","desktopHostSwitcher.state.loading":"Cargando...","desktopHostSwitcher.state.instanceUnreachable":"Instancia inalcanzable","desktopHostSwitcher.edit.title":"Editar instancia","desktopHostSwitcher.add.title":"Añadir instancia","desktopHostSwitcher.error.failedToSave":"No se pudo guardar","desktopHostSwitcher.error.failedToLoad":"No se pudo cargar","desktopHostSwitcher.error.invalidUrl":"URL inválida (debe ser http/https)","desktopHostSwitcher.error.pairingRejected":"El enlace de vinculación no es válido o ha caducado. Genera uno nuevo.","desktopHostSwitcher.error.pairingFailed":"Error de vinculación (HTTP {status}).","desktopHostSwitcher.error.pairingInvalidResponse":"El servidor devolvió una respuesta de vinculación no válida.","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',"desktopHostSwitcher.toast.relayLimit":'El Relay rechazó la conexión con "{host}": demasiados dispositivos o reconexiones. Cierra OpenChamber en otro dispositivo o espera un minuto y vuelve a intentarlo.',"relayConnection.limitReached.title":"El Relay rechazó la conexión","relayConnection.limitReached.description":"Demasiados dispositivos o reconexiones para esta instancia. Cierra OpenChamber en otro dispositivo o espera un minuto y vuelve a intentarlo.","relayConnection.limitReached.retry":"Reintentar","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.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","session.newWorktree.trust.run":"Ejecutar","session.newWorktree.trust.skip":"Omitir","session.newWorktree.trust.title":"¿Ejecutar la configuración sobre código de un fork?","gitView.publish.contributorCommitFirstAction":"Continuar","gitView.publish.contributorCommitFirstTitle":"¿Hacer commit y luego elegir adónde hacer push?","dialog.common.actions.cancel":"Cancelar","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 v2 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":"Instala la CLI de OpenCode v2 para continuar.","onboarding.localSetup.docs.windows":"Guía de instalación","onboarding.localSetup.docs.default":"Guía de instalación","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 v2","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.helper.pinnedByAdministrator":"Tu administrador fijó esta ruta. Si OpenCode no está ahí, pídele que lo instale.","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.remoteIncompatible.updateServer":"Actualizar servidor","onboarding.desktopRecovery.remoteIncompatible.updatingServer":"Actualizando el servidor...","onboarding.desktopRecovery.remoteIncompatible.updatingHint":"El servidor instala la actualización y se reinicia. La app se conecta en cuanto vuelva a estar disponible.","onboarding.desktopRecovery.remoteIncompatible.updateRefused":"El servidor no pudo actualizarse por sí mismo.","onboarding.desktopRecovery.remoteIncompatible.updateAuth":"El servidor no aceptó el inicio de sesión de esta app, así que no se puede actualizar desde aquí.","onboarding.desktopRecovery.remoteIncompatible.updateTimeout":"El servidor aún no ha vuelto con la nueva versión. Revísalo y vuelve a intentar la conexión.","onboarding.desktopRecovery.remoteIncompatible.manualUpdate":"Para actualizarlo a mano, ejecuta esto en el servidor y reinicia OpenChamber allí:","onboarding.desktopRecovery.common.useLocal":"Usar Local","onboarding.desktopRecovery.common.useRemote":"Usar remoto","onboarding.desktopRecovery.actions.retrying":"Reintentando…","onboarding.desktopRecovery.actions.retryConnection":"Reintentar conexión","projectConfigError.toast.title":"OpenCode no puede cargar la configuración de este proyecto","projectConfigError.toast.unknownFile":"Configuración del proyecto","projectConfigError.toast.hint":"Corrige el archivo y vuelve a intentarlo. Los demás proyectos siguen funcionando.","projectConfigError.toast.retry":"Reintentar","projectConfigError.toast.retrying":"Reintentando…","startup.initRecovery.title":"Error al iniciar","startup.serverOutdated.title":"Hay que actualizar el servidor","startup.serverOutdated.description":"El servidor ejecuta OpenChamber {version} y esta app necesita 2.0 o posterior. Actualiza OpenChamber en el servidor para continuar.","startup.serverOutdated.checking":"Comprobando el servidor...","startup.serverOutdated.noUpdate":"El servidor no ofreció una actualización que pueda instalar por sí mismo.","startup.initRecovery.openCodeUnavailable":"OpenChamber está accesible, pero OpenCode no está listo. Comprueba OpenCode en el servidor y vuelve a intentarlo.","startup.initRecovery.binary":"Ejecutable de OpenCode","startup.initRecovery.error":"Error de OpenCode","startup.initRecovery.serverUnreachable":"OpenChamber no pudo conectar con su servidor. Comprueba que el servidor esté en ejecución y vuelve a intentarlo.","startup.initRecovery.loadAgentsFailed":"El servidor está en ejecución, pero OpenCode no pudo cargar los agentes. Vuelve a intentarlo cuando se haya resuelto la causa.","startup.initRecovery.unexpected":"OpenChamber no pudo terminar de iniciarse. Vuelve a intentarlo cuando se haya resuelto la causa.","startup.initRecovery.lastError":"Último error","startup.initRecovery.retry":"Reintentar","startup.initRecovery.retrying":"Reintentando…","startup.overlay.slow":"El inicio está tardando más de lo esperado…","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.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.desktopHostInstall":"OpenChamber {version} está disponible. Actualízalo en el ordenador donde se ejecuta.","updateDialog.actions.copyCommand":"Copiar comando","updateDialog.actions.copied":"Copiado!","updateDialog.status.downloadingPayload":"Descargando el payload de actualización...","updateDialog.actions.downloadUpdate":"Descargar actualización","updateDialog.status.downloading":"Descargando...","updateDialog.actions.restartToUpdate":"Reiniciar para actualizar","updateDialog.status.restarting":"Reiniciando...","updateDialog.actions.updateNow":"Actualizar ahora","updateDialog.actions.openMobileUpdate":"Abrir actualización","updateDialog.status.updating":"Actualizando...","updateDialog.error.updateFailed":"No se pudo actualizar","updateDialog.error.takingLonger":"La actualización está tardando más de lo esperado. Espera un poco y refresca, o ejecuta: openchamber update","updateDialog.error.signatureRejected":"La actualización descargada fue rechazada: su firma de código no coincide con esta instalación. Normalmente significa que la copia en ejecución no se instaló desde una versión oficial firmada. Instala OpenChamber desde una versión oficial y vuelve a actualizar.","updateDialog.error.updaterDisabled":"El actualizador se detuvo tras una instalación fallida. Cierra OpenChamber, ábrelo de nuevo y reintenta la actualización.","updateDialog.error.restartFailed":"No se pudo reiniciar para instalar la actualización.","updateDialog.error.restartUnavailable":"Instalar la actualización requiere la aplicación de escritorio de OpenChamber.","mobileUpdate.toast.available.title":"Actualización de OpenChamber disponible","mobileUpdate.toast.available.description":"La versión {version} está lista para Android.","mobileUpdate.toast.actions.download":"Descargar","mobileUpdate.toast.actions.dismiss":"Descartar","opencodeUpdate.toast.available.title":"Actualización de OpenCode","opencodeUpdate.toast.available.description":"Versión {version} disponible.","opencodeUpdate.toast.available.manualDescription":"Versión {version} disponible. Actualiza OpenCode de la misma forma en que lo instalaste y luego reinicia OpenChamber.","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.tabs.requests":"Solicitudes","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.requests.inFlight":"En curso","memoryDebugPanel.requests.peak":"Pico","memoryDebugPanel.requests.duration":"Duración","memoryDebugPanel.requests.totalRequests":"Solicitudes totales","memoryDebugPanel.requests.tracking":"Seguimiento","memoryDebugPanel.requests.now":"ahora","memoryDebugPanel.requests.noSamples":"Aún no se han registrado solicitudes. Mantén este panel abierto para registrar la actividad de fetch.","memoryDebugPanel.requests.chartLabel":"Solicitudes fetch en curso a lo largo del tiempo, pico {peak}","memoryDebugPanel.requests.windowHint":"últimos {seconds}s","memoryDebugPanel.requests.percentileChartLabel":"Percentiles de antigüedad de solicitudes en curso (p50, p90, p99, máx) a lo largo del tiempo","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.enableWrapTitle":"Activar ajuste de celdas","markdownRenderer.table.actions.disableWrapTitle":"Desactivar ajuste de celdas","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:
19
19
 
20
20
  {log}`,"contextPanel.preview.noUrlDetectedWithLog":`El servidor de desarrollo no respondió. Última salida: