Files
paseo/packages/app/src/i18n/resources/es.ts
Mohamed Boudra 85acaceb16 Fork assistant turns into new drafts (#1788)
* feat(chat): fork assistant turns into new drafts

Builds chat-history attachments on the daemon and routes them into draft composers so users can continue an assistant turn in an existing workspace tab or New Workspace.

* fix(chat): clean up fork draft handling

* fix(chat): address fork draft review feedback

* fix(server): build fork context from bounded timeline

* fix(app): restore assistant turn footer in streams

* fix(app): preserve fork draft setup

* fix(app): tighten assistant fork footers

* fix(app): lock active fork draft handoff

* fix(app): preserve attachment-only draft retries

* fix(app): unify composer attachment scopes

* fix(app): align chat history attachment labels

* fix(app): centralize attachment pill content

* fix(app): trim fork context for workspace naming
2026-06-29 18:29:59 +02:00

1979 lines
75 KiB
TypeScript

import type { TranslationResources } from "./en";
export const es: TranslationResources = {
common: {
back: "Atrás",
loading: "Cargando...",
actions: {
back: "Atrás",
cancel: "Cancelar",
close: "Cerca",
copy: "Copiar",
dismiss: "Despedir",
retry: "Rever",
search: "Buscar",
select: "Seleccionar",
},
placeholders: {
search: "Buscar...",
},
empty: {
noResults: "No se encontraron resultados",
noOptionsMatchSearch: "Ninguna opción coincide con su búsqueda.",
},
states: {
loading: "Cargando...",
starting: "A partir de...",
copied: "Copiado",
copiedLabel: "Copiado{{label}}",
downloadComplete: "Descarga completa",
downloadFailed: "Descarga fallida",
},
errors: {
error: "Error",
unableToSave: "No se puede guardar",
nameRequired: "El nombre es obligatorio",
daemonUnavailable: "Daemonno disponible",
daemonClientUnavailable: "ClienteDaemonno disponible",
daemonClientDisconnected: "El clienteDaemonestá desconectado",
noFileFound: "No se encontró ningún archivo para{{token}}",
unexpectedDictationError: "Se produjo un error inesperado al manejar el dictado.",
},
connectionStatus: {
online: "En línea",
connecting: "Conectando",
offline: "Desconectado",
error: "Error",
idle: "Inactivo",
},
},
shell: {
menu: {
toggleSidebar: "Alternar barra lateral",
open: "abrir menú",
close: "Cerrar menú",
},
commandCenter: {
placeholder: "Escriba un comando o busque agentes...",
noMatches: "No hay coincidencias",
actions: "Comportamiento",
agents: "Agentes",
newAgent: "Nuevo agente",
openProject: "Abrir proyecto",
home: "Hogar",
},
},
composer: {
placeholders: {
desktop: "Envíe un mensaje al agente, etiquete@fileso use/commandsy/skills",
mobile: "Mensaje,@files,/commands",
fallback: "Mensaje...",
},
input: {
accessibilityLabel: "Agente de mensajes...",
focusHint: "{{shortcut}}para enfocar",
addAttachment: "Agregar archivo adjunto",
interruptAgent: "agente de interrupción",
queueMessage: "mensaje de cola",
sendAndInterrupt: "Enviar e interrumpir",
sendMessage: "enviar mensaje",
queue: "Cola",
send: "Enviar",
},
cancel: {
cancelingAgent: "Agente de cancelación",
stopAgent: "detener agente",
interrupt: "Interrumpir",
},
voice: {
enableVoiceMode: "Habilitar el modo de voz",
voiceMode: "Modo de voz",
unmuteVoiceMode: "Activar el modo de voz",
muteVoiceMode: "Modo de voz silenciosa",
stopDictation: "detener el dictado",
startDictation: "Iniciar dictado",
unmuteVoice: "Activar voz",
muteVoice: "voz muda",
dictation: "Dictado",
interruptBeforeVoice: "Interrumpir al agente antes de iniciar el modo de voz.",
},
attachments: {
addImage: "Agregar imagen",
addFile: "Upload file",
addIssueOrPr: "Agregar problema oPR",
dropImagesHere: "Suelta imágenes aquí",
dropFilesHere: "Drop files here",
editQueuedMessage: "Editar mensaje en cola",
sendQueuedMessageNow: "Enviar mensaje en cola ahora",
openImage: "Abrir imagen adjunta",
removeImage: "Quitar imagen adjunta",
removeFile: "Remove file attachment",
openGithub: "Abrir{{kind}}#{{number}}",
removeGithub: "Quitar{{kind}}#{{number}}",
element: "Elemento",
openBrowserElement: "Abrir archivo adjunto de elemento del navegador",
removeBrowserElement: "Eliminar el archivo adjunto del elemento del navegador",
openReview: "Abrir archivo adjunto de reseña",
removeReview: "Eliminar archivo adjunto de reseña",
},
errors: {
failedToSend: "No se pudo enviar el mensaje",
failedToCreateAgent: "No se pudo crear el agente",
noHostSelected: "Ningún anfitrión seleccionado",
initialPromptRequired: "Se requiere aviso inicial",
alreadyLoading: "Ya cargando",
uploadFailed: "Failed to upload file",
fileTooLarge: "{{fileName}} is too large (max {{size}})",
},
clientCommands: {
archiveAgent: "Archivar el agente actual",
freshDraft: "Archive este agente y comience un nuevo borrador",
},
github: {
searching: "Búsqueda...",
noResults: "No se encontraron resultados.",
searchPlaceholder: "Problemas de búsqueda y relaciones públicas...",
title: "Adjuntar problema oPR",
},
},
agentControls: {
provider: {
fallback: "Proveedor",
select: "Seleccionar proveedor de agente",
},
thinking: {
title: "Pensamiento",
unknown: "Desconocido",
extraHigh: "extra alto",
select: "Seleccione la opción de pensamiento",
selectWithValue: "Seleccione la opción de pensamiento ({{value}})",
},
model: {
unknown: "Modelo desconocido",
},
features: {
title: "Características",
open: "Funciones de agente abierto",
on: "En",
off: "Apagado",
},
mode: {
title: "Modo",
searchPlaceholder: "Modos de búsqueda...",
selectWithValue: "Seleccione el modo de agente ({{value}})",
},
hints: {
thinking: "Modo de pensamiento",
model: "Cambiar modelo",
mode: "Cambiar modo",
},
},
agentStream: {
empty: "Comience a chatear con este agente...",
scrollToBottom: "Desplazarse hacia abajo",
permission: {
plan: "Plan",
required: "Permiso requerido",
deny: "Denegar",
accept: "Aceptar",
implement: "Implementar",
question: "¿Cómo le gustaría proceder?",
proposedPlan: "Plan propuesto",
},
},
agentPanel: {
states: {
notFound: "Agentno encontrado",
failedToLoad: "No se pudo cargar el agente",
reconnecting: "Reconectando...",
archivingTitle: "Agente de archivo...",
archivingSubtitle: "Espere mientras archivamos este agente.",
},
unavailable: {
selectedHost: "Anfitrión seleccionado",
unknownHost:
"No se puede abrir este agente porque{{serverLabel}}no está configurado en este dispositivo.",
addHost:
"Agregue el host en Configuración o abra un agente en un servidor configurado para continuar.",
preparingSession: "Preparando sesión{{serverLabel}}...",
connecting: "Conectando a{{serverLabel}}...",
showSoon: "Le mostraremos a este agente en un momento.",
showWhenOnline: "Le mostraremos a este agente una vez que el anfitrión esté en línea.",
reconnectingTo: "Reconectándose a{{serverLabel}}...",
showAgainWhenReachable:
"Le mostraremos a este agente nuevamente tan pronto como podamos comunicarnos con el anfitrión.",
},
archived: {
callout: "Este agente está archivado.",
unarchive: "Desarchivar",
},
},
sessions: {
title: "Historial",
empty: "Aún no hay sesiones",
actions: {
loadMore: "Cargar más",
},
},
agentList: {
fallbackTitle: "Nueva sesión",
dateSections: {
recent: "Reciente",
today: "Hoy",
yesterday: "Ayer",
thisWeek: "Esta semana",
thisMonth: "este mes",
older: "Más viejo",
},
status: {
initializing: "A partir de",
idle: "Inactivo",
running: "Correr",
error: "Error",
closed: "Cerrado",
},
badges: {
archived: "Archivado",
pending: "{{count}}pendiente",
attention: "Atención",
},
archiveSheet: {
hostOffline: "Hostfuera de línea",
runningAgent: "Este agente todavía está ejecutándose. Archivarlo detendrá al agente.",
archive: "Archivo",
},
},
message: {
actions: {
copyCode: "Copiar código",
copyTurn: "Copiar turno",
copyMessage: "Copiar mensaje",
forkMenu: "Bifurcar mensaje",
forkInNewTab: "Bifurcar en una pestaña nueva",
forkInNewWorkspace: "Bifurcar en un espacio de trabajo nuevo",
forkUnavailable: "Actualiza el host para usar esto.",
forkMissingWorkspace: "Este agente no está en un espacio de trabajo.",
forkFailed: "No se pudo bifurcar el chat",
openFile: "Abrir archivo",
copied: "Copiado",
},
attachments: {
dismissImage: "Descartar imagen",
closeImage: "Cerrar imagen",
imageLoadFailed: "No se pudo cargar la imagen",
imageUnavailable: "Imagen no disponible",
imagePreviewUnavailable: "Vista previa de la imagen no disponible.",
imagePreviewLoadFailed: "No se puede cargar la vista previa de la imagen.",
review: "Revisión",
commentsOne: "1 comentario",
commentsMany: "{{count}} comentarios",
textAttachment: "Adjunto de texto",
text: "Texto",
file: "Archivo",
},
speak: {
header: "Habló",
},
activity: {
details: "Detalles",
},
dictation: {
start: "Iniciar dictado de voz",
cancel: "Cancelar dictado",
retry: "Reintentar el dictado",
insert: "Insertar transcripción",
insertAndSend: "Insertar transcripción y enviar",
failed: "Fallo en el dictado:{{error}}",
failedRetry: "El dictado falló. Toca reintentar.",
},
question: {
submit: "Entregar",
next: "Siguiente",
answerPlaceholder: "Escribe tu respuesta...",
otherPlaceholder: "Otro...",
},
todo: {
title: "Tareas",
empty: "Aún no hay tareas.",
},
compaction: {
loading: "Compactando...",
auto: "Contexto compactado automáticamente",
manual: "Contexto compactado manualmente",
withTokens: "Contexto compactado (tokens{{tokens}}K)",
completed: "Contexto compactado",
},
},
importSession: {
title: "Importar sesión",
filters: {
all: "Todo",
},
status: {
connectHost: "Conéctese a un host para importar sesiones",
updateHost: "Actualice el host para importar sesiones.",
noProviders: "No hay proveedores importables habilitados.",
loading: "Cargando sesiones recientes...",
failedAll: "No se pudieron cargar las sesiones recientes.",
failedProviders: "No se pudieron cargar sesiones para{{providers}}.",
failedImport: "No se pudo importar la sesión seleccionada.",
},
actions: {
refresh: "Actualizar sesiones",
},
preview: {
untitledSession: "Sesión sin título",
noPrompt: "Sin vista previa inmediata",
},
empty: {
noRecent: "No hay sesiones recientes para importar.",
alreadyImported: "Todas las sesiones recientes ya están importadas.",
noProviderSessions: "No se encontraron sesiones{{provider}}.",
},
row: {
importing: "Importador...",
},
},
workspace: {
route: {
loading: "Cargando espacio de trabajo",
restoring: "Restaurando espacio de trabajo",
restoreFailed:
"No se pudo restaurar este espacio de trabajo — es posible que el directorio se haya movido o eliminado",
connecting: "Conectando",
hostOffline: "{{hostName}}está desconectado",
cannotReachHost: "No se puede alcanzar{{hostName}}",
hostStatus: "Estado deHost:{{status}}",
missing: "Workspaceno encontrado",
needsHostUpgrade: "Actualiza tu host para restaurar este espacio de trabajo",
manageHost: "Administrar host",
},
hoverCard: {
scriptsAccessibility: "GuionesWorkspace",
copyPath: "Copiar ruta",
copyBranchName: "Copiar nombre de rama",
copied: "Copiado",
},
fileExplorer: {
sort: {
name: "Nombre",
modified: "Modificado",
size: "Tamaño",
},
context: {
size: "Tamaño",
modified: "Modificado",
copyPath: "Copiar ruta",
download: "Descargar",
},
actions: {
back: "Atrás",
retry: "Rever",
refresh: "Actualizar archivos",
refreshing: "Actualizar archivos",
hideHiddenFiles: "Ocultar archivos ocultos",
showHiddenFiles: "Mostrar archivos ocultos",
},
empty: {
noFiles: "Sin archivos",
noVisibleFiles: "No hay archivos visibles",
},
states: {
unavailable: "Workspaceno está disponible",
loading: "Cargando archivos...",
},
errors: {
failedToListDirectory: "No se pudo listar el directorio",
},
},
setup: {
descriptor: {
label: "Configuración",
completed: "Configuración completada",
failed: "Error de configuración",
workspace: "Configuración deWorkspace",
},
status: {
running: "Correr",
completed: "Terminado",
failed: "Fallido",
waiting: "Esperando el resultado de la configuración",
},
waiting: "Configurando el espacio de trabajo...",
empty: {
noCommands: "No se ejecutó ningún comando de configuración para este espacio de trabajo.",
},
accessibility: {
noCommands: "No se ejecutó ningún comando de configuración para este espacio de trabajo",
log: "Registro de configuración deWorkspace",
},
log: {
noOutput: "Sin salida",
},
},
browser: {
unavailable: {
title: "El navegador es solo para escritorio",
subtitle: "Abra este espacio de trabajo en Electron para usar el navegador integrado.",
},
session: "Sesión de navegador{{browserId}}",
controls: {
back: "Atrás",
forward: "Adelante",
stopLoading: "dejar de cargar",
refresh: "Refrescar",
browserUrl: "NavegadorURL",
enterUrl: "IngreseURL",
openDevTools: "Abrir herramientas de desarrollo del navegador",
cancelSelector: "Cancelar selector de elementos",
selectElement: "Seleccionar elemento",
},
errors: {
failedToLoad: "No se pudo cargar la página",
invalidUrl: "Navegador no válidoURL",
unsupportedProtocol: "Navegador bloqueado no compatibleURL:{{protocol}}",
},
},
terminal: {
hostDisconnected: "Hostno está conectado",
unableToSubscribe: "No se puede suscribir al terminal",
},
tabs: {
loading: "Cargando...",
loadingAgentTitle: "Título del agente de carga",
emptyPane: "No hay pestañas en este panel.",
fallback: {
newAgent: "Nuevo agente",
setup: "Configuración",
workspaceSetup: "Configuración deWorkspace",
terminal: "Terminal",
browser: "Navegador",
agent: "Agent",
workspace: "Workspace",
},
switcher: {
trigger: "Cambiar pestañas ({{count}}abierto)",
title: "Cambiar pestaña",
searchPlaceholder: "Pestañas de búsqueda",
},
menu: {
openFor: "Menú abierto para{{label}}",
copyResumeCommand: "Copiar comando de reanudación",
copyAgentId: "Copiar ID del agente",
copyFilePath: "Copy file path",
rename: "Rebautizar",
closeAbove: "Cerrar pestañas arriba",
closeBelow: "Cerrar pestañas a continuación",
closeLeft: "Cerca de la izquierda",
closeRight: "Cerca de la derecha",
closeOthers: "Cerrar otras pestañas",
reloadAgent: "Recargar agente",
reloadAgentTooltip:
"Vuelva a cargar el agente para actualizar habilidades, MCP o estado de inicio de sesión.",
close: "Cerca",
renameTerminal: "Cambiar nombre de terminal",
renameAgent: "Cambiar nombre del agente",
},
actions: {
newAgent: "Nuevo agente",
newTerminal: "Nueva terminal",
preparingTerminal: "Preparando la pestaña del terminal",
preparingTerminalTooltip: "Preparando terminal...",
newBrowser: "Nuevo navegador",
splitRight: "Panel dividido a la derecha",
splitDown: "Dividir panel hacia abajo",
terminalProfilesMenu: "Terminal profiles",
editTerminalProfiles: "Edit profiles…",
pinTarget: "Fijar",
unpinTarget: "Desfijar",
},
explorer: {
open: "Explorador abierto",
close: "Cerrar explorador",
toggle: "Alternar explorador",
changes: "Cambios",
files: "Archivos",
},
toasts: {
copyFailed: "Copia fallida",
agentIdCopiedLabel: "AgentID",
resumeCommandCopiedLabel: "reanudar el comando",
filePathCopiedLabel: "File path",
resumeIdUnavailable: "ReanudarIDno disponible",
resumeCommandUnavailable: "Comando de reanudación no disponible",
reloadingAgent: "Agente de recarga...",
reloadedAgent: "Agente recargado",
failedToReloadAgent: "No se pudo recargar el agente",
},
confirmations: {
close: "Cerca",
cancel: "Cancelar",
archive: "Archivo",
closeTerminalTitle: "¿Cerrar terminal?",
closeTerminalMessage:
"Cualquier proceso en ejecución en esta terminal se detendrá inmediatamente.",
archiveRunningAgentTitle: "¿Agente de ejecución de archivos?",
archiveRunningAgentMessage:
"Este agente todavía está ejecutándose. Archivarlo detendrá al agente y cerrará la pestaña.",
closeTabsLeftTitle: "¿Cerrar pestañas a la izquierda?",
closeTabsRightTitle: "¿Cerrar pestañas a la derecha?",
closeOtherTabsTitle: "¿Cerrar otras pestañas?",
bulk: {
all: "Esto archivará los agentes{{agents}}, cerrará los terminales{{terminals}}y cerrará las pestañas{{tabs}}. Cualquier proceso en ejecución en una terminal cerrada se detendrá inmediatamente.",
agentsAndTerminals:
"Esto archivará los agentes{{agents}}y cerrará los terminales{{terminals}}. Cualquier proceso en ejecución en una terminal cerrada se detendrá inmediatamente.",
terminalsAndTabs:
"Esto cerrará los terminales{{terminals}}y cerrará las pestañas{{tabs}}. Cualquier proceso en ejecución en una terminal cerrada se detendrá inmediatamente.",
agentsAndTabs: "Esto archivará los agentes{{agents}}y cerrará las pestañas{{tabs}}.",
terminals:
"Esto cerrará los terminales{{terminals}}. Cualquier proceso en ejecución en una terminal cerrada se detendrá inmediatamente.",
tabs: "Esto cerrará las pestañas{{tabs}}.",
agents: "Esto archivará los agentes{{agents}}.",
},
},
},
header: {
actions: {
workspaceActions: "AccionesWorkspace",
newAgent: "Nuevo agente",
newTerminal: "Nueva terminal",
newBrowser: "Nueva pestaña del navegador",
importSession: "Importar sesión",
copyPath: "Copiar ruta del espacio de trabajo",
copyBranchName: "Copiar nombre de sucursal",
showSetup: "Mostrar configuración",
},
toasts: {
workspacePathUnavailable: "La rutaWorkspaceaún no está disponible",
branchNameUnavailable: "Nombre de la sucursal no disponible",
terminalQueued:
"Preparando el espacio de trabajo, abriendo la terminal cuando esté listo...",
workspacePathCopiedLabel: "RutaWorkspace",
branchNameCopiedLabel: "Nombre de la sucursal",
},
},
scripts: {
title: "Scripts",
actions: {
run: "Correr",
view: "Vista",
},
accessibility: {
trigger: "GuionesWorkspace",
openAt: "Abrir{{scriptName}}en{{label}}",
viewTerminal: "Ver terminal{{scriptName}}",
runScript: "Ejecute el script{{scriptName}}",
script: "Guión{{scriptName}}",
},
states: {
exitCode: "salir de{{code}}",
startFailed: "No se pudo iniciar{{scriptName}}",
},
},
git: {
actions: {
moreOptions: "Más opciones",
moreActions: "Más acciones",
commit: {
label: "Comprometerse",
pending: "Comprometiéndose...",
success: "Comprometido",
},
pull: {
label: "Jalar",
pending: "Tracción...",
success: "tirado",
},
push: {
label: "Empujar",
pending: "Emprendedor...",
success: "Empujado",
},
pullAndPush: {
label: "Tirar y empujar",
pending: "Tirando y empujando...",
success: "Tirado y empujado",
},
viewPr: "VerPR",
createPr: {
label: "CrearPR",
pending: "CreandoPR...",
success: "PRcreado",
},
mergeBranch: {
label: "Fusionar localmente",
pending: "Fusionando...",
success: "Fusionado",
},
mergeFromBase: {
label: "Actualización desde{{baseRef}}",
pending: "Actualizando...",
success: "Actualizado",
},
archive: {
label: "Árbol de trabajo de archivo",
pending: "Archivando...",
success: "Archivado",
},
mergePr: {
squash: "Fusionar PR (squash)",
merge: "Fusionar PR (merge)",
rebase: "Fusionar PR (rebase)",
pending: "Fusionando PR...",
success: "PR fusionado",
},
autoMerge: {
enableSquash: "Fusión automática (squash)",
enableMerge: "Fusión automática (merge)",
enableRebase: "Fusión automática (rebase)",
enabled: "Combinación automática habilitada",
enabling: "Habilitando la fusión automática...",
disabling: "Desactivando la fusión automática...",
disabled: "Fusión automática deshabilitada",
},
unavailable: {
viewPrNoGithub: "VerPRno está disponible en este momento porqueGitHubno está conectado",
pullNoRemote:
"Pull no está disponible aquí porque esta rama aún no está conectada a un control remoto",
pullDirty:
"La extracción no está disponible mientras tenga cambios locales, así que confírmelos o guárdelos primero",
pullUpToDate: "La extracción no está disponible porque esta rama ya está actualizada",
pushNoRemote:
"Push no está disponible aquí porque esta rama aún no está conectada a un control remoto",
pushBehind:
"Push aún no está disponible porque hay cambios más nuevos que implementar primero",
pushNothing: "Push no está disponible porque no hay nada nuevo que enviar",
pullAndPushNoRemote:
"Tirar y empujar no está disponible aquí porque esta rama aún no está conectada a un control remoto",
pullAndPushDirty:
"Tirar y empujar no está disponible mientras tenga cambios locales, así que confírmelos o guárdelos primero",
pullAndPushInSync:
"Pull and push no está disponible porque esta rama ya está sincronizada",
createPrNoGithub:
"CrearPRno está disponible en este momento porqueGitHubno está conectado",
createPrNoCommits:
"CrearPRno está disponible porque esta rama aún no tiene nuevas confirmaciones",
mergeNoBase:
"La combinación no está disponible porque no pudimos determinar la rama base",
mergeDirty:
"La combinación no está disponible mientras tenga cambios locales, así que confírmelos o guárdelos primero",
mergeNothing:
"La combinación no está disponible porque esta rama aún no tiene nada nuevo que fusionar",
updateNoBase:
"La actualización no está disponible porque no pudimos determinar la rama base",
updateDirty:
"La actualización no está disponible mientras tenga cambios locales, así que confírmelos o guárdelos primero",
updateCurrent:
"La actualización no está disponible porque esta rama ya está actualizada con{{baseRef}}",
archiveNotWorktree:
"El archivo no está disponible aquí porque este espacio de trabajo no se creó como un árbol de trabajoPaseo",
mergePrNoGithub:
"FusionarPRno está disponible en este momento porqueGitHubno está conectado",
mergePrMissing:
"FusionarPRno está disponible porque aún no hay una solicitud de extracción",
mergePrDraft:
"FusionarPRno está disponible porque la solicitud de extracción aún es un borrador",
mergePrMerged:
"FusionarPRno está disponible porque la solicitud de extracción ya está fusionada",
mergePrClosed:
"FusionarPRno está disponible porque la solicitud de extracción está cerrada",
mergePrConflicts:
"FusionarPRno está disponible porque la solicitud de extracción tiene conflictos",
mergePrQueue:
"FusionarPRno está disponible aquí porque este repositorio utiliza una cola de fusión",
mergePrNotReady:
"FusionarPRno está disponible hasta queGitHubinforme que la solicitud de extracción está lista para fusionarse",
autoMergeCannotDisable:
"La combinación automática está habilitada, pero esta cuenta no puede deshabilitarla",
},
toasts: {
failedCommit: "No se pudo comprometer",
failedPull: "No se pudo tirar",
failedPush: "No se pudo empujar",
failedPullAndPush: "No se pudo tirar y empujar",
failedCreatePr: "No se pudo crearPR",
failedMergePr: "No se pudo fusionarPR",
failedEnableAutoMerge: "No se pudo habilitar la combinación automática",
failedDisableAutoMerge: "No se pudo deshabilitar la combinación automática",
baseRefUnavailable: "Referencia base no disponible",
failedMerge: "No se pudo fusionar",
failedMergeFromBase: "No se pudo fusionar desde la base",
worktreePathUnavailable: "Ruta del árbol de trabajo no disponible",
failedArchive: "No se pudo archivar el árbol de trabajo",
},
archiveWarning: {
title: '¿Archivo "{{worktreeName}}"?',
confirm: "Archivo",
cancel: "Cancelar",
uncommittedChanges: "Cambios no confirmados",
uncommittedChangesWithDiff: "Cambios no confirmados ({{diffStat}})",
addedLine: "Línea añadida{{count}}",
addedLines: "{{count}}agregó líneas",
deletedLine: "Línea eliminada de{{count}}",
deletedLines: "{{count}}líneas eliminadas",
unpushedCommit: "Confirmación no enviada de{{count}}",
unpushedCommits: "Confirmaciones no enviadas de{{count}}",
},
},
diff: {
binaryFile: "archivo binario",
tooLarge: "La diferencia es demasiado grande para mostrarse",
unified: "Diferencia unificada",
split: "Diferencia de lado a lado",
hideWhitespace: "Ocultar espacios en blanco",
scrollLongLines: "Desplazarse por largas filas",
wrapLongLines: "Envolver largas filas",
collapseAll: "Contraer todos los archivos",
expandAll: "Expandir todos los archivos",
refreshing: "Refrescante",
refresh: "Refrescar",
refreshState: "Actualizar el estado de git yGitHub",
failedRefresh: "No se pudo actualizar el estado de git.",
emptyHiddenWhitespace: "No hay cambios visibles después de ocultar espacios en blanco",
emptyUncommitted: "Sin cambios no confirmados",
emptyAgainstBase: "Sin cambios frente a{{baseRef}}",
checkingRepository: "Comprobando repositorio...",
notRepository: "No es un repositorio de git",
diffMode: "modo diferencial",
uncommitted: "No comprometido",
committed: "Comprometido",
branchUnknown: "Desconocido",
base: "base",
newFile: "Nuevo",
deletedFile: "Eliminado",
},
openInEditor: {
open: "Abierto",
chooseEditor: "Elige editor",
openIn: "Abrir espacio de trabajo en{{target}}",
openFileIn: "Open {{fileName}} in {{target}}",
failedOpen: "No se pudo abrir el espacio de trabajo",
},
pr: {
actions: {
viewPullRequest: "Ver",
},
sections: {
checks: "cheques",
reviews: "Reseñas",
},
accessibility: {
pullRequest: "Solicitud de extracción n.°{{number}}",
},
states: {
draft: "Borrador",
merged: "Fusionado",
closed: "Cerrado",
open: "Abierto",
},
activity: {
commented: "Comentado",
approved: "Aprobado",
requestedChanges: "Cambios solicitados",
reviewed: "Revisado",
},
time: {
justNow: "En este momento",
},
errors: {
statusLoadFailed: "No se puede cargar el estado de la solicitud de extracción",
activityLoadFailed: "No se puede cargar la actividad de solicitud de extracción",
},
},
},
},
sidebar: {
host: {
noHost: "Sin anfitrión",
switchTitle: "Cambiar de anfitrión",
searchPlaceholder: "Buscar hosts...",
},
actions: {
addProject: "Agregar proyecto",
newWorkspace: "Nuevo espacio de trabajo",
home: "Hogar",
settings: "Ajustes",
closeSidebar: "Cerrar barra lateral",
},
sections: {
sessions: "Historial",
},
worktreeSetup: {
title: "Configurar secuencias de comandos del árbol de trabajo",
description:
"Agregue comandos de configuración para que los nuevos árboles de trabajo puedan instalar dependencias y prepararse automáticamente.",
openProjectSettings: "Abrir la configuración del proyecto",
},
project: {
actions: {
menu: "Acciones del proyecto",
openSettings: "Abrir la configuración del proyecto",
openNewWindow: "Open in new window",
openNewWindowFailed: "Couldn't open a new window",
remove: "Eliminar proyecto",
removing: "Eliminando...",
},
confirmations: {
removeTitle: "¿Quitar proyecto?",
removeMessage:
'¿Quitar "{{projectName}}" de la barra lateral?\n\nLos archivos en el disco no se cambiarán.',
removeConfirm: "Eliminar",
cancel: "Cancelar",
},
toasts: {
hostDisconnected: "Hostno está conectado",
removeFailed: "No se pudieron eliminar algunos espacios de trabajo",
updateHostToRemove: "Actualiza el host para eliminar proyectos.",
},
empty: {
title: "Aún no hay proyectos",
description: "Añade un proyecto para empezar",
},
},
workspace: {
status: {
scriptsAvailable: "Guiones disponibles",
creating: "Creando...",
},
actions: {
menu: "AccionesWorkspace",
newWorkspace: "Nuevo espacio de trabajo",
createWorkspaceFor: "Crea un nuevo espacio de trabajo para{{projectName}}",
copyPath: "Copiar ruta",
copyBranchName: "Copiar nombre de sucursal",
rename: "Cambiar nombre del espacio de trabajo",
archive: "Archivo",
archiveWorktree: "Árbol de trabajo de archivo",
hideFromSidebar: "Ocultar de la barra lateral",
archiving: "Archivando...",
hiding: "Ocultación...",
},
confirmations: {
hideTitle: "¿Ocultar espacio de trabajo?",
hideMessage:
'¿Ocultar "{{workspaceName}}" de la barra lateral?\n\nLos archivos en el disco no se cambiarán.',
hideConfirm: "Esconder",
cancel: "Cancelar",
},
rename: {
title: "Cambiar nombre del espacio de trabajo",
submit: "Rebautizar",
invalidBranchName: "Nombre de sucursal no válido",
},
toasts: {
workspacePathUnavailable: "RutaWorkspaceno disponible",
pathCopied: "Ruta copiada",
branchNameCopied: "Nombre de la sucursal copiado",
hostDisconnected: "Hostno está conectado",
hideFailed: "No se pudo ocultar el espacio de trabajo",
archiveFailed: "No se pudo archivar el árbol de trabajo",
},
},
},
newWorkspace: {
title: "Nuevo espacio de trabajo",
create: "Crear",
isolation: {
local: "Local",
worktree: "Nuevo worktree",
label: "Aislamiento",
},
fields: {
project: "Proyecto",
base: "Base",
baseNotApplicable: "No aplicable",
},
titlePlaceholder: "Título (opcional)",
errors: {
hostDisconnected: "Hostno está conectado",
createWorktreeFailed: "No se pudo crear el árbol de trabajo",
composerStateRequired: "Se requiere el estado del compositor",
selectModel: "Selecciona un modelo",
},
refPicker: {
startingRef: "Árbitro inicial",
chooseStart: "Elige por dónde empezar",
checkoutHint: "¿MiraPR#{{number}}?",
checkoutPr: "Echa un vistazo aPR#{{number}}",
dismissCheckoutHint: "Descartar la sugerencia de pago dePR#{{number}}",
intoBase: "en{{baseRef}}",
searching: "Búsqueda...",
noMatchingRefs: "No hay árbitros coincidentes.",
searchPlaceholder: "Buscar sucursales y relaciones públicas",
title: "Empezar desde",
},
},
desktop: {
quitting: {
title: "Saliendo dePaseo...",
detail: "Deteniendo el demonio local.",
},
daemon: {
title: "Daemon",
status: {
title: "Estado",
builtInOnly: "Aquí solo se muestra el demonio de escritorio integrado.",
running: "correr",
notRunning: "no corriendo",
pid: "PID{{pid}}",
},
management: {
title: "Administrar demonio incorporado",
hint: "Deje quePaseoinicie y detenga el demonio incorporado",
pauseTitle: "Pausar el demonio incorporado",
pauseMessage:
"Esto detendrá el demonio incorporado inmediatamente. Se detendrán los agentes en ejecución y los terminales conectados al demonio integrado.",
pauseAndStop: "Pausa y para",
registrationFailed:
"Built-in daemon started, but Paseo could not save the localhost connection. Toggle daemon management off and on again, or add localhost manually.",
pausedStopFailed:
"La gestión del demonio integrado se pausó, peroPaseono pudo detener el demonio.",
updateFailed: "No se puede actualizar la gestión de demonios integrada.",
},
keepRunning: {
title: "Mantener el demonio en ejecución después de salir",
hint: "Daemonsigue ejecutándose cuando sales dePaseo",
},
logs: {
title: "Archivo de registro",
modalTitle: "RegistrosDaemon",
unavailable: "Ruta de registro no disponible",
empty: "(el archivo de registro está vacío)",
copied: "Ruta de registro copiada.",
copyFailed: "No se puede copiar la ruta del registro.",
open: "Abrir registros",
copyPath: "Copiar ruta",
},
fullStatus: {
title: "Estado completo",
modalTitle: "EstadoDaemon",
hint: "Ejecuta`paseo daemon status`y muestra la salida.",
view: "Ver estado",
copied: "Estado copiado al portapapeles.",
fetchFailed: "No se pudo recuperar el estado del demonio:{{message}}",
},
advancedSettings: "Configuraciones avanzadas",
openAdvancedSettings: "Abrir configuración avanzada del demonio",
versionMismatch:
"Las versiones de la aplicación y del demonio no coinciden. Actualice ambos a la misma versión para obtener la mejor experiencia.",
loadFailed: "No se puede cargar el estado del demonio del escritorio.",
},
updates: {
status: {
checking: "Buscando actualizaciones de la aplicación...",
installing: "Instalando actualización de la aplicación...",
upToDate: "La aplicación está actualizada.",
upToDateWithLastChecked: "Up to date. Last checked at {{time}}.",
pending: "Le avisaremos cuando la actualización esté lista.",
availableWithVersion: "Actualización lista:{{version}}",
available: "Una actualización de la aplicación está lista para instalarse.",
installed: "Actualización de la aplicación instalada. Se requiere reinicio.",
failed: "No se pudo actualizar la aplicación.",
idle: "El estado de la actualización aún no se ha comprobado.",
},
installError: "No se puede instalar la actualización de la aplicación de escritorio.",
callout: {
installingTitle: "Instalando actualización",
failedTitle: "La actualización falló",
availableTitle: "Actualización disponible",
genericError: "Algo salió mal.",
whatsNew: "Qué hay de nuevo",
installingAction: "Instalando...",
installAndRestart: "Instalar y reiniciar",
installingDescription: "Instalando y reiniciando...",
versionReady: "{{version}}está listo para instalar.",
newVersionReady: "Una nueva versión está lista para instalar.",
restartWarning:
"La actualización de la aplicación dejará de ejecutar agentes y cerrará sesiones de terminal.",
},
},
settings: {
loadFailed: "No se puede cargar la configuración del escritorio.",
saveFailed: "No se puede guardar la configuración del escritorio.",
},
rosetta: {
title: "Descargue la compilaciónApple Silicon",
runningIntel: "Estás ejecutando la compilaciónInteldePaseoenRosettaenApple Silicon.",
highCpu:
"Esto provoca un uso elevado de la CPU. Descargue la compilaciónApple Siliconpara solucionarlo.",
download: "Descargar",
},
permissions: {
notifications: {
allowed: "El sistema operativo permite las notificaciones.",
denied: "Las notificaciones se niegan en la configuración del sistema.",
notGranted: "Las notificaciones aún no han sido concedidas.",
webOnly:
"El estado de notificación de escritorio solo está disponible en tiempo de ejecución web.",
supported: "Se admiten notificaciones de escritorio.",
unsupported: "Las notificaciones de escritorio no son compatibles con esta plataforma.",
apiUnavailable: "La API de notificación web no está disponible en este entorno.",
requestsWebOnly:
"Las solicitudes de notificación de escritorio solo están disponibles en tiempo de ejecución web.",
requestUnavailable: "RequestPermission() de la API de notificación web no está disponible.",
requestFailed: "No se pudo solicitar permiso de notificación:{{message}}",
unexpectedState: "Estado de permiso de notificación inesperado:{{state}}",
},
microphone: {
webOnly:
"El estado del micrófono de escritorio solo está disponible en tiempo de ejecución web.",
navigatorUnavailable: "Navigator no está disponible en este entorno.",
granted: "Se concede acceso al micrófono.",
denied: "El acceso al micrófono está denegado en la configuración del sistema.",
notGranted: "Aún no se ha concedido el permiso para el micrófono.",
unexpectedState: "Estado de permiso de micrófono inesperado:{{state}}",
statusApiUnavailable:
"La API de estado del micrófono no está disponible en este tiempo de ejecución. Utilice Solicitud para comprobar el acceso.",
queryFailed: "No se pudo consultar el estado del micrófono:{{message}}",
captureUnavailable: "La captura de micrófono no está disponible en este entorno.",
permissionApiUnavailable:
"La API de estado de permiso no está disponible. Utilice Solicitud para comprobar el acceso.",
requestsWebOnly:
"Las solicitudes de micrófono de escritorio solo están disponibles en tiempo de ejecución web.",
captureApiUnavailable: "La API de captura de micrófono no está disponible en este entorno.",
requestDenied: "El usuario o el sistema denegaron el permiso del micrófono.",
noDevice: "No se encontró ningún dispositivo de micrófono.",
requestFailed: "No se pudo solicitar el permiso del micrófono:{{message}}",
},
empty: {
notifications: "El estado de la notificación aún no se ha verificado.",
microphone: "El estado del micrófono aún no se ha comprobado.",
},
testNotification: {
title: "Prueba de notificaciónPaseo",
body: "Si puede ver esto, las notificaciones de escritorio funcionan.",
notDelivered:
"La notificación no fue entregada. Verifique Configuración del sistema> Notificaciones.",
failed: "No se pudo enviar la notificación.",
},
},
integrations: {
cli: {
statusFailed: "No se puede verificar el estado de instalación deCLI.",
installFailed: "No se puede instalar elPaseoCLI.",
},
skills: {
statusFailed: "No se puede comprobar el estado de las habilidades de orquestación.",
installFailed: "No se pueden instalar habilidades de orquestación.",
updateFailed: "No se pueden actualizar las habilidades de orquestación.",
uninstallFailed: "No se pueden desinstalar las habilidades de orquestación.",
},
},
},
startup: {
errorTitle: "algo salió mal",
errorDescription:
"El servidor local no pudo iniciarse. Si esto continúa sucediendo, informe el problema enGitHube incluya los registros a continuación.",
logs: {
loading: "Cargando registros de demonio...",
unavailable: "No hay registros de demonios disponibles.",
loadFailed: "No se pueden cargar registros de demonio:{{message}}",
},
},
openProject: {
tiles: {
addProject: {
title: "Agregar un proyecto",
description: "Abra una carpeta en su máquina",
},
importSession: {
title: "Importar sesión",
description: "Incorporar sesionesCLIexternas recientes",
},
setupProviders: {
title: "Proveedores de configuración",
description: "ConfigurarClaude Code,Codexy más",
},
pairDevice: {
title: "Emparejar dispositivo",
description: "Conecta tu teléfono a este demonio",
},
},
},
projectPicker: {
placeholder: "Escriba una ruta de directorio...",
opening: "Proyecto de apertura...",
searching: "Buscando...",
empty: "Comience a escribir una ruta",
errors: {
directory_not_found: "No se encontró el directorio.",
open_failed: "No se pudo abrir el proyecto.",
},
openPath: "Abrir ruta",
},
branchSwitcher: {
currentBranch: "Sucursal actual:{{branchName}}. Presione para cambiar de rama.",
placeholder: "Cambiar de rama...",
searchPlaceholder: "Filtrar ramas...",
empty: "No se encontraron sucursales.",
title: "Cambiar rama",
uncommittedTitle: "Cambios no confirmados",
uncommittedMessage: "Tienes cambios no confirmados. ¿Guardarlos antes de cambiar de sucursal?",
stashAndSwitch: "Guardar y cambiar",
failedToStash: "No se pudieron ocultar los cambios",
failedToSwitch: "No se pudo cambiar de sucursal",
restoreStashTitle: "¿Restaurar cambios ocultos?",
restoreStashMessage:
"Esta rama ha ocultado cambios de una sesión anterior. ¿Quieres restaurarlos?",
restore: "Restaurar",
later: "Más tarde",
stashRestored: "Se restauraron los cambios ocultos",
},
agentAutocomplete: {
searchingWorkspace: "Buscando espacio de trabajo...",
loadingCommands: "Cargando comandos...",
noFiles: "No se encontraron archivos ni directorios",
noCommands: "No se encontraron comandos",
failedToLoad: "No se pudo cargar",
},
loadOlderHistory: {
failed: "No se pudo cargar el historial anterior",
},
imageAttachmentPicker: {
permissionTitle: "Permiso requerido",
permissionMessage: "Permita el acceso a su biblioteca de fotos para adjuntar imágenes.",
errorTitle: "Error",
failedToSelect: "No se pudo seleccionar la imagen",
dialogTitle: "Adjuntar imágenes",
dialogFilterName: "Imágenes",
},
workspaceSetup: {
title: "Crear espacio de trabajo",
errors: {
failedCreateWorktree: "No se pudo crear el árbol de trabajo",
failedOpenProject: "No se pudo abrir el proyecto",
selectModel: "Selecciona un modelo",
hostDisconnected: "Hostno está conectado",
pendingRequired: "No hay ninguna configuración de espacio de trabajo pendiente",
composerStateRequired: "Se requiere el estado del compositor de configuraciónWorkspace",
},
},
onboarding: {
title: "Bienvenido aPaseo",
subtitle: "Conecte su computadora para comenzar",
actions: {
settings: "Ajustes",
},
},
modelSelector: {
title: "Seleccionar proveedor",
selectModel: "Seleccionar modelo",
selectedModel: "Seleccionar modelo ({{model}})",
loading: "Cargando...",
loadingShort: "Cargando",
loadingSelector: "Cargando selector de modelo...",
error: "Error",
defaultModel: "Por defecto",
favorites: "Favoritos",
favoriteModel: "modelo favorito",
unfavoriteModel: "Modelo no favorito",
modelCount: "{{count}} modelo",
modelCountPlural: "{{count}} modelos",
retry: "Rever",
retrying: "Reintentando...",
noMatches: "Ningún modelo coincide con tu búsqueda",
searchPlaceholder: "Buscar modelos...",
openProviderSettings: "Abrir configuración de{{provider}}",
},
providerCatalog: {
title: "Agregar proveedor",
search: "Proveedores de búsqueda",
noProviders: "No se encontraron proveedores",
actions: {
add: "Agregar",
adding: "Añadiendo",
installed: "Instalado",
cancel: "Cancelar",
installInstructions: "Instrucciones de instalación",
installInstructionsFor: "Instrucciones de instalación de{{provider}}",
},
errors: {
unableToInstall: "No se puede instalar el proveedor",
},
},
providerSelection: {
defaultModel: "Por defecto",
selectModel: "Seleccionar modelo",
loading: "Cargando...",
error: "Error",
unavailable: "Indisponible",
unknownError: "Error desconocido",
readiness: {
initialPromptRequired: "Se requiere aviso inicial",
noProviders: "No hay proveedores disponibles en el host seleccionado",
modelDefaultsLoading: "Los valores predeterminados del modelo aún se están cargando",
noModelAvailable: "No hay ningún modelo disponible para el proveedor seleccionado",
workspaceDirectoryNotFound: "DirectorioWorkspaceno encontrado",
hostDisconnected: "Hostno está conectado",
},
},
pairing: {
connectionMethods: {
title: "Agregar conexión",
direct: {
title: "Conexión directa",
description: "Red local o VPN.",
},
scanQr: {
title: "Escanea el códigoQR",
description: "Conexión de retransmisión cifrada.",
},
pasteLink: {
title: "Pegar enlace de emparejamiento",
description: "Conexión de retransmisión cifrada.",
},
},
direct: {
title: "Conexión directa",
helper: "Ingrese la dirección de un servidorPaseo.",
fields: {
host: "Host",
port: "Puerto",
password: "Contraseña",
optional: "Opcional",
useSsl: "Usar SSL",
connectionUri: "URI de conexión",
},
advanced: {
label: "Avanzado",
show: "Mostrar avanzado",
hide: "Ocultar avanzado",
},
passwordVisibility: {
show: "Mostrar contraseña",
hide: "Ocultar contraseña",
},
actions: {
cancel: "Cancelar",
connect: "Conectar",
connecting: "Conectando...",
},
errors: {
hostRequired: "Se requiereHost",
invalidPort: "El puerto debe estar entre 1 y 65535",
invalidConnection: "Conexión no válida",
failedTitle: "La conexión falló",
failedToConnect: "No pudimos conectarnos a{{endpoint}}.",
noAdditionalDetails: "{{detail}}(no se proporcionan detalles adicionales)",
timedOut: "Se agotó el tiempo de conexión. Verifique el host/porty su red.",
refused: "Conexión rechazada. ¿El servidor se está ejecutando en esta dirección?",
hostNotFound: "Hostno encontrado. Verifique el nombre de host e inténtelo nuevamente.",
hostUnreachable: "Hostes inalcanzable. Verifique su red y firewall.",
tlsError:
"Error de TLS. Las conexiones directas utilizan SSL solo cuando hay un terminador TLS delante del demonio.",
unableToConnect:
"No se puede conectar. Verifique el host/porty que se pueda acceder al demonio.",
details: "Detalles:{{detail}}",
},
},
link: {
title: "Pegar enlace de emparejamiento",
helper: "Pegue el enlace de emparejamiento de su servidor.",
label: "Enlace de emparejamiento",
errors: {
required: "Pegue un enlace de emparejamiento (.../#offer=...)",
missingOffer: "El enlace debe incluir#offer=...",
emptyOffer: "La carga útil de la oferta está vacía",
invalid: "Enlace de emparejamiento no válido",
unableToPair: "No se puede emparejar el host",
},
alert: {
failedTitle: "El emparejamiento falló",
},
actions: {
cancel: "Cancelar",
pair: "Par",
pairing: "Emparejamiento...",
},
},
scan: {
title: "EscanearQR",
webUnavailableTitle: "No disponible en la web",
webUnavailableBody:
'El escaneoQRno es compatible con la compilación web. Utilice "Pegar enlace" en su lugar.',
backToSettings: "Volver a configuración",
cameraPermissionTitle: "Permiso de cámara",
cameraPermissionBody:
"Permita el acceso a la cámara para escanear el códigoQRde emparejamiento de su demonio.",
grantPermission: "Conceder permiso",
pairing: "Emparejamiento...",
unableToPair: "No se puede emparejar el host",
errorTitle: "Error",
},
device: {
loadingOffer: "Cargando oferta de maridaje...",
failedToLoadOffer: "No se pudo cargar la oferta de emparejamiento.",
relayDisabled: "El relé no está habilitado. Habilite el relé para emparejar un dispositivo.",
unavailable: "Oferta de maridaje no disponible.",
hint: "Escanee este códigoQRconPaseoen su teléfono o copie el enlace a continuación.",
qrUnavailable: "CódigoQRno disponible.",
retry: "Rever",
copy: "Copiar",
copied: "Copiado",
},
},
realtimeVoice: {
actions: {
mute: "Silenciar voz en tiempo real",
unmute: "Activar voz en tiempo real",
stop: "Detener la voz en tiempo real e interrumpir el turno.",
},
},
rewind: {
tooltip: "Rebobinar a este mensaje",
warning: "Esta acción no se puede deshacer.",
actions: {
conversation: "Rebobinar conversación",
files: "Rebobinar archivos",
both: "Rebobinar conversaciones y archivos",
},
errors: {
failed: "No se pudo rebobinar el agente",
},
},
diffViewer: {
empty: "No hay cambios para mostrar",
},
serviceUrl: {
title: "Servicio abiertoURL",
message: "¿Abrir{{url}}?",
inPaseo: "EnPaseo",
externalBrowser: "Navegador externo",
dontAskAgain: "no vuelvas a preguntar",
},
downloads: {
requestTokenFailed: "No se pudo solicitar el token de descarga.",
hostUnavailable: "El host de descarga no está disponible.",
cancelled: "La descarga fue cancelada.",
failed: "No se pudo descargar el archivo.",
shareFile: "compartir archivo",
shareFileNamed: "Compartir{{fileName}}",
},
menu: {
backdrop: "Fondo del menú",
},
subagents: {
detachAction: "Separar {{label}}",
detachTooltip: "Separar subagente",
archiveAction: "Archivo{{label}}",
archiveTooltip: "Subagente de archivo",
},
panels: {
draft: {
newAgent: "Nuevo agente",
creatingAgent: "Agente creador",
},
file: {
directoryMissing: "No se encontró el directorio de Workspace.",
loading: "Cargando archivo...",
noPreview: "No hay vista previa disponible",
binaryPreviewUnavailable: "Vista previa binaria no disponible",
failedToLoad: "No se pudo cargar el archivo",
failedToLoadPreview: "No se pudo cargar la vista previa del archivo",
},
},
toolCallDetails: {
error: "Error",
empty: "No hay detalles adicionales disponibles",
subAgentActivity: "Actividad de subagente",
input: "Aporte",
output: "Producción",
},
renameModal: {
rename: "Rebautizar",
saving: "Guardando...",
},
sidebarCallout: {
dismiss: "Despedir",
},
contextWindow: {
title: "ventana contextual",
used: "{{percentage}}% utilizado",
tokens: "Fichas{{used}}/{{max}}",
sessionCost: "Costo de la sesión{{cost}}",
accessibility: "Ventana de contexto{{percentage}}% utilizada",
},
review: {
comment: {
add: "Agregar comentario de revisión",
edit: "Editar comentario de revisión",
delete: "Eliminar comentario de revisión",
label: "Comentario de revisión",
placeholder: "Deja un comentario",
cancel: "Cancelar",
cancelAccessibility: "Cancelar comentario de revisión",
save: "Comentario",
saveAccessibility: "Guardar comentario de revisión",
},
},
settings: {
title: "Ajustes",
loading: "Cargando configuración...",
groups: {
app: "Aplicación",
host: "Host",
},
hostPicker: {
switchHost: "Cambiar de anfitrión",
local: "Local",
},
backToWorkspace: "Atrás",
addHost: "Agregar anfitrión",
projects: "Proyectos",
projectList: {
hostLoadFailed: "No se pudieron cargar proyectos desde el host{{hostName}}:{{message}}",
editProject: "Editar{{projectName}}",
},
groupInfo: "Acerca de{{title}}",
sections: {
general: "General",
daemon: "Daemon",
appearance: "Apariencia",
shortcuts: "Atajos",
integrations: "Integraciones",
permissions: "Permisos",
diagnostics: "Diagnóstico",
about: "Acerca de",
},
hostSections: {
connections: "Conexiones",
agents: "Agents",
workspaces: "Workspaces",
providers: "Proveedores",
usage: "Uso",
terminals: "Terminals",
host: "Host",
},
general: {
title: "General",
defaultSend: {
label: "Envío predeterminado",
descriptions: {
interrupt:
"Cuando el agente se está ejecutando, Enter interrumpe. Command/Ctrl+Enter pone en cola.",
queue:
"Cuando el agente se está ejecutando, Enter pone en cola. Command/Ctrl+Enter envía.",
},
options: {
interrupt: "Interrumpir",
queue: "Cola",
},
},
serviceUrls: {
label: "URL de servicio",
description: "Dónde abrir URL desde scripts en ejecución",
options: {
ask: "Preguntar",
inApp: "EnPaseo",
external: "Navegador externo",
},
},
terminalScrollback: {
label: "Historial de terminal",
description: "Líneas mantenidas en el búfer de terminal incorporado",
accessibilityLabel: "Líneas del historial de terminal",
},
language: {
label: "Idioma",
description: "Idioma de la aplicación",
options: {
system: "Sistema",
ar: "العربية",
en: "English",
es: "Español",
fr: "Français",
ja: "日本語",
ptBR: "Português brasileiro",
ru: "Русский",
zhCN: "中文",
},
},
},
diagnostics: {
title: "Diagnóstico",
testAudio: "audio de prueba",
playTest: "Prueba de juego",
playing: "Jugando...",
playbackFailed: "Error de reproducción:{{message}}",
app: {
title: "App diagnostic",
rowTitle: "App diagnostic",
rowHint: "Collect connection, daemon, provider, desktop, and log details",
run: "Run",
running: "Running diagnostic...",
copyLabel: "diagnostic",
copyAccessibility: "Copy diagnostic",
copyFailed: "Failed to copy diagnostic",
refreshAccessibility: "Refresh diagnostic",
refreshingAccessibility: "Refreshing diagnostic",
progress: {
client: "Client",
desktop: "Desktop",
},
},
},
about: {
title: "Acerca de",
appVersion: "Versión de la aplicación",
thisDevice: "este dispositivo",
connectedHosts: "Anfitriones conectados",
offline: "Desconectado",
versionDiffers: "La versión difiere de este dispositivo.",
releaseChannel: {
label: "Canal de lanzamiento",
description: "Cambie aBetapara recibir actualizaciones antes y ayudar a darles forma",
stable: "Stable",
beta: "Beta",
},
updates: {
label: "Actualizaciones de aplicaciones",
readyToInstall: "Listo para instalar:{{version}}",
installTitle: "Instalar actualización de escritorio",
installMessage: "Esto actualizaPaseoen esta computadora.",
installConfirm: "Instalar actualización",
update: "Actualizar",
updateTo: "Actualización a{{version}}",
installing: "Instalando...",
check: "Controlar",
checking: "De cheques...",
alertTitle: "Error",
alertMessage: "No se puede abrir el cuadro de diálogo de confirmación de actualización.",
},
},
appearance: {
theme: {
title: "Tema",
accessibilityLabel: "Tema:{{value}}",
options: {
light: "Luz",
dark: "Oscuro",
zinc: "Zinc",
midnight: "Medianoche",
claude: "claudio",
ghostty: "fantasmal",
auto: "Sistema",
},
},
fonts: {
title: "Fuentes",
systemDefault: "Valor predeterminado del sistema",
interfaceFont: "Fuente de interfaz",
interfaceFontHint:
"Utilizado en toda la aplicación. Déjelo vacío para el valor predeterminado del sistema.",
interfaceFontAccessibility: "Familia de fuentes de interfaz",
interfaceSize: "Tamaño de la interfaz",
interfaceSizeAccessibility: "Tamaño de fuente de la interfaz",
codeFont: "Fuente de código",
codeFontHint:
"Se utiliza en código, diferencias y salida del terminal. Déjelo vacío para el valor predeterminado del sistema.",
codeFontAccessibility: "Familia de fuentes de código",
codeSize: "Tamaño del código",
codeSizeAccessibility: "Tamaño de fuente del código",
},
syntax: {
title: "Sintaxis",
highlightTheme: "Tema destacado",
highlightThemeHint: "Colores para el código, independientemente del tema de la aplicación.",
highlightThemeAccessibility: "Tema destacado:{{value}}",
previewAccessibility: "Vista previa en vivo del tema de sintaxis y fuente del código",
},
},
shortcuts: {
dialogTitle: "Atajos",
unavailableOnMobile: "Los atajos de teclado solo están disponibles en el escritorio",
capturePrompt: "Presione el acceso directo...",
actions: {
done: "Hecho",
cancel: "Cancelar",
rebind: "Reencuadernar",
reset: "Reiniciar",
resetAll: "Restablecer todo",
},
sections: {
navigation: "Navegación",
tabsPanes: "Pestañas y paneles",
projects: "Proyectos",
panels: "Paneles",
agentInput: "EntradaAgent",
},
help: {
openProject: "Abrir proyecto",
newWorkspace: "Nuevo espacio de trabajo",
newWorktree: "Nuevo árbol de trabajo",
archiveWorktree: "Árbol de trabajo de archivo",
newTab: "Nueva pestaña",
closeCurrentTab: "Cerrar pestaña actual",
jumpToWorkspace: "Saltar al espacio de trabajo",
jumpToTab: "Saltar a la pestaña",
previousWorkspace: "Espacio de trabajo anterior",
nextWorkspace: "Siguiente espacio de trabajo",
previousTab: "Pestaña anterior",
nextTab: "Pestaña siguiente",
splitPaneRight: "Panel dividido a la derecha",
splitPaneDown: "Dividir panel hacia abajo",
focusPaneLeft: "Panel de enfoque a la izquierda",
focusPaneRight: "Panel de enfoque a la derecha",
focusPaneUp: "Panel de enfoque arriba",
focusPaneDown: "Panel de enfoque hacia abajo",
moveTabLeft: "Mover pestaña hacia la izquierda",
moveTabRight: "Mover pestaña a la derecha",
moveTabUp: "Mover pestaña hacia arriba",
moveTabDown: "Mover pestaña hacia abajo",
closePane: "Cerrar panel",
newTerminal: "Nueva terminal",
toggleCommandCenter: "Alternar centro de comando",
showKeyboardShortcuts: "Mostrar atajos de teclado",
toggleLeftSidebar: "Alternar barra lateral izquierda",
toggleRightSidebar: "Alternar barra lateral derecha",
toggleBothSidebars: "Alternar ambas barras laterales",
toggleSettings: "Alternar configuración",
toggleFocusMode: "Alternar modo de enfoque",
cycleTheme: "Tema del ciclo",
focusMessageInput: "Entrada de mensaje de enfoque",
cycleAgentMode: "Alternar modo del agente",
toggleVoiceMode: "Alternar modo de voz",
startStopDictation: "Iniciar dictado/stop",
interruptAgent: "agente de interrupción",
sendMessage: "enviar mensaje",
queueMessage: "mensaje de cola",
muteUnmuteVoiceMode: "Silenciar el modo de voz/unmute",
},
helpNotes: {
showKeyboardShortcuts: "Disponible cuando el foco no está en un campo de texto o terminal.",
},
},
integrations: {
title: "Integraciones",
docs: {
cli: "DocumentosCLI",
skills: "Documentos de habilidades",
openCli: "Abrir la documentación deCLI",
openSkills: "Documentación de habilidades abiertas",
},
commandLine: {
title: "línea de comando",
description: "Agentes de control y script desde tu terminal",
},
skills: {
title: "Habilidades de orquestación",
description: "Enseñe a sus agentes a orquestar a través delCLI",
updateAvailable: "Actualización disponible",
updateTitle: "¿Actualizar las habilidades dePaseo?",
updateFallback: "Sincronice las habilidades incluidas con su máquina.",
uninstallTitle: "¿Desinstalar las habilidadesPaseo?",
uninstallMessage:
"Elimina todas las habilidades de orquestaciónPaseode ~/.agents, ~/.claude, ~/.codex.",
},
actions: {
install: "Instalar",
installing: "Instalando...",
installed: "Instalado",
update: "Actualizar",
working: "Laboral...",
uninstall: "Desinstalar",
},
operations: {
add: "Agregar habilidad",
update: "Actualizar habilidad",
delete: "Eliminar habilidad",
},
},
permissions: {
title: "Permisos",
notifications: "Notificaciones",
microphone: "Micrófono",
refresh: "Refrescar",
refreshing: "Refrescante...",
refreshAccessibility: "Actualizar permisos de escritorio",
test: "Prueba",
actions: {
granted: "Otorgada",
request: "Pedido",
requesting: "Solicitando...",
busySuffix: "{{label}}...",
},
},
host: {
notFound: "Hostno encontrado",
badges: {
relay: "Relé",
local: "Local",
},
connections: {
title: "Conexiones",
removeTitle: "Quitar conexión",
removeMessage: "¿Quitar{{name}}? Esto no se puede deshacer.",
removeAction: "Eliminar",
removeErrorTitle: "Error",
removeErrorMessage: "No se puede eliminar la conexión",
timeout: "Se acabó el tiempo",
},
pairDevices: {
title: "Emparejar dispositivos",
rowTitle: "Emparejar un dispositivo",
rowHint: "Escanee un códigoQRo copie un enlace para conectar su teléfono a este host",
},
orchestration: {
title: "Orquestación",
unavailable: "Conéctese a este host para administrar la orquestación",
enableTools: {
title: "Habilitar herramientasPaseo",
hint: "Los agentes podrán gestionar árboles de trabajo, agentes y horarios.",
accessibilityLabel: "Inyectar herramientasPaseo",
},
systemPrompt: {
title: "Aviso del sistema",
hint: "Agrega un mensaje del sistema a todos los agentes.",
sheetTitle: "Agregar mensaje del sistema",
accessibilityLabel: "Agregar mensaje del sistema",
placeholder: "Mantenga siempre respuestas concisas.",
edit: "Editar",
reset: "Restablecer",
save: "Guardar",
saving: "Guardando...",
},
},
agents: {
unavailable: "Connect to this host to manage agents",
},
workspaces: {
unavailable: "Connect to this host to manage workspaces",
},
terminalProfiles: {
unavailable: "Connect to this host to manage terminal profiles",
sectionTitle: "Terminal profiles",
editProfile: "Edit profile",
addProfileTitle: "Add terminal profile",
editProfileTitle: "Edit terminal profile",
namePlaceholder: "Claude Code",
commandPlaceholder: "claude",
argsPlaceholder: "--dangerously-skip-permissions",
nameLabel: "Name",
commandLabel: "Command",
argsLabel: "Arguments",
nameRequired: "Name is required",
commandRequired: "Command is required",
argsHint: "Space-separated arguments passed to the command",
saving: "Saving...",
remove: "Remove",
removeConfirmTitle: "Remove profile?",
removeConfirmMessage: 'Remove "{{name}}"?',
moveUp: "Move up",
moveDown: "Move down",
save: "Save",
emptyState: "No profiles yet. Add one to launch terminals with a specific command.",
},
daemon: {
rename: {
editLabel: "Editar etiqueta",
title: "Cambiar nombre de host",
placeholder: "MiHost",
submit: "Cambiar nombre",
},
restart: {
title: "Reiniciar demonio",
hint: "Reinicia el proceso del demonio. La aplicación se volverá a conectar automáticamente",
confirm: "Reiniciar",
confirmTitle: "Reiniciar{{name}}",
confirmMessage:
"Esto reiniciará el demonio. Los agentes que se ejecutan en él seguirán funcionando; la aplicación se volverá a conectar automáticamente.",
restarting: "Reiniciando...",
unableToReconnectTitle: "No se puede volver a conectar",
unableToReconnectMessage:
"{{name}}no volvió a conectarse. Por favor verifique que se haya reiniciado.",
unavailableTitle: "Hostno disponible",
unavailableMessage:
"Este host no está conectado. Espere a que se conecte antes de reiniciar.",
offlineTitle: "Hostfuera de línea",
offlineMessage:
"Este anfitrión está desconectado.Paseose vuelve a conectar automáticamente; espere hasta que vuelva a estar en línea antes de reiniciar.",
requestFailedTitle: "Error",
requestFailedMessage:
"No se pudo enviar la solicitud de reinicio.Paseose vuelve a conectar automáticamente; inténtelo nuevamente una vez que el host se muestre en línea.",
dialogFailedMessage:
"No se puede abrir el cuadro de diálogo de confirmación de reinicio.",
},
update: {
title: "Update daemon",
hint: "Update the daemon to the latest version and restart it",
confirm: "Update",
confirmTitle: "Update {{name}}",
confirmMessage:
"This will update the daemon to the latest version and restart it. Running agents will be briefly interrupted.",
updating: "Updating...",
phaseStarting: "Preparing update...",
phaseDownloading: "Downloading packages...",
phaseInstalling: "Installing...",
phaseComplete: "Update complete, restarting...",
unableToReconnectTitle: "Unable to reconnect",
unableToReconnectMessage:
"{{name}} did not come back online after updating. Please verify the daemon restarted.",
unavailableTitle: "Host unavailable",
unavailableMessage:
"This host is not connected. Wait for it to come online before updating.",
offlineTitle: "Host offline",
offlineMessage: "This host is offline. Wait until it is back online before updating.",
requestFailedTitle: "Update failed",
requestFailedMessage: "Failed to update the daemon: {{error}}",
dialogFailedMessage: "Unable to open the update confirmation dialog.",
},
dangerZone: "Zona de peligro",
remove: {
title: "Eliminar host",
localTitle: "Remove localhost connection",
hint: "Elimina este host y sus conexiones guardadas de este dispositivo",
localHint: "Removes localhost from this device and stops the built-in daemon",
localConfirmTitle: "Remove localhost connection and stop daemon?",
confirmMessage: "¿Quitar{{name}}? Esto eliminará sus conexiones guardadas.",
localConfirmMessage:
"This will remove the localhost connection, turn off built-in daemon management, and stop the managed daemon. Remote hosts remain connected.",
errorTitle: "Error",
errorMessage: "No se puede eliminar el host",
localErrorMessage: "Unable to remove localhost connection",
},
},
},
providers: {
title: "Proveedores",
addProvider: "Agregar proveedor",
providerDetails: "Detalles del proveedor{{name}}",
enableProvider: "Habilitar{{name}}",
unavailable: "Conéctese a este host para ver proveedores",
loading: "Cargando...",
addErrorTitle: "Unable to add provider",
updateErrorTitle: "No se puede actualizar el proveedor",
statuses: {
disabled: "Desactivado",
loading: "Cargando",
error: "Error",
available: "Disponible",
notInstalled: "No instalado",
},
models: {
one: "1 modelo",
many: "{{count}} modelos",
addModel: "Agregar modelo",
addCustomTitle: "Agregar modelo personalizado",
modelId: "ModeloID",
modelIdPlaceholder: "p.ej. openai/gpt-5",
add: "Agregar",
adding: "Añadiendo...",
failedToSave: "No se pudo guardar el modelo",
removeModel: "Quitar{{id}}",
searchPlaceholder: "Buscar modelos",
loading: "Cargando modelos...",
retry: "Rever",
retrying: "Reintentando...",
noSearchMatches: "Ningún modelo coincide con tu búsqueda",
noneDetected: "No se detectaron modelos",
discovered: "descubierto",
custom: "Modelos personalizados",
updated: "{{time}}actualizado",
},
diagnostic: {
title: "Diagnóstico",
button: "Diagnóstico",
refresh: "Refrescar",
refreshing: "Refrescante...",
copyLabel: "diagnóstico",
copyAccessibility: "Copiar diagnóstico",
copyFailed: "No se pudo copiar el diagnóstico",
refreshAccessibility: "Actualizar diagnóstico",
refreshingAccessibility: "Diagnóstico refrescante",
running: "Ejecutando diagnóstico...",
none: "No hay diagnóstico disponible",
failedToFetch: "No se pudo recuperar el diagnóstico",
unknownError: "Error desconocido",
},
},
project: {
noEditableTarget: "No tenemos una copia editable de este proyecto en ningún host conectado.",
backToProjects: "Volver a proyectos",
switchHost: "Cambiar de anfitrión",
rename: {
renamedToast: "Proyecto renombrado",
errorFallback: "No se pudo cambiar el nombre del proyecto",
renameLabel: "Cambiar nombre del proyecto",
resetLabel: "Restablecer el nombre del proyecto al valor predeterminado",
projectNameLabel: "Nombre del proyecto",
saveLabel: "Guardar nombre del proyecto",
cancelLabel: "Cancelar cambio de nombre",
reset: "Reiniciar",
},
readFailures: {
invalidTitle: "paseo.json no se pudo analizar",
invalidDescription: "Fije el archivo en el disco y luego vuelva a cargarlo.",
missingTitle: "Este anfitrión no tiene este proyecto",
missingWithHosts: "Cambie a otro host de arriba o vuelva a cargar.",
missingSingleHost: "El anfitrión seleccionado no tiene registro de este proyecto.",
transportTitle: "No se pudo cargar paseo.json",
transportFallback: "El anfitrión no respondió.",
failedTitle: "No se pudo cargar paseo.json",
failedDescription: "Vuelva a cargar para intentarlo de nuevo.",
},
worktree: {
title: "Ganchos del ciclo de vida del árbol de trabajo",
info: "Comandos que se ejecutan cuando se crea o elimina un árbol de trabajo para este proyecto",
docs: "Documentos",
docsTooltip:
"Consulte los documentos para obtener más detalles y las variables de entorno disponibles para estos comandos.",
setup: "Configuración",
setupAccessibility: "Comandos de configuración del árbol de trabajo",
teardown: "Demoler",
teardownAccessibility: "Comandos de desmontaje del árbol de trabajo",
},
scripts: {
title: "Scripts",
info: "Servicios de larga duración y comandos únicos que puede iniciar desde cualquier agente en este proyecto",
empty: "Aún no hay guiones.",
untitled: "Guión sin título",
port: "puerto{{port}}",
menuAccessibility: "Abrir menú de script",
removeTitle: "¿Quitar guión?",
removeMessage: "¿Quitar{{name}}?",
removeFallbackName: "este guión",
name: "Nombre",
command: "Dominio",
nameAccessibility: "Nombre del guión",
commandAccessibility: "Comando de guión",
nameRequired: "El nombre es obligatorio",
commandRequired: "Se requiere comando",
newScript: "Nuevo guión",
editScript: "Editar{{name}}",
runAsService: "Ejecutar como servicio",
serviceHint: "Paseosupervisa el proceso y asigna un puerto vía $PASEO_PORT",
actions: {
add: "Agregar guión",
edit: "Editar",
remove: "Eliminar",
},
},
metadata: {
title: "Generación de metadatos",
info: "Instrucciones específicas del proyecto inyectadas en los mensajes de IA quePaseoutiliza para generar metadatos; úselas para hacer cumplir las convenciones de su equipo, como la denominación de ramas, el estilo de confirmación o el formatoPR.",
branchName: "Nombres de sucursales",
branchNamePlaceholder: "Prefijo ramas con feat/ o fix/, mb/ para ramas personales",
commitMessage: "Confirmar mensajes",
commitMessagePlaceholder: "Utilice confirmaciones convencionales con un alcance",
pullRequest: "Solicitudes de extracción",
pullRequestPlaceholder:
"Liderar con un resumen de un párrafo, incluir una sección de plan de prueba",
},
writeFailures: {
staleTitle: "Configuración cambiada en el disco",
staleDescription: "Vuelva a cargar para obtener el último paseo.json antes de guardar.",
failedTitle: "No se pudo guardar paseo.json",
failedDescription: "Inténtelo de nuevo o vuelva a cargar la última versión desde el disco.",
},
actions: {
reload: "Recargar",
tryAgain: "Intentar otra vez",
save: "Guardar",
saved: "Proyecto guardado",
saving: "Guardando...",
cancel: "Cancelar",
},
},
},
};