const messages = { home: { settingsTitle: "Ajustes", settingsDescription: "Preferencias de idioma y agente", title: "Tu app está en ejecución", intro: "Empieza a construir editando", actionCardTitle: "Datos respaldados por acciones", loadingAction: "Cargando resultado de la acción...", docsTitle: "Documentación", docsDescription: "Aprende el framework", themeTitle: "Tema", themeDescription: "Cambiar oscuro / claro", }, settings: { title: "Ajustes", description: "Preferencias de idioma y espacio de trabajo de esta app.", languageTitle: "Idioma", languageDescription: "Elige el idioma de la interfaz. Esta preferencia se guarda en tu cuenta.", languageLabel: "Idioma de la interfaz", agentTitle: "Ajustes del agente", agentDescription: "Abre los ajustes del agente en la barra lateral para modelos, claves API, automatizaciones, voz y otros controles.", openAgentSettings: "Abrir ajustes del agente", workspaceTitle: "Espacio de trabajo", workspaceDescription: "Administre el acceso del equipo y los recursos del espacio de trabajo compartido.", openTeamSettings: "Abrir ajustes del equipo", openResourceSettings: "Abrir ajustes de recursos", backHome: "Volver al inicio", }, dispatch: { nav: { chat: "Chat", overview: "Visión general", apps: "Apps", metrics: "Métricas", vault: "Vault", integrations: "Integraciones", agents: "Agents", resources: "Resources", messaging: "Messaging", destinations: "Destinations", identities: "Identities", approvals: "Aprobaciones", automations: "Automatizaciones", delivery: "Entrega", audit: "Audit", dreams: "Dreams", threadDebug: "Depuración de subprocesos", settings: "Ajustes", team: "Equipo", operations: "Operations", navigation: "Navegación", navigationDescription: "Enlaces de navegación del espacio de trabajo", }, sidebar: { workspaceControlPlane: "Plano de control del espacio de trabajo", workspaceSubtitle_one: "Workspace · {{count}} app", workspaceSubtitle_other: "Workspace · {{count}} apps", workspaceSubtitle_many: "Workspace · {{count}} apps", chats: "Chats", newChat: "Nuevo chat", newDispatchChat: "Nuevo chat Dispatch", renameChat: "Renombrar chat", renameThread: "Rename {{title}}", chatOptions: "Chat options for {{title}}", aboutPage: "About {{title}}", emptyAgentText: "Cree aplicaciones, administre claves de bóveda y dirija el trabajo a través del espacio de trabajo.", suggestionBuildApp: "Cree una aplicación de espacio de trabajo para X", suggestionRouteSlack: "Ruta Slack menciona a mi aplicación de análisis", suggestionGrantKey: "Otorgar mi clave OpenAI a esta aplicación", }, pages: { appsDescription: "Abra las aplicaciones del espacio de trabajo y comience la creación de nuevas aplicaciones desde Dispatch.", appsDescriptionWithWorkspace: 'Apps in the "{{workspace}}" workspace. Each app gets its own route under this workspace and shares its database, auth, and agent chat.', appsInWorkspace: "Apps in {{workspace}}", workspaceApps: "Aplicaciones de espacio de trabajo", otherApps: "Otras aplicaciones", otherAppsDescription: "Abre otras aplicaciones disponibles para ti.", availableCount: "{{count}} disponibles", activeCount: "{{count}} active", hiddenCount: "{{count}} hidden", createApp: "Crear aplicación", templates: "Plantillas", checkingTemplates: "Comprobando plantillas disponibles", templatesAvailable: "{{count}} available to scaffold", curatedTemplates: "Plantillas seleccionadas", curatedTemplatesDescription: "Empieza con una estructura de aplicación revisada y hazla tuya.", remix: "Crear desde plantilla", remixTemplate: "Crear app de {{name}}", remixAppIdLabel: "Nuevo ID de aplicación", remixStarted: "Se inició la creación de {{name}}", viewLiveApp: "Ver aplicación en vivo", alreadyInWorkspace: "Ya está en el espacio de trabajo", remixAppIdDescription: "Elige un ID seguro para URL para la nueva aplicación.", integrationSetup: "Configuración de integración", source: "Origen", remixing: "Creando app…", remixSuccess: "Se inició la creación de la app desde la plantilla.", remixError: "No se pudo crear una app desde esta plantilla", appIdRequired: "El ID de aplicación es obligatorio.", hide: "Ocultar", show: "Show", hiddenApps: "Aplicaciones ocultas", hiddenAppCount: "{{count}} hidden apps", workspaceAppFallback: "Aplicación de espacio de trabajo", workspaceAppDescription: "Abra una aplicación implementada o verifique el estado de una aplicación que se está creando.", pageNotFound: "Página no encontrada", pageNotFoundDescription: "Esta ruta aún no está en la lista de aplicaciones del espacio de trabajo.", browseApps: "Explorar aplicaciones", newApp: "Nueva aplicación", newAppDescription: "Cree una aplicación de espacio de trabajo desde un mensaje y aplique la política de almacén del espacio de trabajo.", destinationsDescription: "Canales Slack salientes guardados, chats Telegram y destinos de subprocesos.", savedDestinations: "Destinos guardados", addDestination: "Agregar destino", quickTestMessage: "mensaje de prueba rápida", send: "Enviar", delete: "Eliminar", cancel: "Cancelar", messageSent: "Mensaje enviado", unableToSendMessage: "No se puede enviar el mensaje", destinationSaved: "Destino guardado", destinationRemoved: "Destino eliminado", deleteDestinationTitle: "¿Eliminar destino?", deleteDestinationDescription: '"{{name}}" will be removed. Any saved workflows or jobs that target this destination will start failing on the next send.', noDestinations: "Aún no hay destinos guardados. Agregue su primer canal Slack o chat Telegram a la derecha.", dailyDigestChannel: "Canal de resumen diario", optionalThreadOrTopicId: "ID de hilo o tema opcional", destinationNotes: "¿Qué debería utilizar este destino?", saveDestination: "Guardar destino", noWorkspaceApps: "Aún no hay aplicaciones de espacio de trabajo", noWorkspaceAppsDescription: "Cree una aplicación cuando un flujo de trabajo necesite su propio lugar enfocado para vivir.", appNotFound: "Aplicación no encontrada", building: "Building", appBuildingPrefix: "Esta aplicación se está creando. Estará disponible en", appBuildingSuffix: "after its branch is merged and the workspace deploy finishes.", branch: "Branch: {{branch}}", openBuilderBranch: "Abrir rama Builder", openingApp: "Opening {{name}}", redirectingTo: "Redirigiendo a", openApp: "Abrir aplicación", notDispatchOrWorkspaceApp: "una pestaña Dispatch o una aplicación de espacio de trabajo en este espacio de trabajo.", agentsDescription: "Dispatch puede delegar al conjunto de aplicaciones integradas a través de A2A de forma predeterminada. Agregue agentes adicionales aquí solo si desea enrutar el trabajo a aplicaciones fuera de ese conjunto integrado.", mcpAccessUpdated: "Acceso a la aplicación MCP actualizado", selectAppForMcp: "Seleccione al menos una aplicación o exponga todas las aplicaciones.", mcpUrlCopied: "MCP URL copiado", mcpUrlCopyFailed: "No se pudo copiar MCP URL", unifiedMcpGateway: "Puerta de enlace unificada MCP", unifiedMcpGatewayDescription: "Conecte agentes externos a Dispatch una vez y luego diríjalos a las aplicaciones del espacio de trabajo otorgado a través de", allApps: "Todas las aplicaciones", selectedApps: "Aplicaciones seleccionadas", loading: "Loading", grantedCount: "{{count}} granted", exposeAllAppsMcp: "Exponer todas las aplicaciones a través de Dispatch MCP", copyUrl: "Copiar URL", metricsUnavailable: "Métricas no disponibles", unableToLoadUsage: "No se puede cargar el uso.", metricsDescriptionBuilder: "Gasto de crédito Builder.io en todo el espacio de trabajo, volumen de chat, actividad del usuario y acceso a aplicaciones.", metricsDescriptionLlm: "Gasto LLM en todo el espacio de trabajo, volumen de chat, actividad del usuario y acceso a aplicaciones.", llmCalls: "Llamadas LLM", activeUsers: "Usuarios activos", workspaceAppsStat: "Aplicaciones de espacio de trabajo", chatThreads: "Hilos de chat", also: "También", workspaceShortcutsAria: "Accesos directos del espacio de trabajo", deliveryQueue: "Cola de entrega", failedLastHour: "{{count}} fallos en la última hora", processingCount: "{{count}} en proceso", queued: "En cola", active: "Activo", done1h: "Hecho 1 h", failed1h: "Fallido 1 h", oldestQueued: "Más antiguo en cola: {{age}}", queueAgeNone: "ninguno", queueFailureHint: "Revisa las credenciales, los destinos y los errores recientes de la cola.", unknownPlatform: "desconocido", attemptsCount: "{{count}} intentos", noErrorMessage: "(sin mensaje de error)", }, }, agentPanel: { useBuilder: "Usar constructor", openDesktopToEditCode: "Abra el escritorio para editar el código", codeUnavailableDescription: "Los cambios del código fuente y el acceso a CLI están disponibles en la aplicación de escritorio Agent Native.", downloadDesktop: "Descargar escritorio", chatMode: "modo chat", chat: "Chat", cliTerminalMode: "Modo terminal CLI", cli: "CLI", workspaceMode: "Archivos, agentes, habilidades y tareas", workspace: "Recursos", newChat: "Nuevo chat", newTerminal: "Nueva terminal", panelOptions: "Opciones del panel de agentes", collapseSidebar: "Contraer barra lateral", hideChats: "Ocultar chats", allChats: "Todos los chats", settings: "Ajustes", feedback: "Comentarios", exitFullscreen: "Salir de pantalla completa", fullscreen: "Fullscreen", closeTab: "Cerrar pestaña", closeOtherTabs: "Cerrar otras pestañas", closeAllTabs: "Cerrar todas las pestañas", clearChat: "Borrar chat", cliRequiresDevMode: "CLI requiere modo de desarrollo", cliRequiresDevModeDescription: "Ejecute esta aplicación localmente con el desarrollador pnpm o use Builder.io para acceder al terminal CLI.", toggleAgent: "Agente de alternancia", }, share: { titleWithResource: 'Share "{{title}}"', titleWithType: "Share {{type}}", owner: "Owner: {{name}}", close: "Cerrar", shareOptions: "Opciones de acciones", link: "Enlace", invite: "Invite", embed: "Embed", done: "Listo", generalAccess: "Acceso general", shareLink: "Compartir enlace", addPeopleByEmail: "Agregar personas por correo electrónico", notifyPeople: "Notificar a la gente", peopleWithAccess: "personas con acceso", ownerRole: "Owner", remove: "Eliminar", noAccess: "Nadie tiene acceso todavía.", embedUrl: "Insertar URL", embedCode: "código para insertar", copy: "Copiar", role: "Role", private: "Privado", privateDescription: "Sólo las personas con acceso pueden ver", organization: "Organización", organizationDescription: "Cualquier persona de su organización puede ver", public: "Public", publicDescription: "Cualquiera que haya iniciado sesión con el enlace puede ver", viewer: "Viewer", viewerDescription: "puede ver", editor: "Editor", editorDescription: "puede editar", admin: "Administrador", adminDescription: "Puede editar y gestionar el acceso.", }, runsTray: { runs: "Ejecuciones", agentRuns: "El agente se ejecuta", activeRun_one: "{{count}} active run", activeRun_other: "{{count}} active runs", activeRun_many: "{{count}} active runs", failedRun_one: "{{count}} failed run", failedRun_other: "{{count}} failed runs", failedRun_many: "{{count}} failed runs", recentRuns: "Ejecuciones recientes", noRecentRuns: "No hay ejecuciones recientes", ariaAgentRuns: "Agent runs, {{label}}", summaryRunning: "{{activeCount}} running", summaryRunningRecent: "{{activeCount}} running · {{terminalCount}} recent", summaryRecent_one: "{{count}} recent run", summaryRecent_other: "{{count}} recent runs", summaryRecent_many: "{{count}} recent runs", noTrackedWorkYet: "Aún no hay trabajo rastreado", emptyDescription: "El trabajo del agente en segundo plano aparecerá aquí mientras se ejecuta y después de que finalice.", open: "Abrir", stopRun: "Stop {{title}}", hideRun: "Hide {{title}}", statusRunning: "Running", statusDone: "Listo", statusFailed: "Falló", statusStopped: "Stopped", updatedJustNow: "Actualizado hace un momento", finishedJustNow: "Terminado hace un momento", updatedMinutes: "Updated {{count}}m ago", finishedMinutes: "Finished {{count}}m ago", updatedHours: "Updated {{count}}h ago", finishedHours: "Finished {{count}}h ago", updatedDate: "Updated {{date}}", finishedDate: "Finished {{date}}", }, codeRequired: { fallbackDetail: "Edite localmente o use Builder.io para editar este código en la nube y continúe personalizando la aplicación como desee.", defaultFeature: "Realice los cambios de código solicitados en esta aplicación", branchError: "No se pudo crear la rama", title: "Se requieren cambios de código", subtitleWithFeature: '"{{feature}}" creates or modifies source code, which needs Desktop or Builder from this surface.', subtitle: "Esta acción crea o modifica el código fuente, que necesita Desktop o Builder desde esta superficie.", desktopTitle: "Utilice el escritorio Agent Native", desktopDescription: "Abra el proyecto en la aplicación de escritorio para habilitar las ediciones de origen y el acceso a CLI.", builderAgentTitle: "Utilice el agente Builder.io", builderAgentDescription: "Deje que nuestro agente en la nube haga los cambios por usted. Obtendrá un enlace para obtener una vista previa e implementar.", codeChangeTitle: "Esto requiere un cambio de código.", codeChangeBadge: "cambio de código", connectBuilderTitle: "Conectar Builder.io", connectBuilderDescription: "Connect Builder para habilitar cambios de código basados en la nube desde esta aplicación.", setupRequired: "Configuración requerida", branchCreated: "Sucursal creada", close: "Cerrar", }, extensions: { createPrompt: "Create an extension: {{prompt}}", createWidgetPrompt: 'Create a new widget that fits in slot "{{slotId}}". I\'ll describe what it should do next.', whatShouldItDo: "¿Qué debería hacer?", createPlaceholder: "Una lista de tareas pendientes, panel API, calculadora...", title: "Extensiones", hiddenShown: "Ocultando mostrado", showHidden: "Mostrar ocultos", newExtension: "Nueva extensión", newExtensionTitle: "Nueva extensión", buildPlaceholder: "Describe lo que te gustaría construir...", namePlaceholder: "Mi extensión", descriptionPlaceholder: "¿Qué hace esta extensión?", contentPlaceholder: "...", emptyTitle: "Crea tu primera extensión", emptyDescription: "Describe una pequeña aplicación y el agente la creará.", hiddenFromEveryone: "Escondido de todos", localFile: "archivo local", optionsFor: "Options for {{name}}", unhideEveryone: "Mostrar para todos", hideEveryone: "esconderse de todos", localFileDescription: "This extension is backed by {{entryPath}}. Edit or remove it from the workspace.", deleteQuestion: "¿Archivar {{name}}?", removeQuestion: "Remove {{name}}?", hideForYouDescription: "Esto lo oculta de su lista de Extensiones sin eliminarlo para nadie más.", removeEverywhereDescription: "Esto lo archiva en todos los lugares donde se comparte.", cancel: "Cancelar", remove: "Eliminar", removing: "Eliminando...", delete: "Archivar", deleting: "Archivando...", openFullView: "Abrir vista completa", removeFromWidgetArea: "Eliminar de esta área de widgets", deleteExtensionEllipsis: "Archivar extensión...", removeFromMyListEllipsis: "Quitar de mi lista...", removeFromWidgetAreaForMe: "Remove from this widget area (for me)", deleteEverywhereConfirmation: "Esto archiva la extensión en todas partes, para todas las personas con las que se comparte.", addWidget: "Agregar widget", loading: "Cargando...", noWidgetsAvailable: "Aún no hay widgets disponibles para esta tragamonedas.", buildNewWidget: "Construye un nuevo widget", contactSidebarWidget: "Widget de la barra lateral de contacto", contactSidebarDescription: "Aparece junto a la conversación actual con el contexto del contacto y del hilo.", eventDetailWidget: "Widget de detalle del evento", eventDetailDescription: "Aparece debajo del evento de calendario abierto con el contexto del evento y los asistentes.", addWidgetHere: "Añadir widget aquí", back: "Volver", editExtension: "Editar extensión", saving: "Guardando...", save: "Guardar", create: "Crear", moreOptions: "Más opciones", appearsIn: "Aparece en", noWidgetAreas: "No instalado en ninguna área de widgets. Pídale al agente que lo agregue en alguna parte.", widgetAreaCount_one: "This extension can render in {{count}} widget area.", widgetAreaCount_other: "This extension can render in {{count}} widget areas.", widgetAreaCount_many: "This extension can render in {{count}} widget areas.", nameLabel: "Nombre", descriptionLabel: "Descripción", contentLabel: "Contenido", previewTitle: "Vista previa de la extensión", previewEmpty: "La vista previa aparecerá aquí", loadError: "No se pudieron cargar las extensiones.", widgetsLoadError: "No se pudieron cargar los widgets.", widgetAreasLoadError: "No se pudieron cargar las áreas de widgets.", historyLoadError: "No se pudo cargar el historial de la extensión.", versionLoadError: "No se pudo cargar esta versión de la extensión.", retry: "Reintentar", }, org: { createTitle: "Crea tu organización", createDescription: "Esta aplicación organiza tu contenido por equipo. Crea una organización para continuar; luego puedes invitar a compañeros de equipo.", loadErrorTitle: "No se pudo cargar la organización", loadErrorFallback: "No se pudo cargar la organización.", tryAgain: "Intentar de nuevo", yourOrganization: "Tu organización", joinYourTeam: "Únete a tu equipo", openToDomainEmails: "Open to @{{domain}} emails", joinOrg: "Join {{name}}", pendingInvitations: "Invitaciones pendientes", invitedBy: "from {{name}}", accept: "Accept", createSeparate: "or create a separate organization", organizationName: "Nombre de la organización", organizationPlaceholder: "Acme S. L.", createOrganization: "Crear organización", create: "Crear", creating: "Creando...", team: "Equipo", createOrgCardTitle: "Crear una organización", createOrgCardDescription: "Set up a team to collaborate with your colleagues.", joinDomainOne: "Ya existe una organización que coincide con su dominio de correo electrónico. Únete para colaborar con tus compañeros de equipo.", joinDomainMany: "Ya existen organizaciones que coinciden con su dominio de correo electrónico. Únase a uno para colaborar con sus compañeros de equipo.", join: "Join", invitedByLabel: "Invited by {{name}}", you: "You", owner: "Propietario", admin: "Administrador", member: "Member", members: "Members", inviteMembers: "Invitar miembros", invited: "Invitado", role: "Rol", status: "Estado", actions: "Acciones", noMembers: "Aún no hay miembros.", memberCount_one: "{{count}} member", memberCount_other: "{{count}} members", memberCount_many: "{{count}} members", youAreRole: "You are {{role}}", changeRole: "Cambiar rol", removeMember: "Eliminar miembro", cancel: "Cancelar", remove: "Eliminar", save: "Guardar", loading: "Cargando...", dangerZone: "Zona de peligro", deleteOrg: "Eliminar organización", deleteOrgDescription: "Elimina permanentemente esta organización, sus miembros y sus invitaciones pendientes. Los datos de la organización dejarán de ser accesibles. Esta acción no se puede deshacer.", deleteOrgConfirmPrompt: "Escribe {{name}} para confirmar.", deleteOrgConfirmPlaceholder: "Nombre de la organización", deleteOrgConfirmCta: "Eliminar organización", deleteOrgPending: "Eliminando...", }, integrations: { webhookUrl: "Gancho web URL", copyWebhookUrl: "Copiar webhook URL", notConfigured: "Not configured. Set the required secrets to enable this integration.", enable: "Enable", disable: "Disable", toggling: "...", networkError: "Error de red al llegar al servidor", back: "Volver", agentEngineRequired: "Se requiere motor de agente", agentEngineDescription: "Connect Builder.io or an LLM key before {{platform}} can answer.", openLlm: "Abierto LLM", setup: "Setup", shareDocumentsWith: "Compartir documentos con", copyServiceAccountEmail: "Copiar correo electrónico de la cuenta de servicio", requiredSecrets: "Secretos requeridos", envHelp: "Set these in your .env file or environment to connect.", copy: "Copiar", documentation: "Documentación", clientAvailable: "El punto final A2A de este agente está disponible automáticamente. No se necesita configuración.", addChatIntegration: "Agregar una integración de chat", chatIntegrations: "Integraciones de chat", chatIntegrationsDescription: "Habla con este agente desde otras plataformas.", addIntegration: "Añadir integración", dispatchEntrypoint: "Para un punto de entrada central Slack o Telegram que pueda enrutar el trabajo a través de múltiples aplicaciones, use el", sharedMessaging: "Need one shared messaging surface for your workspace? Connect Slack or Telegram to a dispatch app and let it delegate to other agents over A2A.", }, observability: { noData: "No hay datos disponibles", noConversations: "Aún no se han grabado conversaciones", noEvals: "Aún no se han registrado resultados de la evaluación", noExperiments: "Aún no se han creado experimentos", totalRuns: "Carreras totales", totalCost: "Costo total", avgLatency: "Latencia promedio", toolSuccess: "Éxito de la herramienta", thumbsUp: "Pulgares arriba", avgEvalScore: "Puntuación de evaluación promedio", run: "Run", model: "Modelo", duration: "Duration", cost: "Cost", tools: "Herramientas", time: "Time", failedCount: "({{count}} failed)", backToList: "volver a la lista", spans: "Spans", type: "Tipo", name: "Nombre", tokens: "Tokens", status: "Estado", totalEvals: "Evaluaciones totales", avgScore: "Puntuación media", scoresByCriteria: "Puntuaciones por criterios", overview: "Visión general", conversations: "Conversations", evals: "evaluaciones", experiments: "experimentos", feedback: "Comentarios", variants: "Variants", created: "Created", backToExperiments: "Volver a experimentos", metrics: "Métricas", level: "Level", results: "Resultados", variant: "Variant", metric: "Metric", value: "Value", totalFeedback: "Comentarios totales", thumbsDown: "Pulgares abajo", frustration: "Frustration", thumbsUpRate: "Tasa de aprobación", categories: "Categorías", }, error: { genericTitle: "Algo salió mal", genericDetails: "Se produjo un error inesperado.", notFoundTitle: "Página no encontrada", notFoundDetails: "Esta página no existe. Puede que se haya movido o eliminado.", statusTitle: "Error {{status}}", goHome: "Ir al inicio", }, }; export default messages;