Remove the parent-branch button shown beside the branch selector along with its supporting API, command, service, model, and i18n strings. Add migration m20260423 to drop the now-unused folder.parent_branch column.
2108 lines
96 KiB
JSON
2108 lines
96 KiB
JSON
{
|
|
"Language": {
|
|
"followSystem": "Seguir el sistema",
|
|
"english": "Inglés",
|
|
"simplifiedChinese": "Chino simplificado",
|
|
"traditionalChinese": "Chino tradicional",
|
|
"japanese": "Japonés",
|
|
"korean": "Coreano",
|
|
"spanish": "Español",
|
|
"german": "Alemán",
|
|
"french": "Francés",
|
|
"portuguese": "Portugués",
|
|
"arabic": "Árabe"
|
|
},
|
|
"GitCredentialDialog": {
|
|
"title": "Autenticación requerida",
|
|
"description": "El servidor remoto requiere credenciales. Introduce tu nombre de usuario y contraseña (o token de acceso personal).",
|
|
"username": "Nombre de usuario",
|
|
"usernamePlaceholder": "Usuario o correo electrónico",
|
|
"password": "Contraseña / Token",
|
|
"passwordPlaceholder": "Contraseña o token de acceso personal",
|
|
"passwordHint": "Introduce el nombre de usuario y contraseña del servidor.",
|
|
"cancel": "Cancelar",
|
|
"authenticate": "Autenticar",
|
|
"authenticating": "Autenticando...",
|
|
"invalidCredentials": "Credenciales inválidas. Inténtalo de nuevo.",
|
|
"saveCredentials": "Guardar credenciales para futuras operaciones",
|
|
"githubTitle": "Autenticación de GitHub",
|
|
"githubDescription": "Introduce un token de acceso personal para conectarte a GitHub. El token se validará y guardará automáticamente.",
|
|
"githubToken": "Token de acceso personal",
|
|
"githubTokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"githubTokenHint": "Genera un token en GitHub → Settings → Developer settings → Personal access tokens.",
|
|
"githubAuthenticate": "Validar y conectar",
|
|
"generateToken": "Generar token"
|
|
},
|
|
"SettingsShell": {
|
|
"title": "Configuración",
|
|
"preferences": "Preferencias",
|
|
"nav": {
|
|
"appearance": "Apariencia",
|
|
"agents": "Agentes",
|
|
"mcp": "MCP",
|
|
"skills": "Skills",
|
|
"shortcuts": "Atajos",
|
|
"version_control": "Control de versiones",
|
|
"system": "Sistema",
|
|
"chat_channels": "Canales de chat",
|
|
"web_service": "Servicio Web",
|
|
"model_providers": "Proveedores de Modelos",
|
|
"experts": "Expertos"
|
|
}
|
|
},
|
|
"AppearanceSettings": {
|
|
"sectionTitle": "Apariencia del tema",
|
|
"sectionDescription": "Elige claro, oscuro o seguir el sistema. La configuración se guarda automáticamente.",
|
|
"themeMode": "Modo de tema",
|
|
"placeholder": "Selecciona el modo de tema",
|
|
"system": "Seguir el sistema",
|
|
"light": "Claro",
|
|
"dark": "Oscuro",
|
|
"currentTheme": "Tema efectivo actual: {theme}",
|
|
"resolvedTheme": {
|
|
"light": "Claro",
|
|
"dark": "Oscuro",
|
|
"unknown": "--"
|
|
},
|
|
"themeColor": {
|
|
"sectionTitle": "Color del tema",
|
|
"sectionDescription": "Elige una paleta de colores para acentos, botones y resaltados.",
|
|
"current": "Color actual: {color}",
|
|
"options": {
|
|
"neutral": "Neutral",
|
|
"zinc": "Zinc",
|
|
"slate": "Slate",
|
|
"stone": "Stone",
|
|
"gray": "Gray",
|
|
"red": "Red",
|
|
"rose": "Rose",
|
|
"orange": "Orange",
|
|
"green": "Green",
|
|
"blue": "Blue",
|
|
"yellow": "Yellow",
|
|
"violet": "Violet"
|
|
}
|
|
},
|
|
"zoomLevel": {
|
|
"sectionTitle": "Zoom de ventana",
|
|
"sectionDescription": "Escala toda la interfaz. Se aplica al instante y se guarda por dispositivo.",
|
|
"placeholder": "Selecciona el nivel de zoom",
|
|
"default": "Predeterminado",
|
|
"current": "Zoom actual: {zoom}%"
|
|
},
|
|
"resetToDefaults": "Restablecer valores",
|
|
"resetHint": "Restablece el color del tema y el zoom de ventana a los valores predeterminados."
|
|
},
|
|
"SystemSettings": {
|
|
"loading": "Cargando...",
|
|
"sectionTitle": "Administración del sistema",
|
|
"sectionDescription": "Administra el proxy de red, las actualizaciones de la app y las preferencias de idioma.",
|
|
"proxyTitle": "Proxy de red",
|
|
"proxyDescription": "Cuando está activado, las solicitudes de red posteriores usarán este proxy preferentemente (incluyendo chat ACP, instalación de agentes y operaciones remotas de Git).",
|
|
"loadFailed": "Error al cargar: {message}",
|
|
"enableProxy": "Activar proxy del sistema",
|
|
"proxyAddress": "Dirección del proxy",
|
|
"proxyHint": "Compatible con http(s)/socks5, ejemplo: {example}. Solo funciona cuando el proxy del sistema está activado.",
|
|
"save": "Guardar",
|
|
"saving": "Guardando...",
|
|
"proxyRequired": "Se requiere URL del proxy cuando el proxy está activado",
|
|
"saveSuccess": "La configuración del proxy del sistema se guardó",
|
|
"saveFailed": "Error al guardar: {message}",
|
|
"languageTitle": "Idioma",
|
|
"languageDescription": "Configura el idioma de la app. Al seguir el idioma del sistema, los no compatibles vuelven a inglés.",
|
|
"appLanguage": "Idioma de la app",
|
|
"languageSaveSuccess": "La configuración de idioma se guardó",
|
|
"languageSaveFailed": "No se pudo guardar la configuración de idioma: {message}",
|
|
"updateTitle": "Actualización de la app",
|
|
"versionTitle": "Actualización de software",
|
|
"updateDescription": "Comprueba versiones más nuevas en la fuente de versiones configurada e instálalas directamente cuando estén disponibles.",
|
|
"currentVersion": "Versión actual",
|
|
"upgradableVersion": "Última versión",
|
|
"none": "Ninguna",
|
|
"lastChecked": "Última comprobación: {time}",
|
|
"updateError": "Error de actualización: {message}",
|
|
"checking": "Comprobando...",
|
|
"checkUpdate": "Buscar actualizaciones",
|
|
"updating": "Instalando...",
|
|
"downloading": "Descargando...",
|
|
"upgradeTo": "Actualizar a v{version}",
|
|
"foundUpdate": "Nueva versión v{version} encontrada",
|
|
"alreadyLatest": "Ya tienes la versión más reciente",
|
|
"checkUpdateFailed": "No se pudo buscar actualizaciones: {message}",
|
|
"installSuccess": "Actualización instalada. Reiniciando la app.",
|
|
"installFailed": "La actualización falló: {message}",
|
|
"updateErrors": {
|
|
"sourceUnavailable": "No se puede acceder al origen de actualización. Revisa tu red o proxy e inténtalo de nuevo.",
|
|
"network": "Falló la conexión de red. Revisa tu red o proxy e inténtalo de nuevo.",
|
|
"downloadFailed": "No se pudo descargar el paquete de actualización. Inténtalo más tarde.",
|
|
"installFailed": "No se pudo instalar la actualización. Cierra la app e inténtalo de nuevo.",
|
|
"unknown": "La actualización falló. Inténtalo más tarde."
|
|
}
|
|
},
|
|
"VersionControlSettings": {
|
|
"loading": "Cargando...",
|
|
"sectionTitle": "Control de versiones",
|
|
"sectionDescription": "Configura el ejecutable de Git y gestiona las cuentas de GitHub.",
|
|
"gitTitle": "Configuración de Git",
|
|
"gitDescription": "Configura el ejecutable de Git utilizado por la aplicación.",
|
|
"gitDetected": "Git detectado",
|
|
"gitNotFound": "Git no encontrado en el sistema",
|
|
"gitVersion": "Versión",
|
|
"gitPath": "Ruta",
|
|
"customGitPath": "Ruta personalizada de Git",
|
|
"customGitPathPlaceholder": "/usr/bin/git",
|
|
"customGitPathHint": "Dejar vacío para usar la ruta detectada automáticamente.",
|
|
"test": "Probar",
|
|
"testing": "Probando...",
|
|
"testSuccess": "El ejecutable de Git es válido.",
|
|
"testFailed": "Prueba de Git fallida: {message}",
|
|
"save": "Guardar",
|
|
"saving": "Guardando...",
|
|
"saveSuccess": "Configuración de Git guardada.",
|
|
"saveFailed": "Error al guardar: {message}",
|
|
"githubTitle": "Cuentas de GitHub",
|
|
"githubDescription": "Gestiona las cuentas de GitHub para autenticación. Los tokens se almacenan localmente.",
|
|
"noAccounts": "No hay cuentas de GitHub configuradas.",
|
|
"addAccount": "Añadir cuenta",
|
|
"serverUrl": "URL del servidor",
|
|
"serverUrlPlaceholder": "https://github.com",
|
|
"token": "Token de acceso personal",
|
|
"tokenPlaceholder": "ghp_xxxxxxxxxxxx",
|
|
"generateToken": "Generar token",
|
|
"tokenHint": "Genera un token en GitHub → Settings → Developer settings → Personal access tokens.",
|
|
"validateAndAdd": "Validar y añadir",
|
|
"validating": "Validando...",
|
|
"addSuccess": "Cuenta {username} añadida correctamente.",
|
|
"addFailed": "Error al añadir cuenta: {message}",
|
|
"testConnection": "Probar",
|
|
"connectionSuccess": "Conexión exitosa.",
|
|
"connectionFailed": "Conexión fallida: {message}",
|
|
"setDefault": "Establecer como predeterminada",
|
|
"defaultLabel": "Predeterminada",
|
|
"defaultSet": "Cuenta predeterminada actualizada.",
|
|
"removeAccount": "Eliminar",
|
|
"removeConfirmTitle": "Eliminar cuenta",
|
|
"removeConfirmMessage": "¿Estás seguro de que deseas eliminar la cuenta \"{username}\"?",
|
|
"removeConfirm": "Eliminar",
|
|
"removeCancel": "Cancelar",
|
|
"removeSuccess": "Cuenta eliminada.",
|
|
"scopes": "Alcances",
|
|
"loadFailed": "Error al cargar configuración: {message}",
|
|
"gitAccount": {
|
|
"sectionTitle": "Cuentas de servidor Git",
|
|
"sectionDescription": "Gestiona credenciales para servidores Git que no son GitHub (GitLab, Bitbucket, autoalojados, etc.).",
|
|
"noAccounts": "No hay cuentas de servidor Git configuradas.",
|
|
"addAccount": "Añadir cuenta",
|
|
"addTitle": "Añadir cuenta Git",
|
|
"addDescription": "Introduce la dirección del servidor, nombre de usuario y contraseña o token de acceso.",
|
|
"serverUrl": "URL del servidor",
|
|
"serverUrlPlaceholder": "https://gitlab.example.com",
|
|
"username": "Nombre de usuario",
|
|
"usernamePlaceholder": "Usuario o correo electrónico",
|
|
"password": "Contraseña / Token",
|
|
"passwordPlaceholder": "Contraseña o token de acceso",
|
|
"passwordHint": "Introduce tu contraseña o token de acceso del servidor.",
|
|
"add": "Añadir",
|
|
"serverRequired": "La URL del servidor es obligatoria.",
|
|
"usernameRequired": "El nombre de usuario es obligatorio.",
|
|
"passwordRequired": "La contraseña es obligatoria."
|
|
}
|
|
},
|
|
"ShortcutSettings": {
|
|
"sectionTitle": "Atajos",
|
|
"resetDefault": "Restablecer valores predeterminados",
|
|
"recordInstruction": "Haz clic en el botón derecho y luego pulsa una combinación de teclas. Usa Ctrl/Cmd, Alt y Shift. Pulsa Esc para cancelar la grabación.",
|
|
"recording": "Pulsa un atajo...",
|
|
"toasts": {
|
|
"conflict": "El atajo ya está en uso por \"{title}\"",
|
|
"updated": "Atajo actualizado",
|
|
"invalid": "Atajo no válido, inténtalo de nuevo",
|
|
"reset": "Se restauraron los atajos predeterminados"
|
|
},
|
|
"actions": {
|
|
"toggle_search": {
|
|
"title": "Abrir búsqueda",
|
|
"description": "Muestra u oculta el panel de búsqueda de conversaciones"
|
|
},
|
|
"toggle_sidebar": {
|
|
"title": "Alternar barra lateral izquierda",
|
|
"description": "Muestra u oculta la barra lateral de lista de conversaciones"
|
|
},
|
|
"toggle_terminal": {
|
|
"title": "Alternar terminal",
|
|
"description": "Muestra u oculta el panel de terminal inferior"
|
|
},
|
|
"new_terminal_tab": {
|
|
"title": "Nueva terminal",
|
|
"description": "Crea una nueva pestaña de terminal cuando el foco está en la terminal"
|
|
},
|
|
"close_current_terminal_tab": {
|
|
"title": "Cerrar terminal actual",
|
|
"description": "Cierra la pestaña de terminal actual cuando el foco está en la terminal"
|
|
},
|
|
"toggle_aux_panel": {
|
|
"title": "Alternar panel derecho",
|
|
"description": "Muestra u oculta el panel de información auxiliar"
|
|
},
|
|
"new_conversation": {
|
|
"title": "Nueva conversación",
|
|
"description": "Crea una nueva pestaña de conversación en la carpeta actual"
|
|
},
|
|
"open_folder": {
|
|
"title": "Abrir carpeta",
|
|
"description": "Abre el selector de carpetas y la carpeta en una nueva ventana"
|
|
},
|
|
"open_settings": {
|
|
"title": "Abrir configuración",
|
|
"description": "Abre la ventana de configuración"
|
|
},
|
|
"close_current_tab": {
|
|
"title": "Cerrar pestaña actual",
|
|
"description": "Cierra la conversación o pestaña de archivo actual"
|
|
},
|
|
"close_all_file_tabs": {
|
|
"title": "Cerrar todas las pestañas de archivos",
|
|
"description": "Cierra todas las pestañas de archivos solo en modo de archivos"
|
|
},
|
|
"send_message": {
|
|
"title": "Enviar mensaje",
|
|
"description": "Enviar el mensaje actual en el cuadro de entrada"
|
|
},
|
|
"newline_in_message": {
|
|
"title": "Nueva línea en mensaje",
|
|
"description": "Insertar una nueva línea en el cuadro de entrada"
|
|
}
|
|
}
|
|
},
|
|
"SkillsSettings": {
|
|
"title": "Skills",
|
|
"description": "Selecciona una Skill a la izquierda. A la derecha se muestra una vista previa de Markdown por defecto; cambia a edición para modificar y guardar.",
|
|
"loadingAgents": "Cargando agentes compatibles con Skills...",
|
|
"emptyNoManageableAgents": "No hay agentes disponibles para gestionar Skills.",
|
|
"managedTarget": "Objetivo gestionado",
|
|
"selectAgentPlaceholder": "Selecciona un agente",
|
|
"searchPlaceholder": "Buscar por nombre / ID / ruta...",
|
|
"skillsList": "Lista de Skills",
|
|
"loadingSkills": "Cargando Skills...",
|
|
"agentNotSupported": "El agente actual no admite gestión de Skills.",
|
|
"emptySkills": "Aún no hay Skills. Haz clic en \"Nueva Skill\" para crear una.",
|
|
"newSkillTitle": "Nueva Skill",
|
|
"skillInfo": "Información de la Skill",
|
|
"skillIdPlaceholder": "skill-id (letras/números/-/_/.)",
|
|
"skillsDirectoryWithPath": "Directorio de Skills: {path}",
|
|
"skillsDirectoryNeedId": "Directorio de Skills: introduce el ID de Skill para generar la ruta completa",
|
|
"markdownContent": "Contenido Markdown",
|
|
"editingStatus": "Editando",
|
|
"previewStatus": "Vista previa",
|
|
"contentPlaceholder": "Introduce el contenido Markdown de la Skill...",
|
|
"metadataTitle": "Metadatos de Skills",
|
|
"onlyYamlMetadata": "Esta Skill solo contiene metadatos YAML.",
|
|
"emptyContentHint": "Aún no hay contenido. Haz clic en \"Editar\" para empezar.",
|
|
"loadingSkill": "Cargando Skill...",
|
|
"emptyNoAgents": "No hay agentes disponibles.",
|
|
"noSelectionHint": "Selecciona un Skill a la izquierda o haz clic en \"Nuevo Skill\" para crear uno.",
|
|
"scope": {
|
|
"global": "Global",
|
|
"folder": "Carpeta",
|
|
"selectFolderPlaceholder": "Seleccionar una carpeta",
|
|
"noFolders": "No se encontraron carpetas",
|
|
"pickFolderHint": "Selecciona una carpeta para ver sus Skills."
|
|
},
|
|
"actions": {
|
|
"preview": "Vista previa",
|
|
"edit": "Editar",
|
|
"openInWindow": "Abrir en nueva ventana",
|
|
"delete": "Eliminar",
|
|
"deleting": "Eliminando...",
|
|
"refresh": "Actualizar",
|
|
"newSkill": "Nueva Skill",
|
|
"reset": "Restablecer",
|
|
"save": "Guardar",
|
|
"saving": "Guardando...",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"deleteDialog": {
|
|
"title": "Eliminar Skill",
|
|
"confirm": "¿Eliminar la Skill actual? Esta acción no se puede deshacer.",
|
|
"confirmWithNamePrefix": "¿Eliminar la Skill",
|
|
"confirmWithNameSuffix": "? Esta acción no se puede deshacer."
|
|
},
|
|
"toasts": {
|
|
"loadFailed": "No se pudo cargar la Skill",
|
|
"openFolderFailed": "No se pudo abrir la carpeta",
|
|
"noSkillDirectory": "No se encontró un directorio de Skills disponible para el agente actual",
|
|
"nameRequired": "El nombre de la Skill no puede estar vacío",
|
|
"updated": "Skill actualizada",
|
|
"created": "Skill creada",
|
|
"saveFailed": "No se pudo guardar la Skill",
|
|
"deleted": "Skill eliminada",
|
|
"deleteFailed": "No se pudo eliminar la Skill"
|
|
},
|
|
"templates": {
|
|
"gemini": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Skill Name\n\nInstructions for the agent when this skill is active.\n\n## Workflow\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openCode": "---\nname: example-skill\ndescription: Describe when this skill should be used.\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Steps\n\n1. Add actionable step one.\n2. Add actionable step two.\n",
|
|
"openClaw": "---\nname: example-skill\ndescription: Describe when this skill should be used.\nuser-invocable: true\ndisable-model-invocation: false\n---\n\n# Purpose\n\nDescribe what this skill helps with.\n\n# Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n",
|
|
"default": "# Skill: example-skill\n\n## When to use\n\n- Describe trigger conditions.\n\n## Instructions\n\n1. Add actionable instruction one.\n2. Add actionable instruction two.\n"
|
|
}
|
|
},
|
|
"McpSettings": {
|
|
"loading": "Cargando...",
|
|
"summary": {
|
|
"missingCommand": "(comando faltante)",
|
|
"missingUrl": "(URL faltante)"
|
|
},
|
|
"protocol": {
|
|
"stdio": "Stdio"
|
|
},
|
|
"errors": {
|
|
"selectInstallProtocol": "Selecciona un protocolo de instalación",
|
|
"fieldRequired": "{field} es obligatorio",
|
|
"fieldNeedsBoolean": "{field} debe ser true o false",
|
|
"fieldNeedsNumber": "{field} debe ser un número",
|
|
"fieldNeedsInteger": "{field} debe ser un entero",
|
|
"fieldInvalidJson": "{field} tiene JSON inválido: {message}",
|
|
"fieldOutOfRange": "El valor de {field} está fuera del rango permitido",
|
|
"jsonEmpty": "{name} no puede estar vacío",
|
|
"jsonInvalid": "{name} no es un JSON válido: {message}",
|
|
"jsonMustBeObject": "{name} debe ser un objeto JSON"
|
|
},
|
|
"jsonNames": {
|
|
"localConfig": "Configuración MCP",
|
|
"installConfig": "Configuración de instalación"
|
|
},
|
|
"toasts": {
|
|
"uninstalled": "MCP desinstalado",
|
|
"uninstallFailed": "Error al desinstalar: {message}",
|
|
"selectAtLeastOneApp": "Selecciona al menos una app de destino",
|
|
"saveSuccess": "Guardado",
|
|
"saveFailed": "Error al guardar: {message}",
|
|
"installed": "{name} instalado",
|
|
"installFailed": "Error al instalar: {message}"
|
|
},
|
|
"installDialog": {
|
|
"title": "Confirmar instalación de MCP",
|
|
"descriptionWithName": "Instalar {name} en la configuración local.",
|
|
"description": "Selecciona las apps de destino para la instalación.",
|
|
"protocol": "Protocolo",
|
|
"selectProtocol": "Seleccionar protocolo",
|
|
"parameters": "Parámetros de configuración",
|
|
"booleanPlaceholder": "Selecciona true/false",
|
|
"selectOneValue": "Selecciona un valor",
|
|
"targetApps": "Apps de destino"
|
|
},
|
|
"actions": {
|
|
"cancel": "Cancelar",
|
|
"confirmInstall": "Confirmar instalación",
|
|
"installing": "Instalando",
|
|
"uninstall": "Desinstalar",
|
|
"uninstalling": "Desinstalando",
|
|
"viewDetails": "Ver detalles",
|
|
"save": "Guardar",
|
|
"saving": "Guardando",
|
|
"install": "Instalar"
|
|
},
|
|
"tabs": {
|
|
"local": "MCP local",
|
|
"market": "Marketplace MCP"
|
|
},
|
|
"local": {
|
|
"filterPlaceholder": "Filtrar MCP local...",
|
|
"loadFailed": "Error de carga: {message}",
|
|
"empty": "No se detectó MCP local.",
|
|
"description": "La configuración de MCP local se puede editar y guardar directamente.",
|
|
"enabledApps": "Apps habilitadas",
|
|
"configJson": "Configuración MCP (JSON)"
|
|
},
|
|
"market": {
|
|
"selectMarketplace": "Seleccionar marketplace",
|
|
"searchPlaceholder": "Buscar MCP...",
|
|
"searchFailed": "Error de búsqueda: {message}",
|
|
"loadingList": "Cargando lista de MCP...",
|
|
"empty": "Sin resultados de MCP.",
|
|
"loadingDetail": "Cargando detalles del marketplace...",
|
|
"detailLoadFailed": "No se pudieron cargar los detalles: {message}",
|
|
"owner": "Propietario: {owner}",
|
|
"namespace": "Espacio de nombres: {namespace}",
|
|
"defaultInstallProtocol": "Protocolo de instalación predeterminado",
|
|
"currentOptionParameterCount": "Cantidad de parámetros de la opción actual: {count}",
|
|
"installConfigDescription": "Configuración de instalación (JSON, editable antes de instalar; las ediciones sobrescribirán el formulario de protocolo/parámetros)",
|
|
"selectLeftToView": "Selecciona un MCP del marketplace a la izquierda para ver detalles."
|
|
},
|
|
"badges": {
|
|
"verified": "Verificado",
|
|
"remote": "Remoto",
|
|
"hasHomepage": "Tiene página web",
|
|
"uses": "{count} usos",
|
|
"deployed": "Desplegado",
|
|
"notDeployed": "No desplegado"
|
|
},
|
|
"selectLeftMcp": "Selecciona un MCP a la izquierda."
|
|
},
|
|
"AcpAgentSettings": {
|
|
"title": "Gestión del SDK de agentes",
|
|
"description": "Gestiona en un solo lugar la conexión del SDK de agentes, estado habilitado, variables de entorno, gestión de configuración e información de preflight de versión.",
|
|
"loadingAgents": "Cargando lista de agentes...",
|
|
"agentList": "Lista de agentes",
|
|
"emptyNoAgent": "No hay agentes disponibles.",
|
|
"configManagement": "Gestión de configuración",
|
|
"envVars": "Variables de entorno",
|
|
"nativeJsonConfig": "Configuración JSON nativa",
|
|
"modelHintDefault": "Déjalo vacío para usar el modelo predeterminado del sistema.",
|
|
"generalConfigDescriptionClaude": "Admite configuración rápida de API URL, API Key y modelos de Claude, y sincroniza con la configuración JSON nativa.",
|
|
"generalConfigDescriptionDefault": "Admite entrada de configuración importante (API URL, API Key, Model) y gestión de configuración JSON nativa.",
|
|
"actions": {
|
|
"dragSort": "Arrastrar para reordenar",
|
|
"dragSortAgent": "Arrastrar para reordenar {name}",
|
|
"refreshCheck": "Actualizar comprobación",
|
|
"refreshCheckAgent": "Actualizar comprobación de {name}",
|
|
"clickEnable": "Haz clic para habilitar {name}",
|
|
"clickDisable": "Haz clic para deshabilitar {name}",
|
|
"install": "Instalar",
|
|
"upgrade": "Actualizar",
|
|
"uninstall": "Desinstalar",
|
|
"uninstalling": "Desinstalando...",
|
|
"saveEnvVars": "Guardar variables de entorno",
|
|
"saving": "Guardando...",
|
|
"saveCodexConfig": "Guardar configuración de Codex",
|
|
"saveGeminiConfig": "Guardar configuración de Gemini",
|
|
"saveOpenCodeConfig": "Guardar configuración de OpenCode",
|
|
"saveOpenClawConfig": "Guardar configuración de OpenClaw",
|
|
"saveConfigManagement": "Guardar gestión de configuración",
|
|
"saveCurrentProvider": "Guardar proveedor actual",
|
|
"showApiKey": "Mostrar API Key",
|
|
"hideApiKey": "Ocultar API Key",
|
|
"showKey": "Mostrar clave",
|
|
"hideKey": "Ocultar clave",
|
|
"showToken": "Mostrar token",
|
|
"hideToken": "Ocultar token",
|
|
"cancel": "Cancelar",
|
|
"delete": "Eliminar",
|
|
"deleting": "Eliminando...",
|
|
"confirmDelete": "Confirmar eliminación",
|
|
"confirmUninstall": "Confirmar desinstalación",
|
|
"saveClineConfig": "Guardar configuración de Cline"
|
|
},
|
|
"status": {
|
|
"enabled": "Habilitado",
|
|
"disabled": "Deshabilitado",
|
|
"unchecked": "Sin comprobar",
|
|
"agentEnabledAria": "{name} habilitado",
|
|
"agentEnabledSwitch": "Interruptor de habilitación de {name}"
|
|
},
|
|
"preflight": {
|
|
"count": "Elementos de preflight: {count}",
|
|
"notRun": "Las comprobaciones aún no se han ejecutado."
|
|
},
|
|
"codex": {
|
|
"configDescription": "Admite configuración rápida de URL de API, API Key, nombre del modelo y reasoning effort, y sincroniza con `auth.json` / `config.toml`.",
|
|
"authMode": "Modo de Autenticación",
|
|
"chatgptSubscription": "Suscripción oficial",
|
|
"chatgptSubscriptionHint": "Iniciar sesión con suscripción oficial de ChatGPT, sin necesidad de API Key",
|
|
"apiKeyHint": "Conectar usando API Key a OpenAI o servicios API compatibles",
|
|
"selectProvider": "Seleccionar proveedor",
|
|
"modelName": "Nombre del modelo",
|
|
"selectReasoningEffort": "Seleccionar Reasoning Effort",
|
|
"enableWebsocket": "Habilitar WebSocket",
|
|
"enableWebsocketAria": "Habilitar WebSocket para Codex Provider",
|
|
"enableSkills": "Habilitar Skills",
|
|
"enableSkillsAria": "Habilitar Skills para Codex",
|
|
"enableFast": "Habilitar Fast",
|
|
"enableFastAria": "Habilitar nivel de servicio Fast para Codex",
|
|
"authJsonNative": "auth.json (nativo)",
|
|
"configTomlNative": "config.toml (nativo)",
|
|
"loginButton": "Iniciar sesión con ChatGPT",
|
|
"loginRequesting": "Solicitando código de inicio de sesión...",
|
|
"loginStep1": "Abre la siguiente URL en tu navegador:",
|
|
"loginStep2": "Introduce el siguiente código:",
|
|
"loginPolling": "Esperando autorización...",
|
|
"loginCancel": "Cancelar",
|
|
"loginSuccess": "¡Inicio de sesión exitoso, configuración guardada!",
|
|
"loginFailed": "Error de inicio de sesión: {message}",
|
|
"loginRetry": "Reintentar",
|
|
"loginCodeCopied": "Código copiado",
|
|
"loggedIn": "Cuenta conectada",
|
|
"loginRelogin": "Reconectar / Cambiar cuenta",
|
|
"loginTimeout": "Tiempo de inicio de sesión agotado, inténtalo de nuevo",
|
|
"loginSaveFailed": "Inicio de sesión exitoso pero falló al guardar la configuración"
|
|
},
|
|
"gemini": {
|
|
"authConfig": "Configuración de autenticación de Gemini",
|
|
"authConfigDescription": "Alineado con la documentación de autenticación de Gemini CLI, con soporte para endpoint personalizado, inicio de sesión de Google, Gemini API Key y Vertex AI (ADC / cuenta de servicio / API Key).",
|
|
"authMode": "Modo de autenticación",
|
|
"selectAuthMode": "Seleccionar modo de autenticación",
|
|
"viewAuthDoc": "Ver documentación de autenticación",
|
|
"mode": {
|
|
"custom": "Endpoint personalizado",
|
|
"loginGoogle": "Inicio de sesión de Google (OAuth)",
|
|
"vertexServiceAccount": "Vertex AI (Cuenta de servicio)"
|
|
},
|
|
"hint": {
|
|
"custom": "Completa API URL, API Key y Modelo; se mapean a GOOGLE_GEMINI_BASE_URL / GEMINI_API_KEY / GEMINI_MODEL.",
|
|
"loginGoogle": "Ejecuta gemini en terminal y completa primero el inicio de sesión de Google; no se requiere API key.",
|
|
"geminiApiKey": "Completa GEMINI_API_KEY cuando uses la API de Gemini.",
|
|
"vertexAdc": "Usa gcloud ADC; se recomienda configurar GOOGLE_CLOUD_PROJECT y GOOGLE_CLOUD_LOCATION.",
|
|
"vertexServiceAccount": "Establece la ruta del JSON de la cuenta de servicio en GOOGLE_APPLICATION_CREDENTIALS.",
|
|
"vertexApiKey": "Completa GOOGLE_API_KEY cuando uses API key de Vertex AI."
|
|
}
|
|
},
|
|
"openCode": {
|
|
"configManagement": "Gestión de configuración de OpenCode",
|
|
"configDescription": "Alineado con el esquema `provider` de OpenCode, admite gestión de múltiples proveedores y sincronización bidireccional con archivos JSON nativos.",
|
|
"providerManagement": "Gestión de proveedores",
|
|
"providerCount": "{count} proveedores",
|
|
"addProvider": "Agregar proveedor",
|
|
"emptyProvider": "Aún no hay proveedor. Introduce un ID y haz clic en \"Agregar proveedor\".",
|
|
"providerEnabledState": "Estado habilitado de {providerId}",
|
|
"selectProviderNpm": "Seleccionar provider.npm",
|
|
"notSet": "No establecido",
|
|
"modelManagement": "Gestión de modelos",
|
|
"modelCount": "{count} modelos",
|
|
"modelDescription": "Alineado con `provider.models` de OpenCode. La gestión rápida actualmente soporta `name` / `id`; otros campos avanzados se conservan y se pueden editar en el JSON nativo de abajo.",
|
|
"addModel": "Agregar modelo",
|
|
"emptyModel": "Aún no hay modelo. Introduce model id y haz clic en \"Agregar modelo\".",
|
|
"modelId": "ID de modelo",
|
|
"modelName": "Nombre del modelo",
|
|
"deleteModel": "Eliminar modelo {modelId}",
|
|
"nativeJsonConfig": "Configuración JSON nativa de OpenCode",
|
|
"mainModel": "Modelo principal",
|
|
"smallModel": "Modelo pequeño",
|
|
"noMatchingModels": "No hay modelos coincidentes"
|
|
},
|
|
"openClaw": {
|
|
"gatewayConfig": "Configuración de Gateway",
|
|
"gatewayDescription": "Configura la conexión de OpenClaw Gateway. Admite gateway local o remoto.",
|
|
"gatewayUrlHint": "Déjalo vacío para usar gateway.remote.url desde la configuración local de openclaw.",
|
|
"gatewayTokenPlaceholder": "Token de autenticación de Gateway",
|
|
"gatewayTokenHint": "Usa token-file en lugar de token en texto plano cuando sea posible; configúralo con el CLI de openclaw.",
|
|
"sessionKeyHint": "Opcional. Especifica la session key del gateway; si se deja vacío se asigna automáticamente una sesión aislada."
|
|
},
|
|
"authModeOfficialSubscription": "Suscripción oficial",
|
|
"authModeCustomEndpoint": "Endpoint personalizado",
|
|
"authModeCustomEndpointHint": "Configurar manualmente la URL de API y la clave API para un endpoint personalizado.",
|
|
"authModeModelProvider": "Proveedor de modelo",
|
|
"modelProvider": "Proveedor de modelo",
|
|
"modelProviderHint": "Usar la URL de API y la clave API de un proveedor de modelo configurado.",
|
|
"selectModelProvider": "Seleccionar proveedor de modelo",
|
|
"noModelProviderAvailable": "No hay proveedor de modelo configurado para este agente. Vaya a la configuración de proveedores de modelo para agregar uno.",
|
|
"claude": {
|
|
"authMode": "Modo de autenticación",
|
|
"officialSubscription": "Suscripción oficial",
|
|
"officialSubscriptionHint": "Usar la suscripción oficial de Anthropic, no se requiere API Key.",
|
|
"mainModel": "Modelo principal",
|
|
"reasoningModel": "Modelo de razonamiento (thinking)",
|
|
"haikuDefaultModel": "Modelo Haiku predeterminado",
|
|
"sonnetDefaultModel": "Modelo Sonnet predeterminado",
|
|
"opusDefaultModel": "Modelo Opus predeterminado",
|
|
"effortLevel": "Nivel de razonamiento",
|
|
"effortLevelDefault": "Nivel predeterminado",
|
|
"effortLevel_low": "Bajo",
|
|
"effortLevel_medium": "Medio",
|
|
"effortLevel_high": "Alto",
|
|
"effortLevel_xhigh": "Extra Alto"
|
|
},
|
|
"dialogs": {
|
|
"confirmDeleteProvider": "¿Eliminar proveedor {providerId}?",
|
|
"confirmDeleteProviderDescription": "La configuración de OpenCode y auth JSON se actualizarán juntos. Esta acción no se puede deshacer.",
|
|
"confirmUninstall": "¿Desinstalar {name}?",
|
|
"confirmUninstallDescription": "Esto elimina la versión instalada localmente. Puedes reinstalar más tarde."
|
|
},
|
|
"errors": {
|
|
"nativeJsonMustBeObject": "La configuración JSON nativa debe ser un objeto",
|
|
"nativeJsonInvalid": "Error de formato en JSON nativo: {message}",
|
|
"openCodeAuthMustBeObject": "OpenCode auth.json debe ser un objeto JSON",
|
|
"openCodeAuthInvalid": "Error de formato en OpenCode auth.json: {message}",
|
|
"authMustBeObject": "auth.json debe ser un objeto JSON",
|
|
"authInvalid": "Error de formato en auth.json: {message}",
|
|
"providerIdPattern": "El ID de proveedor solo admite letras, números, guion bajo, punto y guion",
|
|
"providerExists": "El proveedor '{providerId}' ya existe",
|
|
"modelIdPattern": "El ID de modelo solo admite letras, números, guion bajo, punto, dos puntos y guion",
|
|
"modelExists": "El modelo '{modelId}' ya existe"
|
|
},
|
|
"warnings": {
|
|
"nativeJsonRecoveredStructured": "La configuración JSON nativa es inválida; se restableció a configuración estructurada",
|
|
"nativeJsonRecoveredOpenCode": "La configuración JSON nativa es inválida; se restableció a configuración estructurada de OpenCode",
|
|
"openCodeAuthRecovered": "OpenCode auth.json es inválido; se restableció a configuración predeterminada",
|
|
"authRecoveredStructured": "auth.json es inválido; se restableció a configuración estructurada"
|
|
},
|
|
"toasts": {
|
|
"agentActionCompleted": "{name} {action} completado",
|
|
"agentActionFailed": "{name} {action} falló",
|
|
"localVersion": "Versión local: {version}",
|
|
"installCompletedVersionLater": "Instalación completada, la versión se actualizará en la próxima comprobación",
|
|
"uninstallCompleted": "Desinstalación de {name} completada",
|
|
"uninstallFailed": "Desinstalación de {name} fallida",
|
|
"localVersionRemoved": "Versión local eliminada",
|
|
"saveAgentOrderFailed": "No se pudo guardar el orden de Agent",
|
|
"saveAgentSwitchFailed": "No se pudo guardar el switch de Agent",
|
|
"saveEnvFailed": "No se pudieron guardar las variables de entorno",
|
|
"codexSaved": "Configuración de Codex guardada",
|
|
"saveCodexNativeFailed": "No se pudo guardar la configuración nativa de Codex",
|
|
"geminiSaved": "Configuración de Gemini guardada",
|
|
"saveGeminiFailed": "No se pudo guardar la configuración de Gemini",
|
|
"providerDeleted": "Proveedor {providerId} eliminado",
|
|
"providerDeleteFailed": "No se pudo eliminar el proveedor {providerId}",
|
|
"providerSaved": "Proveedor {providerId} guardado",
|
|
"saveProviderFailed": "No se pudo guardar el proveedor {providerId}",
|
|
"openCodeConfigSynced": "La configuración de OpenCode y auth JSON se sincronizaron.",
|
|
"openCodeSaved": "Configuración de OpenCode guardada",
|
|
"saveOpenCodeFailed": "No se pudo guardar la configuración de OpenCode",
|
|
"openClawSaved": "Configuración de OpenClaw guardada",
|
|
"saveOpenClawFailed": "No se pudo guardar la configuración de OpenClaw",
|
|
"configSaved": "Configuración guardada",
|
|
"configSavedHint": "Las sesiones existentes deben reabrirse para que surta efecto",
|
|
"saveConfigManagementFailed": "No se pudo guardar la gestión de configuración",
|
|
"clineSaved": "Configuración de Cline guardada",
|
|
"saveClineFailed": "Error al guardar la configuración de Cline",
|
|
"modelProviderRequired": "Seleccione un proveedor de modelo antes de guardar."
|
|
},
|
|
"version": {
|
|
"statusLabel": "Estado de versión",
|
|
"notInstalled": "No instalado",
|
|
"remoteLocal": "Remota: {remoteVersion} · Local: {localVersion}",
|
|
"platformUnsupported": "{versionText}. La plataforma actual no soporta este agente.",
|
|
"clickInstall": "{versionText}. Haz clic en Instalar a la derecha.",
|
|
"localUnrecognized": "{versionText}. La versión local no es comparable; intenta actualizar para sobrescribir la instalación.",
|
|
"upgradeAvailable": "{versionText}. Hay actualización disponible.",
|
|
"remoteUnavailable": "{versionText}. La versión remota no está disponible por ahora.",
|
|
"latest": "{versionText}. Ya está en la última versión."
|
|
},
|
|
"cline": {
|
|
"configDescription": "Configure el proveedor de API y las credenciales de Cline. La configuración se guarda en ~/.cline/data/."
|
|
},
|
|
"opencodePlugins": {
|
|
"title": "Plugins de OpenCode",
|
|
"declared": "Plugins declarados",
|
|
"noPlugins": "No hay plugins declarados en opencode.json",
|
|
"status": {
|
|
"installed": "Instalado",
|
|
"missing": "No instalado"
|
|
},
|
|
"installAll": "Instalar todos los faltantes",
|
|
"pinVersions": "Fijar versiones @latest",
|
|
"install": "Instalar",
|
|
"uninstall": "Desinstalar",
|
|
"refresh": "Actualizar",
|
|
"success": "Todos los plugins se instalaron correctamente",
|
|
"failed": "La operación del plugin falló"
|
|
}
|
|
},
|
|
"SettingsPages": {
|
|
"agentsLoading": "Cargando configuración de agentes..."
|
|
},
|
|
"CommitPage": {
|
|
"title": "Confirmación",
|
|
"invalidFolderId": "ID de carpeta no válido",
|
|
"loadingRepo": "Cargando repositorio..."
|
|
},
|
|
"MergePage": {
|
|
"title": "Resolver conflictos",
|
|
"invalidFolderId": "ID de carpeta no válido",
|
|
"loadingRepo": "Cargando repositorio...",
|
|
"localVersion": "Local (Nuestro)",
|
|
"result": "Resultado",
|
|
"remoteVersion": "Remoto (Suyo)",
|
|
"acceptLocal": "Aceptar local",
|
|
"acceptRemote": "Aceptar remoto",
|
|
"markResolved": "Marcar como resuelto",
|
|
"abortMerge": "Abortar",
|
|
"completeMerge": "Completar fusión",
|
|
"unresolvedConflicts": "Todavía hay marcadores de conflicto sin resolver en este archivo",
|
|
"fileResolved": "Archivo resuelto correctamente",
|
|
"allResolved": "Todos los conflictos resueltos",
|
|
"conflictFiles": "Archivos en conflicto",
|
|
"loadingFile": "Cargando archivo...",
|
|
"preparingMerge": "Preparando fusión...",
|
|
"selectFile": "Seleccionar un archivo para resolver",
|
|
"noConflicts": "No hay archivos en conflicto",
|
|
"skipFile": "Omitir",
|
|
"abortSuccess": "Operación abortada",
|
|
"applyAllNonConflicting": "Aplicar todos los cambios sin conflicto",
|
|
"applyLeftNonConflicting": "Aplicar local",
|
|
"applyRightNonConflicting": "Aplicar remoto"
|
|
},
|
|
"Folder": {
|
|
"workspaceStatus": {
|
|
"degradedTitle": "Actualizaciones en vivo no disponibles",
|
|
"degradedHint": "El observador no pudo iniciarse (por ejemplo, permiso denegado). Actualiza manualmente para ver los cambios.",
|
|
"retry": "Reintentar",
|
|
"retrying": "Reintentando..."
|
|
},
|
|
"common": {
|
|
"all": "Todo",
|
|
"cancel": "Cancelar",
|
|
"close": "Cerrar",
|
|
"closeOthers": "Cerrar otros",
|
|
"closeAll": "Cerrar todo",
|
|
"confirm": "Confirmar",
|
|
"save": "Guardar",
|
|
"delete": "Eliminar",
|
|
"rename": "Renombrar",
|
|
"loading": "Cargando...",
|
|
"refresh": "Actualizar",
|
|
"refreshing": "Actualizando...",
|
|
"create": "Crear",
|
|
"createAndSwitch": "Crear y cambiar",
|
|
"openFile": "Abrir archivo",
|
|
"viewDiff": "Ver Diff",
|
|
"push": "Enviar..."
|
|
},
|
|
"modes": {
|
|
"conversation": "Modo conversación",
|
|
"fusion": "Modo fusión",
|
|
"files": "Modo archivos",
|
|
"workspaceModesAria": "Modos del espacio de trabajo"
|
|
},
|
|
"statusLabels": {
|
|
"in_progress": "En progreso",
|
|
"pending_review": "Revisión",
|
|
"completed": "Completado",
|
|
"cancelled": "Cancelado"
|
|
},
|
|
"sidebar": {
|
|
"title": "Conversaciones",
|
|
"locateActiveConversation": "Ubicar conversación activa",
|
|
"expandAllGroups": "Expandir todos los grupos",
|
|
"collapseAllGroups": "Colapsar todos los grupos",
|
|
"newConversation": "Nueva conversación",
|
|
"noConversationsFound": "No se encontraron conversaciones.",
|
|
"importLocalSessions": "Importar sesiones locales",
|
|
"importing": "Importando...",
|
|
"error": "Error del sistema: {message}",
|
|
"completeAllSessions": "Completar todas las sesiones",
|
|
"completeAllReviewTitle": "¿Completar todas las sesiones en revisión?",
|
|
"completeAllReviewDescription": "Esto marcará como completadas todas las {count, plural, one {# sesión} other {# sesiones}} en Revisión.",
|
|
"completing": "Completando...",
|
|
"toasts": {
|
|
"importedSessions": "Se importaron {imported, plural, one {# sesión} other {# sesiones}}, se omitieron {skipped}",
|
|
"noNewSessionsFound": "No se encontraron sesiones nuevas (omitidas {skipped})",
|
|
"importFailed": "Error al importar: {message}",
|
|
"reviewCompleted": "Se marcaron como completadas {count, plural, one {# sesión en revisión} other {# sesiones en revisión}}",
|
|
"completeReviewFailed": "Error al completar sesiones en revisión: {message}",
|
|
"folderOpened": "Carpeta {name} abierta",
|
|
"folderRemoved": "Carpeta {name} eliminada",
|
|
"openFolderFailed": "Error al abrir carpeta",
|
|
"removeFolderFailed": "Error al eliminar carpeta: {message}",
|
|
"reorderFoldersFailed": "Error al reordenar carpetas: {message}"
|
|
},
|
|
"statsLabel": "{folders} carpetas · {convos} conversaciones",
|
|
"reorderHandle": "Arrastrar para reordenar",
|
|
"openFolder": "Abrir carpeta",
|
|
"searchPlaceholder": "Buscar conversaciones...",
|
|
"showCompleted": "Mostrar conversaciones completadas",
|
|
"moreOptions": "Más opciones",
|
|
"sortBy": "Ordenar por",
|
|
"sortByCreatedAt": "Fecha de creación",
|
|
"sortByUpdatedAt": "Fecha de actualización",
|
|
"statusRunningBadge": "Ejecutando",
|
|
"statusFailedBadge": "Fallido",
|
|
"conversationCountUnit": "{count, plural, one {# conversación} other {# conversaciones}}",
|
|
"emptyFolderHint": "Sin conversaciones",
|
|
"noMatchingConversations": "No hay conversaciones coincidentes",
|
|
"removeFolderConfirmTitle": "¿Eliminar carpeta del espacio de trabajo?",
|
|
"removeFolderConfirmDescription": "¿Eliminar \"{name}\" del espacio de trabajo? Sus pestañas y terminales se cerrarán.",
|
|
"folderHeaderMenu": {
|
|
"manageConversations": "Gestionar conversaciones…",
|
|
"removeFromWorkspace": "Quitar del espacio de trabajo"
|
|
},
|
|
"manageConversations": {
|
|
"title": "Gestionar conversaciones — {name}",
|
|
"searchPlaceholder": "Buscar por título…",
|
|
"agentFilterAll": "Todos los agentes",
|
|
"statusFilterAll": "Todos los estados",
|
|
"selectAllVisible": "Seleccionar todo",
|
|
"deselectAll": "Deseleccionar todo",
|
|
"selectedCount": "{count} seleccionada(s)",
|
|
"matchedCount": "{count} coincidencia(s)",
|
|
"messagesShort": "{count} msg",
|
|
"untitledConversation": "Conversación sin título",
|
|
"setStatus": "Cambiar estado…",
|
|
"deleteSelected": "Eliminar",
|
|
"noConversations": "No hay conversaciones en esta carpeta.",
|
|
"noMatchingConversations": "Ninguna conversación coincide con los filtros.",
|
|
"confirmDeleteTitle": "¿Eliminar {count} conversación(es)?",
|
|
"confirmDeleteDescription": "Esta acción no se puede deshacer.",
|
|
"toastDeleted": "Se eliminaron {count} conversación(es)",
|
|
"toastStatusUpdated": "Estado actualizado para {count} conversación(es)",
|
|
"toastOpFailed": "Error en la operación: {message}"
|
|
}
|
|
},
|
|
"conversation": {
|
|
"reloadFailed": "No se pudo recargar la conversación: {message}",
|
|
"reloaded": "Conversación recargada",
|
|
"reload": "Recargar",
|
|
"newConversation": "Nueva conversación",
|
|
"closeConversation": "Cerrar conversación",
|
|
"copyText": "Copiar texto",
|
|
"copyTextSuccess": "Copiado",
|
|
"copyTextFailed": "Error al copiar",
|
|
"forkSession": "Bifurcar sesión",
|
|
"forkSessionSuccess": "Sesión bifurcada exitosamente",
|
|
"forkSessionFailed": "Error al bifurcar la sesión: {error}",
|
|
"exportConversation": "Exportar conversación",
|
|
"exportImage": "Imagen",
|
|
"exportMarkdown": "Markdown",
|
|
"exportHtml": "HTML",
|
|
"exportSuccess": "Conversación exportada",
|
|
"exportFailed": "Error al exportar",
|
|
"exportImageTooLong": "La conversación es demasiado larga para exportar como imagen",
|
|
"exportLabels": {
|
|
"untitledConversation": "Conversación sin título",
|
|
"agent": "Agente",
|
|
"model": "Modelo",
|
|
"status": "Estado",
|
|
"started": "Inicio",
|
|
"updated": "Actualizado",
|
|
"tokens": "Estadísticas de tokens",
|
|
"duration": "Duración",
|
|
"inputTokens": "Entrada",
|
|
"outputTokens": "Salida",
|
|
"cacheRead": "Caché leída",
|
|
"cacheWrite": "Caché escrita",
|
|
"user": "Usuario",
|
|
"assistant": "Asistente",
|
|
"system": "Sistema",
|
|
"toolResult": "Resultado",
|
|
"toolError": "Error"
|
|
}
|
|
},
|
|
"conversationCard": {
|
|
"untitledConversation": "Conversación sin título",
|
|
"newConversation": "Nueva conversación",
|
|
"rename": "Renombrar",
|
|
"status": "Estado",
|
|
"delete": "Eliminar",
|
|
"importLocalSessions": "Importar sesiones locales",
|
|
"importing": "Importando...",
|
|
"renameConversation": "Renombrar conversación",
|
|
"deleteConversationTitle": "¿Eliminar conversación?",
|
|
"deleteConversationDescription": "Esto eliminará \"{title}\". Esta acción no se puede deshacer.",
|
|
"cancel": "Cancelar",
|
|
"save": "Guardar"
|
|
},
|
|
"search": {
|
|
"dialogTitle": "Buscar",
|
|
"tabConversations": "Conversaciones",
|
|
"tabFiles": "Archivos",
|
|
"placeholder": "Buscar conversaciones...",
|
|
"filePlaceholder": "Buscar archivos o directorios...",
|
|
"allAgents": "Todo",
|
|
"searching": "Buscando...",
|
|
"typeToSearch": "Escribe para buscar conversaciones",
|
|
"typeToSearchFiles": "Escribe para buscar archivos o directorios",
|
|
"noResults": "No se encontraron resultados.",
|
|
"untitledConversation": "Conversación sin título"
|
|
},
|
|
"folderTitleBar": {
|
|
"showSidebar": "Mostrar barra lateral",
|
|
"hideSidebar": "Ocultar barra lateral",
|
|
"toggleTerminal": "Alternar terminal",
|
|
"toggleAuxPanel": "Alternar panel auxiliar",
|
|
"search": "Buscar",
|
|
"openSettings": "Abrir configuración",
|
|
"withShortcut": "{label} (atajo: {shortcut})"
|
|
},
|
|
"statusBar": {
|
|
"connection": {
|
|
"connected": "Conectado",
|
|
"connecting": "Conectando...",
|
|
"prompting": "Respondiendo...",
|
|
"error": "Error de conexión",
|
|
"disconnected": "Desconectado",
|
|
"tooltip": "{agent}: {status}",
|
|
"tooltipError": "{agent}: {error}"
|
|
},
|
|
"tasks": {
|
|
"title": "Tareas"
|
|
},
|
|
"alerts": {
|
|
"title": "Alertas",
|
|
"empty": "Sin alertas"
|
|
},
|
|
"stats": {
|
|
"conversations": "{count} conversaciones",
|
|
"summary": "{conversations} conversaciones / {messages} mensajes"
|
|
},
|
|
"tokens": {
|
|
"contextWindowUsageAria": "Uso de la ventana de contexto",
|
|
"contextWindow": "Ventana de contexto",
|
|
"usedMax": "Usado / Máx",
|
|
"tokenUsage": "Uso de tokens",
|
|
"input": "Entrada",
|
|
"output": "Salida",
|
|
"cacheRead": "Lectura de caché",
|
|
"cacheWrite": "Escritura de caché",
|
|
"total": "Total de tokens"
|
|
}
|
|
},
|
|
"auxPanel": {
|
|
"tabs": {
|
|
"diff": "Diferencias",
|
|
"files": "Archivos",
|
|
"changes": "Cambios",
|
|
"commits": "Confirmaciones"
|
|
},
|
|
"noFolderTitle": "No hay carpeta abierta",
|
|
"noFolderHint": "Abre una carpeta para ver su contenido aquí"
|
|
},
|
|
"windowControls": {
|
|
"minimizeWindow": "Minimizar ventana",
|
|
"minimize": "Minimizar",
|
|
"maximizeWindow": "Maximizar ventana",
|
|
"maximize": "Maximizar",
|
|
"restoreWindow": "Restaurar ventana",
|
|
"restore": "Restaurar",
|
|
"closeWindow": "Cerrar ventana",
|
|
"close": "Cerrar"
|
|
},
|
|
"tabs": {
|
|
"closeConversationTab": "Cerrar pestaña de conversación",
|
|
"close": "Cerrar",
|
|
"closeOthers": "Cerrar otros",
|
|
"closeAll": "Cerrar todo",
|
|
"tileDisplay": "Vista en mosaico",
|
|
"untileDisplay": "Salir de mosaico"
|
|
},
|
|
"fileWorkspace": {
|
|
"files": "Archivos",
|
|
"closeFileTab": "Cerrar pestaña de archivo",
|
|
"close": "Cerrar",
|
|
"closeOthers": "Cerrar otros",
|
|
"closeAll": "Cerrar todo",
|
|
"preview": "Vista previa",
|
|
"editSource": "Editar fuente"
|
|
},
|
|
"terminal": {
|
|
"rename": "Renombrar",
|
|
"close": "Cerrar",
|
|
"closeOthers": "Cerrar otros",
|
|
"closeAll": "Cerrar todo",
|
|
"hideTerminal": "Ocultar terminal ({shortcut})",
|
|
"openFolderFirst": "Abre primero una carpeta"
|
|
},
|
|
"sessionFiles": {
|
|
"currentResponse": "Respuesta actual",
|
|
"noDiffDataAvailable": "No hay datos de diff disponibles para {filePath}",
|
|
"loading": "Cargando...",
|
|
"noFileChangesInConversation": "No se encontraron cambios de archivos en esta conversación",
|
|
"openConversationToSeeChanges": "Abre una conversación para ver sus cambios de archivos",
|
|
"remove": "Quitar",
|
|
"changeCount": "{count, plural, one {# cambio} other {# cambios}}",
|
|
"fileCount": "{count, plural, one {# archivo} other {# archivos}}"
|
|
},
|
|
"folderNameDropdown": {
|
|
"fallbackFolderName": "Carpeta",
|
|
"openFolder": "Abrir carpeta",
|
|
"cloneRepository": "Clonar repositorio",
|
|
"projectBoot": "Inicializador de proyecto",
|
|
"opened": "Abierto",
|
|
"recentOpen": "Abiertos recientemente"
|
|
},
|
|
"fileWorkspacePanel": {
|
|
"viewDiff": "Ver Diff",
|
|
"openFile": "Abrir archivo",
|
|
"fileCount": "{count, plural, one {# archivo} other {# archivos}}",
|
|
"openFileOrDiff": "Abre un archivo o diff desde el panel derecho",
|
|
"disk": "Disco",
|
|
"head": "HEAD (referencia)",
|
|
"unsaved": "Sin guardar",
|
|
"workingTree": "Árbol de trabajo",
|
|
"loading": "Cargando...",
|
|
"compareWithBranch": "{path} · comparar con {branch}",
|
|
"hunkCount": "{count, plural, one {# bloque} other {# bloques}}",
|
|
"prev": "Anterior",
|
|
"next": "Siguiente",
|
|
"jumpToLine": "Ir a la línea {line}",
|
|
"noParsedDiffSections": "No hay secciones de diff analizadas",
|
|
"loadingEditor": "Cargando editor...",
|
|
"imageZoomIn": "Ampliar",
|
|
"imageZoomOut": "Reducir",
|
|
"imageZoomReset": "Restablecer zoom"
|
|
},
|
|
"branchDropdown": {
|
|
"toasts": {
|
|
"commitCodeCompleted": "Commit de código completado",
|
|
"pushCodeCompleted": "Push de código completado",
|
|
"committedFiles": "{count, plural, one {# archivo confirmado} other {# archivos confirmados}}",
|
|
"taskCompleted": "{label} completado",
|
|
"taskFailed": "{label} falló",
|
|
"mergeNoNewCommits": "{branchName} no tiene commits nuevos",
|
|
"mergedCommits": "{count, plural, one {# commit fusionado} other {# commits fusionados}}",
|
|
"allFilesUpToDate": "Todos los archivos están actualizados",
|
|
"updatedFiles": "{count, plural, one {# archivo actualizado} other {# archivos actualizados}}",
|
|
"openCommitWindowFailed": "No se pudo abrir la ventana de commit",
|
|
"openPushWindowFailed": "Error al abrir la ventana de envío",
|
|
"upstreamSet": "La rama upstream se ha configurado",
|
|
"upstreamSetAndPushed": "Rama upstream configurada y se enviaron {count, plural, one {# commit} other {# commits}}",
|
|
"noCommitsToPush": "No hay commits para enviar",
|
|
"pushedCommits": "Se enviaron {count, plural, one {# commit} other {# commits}}"
|
|
},
|
|
"tasks": {
|
|
"newBranch": "Crear rama {name}",
|
|
"newWorktree": "Crear worktree {name}",
|
|
"checkoutTo": "Cambiar a {branchName}",
|
|
"mergeBranch": "Fusionar {branchName}",
|
|
"rebaseTo": "Rebase a {branchName}",
|
|
"deleteRemoteBranch": "Eliminar rama remota {branchName}",
|
|
"initGitRepo": "Inicializar repositorio Git",
|
|
"pullCode": "Hacer pull del código",
|
|
"fetchInfo": "Obtener información",
|
|
"pushCode": "Enviar código",
|
|
"stashChanges": "Guardar cambios en stash",
|
|
"stashPop": "Aplicar stash",
|
|
"deleteBranch": "Eliminar rama {branchName}"
|
|
},
|
|
"confirm": {
|
|
"mergeTitle": "Fusionar rama",
|
|
"rebaseTitle": "Rebase de rama",
|
|
"mergeDescription": "¿Fusionar {branchName} en la rama actual {currentBranch}?",
|
|
"rebaseDescription": "¿Hacer rebase de la rama actual {currentBranch} sobre {branchName}?",
|
|
"deleteRemoteTitle": "Eliminar rama remota",
|
|
"deleteRemoteDescription": "¿Eliminar la rama remota {branchName}? Esto la eliminará del repositorio remoto y no se puede deshacer.",
|
|
"deleteTitle": "Eliminar rama",
|
|
"deleteDescription": "¿Eliminar la rama {branchName}? Esta acción no se puede deshacer.",
|
|
"forceDeleteTitle": "Forzar eliminación de rama",
|
|
"forceDeleteDescription": "La rama {branchName} no está completamente fusionada. ¿Estás seguro de que quieres forzar su eliminación? Esta acción no se puede deshacer."
|
|
},
|
|
"current": "Actual",
|
|
"switchToBranch": "Cambiar a esta rama",
|
|
"mergeBranchIntoCurrent": "Fusionar {branchName} en {currentBranch}",
|
|
"rebaseCurrentToBranch": "Rebase de {currentBranch} sobre {branchName}",
|
|
"versionControl": "Control de versiones",
|
|
"initGitRepo": "Inicializar repositorio Git",
|
|
"pullCode": "Hacer pull del código",
|
|
"fetchRemoteBranches": "Obtener ramas remotas",
|
|
"openCommitWindow": "Commit de código...",
|
|
"pushCode": "Enviar...",
|
|
"newBranch": "Nueva rama...",
|
|
"newWorktree": "Nuevo worktree...",
|
|
"stashChanges": "Guardar cambios...",
|
|
"stashPop": "Aplicar stash...",
|
|
"manageRemotes": "Gestionar remotos...",
|
|
"localBranches": "Ramas locales ({count, plural, one {#} other {#}})",
|
|
"noLocalBranches": "Sin ramas locales",
|
|
"remoteBranches": "Ramas remotas ({count, plural, one {#} other {#}})",
|
|
"noRemoteBranches": "Sin ramas remotas",
|
|
"dialogs": {
|
|
"newBranchTitle": "Nueva rama",
|
|
"newBranchDescription": "Crear una nueva rama desde la rama actual {branch}",
|
|
"branchNamePlaceholder": "Nombre de la rama",
|
|
"newWorktreeTitle": "Nuevo worktree",
|
|
"newWorktreeDescription": "Crear un nuevo worktree desde la rama actual {branch}",
|
|
"branchNameLabel": "Nombre de la rama",
|
|
"worktreePathLabel": "Ruta del worktree",
|
|
"worktreePathPlaceholder": "Ruta del worktree",
|
|
"manageRemotesTitle": "Gestionar remotos",
|
|
"manageRemotesEmpty": "No hay remotos configurados",
|
|
"remoteNamePlaceholder": "Nombre del remoto",
|
|
"remoteUrlPlaceholder": "URL del remoto",
|
|
"addRemote": "Añadir",
|
|
"savingRemotes": "Guardando..."
|
|
},
|
|
"conflict": {
|
|
"title": "Conflictos de fusión",
|
|
"description": "Los siguientes archivos tienen conflictos que necesitan ser resueltos:",
|
|
"abort": "Abortar fusión",
|
|
"openMergeTool": "Abrir herramienta de fusión",
|
|
"completeMerge": "Completar fusión",
|
|
"abortSuccess": "Fusión abortada correctamente",
|
|
"completeSuccess": "Fusión completada correctamente"
|
|
},
|
|
"stashDialog": {
|
|
"title": "Guardar cambios en stash",
|
|
"description": "Guardar los cambios actuales en el stash",
|
|
"messageLabel": "Mensaje",
|
|
"messagePlaceholder": "Mensaje del stash (opcional)",
|
|
"keepIndex": "Mantener índice (los cambios preparados permanecen preparados)",
|
|
"cancel": "Cancelar",
|
|
"stash": "Guardar",
|
|
"success": "Cambios guardados en stash",
|
|
"error": "Error al guardar en stash"
|
|
},
|
|
"unstashDialog": {
|
|
"title": "Aplicar stash",
|
|
"noStashes": "No hay stashes",
|
|
"selectFile": "Selecciona un archivo para ver diferencias",
|
|
"viewDiff": "Ver diferencias",
|
|
"original": "Original",
|
|
"modified": "Modificado",
|
|
"apply": "Aplicar",
|
|
"drop": "Eliminar",
|
|
"applySuccess": "Stash aplicado",
|
|
"dropSuccess": "Stash eliminado",
|
|
"confirmApply": "¿Aplicar stash {ref} al directorio de trabajo?",
|
|
"cancel": "Cancelar"
|
|
},
|
|
"deleteBranch": "Eliminar rama"
|
|
},
|
|
"commitDialog": {
|
|
"toasts": {
|
|
"commitCompleted": "Commit de código completado",
|
|
"pushFailed": "Error al enviar",
|
|
"committedFiles": "{count, plural, one {# archivo confirmado} other {# archivos confirmados}}",
|
|
"addedToVcs": "Añadido a VCS",
|
|
"addToVcsFailed": "No se pudo añadir a VCS",
|
|
"fileDeleted": "Archivo eliminado",
|
|
"deleteFailed": "Error al eliminar",
|
|
"fileRolledBack": "Archivo revertido",
|
|
"rollbackFailed": "Error al revertir",
|
|
"dirRolledBack": "Directorio revertido",
|
|
"dirDeleted": "Directorio eliminado"
|
|
},
|
|
"confirm": {
|
|
"deleteTitle": "Confirmar eliminación",
|
|
"deleteDescription": "¿Eliminar el archivo \"{file}\"? Esta acción no se puede deshacer.",
|
|
"rollbackTitle": "Confirmar reversión",
|
|
"rollbackDescription": "¿Revertir el archivo \"{file}\" a HEAD? Se perderán los cambios sin guardar.",
|
|
"rollbackDirDescription": "¿Revertir el directorio \"{dir}\" a HEAD? Los cambios no guardados se perderán.",
|
|
"deleteDirDescription": "¿Eliminar el directorio \"{dir}\"? Esta acción no se puede deshacer."
|
|
},
|
|
"actions": {
|
|
"select": "Seleccionar",
|
|
"unselect": "Deseleccionar",
|
|
"rollback": "Revertir",
|
|
"addToVcs": "Añadir a VCS"
|
|
},
|
|
"aria": {
|
|
"selectFile": "{action}: {path}",
|
|
"unselectAllFiles": "Deseleccionar todos los archivos",
|
|
"selectAllFiles": "Seleccionar todos los archivos",
|
|
"unselectTracked": "Deseleccionar cambios rastreados",
|
|
"selectTracked": "Seleccionar cambios rastreados",
|
|
"unselectUntracked": "Deseleccionar archivos no rastreados",
|
|
"selectUntracked": "Seleccionar archivos no rastreados"
|
|
},
|
|
"loading": "Cargando...",
|
|
"selectionCount": "{selected} / {total} archivos",
|
|
"emptyFiles": "No hay archivos cambiados",
|
|
"trackedChanges": "Cambios rastreados ({count})",
|
|
"untrackedFiles": "Archivos no rastreados ({count})",
|
|
"commitMessage": "Mensaje de commit",
|
|
"commitMessagePlaceholder": "Introduce el mensaje de commit...",
|
|
"commitButton": "Confirmar ({count})",
|
|
"commitAndPushButton": "Confirmar y enviar ({count})",
|
|
"head": "HEAD",
|
|
"workingTree": "Árbol de trabajo",
|
|
"clickFileToDiff": "Haz clic en un nombre de archivo para ver diff",
|
|
"loadingDiff": "Cargando diff..."
|
|
},
|
|
"pushWindow": {
|
|
"title": "Enviar código",
|
|
"noUnpushedCommits": "No hay commits sin enviar",
|
|
"noRemoteConfigured": "No hay remoto Git configurado\nAñade uno en «Gestionar remotos»",
|
|
"newBranchNoPushedCommits": "Nueva rama — enviar para crear rama de seguimiento remota",
|
|
"unpushed": "Sin enviar",
|
|
"selectFileToViewDiff": "Selecciona un archivo para ver las diferencias",
|
|
"before": "Antes",
|
|
"after": "Después",
|
|
"push": "Enviar",
|
|
"toasts": {
|
|
"pushSuccess": "Envío exitoso",
|
|
"pushFailed": "Error al enviar",
|
|
"upstreamSet": "Se ha configurado la rama remota",
|
|
"upstreamSetAndPushed": "Rama remota configurada y enviados {count} commits",
|
|
"noCommitsToPush": "No hay commits para enviar",
|
|
"pushedCommits": "Enviados {count} commits"
|
|
}
|
|
},
|
|
"gitLogTab": {
|
|
"filesTitle": "Archivos",
|
|
"expandAllFiles": "Expandir todos los archivos",
|
|
"collapseAllFiles": "Colapsar todos los archivos",
|
|
"workspace": "espacio de trabajo",
|
|
"retry": "Reintentar",
|
|
"noCommitsFound": "No se encontraron commits",
|
|
"notAGitRepoTitle": "No es un repositorio Git",
|
|
"notAGitRepoHint": "Inicializa Git desde el menú de ramas superior, o abre un repositorio existente.",
|
|
"hash": "Hash del commit",
|
|
"copyHash": "Copiar hash",
|
|
"copyMessage": "Copiar mensaje",
|
|
"author": "Autor",
|
|
"noFileChangeDetails": "No hay detalles de cambios de archivo disponibles.",
|
|
"branchesTitle": "Ramas",
|
|
"loadingBranches": "Cargando ramas...",
|
|
"noContainingBranches": "No se encontraron ramas contenedoras.",
|
|
"newBranch": "Nueva rama...",
|
|
"resetToHere": "Resetear aquí",
|
|
"resetDisabledReasonNotCurrentBranchView": "Disponible solo al ver la rama actual",
|
|
"viewCommitDiffAria": "Ver diff del commit {hash}",
|
|
"copyFullCommitHashAria": "Copiar hash completo del commit {hash}",
|
|
"pushStatus": {
|
|
"pushed": "Enviado al remoto",
|
|
"notPushed": "No enviado al remoto",
|
|
"unknown": "Estado de push desconocido (sin upstream configurado)"
|
|
},
|
|
"time": {
|
|
"monthsAgo": "{count, plural, one {hace # mes} other {hace # meses}}",
|
|
"daysAgo": "{count, plural, one {hace # día} other {hace # días}}",
|
|
"hoursAgo": "{count, plural, one {hace # hora} other {hace # horas}}",
|
|
"minsAgo": "{count, plural, one {hace # min} other {hace # mins}}",
|
|
"justNow": "justo ahora"
|
|
},
|
|
"toasts": {
|
|
"createdAndSwitchedNewBranch": "Nueva rama creada y activada",
|
|
"newBranchFromCommit": "{name} (desde {shortHash})",
|
|
"createBranchFailed": "No se pudo crear la rama",
|
|
"openPushWindowFailed": "No se pudo abrir la ventana de envío",
|
|
"resetSuccess": "Reset completado",
|
|
"resetSuccessDescription": "{branch} se reseteó a {shortHash} con {mode}",
|
|
"resetFailed": "Falló el reset"
|
|
},
|
|
"branchSelector": {
|
|
"selectBranchPlaceholder": "Seleccionar rama...",
|
|
"localBranches": "Ramas locales",
|
|
"current": "Actual",
|
|
"remoteBranches": "Ramas remotas",
|
|
"refreshCommitHistory": "Actualizar historial de commits"
|
|
},
|
|
"dialogs": {
|
|
"newBranchTitle": "Nueva rama",
|
|
"newBranchDescription": "Crea una nueva rama con el commit {shortHash} como último commit.",
|
|
"branchNamePlaceholder": "Nombre de la rama",
|
|
"reset": {
|
|
"title": "Resetear la rama actual hasta aquí",
|
|
"branchLabel": "Rama",
|
|
"targetLabel": "Commit objetivo",
|
|
"messageLabel": "Mensaje",
|
|
"modeLabel": "Modo de reset",
|
|
"confirmButton": "Resetear",
|
|
"modes": {
|
|
"soft": {
|
|
"label": "--soft",
|
|
"description": "Mueve HEAD y el puntero de la rama actual al commit objetivo.\nMantiene Index y Working Tree sin cambios.\nLos cambios de los commits retirados permanecen en estado staged."
|
|
},
|
|
"mixed": {
|
|
"label": "--mixed (predeterminado)",
|
|
"description": "Mueve HEAD al commit objetivo.\nResetea Index al commit objetivo y mantiene los cambios en Working Tree.\nLos cambios pasan de staged a unstaged."
|
|
},
|
|
"hard": {
|
|
"label": "--hard",
|
|
"description": "Mueve HEAD y resetea tanto Index como Working Tree al commit objetivo.\nSe descartan los cambios locales rastreados posteriores al commit objetivo.\nEs una operación destructiva."
|
|
},
|
|
"keep": {
|
|
"label": "--keep",
|
|
"description": "Mueve HEAD al commit objetivo e intenta conservar los cambios locales.\nSolo se conservan cambios que no entren en conflicto.\nSi hay conflictos, el reset se aborta para proteger tu trabajo."
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"gitChangesTab": {
|
|
"workspace": "espacio de trabajo",
|
|
"noChanges": "No hay cambios locales",
|
|
"notAGitRepoTitle": "No es un repositorio Git",
|
|
"notAGitRepoHint": "Inicializa Git desde el menú de ramas superior, o abre un repositorio existente.",
|
|
"trackedChanges": "Cambios rastreados ({count})",
|
|
"untrackedFiles": "Archivos no rastreados ({count})",
|
|
"expandTracked": "Expandir cambios rastreados",
|
|
"collapseTracked": "Colapsar cambios rastreados",
|
|
"expandUntracked": "Expandir archivos no rastreados",
|
|
"collapseUntracked": "Colapsar archivos no rastreados",
|
|
"actions": {
|
|
"commitCode": "Hacer commit del código",
|
|
"rollback": "Revertir",
|
|
"addToVcs": "Añadir a VCS",
|
|
"delete": "Eliminar"
|
|
},
|
|
"toasts": {
|
|
"noAddableFilesInDir": "No hay archivos cambiados en este directorio para añadir a VCS",
|
|
"noRollbackFilesInDir": "No hay archivos cambiados en este directorio para revertir",
|
|
"addedToVcs": "Se añadió {name} a VCS",
|
|
"addToVcsFailed": "No se pudo añadir a VCS",
|
|
"openCommitWindowFailed": "No se pudo abrir la ventana de commit",
|
|
"rolledBack": "Se revirtió {name}",
|
|
"rollbackFailed": "Error al revertir",
|
|
"addedFilesToVcs": "Se añadieron {count, plural, one {# archivo} other {# archivos}} a VCS",
|
|
"rolledBackFiles": "Se revirtieron {count, plural, one {# archivo} other {# archivos}}",
|
|
"deleted": "Se eliminó {name}",
|
|
"deleteFailed": "Error al eliminar",
|
|
"deletedFiles": "Se eliminaron {count} archivos",
|
|
"noDeletableFilesInDir": "No hay archivos modificados en este directorio que se puedan eliminar"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "Selecciona archivos bajo el directorio {path} para añadir a VCS.",
|
|
"descriptionRollback": "Selecciona archivos bajo el directorio {path} para revertir.",
|
|
"descriptionDelete": "Selecciona archivos bajo el directorio {path} para eliminar. Esta acción no se puede deshacer.",
|
|
"descriptionFallback": "Selecciona archivos para continuar.",
|
|
"selectionCount": "Seleccionados {selected} / {total} archivos",
|
|
"selectAll": "Seleccionar todo",
|
|
"unselectAll": "Deseleccionar todo",
|
|
"loadingCandidates": "Cargando cambios del directorio...",
|
|
"noOperableFiles": "No hay archivos operables"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "Confirmar reversión",
|
|
"descriptionWithTarget": "¿Revertir cambios locales de {kind} \"{name}\"?",
|
|
"descriptionFallback": "¿Revertir cambios locales?",
|
|
"kindDirectory": "directorio",
|
|
"kindFile": "archivo"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "Confirmar eliminación",
|
|
"descriptionWithTarget": "¿Eliminar {kind} \"{name}\"? Esta acción no se puede deshacer.",
|
|
"descriptionFallback": "Esta acción no se puede deshacer.",
|
|
"kindDirectory": "directorio",
|
|
"kindFile": "archivo"
|
|
}
|
|
},
|
|
"tabContext": {
|
|
"loadingConversation": "Cargando...",
|
|
"untitledConversation": "Conversación sin título",
|
|
"newConversation": "Nueva conversación"
|
|
},
|
|
"fileTreeTab": {
|
|
"workspace": "Espacio de trabajo",
|
|
"retry": "Reintentar",
|
|
"git": "Git",
|
|
"openInFileManager": "Abrir en el gestor de archivos",
|
|
"openInFinder": "Abrir en Finder",
|
|
"openInExplorer": "Abrir en Explorer",
|
|
"attachToCurrentSession": "Agregar a la sesión",
|
|
"compareWithBranch": "Comparar con rama...",
|
|
"reloadFromDisk": "Recargar desde disco",
|
|
"new": "Nuevo",
|
|
"newFile": "Archivo",
|
|
"newDirectory": "Directorio",
|
|
"openIn": "Abrir en",
|
|
"openInTerminal": "Abrir en terminal",
|
|
"actions": {
|
|
"select": "Seleccionar",
|
|
"unselect": "Deseleccionar",
|
|
"commitCode": "Confirmar código",
|
|
"rollback": "Revertir",
|
|
"addToVcs": "Añadir a VCS"
|
|
},
|
|
"aria": {
|
|
"selectPath": "{action}: {path}"
|
|
},
|
|
"toasts": {
|
|
"openDirectoryFailed": "No se pudo abrir el directorio",
|
|
"openBuiltinTerminalFailed": "No se pudo abrir la terminal integrada",
|
|
"openCommitWindowFailed": "No se pudo abrir la ventana de commit",
|
|
"noAddableFilesInDir": "No hay archivos modificados en este directorio que se puedan añadir a VCS",
|
|
"noRollbackFilesInDir": "No hay archivos modificados en este directorio que se puedan revertir",
|
|
"addedToVcs": "Se añadió {name} a VCS",
|
|
"addToVcsFailed": "No se pudo añadir a VCS",
|
|
"loadBranchesFailed": "No se pudieron cargar las ramas",
|
|
"renameFailed": "Error al renombrar",
|
|
"deleteFailed": "Error al eliminar",
|
|
"rolledBack": "Se revirtió {name}",
|
|
"rollbackFailed": "Error al revertir",
|
|
"addedFilesToVcs": "{count, plural, one {Se añadió # archivo a VCS} other {Se añadieron # archivos a VCS}}",
|
|
"rolledBackFiles": "{count, plural, one {Se revirtió # archivo} other {Se revirtieron # archivos}}",
|
|
"savedAsCopy": "Guardado como copia",
|
|
"saveCopyFailed": "No se pudo guardar como copia",
|
|
"watchStartFailed": "No se pudo iniciar la vigilancia de archivos",
|
|
"createFailed": "Error al crear"
|
|
},
|
|
"createDialog": {
|
|
"newFile": "Nuevo archivo",
|
|
"newDirectory": "Nuevo directorio",
|
|
"description": "Ingrese un nombre para el nuevo {kind}.",
|
|
"placeholderFile": "file-name.ext",
|
|
"placeholderDirectory": "folder-name"
|
|
},
|
|
"renameDialog": {
|
|
"renameDirectory": "Renombrar directorio",
|
|
"renameFile": "Renombrar archivo",
|
|
"description": "Introduce un nuevo nombre (solo nombre, sin ruta).",
|
|
"placeholderDirectory": "nuevo-nombre-carpeta",
|
|
"placeholderFile": "nuevo-nombre-archivo.ext"
|
|
},
|
|
"directoryDialog": {
|
|
"descriptionAdd": "Selecciona archivos del directorio {path} para añadir a VCS.",
|
|
"descriptionRollback": "Selecciona archivos del directorio {path} para revertir.",
|
|
"descriptionFallback": "Selecciona archivos para continuar.",
|
|
"selectionCount": "Seleccionados {selected} / {total} archivos",
|
|
"selectAll": "Seleccionar todo",
|
|
"unselectAll": "Deseleccionar todo",
|
|
"loadingCandidates": "Cargando cambios del directorio...",
|
|
"noOperableFiles": "No hay archivos operables"
|
|
},
|
|
"compareDialog": {
|
|
"title": "Comparar con rama",
|
|
"descriptionWithTarget": "Selecciona una rama y compara con {kind} {path}",
|
|
"descriptionFallback": "Selecciona una rama para comparar.",
|
|
"kindDirectory": "directorio",
|
|
"kindFile": "archivo",
|
|
"filterPlaceholder": "Filtra ramas, p. ej. main / origin/main",
|
|
"singleClickHint": "Haz clic en una rama para comparar directamente",
|
|
"loadingBranches": "Cargando ramas...",
|
|
"recentBranches": "Ramas recientes ({count})",
|
|
"noCurrentBranch": "Sin rama actual",
|
|
"localBranches": "Ramas locales ({count})",
|
|
"remoteBranches": "Ramas remotas ({count})",
|
|
"noMatchingBranches": "No hay ramas coincidentes"
|
|
},
|
|
"externalConflictDialog": {
|
|
"title": "Se detectaron cambios externos en archivos",
|
|
"descriptionWithPath": "El archivo {path} cambió en disco y las ediciones actuales no están guardadas.",
|
|
"descriptionFallback": "El archivo actual cambió en disco y las ediciones actuales no están guardadas.",
|
|
"compare": "Comparar",
|
|
"savingCopy": "Guardando copia...",
|
|
"saveAsCopy": "Guardar como copia",
|
|
"reload": "Recargar"
|
|
},
|
|
"deleteConfirm": {
|
|
"title": "Confirmar eliminación",
|
|
"descriptionWithTarget": "¿Eliminar {kind} \"{name}\"? Esta acción no se puede deshacer.",
|
|
"descriptionFallback": "Esta acción no se puede deshacer.",
|
|
"kindDirectory": "directorio",
|
|
"kindFile": "archivo"
|
|
},
|
|
"rollbackConfirm": {
|
|
"title": "Confirmar reversión",
|
|
"descriptionWithTarget": "¿Revertir cambios locales del archivo \"{name}\"?",
|
|
"descriptionFallback": "¿Revertir cambios locales de este archivo?"
|
|
},
|
|
"terminalTitle": "Consola · {name}"
|
|
},
|
|
"commandDropdown": {
|
|
"loading": "Cargando...",
|
|
"addCommand": "Agregar comando",
|
|
"manageCommands": "Gestionar comandos...",
|
|
"runCommandTitle": "Ejecutar: {command}",
|
|
"stopCommandTitle": "Detener: {command}",
|
|
"manageDialog": {
|
|
"title": "Gestionar comandos",
|
|
"empty": "Aún no hay comandos",
|
|
"namePlaceholder": "Nombre",
|
|
"commandPlaceholder": "Comando",
|
|
"add": "Agregar",
|
|
"saving": "Guardando..."
|
|
}
|
|
},
|
|
"workspaceContext": {
|
|
"confirmCloseDirtyTab": "¿Cerrar \"{title}\" sin guardar?",
|
|
"confirmCloseOtherDirtyTabs": "¿Cerrar otras pestañas con cambios sin guardar?",
|
|
"confirmCloseAllDirtyTabs": "¿Cerrar todas las pestañas con cambios sin guardar?",
|
|
"unableLoadContent": "No se puede cargar el contenido.\n\n{message}",
|
|
"previewRequestTimedOut": "La solicitud de vista previa agotó el tiempo",
|
|
"diffRequestTimedOut": "La solicitud de Diff agotó el tiempo",
|
|
"branchCompareRequestTimedOut": "La solicitud de comparación de ramas agotó el tiempo",
|
|
"commitDiffRequestTimedOut": "La solicitud de Diff de commit agotó el tiempo",
|
|
"saveRequestTimedOut": "La solicitud de guardado agotó el tiempo",
|
|
"reloadRequestTimedOut": "La solicitud de recarga agotó el tiempo",
|
|
"noChanges": "Sin cambios.",
|
|
"noDiffOutput": "Sin salida de diff.",
|
|
"diffTitleWorkspace": "Diferencias · Espacio de trabajo",
|
|
"diffDescriptionWorkingTree": "Árbol de trabajo (HEAD)",
|
|
"diffTitleFile": "Diferencias · {name}",
|
|
"compareTitleFile": "Comparar · {name}",
|
|
"compareTitleBranch": "Comparar · {branch}",
|
|
"compareDescriptionPath": "{path} · comparar con {branch}",
|
|
"compareDescriptionBranch": "comparar con {branch}",
|
|
"diffTitleCommitFile": "Diferencias · {name} @ {hash}",
|
|
"diffTitleCommit": "Diferencias · {hash}",
|
|
"diffDescriptionCommitPath": "{path} · confirmación {commit}",
|
|
"diffDescriptionCommit": "confirmación {commit}",
|
|
"diffTitleConflictFile": "Conflicto · {name}",
|
|
"diffDescriptionConflict": "{path} · disco vs sin guardar"
|
|
},
|
|
"chat": {
|
|
"acpConnections": {
|
|
"actions": {
|
|
"openAgentsSettings": "Abrir ajustes de agentes",
|
|
"retry": "Reintentar"
|
|
},
|
|
"agentsSetupHint": "Abre Ajustes > Agentes para gestionar la instalación.",
|
|
"withSetupHint": "{message}\n{hint}",
|
|
"blocked": {
|
|
"missingConfig": "No se puede leer la configuración actual del agente.",
|
|
"disabled": "{agent} está deshabilitado en Ajustes de agentes. Actívalo antes de conectar.",
|
|
"unavailable": "{agent} no está disponible en la plataforma actual.",
|
|
"sdkMissing": "El SDK de {agent} no está instalado"
|
|
},
|
|
"backendErrors": {
|
|
"initializeTimeout": "Se agotó el tiempo del handshake de conexión de {agent} (sin respuesta tras 60 segundos). Abre Ajustes para revisar la configuración del agente y de la red.",
|
|
"processExited": "El proceso de {agent} terminó inesperadamente.",
|
|
"spawnFailed": "No se pudo iniciar {agent}: {message}",
|
|
"downloadFailed": "La descarga de {agent} falló: {message}"
|
|
},
|
|
"unableReadAgentConfig": "No se puede leer la configuración del agente: {message}",
|
|
"connectFailedTitle": "Falló la conexión de {agent}",
|
|
"toolFallbackTitle": "Herramienta",
|
|
"eventErrorTitle": "Error del agente",
|
|
"notificationTurnComplete": "{agent} ha terminado de responder",
|
|
"notificationError": "{agent} error: {message}",
|
|
"claudeApiRetry": {
|
|
"fallbackError": "authentication_failed",
|
|
"retryingWithMax": "reintentando {attempt}/{max}",
|
|
"retryingAttempt": "reintentando intento {attempt}",
|
|
"retrying": "reintentando",
|
|
"nextRetryIn": "siguiente en {seconds}s",
|
|
"line": "{error}{status} · {retry}",
|
|
"lineWithDelay": "{error}{status} · {retry}, {delay}",
|
|
"httpStatus": " (HTTP {status})"
|
|
}
|
|
},
|
|
"connectionLifecycle": {
|
|
"tasks": {
|
|
"connectingTitle": "Conectando con {agent}",
|
|
"connectingDescription": "Estableciendo conexión",
|
|
"loadingSelectorsTitle": "Cargando selectores de {agent}",
|
|
"loadingSelectorsDescription": "Obteniendo opciones de modo y configuración de sesión",
|
|
"initSessionTitle": "Initializing {agent} session",
|
|
"initSessionDescription": "Creating session and loading configuration"
|
|
},
|
|
"errors": {
|
|
"connectionFailed": "Conexión fallida"
|
|
}
|
|
},
|
|
"shared": {
|
|
"attachedResources": "Recursos adjuntos",
|
|
"toolCallFailed": "Falló la llamada de herramienta"
|
|
},
|
|
"messageThread": {
|
|
"emptyTitle": "Aún no hay mensajes",
|
|
"emptyDescription": "Inicia una conversación para ver mensajes aquí"
|
|
},
|
|
"chatInput": {
|
|
"connecting": "Conectando...",
|
|
"agentResponding": "{agent} está respondiendo...",
|
|
"sendMessage": "Enviar un mensaje..."
|
|
},
|
|
"messageInput": {
|
|
"askAnything": "Pregunta lo que sea...",
|
|
"removeAttachmentAria": "Quitar {name}",
|
|
"attachFiles": "Adjuntar archivos",
|
|
"dropFilesToAttach": "Suelta archivos para adjuntar",
|
|
"loadingSettings": "Cargando ajustes...",
|
|
"loadingMode": "Cargando modo...",
|
|
"cancel": "Cancelar",
|
|
"send": "Enviar",
|
|
"forkAndSend": "Fork y Enviar",
|
|
"slashCommands": "Comandos de barra",
|
|
"expertSkills": "Habilidades de expertos",
|
|
"expertsEmptyForAgent": "Este agente no tiene expertos habilitados. Actívalos en Configuración > Expertos.",
|
|
"slashSearchPlaceholder": "Buscar comandos...",
|
|
"slashSearchEmpty": "Sin comandos coincidentes"
|
|
},
|
|
"messageQueue": {
|
|
"addToQueue": "Agregar a la cola",
|
|
"saveEdit": "Guardar",
|
|
"cancelEdit": "Cancelar edición",
|
|
"editItem": "Editar",
|
|
"deleteItem": "Eliminar"
|
|
},
|
|
"welcomeInputPanel": {
|
|
"agentsSettingsPath": "Ajustes > Agentes",
|
|
"autoConnectFallback": "Haz clic para abrir {path} y gestionar la instalación.",
|
|
"autoConnectAppend": "{message}. Haz clic para abrir {path} y gestionar la instalación.",
|
|
"enableAgentFirstPlaceholder": "Habilita al menos un agente antes de iniciar una sesión...",
|
|
"askAnythingPlaceholder": "Pregunta lo que sea..."
|
|
},
|
|
"agentSelector": {
|
|
"noEnabledAgents": "No hay agentes habilitados",
|
|
"openAgentsSettings": "Abrir ajustes de agentes"
|
|
},
|
|
"agentPlanOverlay": {
|
|
"title": "Plan del agente",
|
|
"collapsePlanAria": "Contraer plan",
|
|
"collapsedSummary": "Plan de trabajo {completed}/{total}",
|
|
"status": {
|
|
"completed": "Completado",
|
|
"inProgress": "En progreso",
|
|
"pending": "Pendiente",
|
|
"unknown": "Desconocido"
|
|
},
|
|
"priority": {
|
|
"high": "Alta",
|
|
"medium": "Media",
|
|
"low": "Baja",
|
|
"unknown": "Desconocida"
|
|
}
|
|
},
|
|
"permissionDialog": {
|
|
"subtitle": "El agente solicita permiso para continuar este turno.",
|
|
"kindFallbackTool": "herramienta",
|
|
"command": "Comando",
|
|
"cwd": "Directorio de trabajo: {cwd}",
|
|
"filesSummary": "Archivos: {count}",
|
|
"moreFiles": "+{count} archivos más",
|
|
"plan": "Plan de trabajo",
|
|
"allowedActions": "Acciones permitidas",
|
|
"targetMode": "Modo objetivo: {mode}"
|
|
},
|
|
"questionDialog": {
|
|
"title": "El agente está haciendo una pregunta",
|
|
"placeholder": "Escribe tu respuesta...",
|
|
"send": "Enviar"
|
|
},
|
|
"messageBranch": {
|
|
"previousBranchAria": "Rama anterior",
|
|
"nextBranchAria": "Rama siguiente",
|
|
"pageOf": "{current} de {total}"
|
|
},
|
|
"terminal": {
|
|
"title": "Consola",
|
|
"running": "En ejecución"
|
|
},
|
|
"reasoning": {
|
|
"thinking": "Pensando…",
|
|
"thoughtForFewSeconds": "Pensamiento",
|
|
"thoughtForSeconds": "Pensamiento"
|
|
},
|
|
"linkSafety": {
|
|
"localFileTitle": "¿Abrir archivo local?",
|
|
"externalLinkTitle": "¿Abrir enlace externo?",
|
|
"localFileDescription": "Está a punto de abrir un archivo local en el panel de archivos.",
|
|
"externalLinkDescription": "Está a punto de visitar un sitio web externo.",
|
|
"cancel": "Cancelar",
|
|
"opening": "Abriendo…",
|
|
"openFile": "Abrir archivo",
|
|
"openLink": "Abrir enlace",
|
|
"errorCannotOpen": "No se puede abrir el archivo local",
|
|
"errorNoWorkspace": "No hay ninguna carpeta de espacio de trabajo activa.",
|
|
"errorOutsideWorkspace": "El archivo está fuera de la carpeta del espacio de trabajo actual.",
|
|
"errorFailedOpen": "Error al abrir el archivo local",
|
|
"errorFailedLink": "Error al abrir el enlace"
|
|
},
|
|
"messageList": {
|
|
"attachedResources": "Recursos adjuntos",
|
|
"loading": "Cargando...",
|
|
"error": "Error del chat: {message}",
|
|
"emptyConversation": "No hay mensajes en esta conversación.",
|
|
"systemMessage": "Mensaje del sistema",
|
|
"copyMessage": "Copiar",
|
|
"copied": "Copiado"
|
|
},
|
|
"liveTurnStats": {
|
|
"thinking": "Pensando...",
|
|
"streaming": "Transmitiendo",
|
|
"elapsedHours": "{value} h",
|
|
"elapsedMinutes": "{value} min",
|
|
"elapsedSeconds": "{value} s",
|
|
"toolUseCount": "{count} herramienta {count, plural, one {use} other {uses}}"
|
|
},
|
|
"tool": {
|
|
"parameters": "Parámetros",
|
|
"error": "Error de herramienta",
|
|
"result": "Resultado",
|
|
"status": {
|
|
"approvalRequested": "Esperando aprobación",
|
|
"approvalResponded": "Respondido",
|
|
"inputAvailable": "En ejecución",
|
|
"inputStreaming": "Pendiente",
|
|
"outputAvailable": "Completado",
|
|
"outputDenied": "Denegado",
|
|
"outputError": "Error de salida"
|
|
}
|
|
},
|
|
"toolCallBlock": {
|
|
"tool": "Herramienta",
|
|
"error": "Error de ejecución",
|
|
"result": "Resultado"
|
|
},
|
|
"contentParts": {
|
|
"showingTailOutput": "Mostrando la salida final durante el streaming para mejorar el rendimiento.",
|
|
"result": "Resultado",
|
|
"unknown": "desconocido",
|
|
"inputTruncated": "La entrada fue truncada — el diff puede estar incompleto.",
|
|
"replaceAll": "REEMPLAZAR TODO",
|
|
"filesCount": "Archivos: {count}",
|
|
"update": "actualizar",
|
|
"moreFiles": "+{count} archivos más",
|
|
"timeoutMs": "Tiempo de espera: {timeout}ms",
|
|
"backgroundTrue": "Segundo plano: true",
|
|
"offset": "Desplazamiento: {offset}",
|
|
"limit": "Límite: {limit}",
|
|
"pages": "Páginas: {pages}",
|
|
"mode": "Modo: {mode}",
|
|
"cell": "Celda: {cell}",
|
|
"pathLabel": "Ruta:",
|
|
"globLabel": "Patrón glob:",
|
|
"typeLabel": "Tipo:",
|
|
"outputLabel": "Salida:",
|
|
"caseInsensitive": "Sin distinguir mayúsculas/minúsculas",
|
|
"multiline": "Multilínea",
|
|
"promptLabel": "Instrucción",
|
|
"subjectLabel": "Asunto",
|
|
"taskLabel": "Tarea",
|
|
"nameLabel": "Nombre:",
|
|
"agentPromptLabel": "Instrucción",
|
|
"agentModelLabel": "Modelo",
|
|
"agentRunning": "Ejecutando...",
|
|
"agentStatsBash": "Comandos",
|
|
"agentStatsRead": "Archivos leídos",
|
|
"agentStatsSearch": "Búsquedas",
|
|
"agentStatsEdit": "Ediciones",
|
|
"agentStatsOther": "Otros",
|
|
"field": {
|
|
"file": "Archivo",
|
|
"notebook": "Cuaderno",
|
|
"command": "Comando",
|
|
"old": "Anterior",
|
|
"new": "Nuevo",
|
|
"pattern": "Patrón",
|
|
"path": "Ruta",
|
|
"query": "Consulta",
|
|
"url": "URL:",
|
|
"description": "Descripción",
|
|
"content": "Contenido",
|
|
"source": "Fuente",
|
|
"prompt": "Instrucción",
|
|
"subject": "Asunto",
|
|
"taskId": "ID de tarea",
|
|
"status": "Estado",
|
|
"skill": "Skill",
|
|
"args": "Argumentos",
|
|
"offset": "Desplazamiento",
|
|
"limit": "Límite",
|
|
"glob": "Patrón glob",
|
|
"type": "Tipo",
|
|
"output": "Salida",
|
|
"replaceAll": "Reemplazar todo",
|
|
"language": "Idioma",
|
|
"timeout": "Tiempo de espera",
|
|
"background": "Segundo plano",
|
|
"agentType": "Tipo de agente",
|
|
"library": "Biblioteca",
|
|
"libraryId": "ID de biblioteca"
|
|
},
|
|
"title": {
|
|
"edit": "Editar",
|
|
"command": "Comando",
|
|
"todoWrite": "TodoWrite (actualización de tareas)",
|
|
"read": "Leer",
|
|
"write": "Escribir",
|
|
"notebookEdit": "NotebookEdit (edición de cuaderno)",
|
|
"editFiles": "Editar ({count} archivos)",
|
|
"editWithTarget": "Editar {target}",
|
|
"readWithTarget": "Leer {target}",
|
|
"writeWithTarget": "Escribir {target}",
|
|
"notebookEditWithTarget": "NotebookEdit ({target})",
|
|
"globWithPattern": "Patrón glob {pattern}",
|
|
"grepWithPattern": "Patrón grep {pattern}",
|
|
"taskCreateWithSubject": "Crear tarea: {subject}",
|
|
"taskUpdateWithStatus": "Actualizar tarea #{id} -> {status}",
|
|
"taskUpdate": "Actualizar tarea #{id}",
|
|
"webFetchWithUrl": "WebFetch ({url})",
|
|
"webSearchWithQuery": "Búsqueda web: {query}",
|
|
"todosProgress": "Tareas ({done}/{total})",
|
|
"skillWithName": "Skill: {name}",
|
|
"genericWithContext": "{tool} ({context})"
|
|
}
|
|
}
|
|
},
|
|
"diffPreview": {
|
|
"mode": {
|
|
"added": "Añadido",
|
|
"deleted": "Eliminado",
|
|
"renamed": "Renombrado",
|
|
"modified": "Modificado"
|
|
},
|
|
"hunkLabel": "Bloque {index}",
|
|
"loadingHunk": "Cargando hunk...",
|
|
"noDiffData": "Sin datos de diff"
|
|
},
|
|
"conversationContextBar": {
|
|
"searchFolder": "Search folder...",
|
|
"searchBranch": "Search branch...",
|
|
"noFolders": "No folders",
|
|
"noBranches": "No branches",
|
|
"noBranch": "(no branch)",
|
|
"commit": "Commit",
|
|
"push": "Push",
|
|
"merge": "Merge",
|
|
"toasts": {
|
|
"folderChanged": "Switched to {name}",
|
|
"openFolderFailed": "Failed to open folder",
|
|
"openStashFailed": "Failed to open stash window",
|
|
"openMergeFailed": "Failed to open merge window"
|
|
}
|
|
},
|
|
"cloneDialog": {
|
|
"title": "Clonar repositorio",
|
|
"repositoryUrl": "URL del repositorio",
|
|
"repositoryUrlPlaceholder": "https://github.com/user/repo.git",
|
|
"directory": "Directorio",
|
|
"directoryPlaceholder": "Selecciona el directorio de destino...",
|
|
"browseDirectory": "Explorar directorio",
|
|
"cancel": "Cancelar",
|
|
"clone": "Clonar",
|
|
"clonePath": "Ruta de clonación: {path}"
|
|
},
|
|
"toasts": {
|
|
"cloneFailed": "No se pudo clonar el repositorio"
|
|
}
|
|
},
|
|
"ProjectBoot": {
|
|
"title": "Inicio de Proyecto",
|
|
"tabs": {
|
|
"shadcn": "shadcn"
|
|
},
|
|
"config": {
|
|
"base": "Base",
|
|
"style": "Estilo",
|
|
"baseColor": "Color base",
|
|
"theme": "Tema",
|
|
"chartColor": "Color del gráfico",
|
|
"iconLibrary": "Biblioteca de iconos",
|
|
"font": "Fuente",
|
|
"fontHeading": "Fuente de título",
|
|
"menuAccent": "Acento del menú",
|
|
"menuColor": "Color del menú",
|
|
"radius": "Radio",
|
|
"template": "Plantilla",
|
|
"createProject": "Crear proyecto",
|
|
"sectionStyle": "Estilo",
|
|
"sectionColors": "Colores",
|
|
"sectionTypography": "Tipografía",
|
|
"sectionInterface": "Interfaz"
|
|
},
|
|
"preview": {
|
|
"loading": "Cargando vista previa..."
|
|
},
|
|
"createDialog": {
|
|
"title": "Crear proyecto",
|
|
"projectName": "Nombre del proyecto",
|
|
"projectNamePlaceholder": "my-app",
|
|
"frameworkTemplate": "Plantilla del framework",
|
|
"packageManager": "Gestor de paquetes",
|
|
"saveDirectory": "Directorio de guardado",
|
|
"saveDirectoryPlaceholder": "Seleccionar directorio...",
|
|
"browseDirectory": "Explorar",
|
|
"projectPath": "El proyecto se creará en: {path}",
|
|
"advancedOptions": "Opciones Avanzadas",
|
|
"base": "Biblioteca Base",
|
|
"enableRtl": "Habilitar Soporte RTL",
|
|
"enableRtlDescription": "Habilitar soporte de diseño para idiomas de derecha a izquierda (ej. árabe, hebreo)",
|
|
"pmChecking": "Verificando...",
|
|
"pmNotInstalled": "No instalado",
|
|
"cancel": "Cancelar",
|
|
"create": "Crear",
|
|
"creating": "Creando proyecto..."
|
|
},
|
|
"toasts": {
|
|
"createFailed": "Error al crear el proyecto",
|
|
"createSuccess": "Proyecto creado exitosamente"
|
|
},
|
|
"errors": {
|
|
"directoryExists": "El directorio de destino ya existe",
|
|
"commandFailed": "El comando de creación del proyecto falló."
|
|
}
|
|
},
|
|
"WebServiceSettings": {
|
|
"sectionTitle": "Servicio Web",
|
|
"sectionDescription": "Habilitar para acceder a Codeg de forma remota a través del navegador",
|
|
"port": "Puerto",
|
|
"status": "Estado",
|
|
"running": "En ejecución",
|
|
"stopped": "Detenido",
|
|
"processing": "Procesando...",
|
|
"start": "Iniciar",
|
|
"stop": "Detener",
|
|
"startFailed": "Error al iniciar",
|
|
"stopFailed": "Error al detener",
|
|
"open": "Abrir",
|
|
"hide": "Ocultar",
|
|
"show": "Mostrar",
|
|
"copy": "Copiar",
|
|
"addressLabel": "Dirección de acceso",
|
|
"tokenLabel": "Token de acceso",
|
|
"tokenHint": "Ingrese este token al acceder al cliente Web por primera vez",
|
|
"tokenPlaceholder": "Dejar vacío para generar automáticamente",
|
|
"regenerate": "Regenerar",
|
|
"errors": {
|
|
"alreadyRunning": "El servicio Web ya está en ejecución",
|
|
"invalidAddress": "Formato de host o puerto no válido",
|
|
"portInUse": "El puerto {port} ya está en uso. Cierre el proceso que lo usa o elija otro puerto.",
|
|
"permissionDenied": "Permiso denegado. Utilice un puerto superior a 1024 o ejecute con mayores privilegios.",
|
|
"addressUnavailable": "La dirección no está disponible en este equipo",
|
|
"bindFailed": "No se pudo enlazar la dirección"
|
|
}
|
|
},
|
|
"DirectoryBrowser": {
|
|
"title": "Explorar directorio",
|
|
"pathPlaceholder": "Ingrese la ruta del directorio...",
|
|
"goHome": "Ir al directorio principal",
|
|
"navigateUp": "Ir al directorio superior",
|
|
"select": "Seleccionar",
|
|
"cancel": "Cancelar",
|
|
"loading": "Cargando...",
|
|
"emptyDirectory": "Este directorio está vacío",
|
|
"errorLoadingDir": "Error al cargar el directorio",
|
|
"permissionDenied": "Permiso denegado"
|
|
},
|
|
"ChatChannelSettings": {
|
|
"loading": "Cargando...",
|
|
"sectionTitle": "Canales de chat",
|
|
"sectionDescription": "Configure bots de IM para recibir notificaciones de eventos y consultar actividad de codificación.",
|
|
"addChannel": "Agregar canal",
|
|
"noChannels": "Aún no se han configurado canales de chat.",
|
|
"channelName": "Nombre",
|
|
"channelNamePlaceholder": "Mi bot de Telegram",
|
|
"channelType": "Tipo de canal",
|
|
"lark": "Lark (Feishu)",
|
|
"weixin": "WeChat",
|
|
"dailyReport": "Informe diario",
|
|
"dailyReportTime": "Hora del informe",
|
|
"nameRequired": "El nombre del canal es obligatorio.",
|
|
"tokenRequired": "El token es obligatorio.",
|
|
"chatIdRequired": "El Chat ID es obligatorio.",
|
|
"loadFailed": "Error al cargar los canales.",
|
|
"saveFailed": "Error al guardar los cambios.",
|
|
"connectSuccess": "Canal conectado.",
|
|
"connectFailed": "Error al conectar",
|
|
"disconnectSuccess": "Canal desconectado.",
|
|
"disconnectFailed": "Error al desconectar.",
|
|
"testSuccess": "Prueba de conexión exitosa.",
|
|
"testFailed": "Prueba de conexión fallida",
|
|
"deleteSuccess": "Canal eliminado.",
|
|
"deleteFailed": "Error al eliminar el canal.",
|
|
"deleteConfirmTitle": "Eliminar canal",
|
|
"deleteConfirmMessage": "Se eliminará permanentemente el canal y sus registros de mensajes. ¿Está seguro?",
|
|
"cancel": "Cancelar",
|
|
"delete": "Eliminar",
|
|
"create": "Crear",
|
|
"save": "Guardar",
|
|
"channelListTitle": "Canales configurados",
|
|
"channelListDescription": "Los canales habilitados se conectarán automáticamente al iniciar el servicio.",
|
|
"editChannel": "Editar canal",
|
|
"editSuccess": "Canal actualizado.",
|
|
"tokenPlaceholderKeep": "Dejar vacío para mantener actual",
|
|
"weixinScanTitle": "Escanear código QR",
|
|
"weixinScanDescription": "Abra WeChat y escanee el código QR para conectarse.",
|
|
"weixinQrcodeExpired": "El código QR ha expirado.",
|
|
"weixinRefreshQrcode": "Actualizar",
|
|
"weixinWaitingScan": "Esperando escaneo...",
|
|
"weixinPollError": "Conexión inestable, reintentando...",
|
|
"weixinReconnectNotice": "Debido a limitaciones del protocolo iLink, después de cada reconexión debes enviar un mensaje al bot para que los activadores de eventos surtan efecto.",
|
|
"connect": "Conectar",
|
|
"disconnect": "Desconectar",
|
|
"test": "Probar conexión",
|
|
"tabs": {
|
|
"channels": "Canales",
|
|
"commands": "Comandos",
|
|
"events": "Eventos",
|
|
"other": "Otros"
|
|
},
|
|
"commands": {
|
|
"title": "Comandos integrados",
|
|
"description": "Comandos de bot disponibles en los canales de chat. En chats grupales, se requiere @Bot para procesar mensajes.",
|
|
"prefixLabel": "Prefijo de comando",
|
|
"prefixDescription": "1-3 caracteres no alfanuméricos para activar comandos del bot (por defecto /).",
|
|
"prefixSaved": "Prefijo de comando guardado.",
|
|
"prefixSaveFailed": "Error al guardar el prefijo.",
|
|
"prefixInvalid": "El prefijo debe ser de 1-3 caracteres no alfanuméricos.",
|
|
"save": "Guardar",
|
|
"folderDesc": "Seleccionar carpeta de trabajo",
|
|
"agentDesc": "Seleccionar agente de IA",
|
|
"taskDesc": "Crear sesión y ejecutar tarea",
|
|
"sessionsDesc": "Listar sesiones activas en la carpeta",
|
|
"resumeDesc": "Conversaciones recientes / reanudar una sesión",
|
|
"cancelDesc": "Cancelar tarea actual",
|
|
"approveDesc": "Aprobar solicitud de permiso del agente",
|
|
"denyDesc": "Denegar solicitud de permiso del agente",
|
|
"searchDesc": "Buscar conversaciones por palabra clave",
|
|
"todayDesc": "Resumen de actividad de hoy",
|
|
"statusDesc": "Estado de conexión del canal",
|
|
"helpDesc": "Mostrar ayuda"
|
|
},
|
|
"events": {
|
|
"title": "Notificaciones de eventos",
|
|
"description": "Al habilitar eventos, se enviarán al canal cuando se activen.",
|
|
"turnComplete": "Turno completado",
|
|
"turnCompleteDesc": "Cuando finaliza un turno del agente",
|
|
"error": "Error del agente",
|
|
"errorDesc": "Cuando un agente encuentra un error",
|
|
"saved": "Filtro de eventos actualizado.",
|
|
"saveFailed": "Error al guardar el filtro de eventos."
|
|
},
|
|
"language": {
|
|
"title": "Idioma de mensajes",
|
|
"description": "Idioma utilizado para las notificaciones de eventos, respuestas de comandos e informes diarios enviados a los canales de chat.",
|
|
"saved": "Idioma de mensajes guardado.",
|
|
"saveFailed": "Error al guardar el idioma de mensajes.",
|
|
"en": "Inglés",
|
|
"zh-cn": "Chino simplificado",
|
|
"zh-tw": "Chino tradicional",
|
|
"ja": "Japonés",
|
|
"ko": "Coreano",
|
|
"es": "Español",
|
|
"de": "Alemán",
|
|
"fr": "Francés",
|
|
"pt": "Portugués",
|
|
"ar": "Árabe"
|
|
}
|
|
},
|
|
"ModelProviderSettings": {
|
|
"sectionTitle": "Proveedores de Modelos",
|
|
"sectionDescription": "Gestionar las credenciales de proveedores API para agentes.",
|
|
"filterAll": "Todos",
|
|
"providerListTitle": "Proveedores Configurados",
|
|
"addProvider": "Agregar Proveedor",
|
|
"editProvider": "Editar Proveedor",
|
|
"noProviders": "Aún no se han configurado proveedores de modelos.",
|
|
"providerName": "Nombre",
|
|
"providerNamePlaceholder": "Ej. OpenAI, Anthropic",
|
|
"apiUrl": "URL de API",
|
|
"apiUrlPlaceholder": "https://api.openai.com/v1",
|
|
"apiKey": "Clave API",
|
|
"apiKeyPlaceholder": "sk-...",
|
|
"apiKeyKeepCurrent": "Dejar vacío para mantener actual",
|
|
"agentTypes": "Tipos de Agente",
|
|
"agentTypesRequired": "Se requiere al menos un tipo de agente.",
|
|
"nameRequired": "El nombre del proveedor es obligatorio.",
|
|
"apiUrlRequired": "La URL de API es obligatoria.",
|
|
"apiKeyRequired": "La clave API es obligatoria.",
|
|
"loadFailed": "Error al cargar proveedores.",
|
|
"saveFailed": "Error al guardar cambios.",
|
|
"createSuccess": "Proveedor creado.",
|
|
"editSuccess": "Proveedor actualizado.",
|
|
"deleteSuccess": "Proveedor eliminado.",
|
|
"deleteConfirmTitle": "Eliminar Proveedor",
|
|
"deleteConfirmMessage": "Esto eliminará permanentemente el proveedor \"{name}\". ¿Está seguro?",
|
|
"deleteBlockedByAgent": "{agents} está usando este proveedor. Desvincúlelo antes de eliminarlo.",
|
|
"cancel": "Cancelar",
|
|
"delete": "Eliminar",
|
|
"create": "Crear",
|
|
"save": "Guardar"
|
|
},
|
|
"ExpertsSettings": {
|
|
"title": "Habilidades de expertos",
|
|
"description": "Habilita flujos de trabajo de habilidades cuidadosamente seleccionadas y probadas en la práctica para tus agentes de codificación de IA. Cada experto es una habilidad independiente del proyecto superpowers — codeg gestiona la copia central y la vincula a los agentes que elijas.",
|
|
"loading": "Cargando expertos…",
|
|
"loadingContent": "Cargando contenido…",
|
|
"emptyExperts": "No hay expertos disponibles. Revisa los registros de la aplicación.",
|
|
"emptySelection": "Selecciona un experto para ver su contenido y gestionar la activación.",
|
|
"emptySearch": "Ningún experto coincide con la búsqueda actual.",
|
|
"searchPlaceholder": "Buscar expertos por nombre, ID o descripción",
|
|
"enableForAgents": "Habilitar para agentes",
|
|
"noAgents": "No se detectaron agentes ACP.",
|
|
"copyModeWarning": "Copiado (no vinculado). Vuelve a habilitarlo después de actualizar codeg para obtener la última versión.",
|
|
"previewTitle": "Vista previa de SKILL.md",
|
|
"categories": {
|
|
"discovery": "Descubrimiento y diseño",
|
|
"planning": "Planificación",
|
|
"execution": "Ejecución",
|
|
"quality": "Calidad y pruebas",
|
|
"debugging": "Depuración",
|
|
"review": "Revisión e integración",
|
|
"meta": "Meta"
|
|
},
|
|
"states": {
|
|
"not_linked": "No habilitado",
|
|
"linked_to_codeg": "Habilitado",
|
|
"linked_elsewhere": "Bloqueado — existe otro vínculo",
|
|
"blocked_by_real_directory": "Bloqueado — una habilidad personalizada ocupa este nombre",
|
|
"broken": "Vínculo roto"
|
|
},
|
|
"badges": {
|
|
"userModified": "Modificado por el usuario"
|
|
},
|
|
"actions": {
|
|
"openCentralDir": "Abrir carpeta central",
|
|
"refresh": "Actualizar"
|
|
},
|
|
"toasts": {
|
|
"loadFailed": "Error al cargar los detalles del experto",
|
|
"enabled": "Experto habilitado para este agente",
|
|
"disabled": "Experto deshabilitado para este agente",
|
|
"enableFailed": "Error al habilitar el experto",
|
|
"disableFailed": "Error al deshabilitar el experto",
|
|
"openFolderFailed": "Error al abrir la carpeta"
|
|
}
|
|
}
|
|
}
|