Files
NetMesh/application/i18n/locales/es/core.ts
zhaolei 3c72efcb7f
Some checks failed
build-packages / resolve bundled mosh-client (push) Has been cancelled
build-packages / resolve bundled et-client (push) Has been cancelled
build-packages / build-macos (push) Has been cancelled
build-packages / build-windows (push) Has been cancelled
build-packages / build-linux-x64 (push) Has been cancelled
build-packages / build-linux-arm64 (push) Has been cancelled
build-packages / release (push) Has been cancelled
build-packages / update Nix release metadata (push) Has been cancelled
build-packages / bump homebrew tap (push) Has been cancelled
test / lint-and-test (push) Has been cancelled
AI automation / Route event (push) Has been cancelled
AI automation / Hand reopened issue to maintainers (push) Has been cancelled
AI automation / Clean source issue state (push) Has been cancelled
AI automation / Reconcile handoffs (push) Has been cancelled
AI automation / Classify issue (push) Has been cancelled
AI automation / Claude Code smoke (push) Has been cancelled
AI automation / Review issue follow-up (push) Has been cancelled
AI automation / Publish issue follow-up (push) Has been cancelled
AI automation / Implement with Claude Code (push) Has been cancelled
AI automation / Publish implement PR (push) Has been cancelled
AI automation / Continue queued issue comments (push) Has been cancelled
AI automation / Codex review loop (push) Has been cancelled
AI automation / Publish Codex fix (push) Has been cancelled
AI automation / Clear Codex dispatch marker (push) Has been cancelled
AI automation / Own PR re-request Codex (push) Has been cancelled
AI automation / External PR re-request Codex (push) Has been cancelled
AI automation / Poll Codex reaction / retry (push) Has been cancelled
build-et-binaries / build-linux-x64 (push) Has been cancelled
build-et-binaries / build-linux-arm64 (push) Has been cancelled
build-et-binaries / build-macos-universal (push) Has been cancelled
build-et-binaries / build-windows-x64 (push) Has been cancelled
build-et-binaries / release (push) Has been cancelled
[Init] Initial commit - NetMesh terminal manager
2026-09-13 18:24:01 +08:00

1115 lines
76 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import type { Messages } from '../types';
export const esCoreMessages: Messages = {
// Common
'common.save': 'Guardar',
'common.cancel': 'Cancelar',
'common.close': 'Cerrar',
'common.reset': 'Restablecer',
'common.zoomIn': 'Acercar',
'common.zoomOut': 'Alejar',
'common.settings': 'Configuración',
'common.search': 'Buscar',
'common.searchPlaceholder': 'Buscar...',
'common.connect': 'Conectar',
'common.terminal': 'Terminal',
'common.create': 'Crear',
'common.import': 'Importar',
'common.generate': 'Generar',
'common.delete': 'Eliminar',
'common.edit': 'Editar',
'common.clear': 'Limpiar',
'common.optional': 'Opcional',
'common.selectPlaceholder': 'Seleccionar...',
'common.add': 'Agregar',
'common.rename': 'Renombrar',
'common.refresh': 'Actualizar',
'common.continue': 'Continuar',
'common.enabled': 'Activado',
'common.disabled': 'Desactivado',
'common.error': 'Error',
'common.validation': 'Validación',
'common.unknownError': 'Error desconocido',
'common.noResultsFound': 'No se encontraron resultados',
'common.back': 'Atrás',
'common.apply': 'Aplicar',
'common.use': 'Usar',
'common.useGlobal': 'Usar global',
'common.saveChanges': 'Guardar cambios',
'common.advanced': 'Avanzado',
'common.left': 'Izquierda',
'common.right': 'Derecha',
'common.more': 'Más',
// Dense toolbar customize (show / collapse / hide)
'toolbar.layout.customize': 'Personalizar barra de herramientas',
'toolbar.layout.show': 'Mostrar',
'toolbar.layout.collapse': 'Contraer',
'toolbar.layout.hide': 'Ocultar',
'toolbar.layout.moveEarlier': 'Mover antes',
'toolbar.layout.moveLater': 'Mover después',
'toolbar.layout.reset': 'Restablecer a los valores predeterminados',
'common.selectAHost': 'Seleccionar un host',
'common.selectAHostPlaceholder': 'Seleccionar un host...',
'sort.manual': 'Orden manual',
'sort.az': 'A-z',
'sort.za': 'Z-a',
'sort.newest': 'Más reciente a más antiguo',
'sort.oldest': 'Más antiguo a más reciente',
'sort.group': 'Por grupo',
'field.label': 'Etiqueta',
'field.type': 'Tipo',
'auth.keyType': 'Tipo {type}',
'auth.showAllKeys': 'Mostrar todas las claves',
// Dialogs / prompts
'confirm.deleteHost': '¿Eliminar el host "{name}"?',
'confirm.deleteIdentity': '¿Eliminar la identidad "{name}"?',
'confirm.removeProvider': '¿Quitar el proveedor "{name}"?',
'confirm.closeBusyTerminal.title': 'Confirmar cierre',
'confirm.closeBusyTerminal.message': 'El proceso "{command}" aún se está ejecutando y se terminará.',
'confirm.closeBusyTerminal.messageWithMore': 'El proceso "{command}" y {count} procesos en ejecución más se terminarán.',
'confirm.closeBusyTerminal.cancel': 'Cancelar',
'confirm.closeBusyTerminal.close': 'Cerrar',
'dialog.createWorkspace.title': 'Crear espacio de trabajo',
'dialog.renameWorkspace.title': 'Renombrar espacio de trabajo',
'dialog.renameSession.title': 'Renombrar sesión',
'field.name': 'Nombre',
'field.selectHosts': 'Seleccionar hosts',
'placeholder.workspaceName': 'Nombre del espacio de trabajo',
'placeholder.sessionName': 'Nombre de la sesión',
'placeholder.searchHosts': 'Buscar hosts...',
'toast.settingsUnavailable': 'La ventana de configuración no está disponible en esta plataforma.',
'credentials.protectionUnavailable.title': 'Protección de credenciales no disponible',
'credentials.protectionUnavailable.message': 'Las contraseñas y claves guardadas no se pueden descifrar automáticamente en este dispositivo. Vuelve a ingresar las credenciales antes de conectarte.',
'credentials.protectionUnavailable.action': 'Abrir configuración',
// Settings shell
'settings.title': 'Configuración',
'settings.tab.application': 'Aplicación',
'settings.tab.appearance': 'Apariencia',
'settings.tab.terminal': 'Terminal',
'settings.tab.shortcuts': 'Atajos',
'settings.tab.ai': 'IA',
'settings.tab.syncCloud': 'Sincronización y nube',
'settings.tab.system': 'Sistema',
'settings.search.open': 'Buscar configuración',
'settings.search.placeholder': 'Buscar configuración…',
'settings.search.noResults': 'No hay ajustes que coincidan',
// Settings > System
'settings.system.title': 'Sistema',
'settings.system.description': 'Información del sistema y gestión de archivos temporales.',
'settings.system.tempDirectory': 'Archivos temporales',
'settings.system.location': 'Ubicación',
'settings.system.fileCount': 'Archivos',
'settings.system.totalSize': 'Tamaño',
'settings.system.openFolder': 'Abrir carpeta',
'settings.system.refresh': 'Actualizar',
'settings.system.clearTempFiles': 'Limpiar archivos temporales',
'settings.system.clearing': 'Limpiando...',
'settings.system.clearResult': 'Se eliminaron {deleted} archivo(s), {failed} fallaron.',
'settings.system.tempDirectoryHint': 'Los archivos temporales se crean al abrir archivos remotos con aplicaciones externas. Se limpian automáticamente cuando las sesiones SFTP se cierran.',
'settings.system.credentials.title': 'Protección de credenciales',
'settings.system.credentials.status': 'Estado',
'settings.system.credentials.checking': 'Comprobando...',
'settings.system.credentials.available': 'Disponible (llavero del sistema listo)',
'settings.system.credentials.unavailable': 'No disponible (no se pueden descifrar las credenciales guardadas)',
'settings.system.credentials.unknown': 'Desconocido (no compatible con este entorno)',
'settings.system.credentials.unavailableHint': 'Las credenciales cifradas en otro perfil de usuario o máquina no se pueden descifrar aquí. Vuelve a ingresar y guarda las credenciales en este dispositivo.',
'settings.system.credentials.portabilityHint': 'La sincronización en la nube es portátil porque usa tu cifrado de clave maestra. El cifrado local de safeStorage está limitado al dispositivo y al usuario.',
// Settings > System > Network Proxy
'settings.system.networkProxy.title': 'Proxy de red',
'settings.system.networkProxy.description': 'Proxy HTTP(S) para la sincronización en la nube y los proveedores de IA. Esto es independiente de los perfiles de ProxyJump / ProxyCommand de SSH.',
'settings.system.networkProxy.mode': 'Modo de proxy',
'settings.system.networkProxy.mode.system': 'Usar el proxy del sistema',
'settings.system.networkProxy.mode.direct': 'Directo (sin proxy)',
'settings.system.networkProxy.mode.custom': 'Proxy personalizado',
'settings.system.networkProxy.url': 'URL del proxy',
'settings.system.networkProxy.url.placeholder': 'http://127.0.0.1:7890',
'settings.system.networkProxy.url.desc': 'Admite URLs de host:puerto con http://, https:// y socks5://. No se admiten credenciales de proxy dentro de la URL.',
'settings.system.networkProxy.bypass': 'Lista de exclusión',
'settings.system.networkProxy.bypass.placeholder': '<local>,localhost,127.0.0.1',
'settings.system.networkProxy.bypass.desc': 'Hosts separados por comas que omiten el proxy. Usa <local> para nombres de loopback y LAN.',
'settings.system.networkProxy.hint': 'Afecta el inicio de sesión de Google Drive / OneDrive / sincronización con GitHub y las solicitudes a los proveedores de IA. No cambia las conexiones SSH.',
// Settings > System > Crash Logs
'settings.system.crashLogs.title': 'Registros de fallos',
'settings.system.crashLogs.description': 'Consulta los registros de errores del proceso principal para diagnosticar comportamientos inesperados.',
'settings.system.crashLogs.noLogs': 'No se encontraron registros de errores.',
'settings.system.crashLogs.entries': '{count} entradas',
'settings.system.crashLogs.clear': 'Limpiar todos los registros',
'settings.system.crashLogs.cleared': 'Se limpiaron {count} archivo(s) de registro.',
'settings.system.crashLogs.source': 'Origen',
'settings.system.crashLogs.time': 'Hora',
'settings.system.crashLogs.message': 'Mensaje',
'settings.system.crashLogs.stack': 'Seguimiento de pila',
'settings.system.crashLogs.hint': 'Los registros de errores se conservan durante 30 días y se rotan automáticamente.',
'settings.system.crashLogs.collapse': 'Contraer',
'settings.system.crashLogs.expand': 'Mostrar detalles',
// Settings > System > Software Update
'settings.update.title': 'Actualización de software',
'settings.update.currentVersion': 'Versión actual',
'settings.update.checkForUpdates': 'Buscar actualizaciones',
'settings.update.checking': 'Comprobando...',
'settings.update.upToDate': 'Estás usando la última versión.',
'settings.update.available': 'Hay disponible una nueva versión: {version}.',
'settings.update.download': 'Descargar actualización',
'settings.update.downloading': 'Descargando... {percent}%',
'settings.update.readyToInstall': 'La actualización se descargó y está lista para instalar.',
'settings.update.restartNow': 'Reiniciar para actualizar',
'settings.update.error': 'No se pudo buscar actualizaciones.',
'settings.update.downloadError': 'La descarga falló.',
'settings.update.manualDownload': 'Descargar desde GitHub',
'settings.update.manualDownloadHint': 'La actualización automática no está disponible en esta plataforma. Descarga la última versión desde GitHub.',
'settings.update.hint': 'NetMesh busca actualizaciones en GitHub Releases.',
'settings.update.lastCheckedJustNow': 'ahora mismo',
'settings.update.lastCheckedMinutesAgo': 'hace {n} min',
'settings.update.lastCheckedHoursAgo': 'hace {n} h',
'settings.update.lastCheckedPrefix': 'Última comprobación: ',
'settings.update.autoUpdateEnabled': 'Actualizaciones automáticas',
'settings.update.autoUpdateEnabledDesc': 'Comprueba y descarga actualizaciones automáticamente cuando estén disponibles.',
// Settings > Session Restore
'settings.sessionRestore.title': 'Restauración de sesión',
'settings.sessionRestore.startupLanding': 'Al iniciar',
'settings.sessionRestore.startupLandingDesc': 'Elige si abrir la página de inicio de hosts o una terminal local cuando NetMesh se inicia sin sesiones restauradas.',
'settings.sessionRestore.startupLanding.vault': 'Inicio (hosts)',
'settings.sessionRestore.startupLanding.localTerminal': 'Terminal local',
'settings.sessionRestore.restorePreviousSession': 'Restaurar pestañas y espacios de trabajo anteriores',
'settings.sessionRestore.restorePreviousSessionDesc': 'Vuelve a abrir las pestañas de terminal y los diseños de espacios de trabajo de la última sesión de la aplicación.',
'settings.sessionRestore.restoreTerminalCwd': 'Restaurar el directorio de trabajo de la terminal',
'settings.sessionRestore.restoreTerminalCwdDesc': 'Al reconectar una terminal restaurada, intenta volver a su último directorio conocido sin bloquear la conexión.',
'terminal.restore.placeholder.title': 'Sesión restaurada',
'terminal.restore.placeholder.desc': 'Esta terminal está desconectada. Reconecta cuando estés listo para iniciar un nuevo shell en esta pestaña.',
'terminal.restore.placeholder.reconnect': 'Reconectar',
'terminal.restore.cwdLog': 'Restaurando directorio de trabajo: {cwd}',
// Settings > Session Logs
'settings.sessionLogs.title': 'Registros de sesión',
'settings.sessionLogs.description': 'Configura la exportación y el guardado automático de los registros de sesión.',
'settings.sessionLogs.autoSave': 'Guardado automático',
'settings.sessionLogs.enableAutoSave': 'Activar guardado automático',
'settings.sessionLogs.enableAutoSaveDesc': 'Guarda automáticamente los registros de sesión cuando las sesiones de terminal terminan.',
'settings.sessionLogs.directory': 'Directorio de guardado',
'settings.sessionLogs.noDirectory': 'No se seleccionó ningún directorio',
'settings.sessionLogs.browse': 'Explorar',
'settings.sessionLogs.openFolder': 'Abrir carpeta',
'settings.sessionLogs.directoryHint': 'Los registros se organizarán por host en subdirectorios.',
'settings.sessionLogs.format': 'Formato del registro',
'settings.sessionLogs.formatDesc': 'Elige el formato para los archivos de registro guardados.',
'settings.sessionLogs.formatTxt': 'Texto plano (.txt)',
'settings.sessionLogs.formatRaw': 'Sin procesar con ANSI (.log)',
'settings.sessionLogs.formatHtml': 'HTML (.html)',
'settings.sessionLogs.timestamps': 'Agregar marcas de tiempo',
'settings.sessionLogs.timestampsDesc': 'Antepón a cada línea de los registros de texto plano y HTML la hora local.',
'settings.sessionLogs.hint': 'Los registros de sesión capturan toda la salida de la terminal para solucionar problemas y auditar.',
'settings.sessionLogs.clearAll': 'Limpiar todos los registros',
'settings.sessionLogs.clearAllDesc': 'Elimina todos los archivos de registro de sesión guardados y los subdirectorios de host del directorio de guardado.',
'settings.sessionLogs.clearConfirm': 'Esto eliminará permanentemente todos los archivos de registro de sesión del directorio de guardado. Esta acción no se puede deshacer. ¿Continuar?',
// Settings > SSH Debug Logs
'settings.sshDebugLogs.title': 'Registros de depuración SSH',
'settings.sshDebugLogs.enable': 'Activar registros de depuración SSH',
'settings.sshDebugLogs.enableDesc': 'Registra los motivos de conexión, autenticación, handshake, desconexión y errores sin guardar la salida de la terminal.',
'settings.sshDebugLogs.location': 'Ubicación del registro',
'settings.sshDebugLogs.status': 'Estado',
'settings.sshDebugLogs.statusOn': 'Activado',
'settings.sshDebugLogs.statusOff': 'Desactivado',
'settings.sshDebugLogs.size': 'Tamaño',
'settings.sshDebugLogs.hint': 'Cuando está activado, las conexiones SSH nuevas escriben eventos de diagnóstico para solucionar problemas de bastión, autenticación y desconexiones inesperadas.',
// Settings > Global Hotkey (Quake Mode)
'settings.globalHotkey.title': 'Tecla de acceso global',
'settings.globalHotkey.toggleWindow': 'Alternar ventana',
'settings.globalHotkey.toggleWindowDesc': 'Presiona una combinación de teclas para definir un atajo global que muestre u oculte la ventana.',
'settings.globalHotkey.notSet': 'No configurada',
'settings.globalHotkey.reset': 'Restablecer al valor predeterminado',
'settings.globalHotkey.closeToTray': 'Cerrar a la bandeja del sistema',
'settings.globalHotkey.closeToTrayDesc': 'Cuando está activado, cerrar la ventana la minimiza a la bandeja del sistema en lugar de salir.',
'settings.globalHotkey.enabled': 'Activar tecla de acceso global',
'settings.globalHotkey.enabledDesc': 'Registra atajos de teclado a nivel de todo el sistema. Cuando está desactivado, todas las teclas de acceso global se desregistran.',
'settings.globalHotkey.hint': 'La tecla de acceso global funciona en todo el sistema para mostrar u ocultar la ventana rápidamente (terminal estilo Quake).',
// Tray Panel
'tray.openMainWindow': 'Abrir ventana principal',
'tray.sessions': 'Sesiones',
'tray.portForwarding': 'Reenvío de puertos',
'tray.status.connected': 'Conectado',
'tray.status.connecting': 'Conectando',
'tray.status.disconnected': 'Desconectado',
'tray.status.active': 'Activo',
'tray.status.inactive': 'Inactivo',
'tray.status.error': 'Error',
'tray.status.unknown': 'Desconocido',
'tray.recentHosts': 'Hosts recientes',
'tray.empty.title': 'Nada por aquí todavía',
'tray.empty.subtitle': 'Ve a conectarte a un servidor, te extrañan 🚀',
'tray.quit': 'Salir de NetMesh',
'tray.closeSession': 'Cerrar sesión',
// Vault Sidebar
'vault.sidebar.collapse': 'Contraer barra lateral',
'vault.sidebar.expand': 'Expandir barra lateral',
'vault.sidebar.resize': 'Cambiar tamaño de la barra lateral',
// Settings > Application
'settings.application.checkUpdates': 'Buscar actualizaciones',
'settings.application.reportProblem': 'Reportar un problema',
'settings.application.reportProblem.subtitle': 'Generar un issue de GitHub ya rellenado',
'settings.application.community': 'Comunidad',
'settings.application.community.subtitle': 'En GitHub Discussions',
'settings.application.github': 'GitHub',
'settings.application.github.subtitle': 'Código fuente',
'settings.application.whatsNew': 'Novedades',
'settings.application.whatsNew.subtitle': 'Mostrar notas de la versión',
'settings.application.openExternal.failedTitle': 'No se puede abrir el enlace',
'settings.application.openExternal.failedBody': 'El enlace no se pudo abrir ni en el navegador del sistema ni en la ventana del navegador integrado.',
'settings.vault.title': 'Vault',
'settings.vault.showRecentHosts': 'Mostrar hosts conectados recientemente',
'settings.vault.showRecentHostsDesc': 'Muestra una sección de hosts conectados recientemente en la parte superior del vault',
'settings.vault.selectBeforeConnect': 'Seleccionar host antes de conectarse',
'settings.vault.selectBeforeConnectDesc': 'Haz clic una vez para seleccionar un host (resaltado con el color de acento en la vista de cuadrícula), haz clic de nuevo para conectarte. Los grupos funcionan igual. El valor predeterminado sigue siendo conectarse con un solo clic.',
'settings.vault.showOnlyUngroupedHostsInRoot': 'Mostrar solo hosts sin grupo en la raíz',
'settings.vault.showOnlyUngroupedHostsInRootDesc': 'Cuando está activado, la lista de hosts de la raíz solo muestra hosts sin grupo. Abre un grupo desde la barra lateral para ver los hosts agrupados.',
'settings.vault.showSftpTab': 'Mostrar pestaña SFTP',
'settings.vault.showSftpTabDesc': 'Muestra la vista SFTP independiente en la barra de pestañas superior. Cuando está oculta, usa el panel lateral SFTP dentro de la sesión.',
'settings.vault.showHostTreeSidebar': 'Mostrar barra lateral de lista de hosts',
'settings.vault.showHostTreeSidebarDesc': 'Muestra la barra lateral de lista de hosts y su alternador en la barra superior en las pestañas de terminal y editor.',
'settings.vault.autoImportSystemKnownHosts': 'Importar automáticamente known_hosts del sistema',
'settings.vault.autoImportSystemKnownHostsDesc': 'Cuando se carga el Vault, importa en silencio las entradas del archivo known_hosts de OpenSSH. Desactívalo para mantener los hosts conocidos de NetMesh separados; Escanear sistema sigue importando a pedido.',
'settings.vault.notesFont': 'Fuente de código',
'settings.vault.notesFontDesc': 'Familia tipográfica para bloques de código y código en línea en notas',
'settings.vault.notesFontSize': 'Tamaño de fuente de notas',
'settings.vault.notesFontSizeDesc': 'Tamaño de fuente para el cuerpo de texto de las notas',
'settings.vault.notesCodeFontSize': 'Tamaño de fuente de código',
'settings.vault.notesCodeFontSizeDesc': 'Tamaño de fuente para bloques de código y código en línea en notas',
// Update notifications
'update.available.title': 'Actualización disponible',
'update.available.message': 'Hay disponible una nueva versión: {version}. Haz clic para descargarla.',
'update.checking': 'Buscando actualizaciones...',
'update.upToDate.title': 'Actualizado',
'update.upToDate.message': 'Estás ejecutando la última versión ({version}).',
'update.error': 'No se pudo buscar actualizaciones',
'update.downloadNow': 'Descargar ahora',
'update.viewInSettings': 'Ver en configuración',
'update.readyToInstall.title': 'Actualización lista',
'update.readyToInstall.message': 'La versión {version} se descargó y está lista para instalar.',
'update.restartNow': 'Reiniciar ahora',
'update.downloadFailed.title': 'Actualización fallida',
'update.downloadFailed.message': 'No se pudo descargar la actualización. Puedes descargarla manualmente.',
'update.needsSave.title': 'Cambios sin guardar',
'update.needsSave.message': 'Primero guarda los editores abiertos y luego haz clic en Reiniciar ahora de nuevo para instalar la actualización.',
'update.openReleases': 'Abrir versiones',
'update.remindLater': 'Recordarme después',
'update.skipVersion': 'Omitir esta versión',
// Settings > Appearance
'settings.appearance.uiTheme': 'Tema de la interfaz',
'settings.appearance.theme': 'Tema',
'settings.appearance.theme.desc': 'Elige claro, oscuro o seguir la preferencia del sistema',
'settings.appearance.theme.light': 'Claro',
'settings.appearance.theme.dark': 'Oscuro',
'settings.appearance.theme.system': 'Sistema',
'settings.appearance.accentColor': 'Color de acento',
'settings.appearance.customColor': 'Color personalizado',
'settings.appearance.accentColor.mode': 'Usar acento personalizado',
'settings.appearance.accentColor.mode.desc': 'Anula el color de acento del tema',
'settings.appearance.accentColor.custom': 'Acento personalizado',
'settings.appearance.themeColor': 'Color del tema',
'settings.appearance.themeColor.desc': 'Elige una paleta predefinida para cada tema',
'settings.appearance.themeColor.light': 'Paleta clara',
'settings.appearance.themeColor.dark': 'Paleta oscura',
'settings.appearance.customCss': 'CSS personalizado',
'settings.appearance.customCss.desc':
'Agrega CSS personalizado para personalizar la apariencia de la aplicación. Los cambios se aplican de inmediato.',
'settings.appearance.customCss.help.ariaLabel': 'Ayuda de CSS personalizado',
'settings.appearance.customCss.help.title': 'Guía de CSS personalizado',
'settings.appearance.customCss.help.body': `Las principales regiones de la interfaz exponen un atributo \`data-section\` que puedes usar como destino. Los cambios se aplican en cuanto editas el CSS.
### Cómo seleccionar
Usa selectores de atributos:
\`\`\`css
[data-section="terminal-side-panel"] {
border: 2px solid #00c851 !important;
border-radius: 6px !important;
}
\`\`\`
Algunas filas y paneles también admiten hooks de estado como \`[data-selected="true"]\` o \`[data-focused="true"]\`.
Como muchos estilos provienen de utilidades de Tailwind, a menudo necesitas \`!important\` para anularlos.
### Pestañas superiores
- \`top-tabs\`
- \`top-tabs-toolbar-actions\` — Menú lateral derecho y barra de herramientas de utilidades
- \`top-tabs-host-tree-toggle\`
- \`top-tabs-quick-switcher-toggle\`
### Vault
- \`vault-view\`
- \`vault-sidebar\`
- \`vault-main\`
- \`vault-hosts-header\`
- \`vault-host-list\`
### Espacio de trabajo de la terminal
- \`terminal-workspace\`
- \`terminal-toolbar\` — Barra de herramientas de acciones de la terminal
- \`terminal-toolbar-menu\` — Menú desbordado y submenú de la barra de herramientas de la terminal
- \`terminal-workspace-sidebar\` — Lista de terminales en modo de enfoque
- \`terminal-host-tree-sidebar\`
- \`terminal-host-tree-sidebar-content\`
- \`terminal-host-tree-sidebar-row\`
- \`terminal-split-pane\`
- \`terminal-split-resizer\`
### Panel lateral de la terminal
- \`terminal-side-panel\` — Panel SFTP / Scripts / Tema / IA (solo presente mientras está abierto)
- \`terminal-side-panel-tabs\`
- \`terminal-side-panel-content\`
### SFTP
- \`terminal-sftp-panel\`
- \`terminal-sftp-host-header\`
- \`terminal-sftp-pane\`
- \`terminal-sftp-toolbar\`
- \`terminal-sftp-path\`
- \`terminal-sftp-filter-bar\`
- \`terminal-sftp-list\`
- \`terminal-sftp-list-header\`
- \`terminal-sftp-list-row\`
- \`terminal-sftp-tree\`
- \`terminal-sftp-tree-row\`
- \`terminal-sftp-transfer-queue\`
- \`terminal-sftp-transfer-row\`
### Paneles de detalles / herramientas
- \`snippets-panel\`
- \`host-details-panel\`
- \`group-details-panel\`
- \`serial-host-details-panel\`
- \`ai-chat-panel\`
### Ejemplos
Aumenta el tamaño de los íconos de menús y barras de herramientas:
\`\`\`css
[data-section="top-tabs-toolbar-actions"] button > svg,
[data-section="terminal-toolbar"] button > svg,
[data-section="terminal-toolbar-menu"] button > svg,
[data-section="terminal-toolbar"] button [data-plugin-icon-kind="package"] {
width: 20px !important;
height: 20px !important;
}
\`\`\`
Oculta el alternador de la lista de hosts en la barra de pestañas superior:
\`\`\`css
[data-section="top-tabs-host-tree-toggle"] {
width: 0 !important;
opacity: 0 !important;
pointer-events: none !important;
}
\`\`\`
Aplica estilo a las filas de archivos SFTP seleccionadas:
\`\`\`css
[data-section="terminal-sftp-list-row"][data-selected="true"] {
background-color: #00c851 !important;
color: #001b10 !important;
}
\`\`\`
Resalta el panel dividido enfocado:
\`\`\`css
[data-section="terminal-split-pane"][data-focused="true"] {
outline: 2px solid hsl(var(--primary)) !important;
outline-offset: -2px;
}
\`\`\`
`,
'settings.appearance.customCss.placeholder':
'/* Ejemplos: usa !important para superar la especificidad de las utilidades de Tailwind */\n\n/* Oculta el botón de lista de hosts en la barra de pestañas superior */\n[data-section="top-tabs-host-tree-toggle"] {\n width: 0 !important;\n opacity: 0 !important;\n pointer-events: none !important;\n}\n\n/* Oculta el botón + que abre el selector rápido */\n[data-section="top-tabs-quick-switcher-toggle"] {\n display: none !important;\n}\n\n/* Borde alrededor del panel SFTP / lateral (no persiste tras cerrarlo) */\n[data-section="terminal-side-panel"] {\n border: 2px solid #00c851 !important;\n border-radius: 6px !important;\n}\n\n/* Cambia el fondo de todo el panel lateral, no solo las pestañas superiores */\n[data-section="terminal-side-panel"],\n[data-section="terminal-side-panel-tabs"],\n[data-section="terminal-side-panel-content"],\n[data-section="terminal-sftp-panel"],\n[data-section="terminal-sftp-pane"],\n[data-section="terminal-sftp-list"],\n[data-section="terminal-sftp-tree"],\n[data-section="terminal-sftp-transfer-queue"] {\n background-color: #1c384a !important;\n}\n\n/* Estiliza las filas de archivos SFTP seleccionadas */\n[data-section="terminal-sftp-list-row"][data-selected="true"] {\n background-color: #00c851 !important;\n color: #001b10 !important;\n}\n\n/* Divisores de división más gruesos */\n[data-section="terminal-split-resizer-bar"] {\n background-color: hsl(var(--primary)) !important;\n transform: scale(2) !important;\n}\n\n/* Resalta el panel dividido enfocado */\n[data-section="terminal-split-pane"][data-focused="true"] {\n outline: 2px solid hsl(var(--primary)) !important;\n outline-offset: -2px;\n}\n\n/* O usa Configuración → Terminal → Indicador de foco del espacio de trabajo → Borde en el panel enfocado */',
'settings.appearance.language': 'Idioma',
'settings.appearance.language.desc': 'Elige el idioma de la interfaz',
'settings.appearance.uiFont': 'Fuente de la interfaz',
'settings.appearance.uiFont.desc': 'Elige la fuente para la interfaz de la aplicación',
'settings.appearance.windowOpacity': 'Opacidad de la ventana',
'settings.appearance.windowOpacity.desc': 'Ajusta la transparencia de toda la ventana de la aplicación. Los valores más bajos también atenúan el texto de la terminal. Algunos entornos de escritorio de Linux pueden no admitir esto.',
'settings.appearance.appIcon': 'Ícono de la aplicación',
'settings.appearance.appIcon.desc': 'Elige un estilo de ícono para el dock o la barra de tareas que haga más fácil distinguir NetMesh al cambiar de aplicación. Se aplica en tiempo de ejecución; el ícono del paquete instalado no cambia.',
'settings.appearance.appIcon.original': 'Original',
'settings.appearance.appIcon.bright': 'Brillante',
'settings.appearance.appIcon.dark': 'Oscuro',
'settings.appearance.appIcon.colorful': 'Colorido',
'settings.appearance.appIcon.highContrast': 'Alto contraste',
'settings.appearance.appIcon.group.classic': 'Fondos de colores',
'settings.appearance.appIcon.group.white': 'Fondo blanco',
'settings.appearance.appIcon.group.special': 'Oculto',
'settings.appearance.appIcon.whiteNavy': 'Gato blanco · azul marino',
'settings.appearance.appIcon.whiteSky': 'Gato blanco · cielo',
'settings.appearance.appIcon.whiteRose': 'Gato blanco · rosa',
'settings.appearance.appIcon.whiteEmerald': 'Gato blanco · esmeralda',
'settings.appearance.appIcon.whiteAmber': 'Gato blanco · ámbar',
'settings.appearance.appIcon.whiteViolet': 'Gato blanco · violeta',
'settings.appearance.appIcon.rainbow': 'Gato arcoíris',
// Settings > Terminal
'settings.terminal.section.theme': 'Tema de la terminal',
'settings.terminal.themeModal.title': 'Seleccionar tema',
'settings.terminal.themeModal.darkThemes': 'Temas oscuros',
'settings.terminal.themeModal.lightThemes': 'Temas claros',
'settings.terminal.theme.selectButton': 'Seleccionar tema',
'settings.terminal.theme.followApp': 'Seguir el tema de la aplicación',
'settings.terminal.theme.followApp.desc': 'Haz coincidir automáticamente el fondo de la terminal con el tema actual de la aplicación para una apariencia uniforme.',
'settings.terminal.theme.darkTheme': 'Tema de terminal en modo oscuro',
'settings.terminal.theme.lightTheme': 'Tema de terminal en modo claro',
'settings.terminal.theme.auto': 'Automático (coincidir con el tema de la app)',
'settings.terminal.theme.autoDesc': 'Sigue el preset del tema de la interfaz activo',
'settings.terminal.section.font': 'Fuente',
'settings.terminal.section.cursor': 'Cursor',
'settings.terminal.section.keyboard': 'Teclado',
'settings.terminal.section.accessibility': 'Accesibilidad',
'settings.terminal.section.behavior': 'Comportamiento',
'settings.terminal.section.sidePanel': 'Panel lateral',
'settings.terminal.section.scrollback': 'Historial de desplazamiento',
'settings.terminal.section.keywordHighlight': 'Resaltado de palabras clave',
'settings.terminal.font.family': 'Fuente',
'settings.terminal.font.family.desc': 'Familia de fuentes de la terminal',
'settings.terminal.font.cjk': 'Fuente CJK',
'settings.terminal.font.cjk.desc': 'Fuente usada para caracteres chinos / japoneses / coreanos; "Auto" elige una según la fuente principal',
'settings.terminal.font.cjk.option.auto': 'Auto · emparejada con la fuente principal',
'settings.terminal.font.cjk.option.sarasaSC': 'Sarasa Mono SC (Iosevka + Source Han SC)',
'settings.terminal.font.cjk.option.sarasaTC': 'Sarasa Mono TC (Iosevka + Source Han TC)',
'settings.terminal.font.cjk.option.mapleCN': 'Maple Mono CN',
'settings.terminal.font.cjk.option.sourceHan': 'Source Han Mono SC',
'settings.terminal.font.cjk.option.notoCJK': 'Noto Sans Mono CJK SC',
'settings.terminal.font.cjk.option.lxgwWenkai': 'LXGW WenKai Mono',
'settings.terminal.font.cjk.option.simSun': 'SimSun',
'settings.terminal.font.cjk.option.legacy': '{font} · no recomendada (fuente proporcional)',
'settings.terminal.font.cjk.option.recommended': 'Recomendada para la alineación de la terminal',
'settings.terminal.font.cjk.option.installed': 'Fuente instalada',
'settings.terminal.font.cjk.option.unverified': 'No se pudo comprobar la disponibilidad',
'settings.terminal.font.cjk.option.unavailable': 'No está instalada en este dispositivo',
'settings.terminal.font.cjk.searchPlaceholder': 'Buscar fuentes instaladas…',
'settings.terminal.font.cjk.empty': 'No hay fuentes instaladas que coincidan',
'settings.terminal.font.cjk.useCustom': 'Usar fuente',
'settings.terminal.font.cjk.refresh': 'Actualizar fuentes instaladas',
'settings.terminal.font.cjk.alignmentWarning': 'Esta fuente no está verificada como monoespaciada. Revisa la vista previa para comprobar la alineación de columnas.',
'settings.terminal.font.cjk.unavailableWarning': 'Esta fuente no está instalada en este dispositivo. NetMesh mantendrá el ajuste y usará una alternativa segura.',
'settings.terminal.font.size': 'Tamaño de fuente',
'settings.terminal.font.size.desc': 'Tamaño del texto de la terminal',
'settings.terminal.font.weight': 'Peso de fuente',
'settings.terminal.font.weight.desc': 'Peso del texto normal (100-900)',
'settings.terminal.font.weight.thin': 'Fina',
'settings.terminal.font.weight.extraLight': 'Extra fina',
'settings.terminal.font.weight.light': 'Ligera',
'settings.terminal.font.weight.normal': 'Normal',
'settings.terminal.font.weight.medium': 'Media',
'settings.terminal.font.weight.semiBold': 'Semi negrita',
'settings.terminal.font.weight.bold': 'Negrita',
'settings.terminal.font.weight.extraBold': 'Extra negrita',
'settings.terminal.font.weight.black': 'Negra',
'settings.terminal.font.weightBold': 'Peso de fuente en negrita',
'settings.terminal.font.weightBold.desc': 'Peso del texto en negrita (100-900)',
'settings.terminal.font.smoothing': 'Suavizado de fuente',
'settings.terminal.font.smoothing.desc': 'Usar el anti-aliasing nativo de fuentes de macOS',
'settings.terminal.font.linePadding': 'Espaciado de líneas',
'settings.terminal.font.linePadding.desc': 'Espacio adicional entre líneas (0-10)',
'settings.terminal.font.emulationType': 'Tipo de emulación de terminal',
'settings.terminal.cursor.style': 'Estilo del cursor',
'settings.terminal.cursor.style.block': 'Bloque',
'settings.terminal.cursor.style.bar': 'Barra',
'settings.terminal.cursor.style.underline': 'Subrayado',
'settings.terminal.cursor.blink': 'Parpadeo del cursor',
'settings.terminal.cursor.highlightLine': 'Resaltar línea actual',
'settings.terminal.cursor.highlightLine.desc':
'Sombrea la fila bajo el cursor para que la línea activa sea más fácil de encontrar',
'settings.terminal.keyboard.altAsMeta': 'Usar Option como tecla Meta',
'settings.terminal.keyboard.altAsMeta.desc':
'Usa Option (Alt) como la tecla Meta en lugar de para caracteres especiales',
'settings.terminal.keyboard.optionArrowWordJump': 'Option+←/→ se desplaza por palabra',
'settings.terminal.keyboard.optionArrowWordJump.desc':
'Envía Meta-b / Meta-f en Option+Flecha izquierda/derecha para que el shell se mueva por palabra, en lugar del ^[[1;3D / ^[[1;3C predeterminado',
'settings.terminal.keyboard.kittyProtocol': 'Protocolo de teclado de Kitty',
'settings.terminal.keyboard.kittyProtocol.desc':
'Habilita la compatibilidad con el protocolo de teclado de Kitty.',
'settings.terminal.accessibility.minimumContrastRatio': 'Relación de contraste mínima',
'settings.terminal.sidePanel.autoOpen': 'Abrir panel lateral con la terminal',
'settings.terminal.sidePanel.autoOpen.desc': 'Abre automáticamente un panel lateral cuando una terminal se conecta.',
'settings.terminal.sidePanel.autoOpenPane': 'Panel lateral predeterminado',
'settings.terminal.sidePanel.autoOpenPane.desc': 'Elige qué panel se abre primero.',
'settings.terminal.sidePanel.pane.sftp': 'SFTP',
'settings.terminal.sidePanel.pane.scripts': 'Scripts',
'settings.terminal.sidePanel.pane.history': 'Historial',
'settings.terminal.sidePanel.pane.theme': 'Tema',
'settings.terminal.sidePanel.pane.system': 'Sistema',
'settings.terminal.sidePanel.pane.notes': 'Notas',
'settings.terminal.sidePanel.pane.ai': 'IA',
'settings.terminal.accessibility.minimumContrastRatio.desc':
'Ajusta los colores para cumplir con los requisitos de contraste (1 = desactivado, 21 = máximo)',
'settings.terminal.behavior.rightClick': 'Comportamiento del clic derecho',
'settings.terminal.behavior.rightClick.desc': 'Acción al hacer clic derecho en la terminal',
'settings.terminal.behavior.rightClick.fullscreenMenu': 'Mostrar menú sobre aplicaciones en pantalla completa',
'settings.terminal.behavior.rightClick.fullscreenMenu.desc':
'Muestra el menú contextual incluso cuando tmux, vim u otras aplicaciones en pantalla completa toman el control del mouse. Cuando está desactivado, el clic derecho se pasa a la aplicación (Shift+Clic derecho sigue abriendo el menú).',
'settings.terminal.behavior.autoCloseOnExit': 'Cerrar la terminal automáticamente al salir',
'settings.terminal.behavior.autoCloseOnExit.desc':
'Permite que las pestañas y ventanas de terminal se cierren automáticamente después de que la sesión termina. Desactívalo para mantenerlas abiertas después de cada salida.',
'settings.terminal.behavior.disconnectedNotice': 'Cuando se desconecta una conexión',
'settings.terminal.behavior.disconnectedNotice.desc':
'Muestra un aviso compacto en terminales ya conectadas o usa el diálogo completo. Los fallos de conexión iniciales siguen usando el diálogo.',
'settings.terminal.behavior.disconnectedNotice.terminal': 'Aviso en terminal',
'settings.terminal.behavior.disconnectedNotice.dialog': 'Diálogo',
'settings.terminal.behavior.rightClick.menu': 'Mostrar menú',
'settings.terminal.behavior.rightClick.paste': 'Pegar',
'settings.terminal.behavior.rightClick.selectWord': 'Seleccionar palabra',
'settings.terminal.behavior.copyOnSelect': 'Copiar al seleccionar',
'settings.terminal.behavior.copyOnSelect.desc': 'Copia automáticamente el texto seleccionado. En tmux/vim con modo mouse, mantén presionada Option en macOS o Shift en Windows/Linux para seleccionar',
'settings.terminal.behavior.normalizeTextOnCopy': 'Normalizar el texto de la terminal al copiar',
'settings.terminal.behavior.normalizeTextOnCopy.desc':
'Al copiar desde la terminal, elimina el relleno final de solo visualización y une las filas con salto de línea suave para que el texto pegado coincida con la salida lógica. Desactívalo para copiar la selección de pantalla en crudo (incluido el relleno de TUI y los ajustes visuales).',
'settings.terminal.behavior.middleClickPaste': 'Pegar con clic central',
'settings.terminal.behavior.middleClickPaste.desc':
'Pega el contenido del portapapeles con el clic central',
'settings.terminal.behavior.middleClick': 'Comportamiento del clic central',
'settings.terminal.behavior.middleClick.desc': 'Acción al hacer clic central en la terminal',
'settings.terminal.behavior.middleClick.menu': 'Mostrar menú',
'settings.terminal.behavior.middleClick.paste': 'Pegar',
'settings.terminal.behavior.middleClick.disabled': 'No hacer nada',
'settings.terminal.behavior.wordSeparators': 'Separadores de palabras',
'settings.terminal.behavior.wordSeparators.desc':
'Caracteres tratados como límites de palabra para la selección con doble clic. Los espacios también cuentan; agrega =, coma o : para cadenas como uid=name.',
'settings.terminal.behavior.bracketedPaste': 'Modo de pegado entre corchetes',
'settings.terminal.behavior.bracketedPaste.desc':
'Envuelve el texto pegado con secuencias de escape para que el shell pueda distinguir el pegado de la entrada escrita. Desactívalo si ves artefactos ^[[200~.',
'settings.terminal.behavior.autoUploadClipboardImage': 'Subir automáticamente imágenes del portapapeles al pegar',
'settings.terminal.behavior.autoUploadClipboardImage.desc':
'Cuando el portapapeles contiene una imagen, pegarla en una sesión remota la sube por SFTP a .NetMesh-paste-images/ dentro del directorio de trabajo remoto e inserta la ruta remota en lugar de pegar texto.',
'settings.terminal.behavior.shiftEnterNewline': 'Texto de Shift+Enter',
'settings.terminal.behavior.shiftEnterNewline.desc':
'Envía el texto configurado en lugar del Enter normal al presionar Shift+Enter en la terminal.',
'settings.terminal.behavior.shiftEnterNewlineText': 'Texto a enviar',
'settings.terminal.behavior.shiftEnterNewlineText.desc':
'Usa \\n para nueva línea, \\t para tabulación y \\\\ para barra invertida.',
'settings.terminal.behavior.clearWipesScrollback': '`clear` borra el historial de desplazamiento',
'settings.terminal.behavior.clearWipesScrollback.desc':
'Haz que `clear` también borre el buffer del historial de desplazamiento (predeterminado de POSIX). Desactívalo para mantener visible el historial después de `clear`.',
'settings.terminal.behavior.preserveSelectionOnInput': 'Mantener la selección al escribir',
'settings.terminal.behavior.preserveSelectionOnInput.desc':
'No borra el texto seleccionado con el mouse al escribir; útil para seleccionar una ruta y luego pegarla después de un prefijo de comando como `sz `.',
'settings.terminal.behavior.forcePromptNewLine': 'Prompt en una línea nueva',
'settings.terminal.behavior.forcePromptNewLine.desc':
'Cuando la última línea de la salida de un comando no termina con una nueva línea, mueve el prompt del shell reconocido a la siguiente línea visual.',
'settings.terminal.behavior.dynamicTabTitle': 'Título dinámico de pestaña',
'settings.terminal.behavior.dynamicTabTitle.desc':
'Elige cuándo las pestañas de sesión deben seguir los títulos de ventana que informa el shell y actualizar los íconos de los CLIs de codificación. Desactivado también detiene la detección de íconos en vivo.',
'settings.terminal.behavior.dynamicTabTitle.off': 'Desactivado',
'settings.terminal.behavior.dynamicTabTitle.agent': 'Solo agentes',
'settings.terminal.behavior.dynamicTabTitle.all': 'Todas las sesiones',
'settings.terminal.behavior.oscNotifications': 'Notificaciones de escritorio OSC',
'settings.terminal.behavior.oscNotifications.desc':
'Muestra una notificación del sistema cuando un programa emite OSC 9, OSC 777 notify o kitty OSC 99. Lo usan Codex y otros agentes para avisos de turno completado y de aprobación.',
'settings.terminal.behavior.oscNotifications.off': 'Desactivado',
'settings.terminal.behavior.oscNotifications.unfocused': 'Si no tiene el foco',
'settings.terminal.behavior.oscNotifications.always': 'Siempre',
'settings.terminal.behavior.osc52Clipboard': 'Portapapeles OSC-52',
'settings.terminal.behavior.osc52Clipboard.desc':
'Permite que los programas remotos (tmux, vim, etc.) accedan al portapapeles local mediante secuencias de escape OSC-52.',
'settings.terminal.behavior.osc52Clipboard.off': 'Desactivado',
'settings.terminal.behavior.osc52Clipboard.writeOnly': 'Solo escritura',
'settings.terminal.behavior.osc52Clipboard.readWrite': 'Lectura y escritura',
'settings.terminal.behavior.osc52Clipboard.prompt': 'Escritura + pregunta al leer',
'terminal.osc52.readPrompt.title': 'Solicitud de lectura del portapapeles',
'terminal.osc52.readPrompt.desc': 'Un programa remoto está solicitando leer tu portapapeles. ¿Permitir?',
'terminal.osc52.readPrompt.allow': 'Permitir',
'terminal.osc52.readPrompt.deny': 'Denegar',
'settings.terminal.behavior.scrollOnInput': 'Desplazarse al escribir',
'settings.terminal.behavior.scrollOnInput.desc': 'Desplaza la terminal al final al escribir',
'settings.terminal.behavior.scrollOnOutput': 'Desplazarse con la salida',
'settings.terminal.behavior.scrollOnOutput.desc':
'Desplaza la terminal al final cuando llega nueva salida',
'settings.terminal.behavior.scrollOnKeyPress': 'Desplazarse al presionar una tecla',
'settings.terminal.behavior.scrollOnKeyPress.desc':
'Desplaza la terminal al final al presionar una tecla (p. ej., Enter)',
'settings.terminal.behavior.scrollOnPaste': 'Desplazarse al pegar',
'settings.terminal.behavior.scrollOnPaste.desc':
'Desplaza la terminal al final al pegar texto',
'settings.terminal.behavior.smoothScrolling': 'Desplazamiento suave',
'settings.terminal.behavior.smoothScrolling.desc':
'Anima el desplazamiento de la vista de la terminal en lugar de saltar instantáneamente',
'settings.terminal.behavior.linkModifier': 'Tecla modificadora de enlaces',
'settings.terminal.behavior.linkModifier.desc': 'Mantén presionada esta tecla para hacer clic en enlaces de la terminal',
'settings.terminal.behavior.linkModifier.none': 'Ninguna (clic directo)',
'settings.terminal.behavior.linkModifier.ctrl': 'Ctrl',
'settings.terminal.behavior.linkModifier.alt': 'Alt / Option',
'settings.terminal.behavior.linkModifier.meta': 'Cmd / Win',
'settings.terminal.scrollback.desc': 'Limita la cantidad de filas de la terminal. Pon 0 para no limitar.',
'settings.terminal.scrollback.rows': 'Cantidad de filas *',
'settings.terminal.section.startupCommand': 'Comando de inicio',
'settings.terminal.startupCommandDelay.label': 'Retraso del comando de inicio (ms)',
'settings.terminal.startupCommandDelay.desc': 'Cuánto esperar después de conectarse antes de enviar el comando de inicio. También se usa entre líneas cuando el comando de inicio tiene varias líneas. Auméntalo para conexiones lentas.',
'settings.terminal.keywordHighlight.title': 'Resaltado de palabras clave',
'settings.terminal.keywordHighlight.resetColors': 'Restablecer colores predeterminados',
'settings.terminal.keywordHighlight.resetDefaults': 'Restablecer los integrados a los valores predeterminados',
'settings.terminal.keywordHighlight.resetBuiltIn': 'Restaurar etiqueta y patrones predeterminados',
'settings.terminal.keywordHighlight.addCustom': 'Agregar regla personalizada',
'settings.terminal.keywordHighlight.editCustom': 'Editar regla',
'settings.terminal.keywordHighlight.editBuiltIn': 'Editar regla integrada',
'settings.terminal.keywordHighlight.labelField': 'Etiqueta y color',
'settings.terminal.keywordHighlight.labelPlaceholder': 'Etiqueta (p. ej., Down)',
'settings.terminal.keywordHighlight.patternField': 'Patrones de regex',
'settings.terminal.keywordHighlight.patternPlaceholder': 'Un regex por línea (p. ej., \\bdown\\b)',
'settings.terminal.keywordHighlight.patternHint': 'Un regex por línea. Los patrones se comparan sin distinguir mayúsculas y minúsculas con la bandera global.',
'settings.terminal.keywordHighlight.invalidPattern': 'Patrón de regex inválido',
'settings.terminal.keywordHighlight.preview': 'Vista previa',
'settings.terminal.section.localShell': 'Shell local',
'settings.terminal.localShell.shell': 'Ejecutable del shell',
'settings.terminal.localShell.shell.desc': 'Ruta al ejecutable del shell (p. ej., /bin/zsh, pwsh.exe). Déjala vacía para el valor predeterminado del sistema.',
'settings.terminal.localShell.shell.placeholder': 'Predeterminado del sistema',
'settings.terminal.localShell.shell.detected': 'Detectado',
'settings.terminal.localShell.shell.notFound': 'No se encontró el ejecutable del shell',
'settings.terminal.localShell.shell.isDirectory': 'La ruta es un directorio, no un ejecutable',
'settings.terminal.localShell.shell.default': 'Predeterminado del sistema',
'settings.terminal.localShell.shell.custom': 'Personalizado...',
'settings.terminal.localShell.shell.customPath': 'Ruta del ejecutable del shell',
'settings.terminal.localShell.shell.customArgs': 'Argumentos de inicio',
'settings.terminal.localShell.shell.customArgs.placeholder': 'p. ej. --login -i',
'settings.terminal.localShell.shell.customArgs.desc': 'Argumentos pasados al shell. Algunos shells los necesitan para funcionar, p. ej., msys2 bash requiere --login -i para cargar el entorno.',
'settings.terminal.localShell.shell.commonPaths': 'Rutas comunes',
'settings.terminal.localShell.shell.pathValid': 'Ruta válida',
'settings.terminal.localShell.startDir': 'Directorio de inicio',
'settings.terminal.localShell.startDir.desc': 'Directorio en el que iniciar al abrir una terminal local. Déjalo vacío para el directorio de inicio de sesión.',
'settings.terminal.localShell.startDir.placeholder': 'Directorio de inicio de sesión',
'settings.terminal.localShell.startDir.notFound': 'No se encontró el directorio',
'settings.terminal.localShell.startDir.isFile': 'La ruta es un archivo, no un directorio',
'settings.terminal.section.connection': 'Conexión',
'settings.terminal.connection.verifyHostKeys': 'Verificar las claves de host SSH',
'settings.terminal.connection.verifyHostKeys.desc': 'Pregunta antes de conectarse a una clave de host SSH nueva o modificada. Desactívalo solo en redes privadas de confianza.',
'settings.terminal.connection.sshAutoReconnectEnabled': 'Reconectar sesiones SSH automáticamente',
'settings.terminal.connection.sshAutoReconnectEnabled.desc': 'Cuando está activado, las sesiones SSH establecidas que se caen inesperadamente intentan reconectarse cada 5 segundos hasta que la pestaña se cierra o la conexión se establece.',
'settings.terminal.connection.keepaliveInterval': 'Intervalo de keepalive',
'settings.terminal.connection.keepaliveInterval.desc': 'Con qué frecuencia (en segundos) enviar paquetes keepalive a nivel de SSH. Pon 0 para desactivarlo globalmente; ten en cuenta que los hosts individuales pueden anular esto en su propia configuración.',
'settings.terminal.connection.keepaliveCountMax': 'Máximo de keepalives sin respuesta',
'settings.terminal.connection.keepaliveCountMax.desc': 'Keepalives sin respuesta antes de declarar la conexión caída. Los valores más altos son más tolerantes con los cortes breves de red y los servidores SSH que responden lento.',
'settings.terminal.connection.x11Display': 'Pantalla X11',
'settings.terminal.connection.x11Display.desc': 'Dirección de pantalla local opcional para el reenvío X11. Déjala vacía para usar el valor predeterminado del sistema.',
'settings.terminal.connection.x11Display.placeholder': 'Auto (:0 o DISPLAY)',
'settings.terminal.section.serverStats': 'Estadísticas del servidor (Linux)',
'settings.terminal.hostInfoBar.show': 'Mostrar barra de información del host',
'settings.terminal.hostInfoBar.show.desc': 'Muestra la dirección del host y la información del servidor sobre la terminal. Los botones de acción siguen disponibles cuando está oculta.',
'settings.terminal.hostInfoBar.titleMode': 'Título de la información del host',
'settings.terminal.hostInfoBar.titleMode.desc': 'Elige si la barra muestra la dirección de la conexión (usuario@host) o la etiqueta del host del vault.',
'settings.terminal.hostInfoBar.titleMode.address': 'Dirección de conexión',
'settings.terminal.hostInfoBar.titleMode.label': 'Etiqueta del host',
'settings.terminal.section.systemManager': 'Administrador del sistema',
'settings.terminal.systemManager.processRefreshInterval': 'Actualización de la lista de procesos',
'settings.terminal.systemManager.processRefreshInterval.desc': 'Con qué frecuencia actualizar la lista de procesos en el panel lateral del administrador del sistema.',
'settings.terminal.systemManager.tmuxRefreshInterval': 'Actualización de sesiones tmux',
'settings.terminal.systemManager.tmuxRefreshInterval.desc': 'Con qué frecuencia actualizar la lista de sesiones tmux.',
'settings.terminal.systemManager.dockerListRefreshInterval': 'Actualización de la lista de contenedores Docker',
'settings.terminal.systemManager.dockerListRefreshInterval.desc': 'Con qué frecuencia actualizar la lista de contenedores Docker.',
'settings.terminal.systemManager.dockerStatsRefreshInterval': 'Actualización de estadísticas Docker',
'settings.terminal.systemManager.dockerStatsRefreshInterval.desc': 'Con qué frecuencia actualizar las estadísticas de CPU/memoria/red de los contenedores Docker.',
'settings.terminal.serverStats.show': 'Mostrar estadísticas del servidor',
'settings.terminal.serverStats.show.desc': 'Muestra el uso de CPU, memoria y disco en la barra de estado de la terminal (solo servidores Linux).',
'settings.terminal.serverStats.refreshInterval': 'Intervalo de actualización',
'settings.terminal.serverStats.refreshInterval.desc': 'Con qué frecuencia actualizar las estadísticas del servidor.',
'settings.terminal.serverStats.seconds': 'segundos',
// Settings > Terminal > Rendering
'settings.terminal.section.rendering': 'Renderizado',
'settings.terminal.rendering.renderer': 'Motor de renderizado',
'settings.terminal.rendering.renderer.desc': 'Elige la tecnología de renderizado de la terminal. Auto usará DOM en dispositivos con poca memoria. Los cambios surten efecto en las sesiones de terminal nuevas.',
'settings.terminal.rendering.auto': 'Auto',
'settings.terminal.rendering.hibernateHiddenTabs': 'Suspender pestañas ocultas',
'settings.terminal.rendering.hibernateHiddenTabs.desc': 'Libera el motor de renderizado de las pestañas fuera de pantalla para ahorrar memoria mientras se mantiene conectada la sesión SSH. Se omite durante las transferencias de archivos.',
'settings.terminal.rendering.hibernateHiddenTabsDelay': 'Retraso de suspensión',
'settings.terminal.rendering.hibernateHiddenTabsDelay.desc': 'Cuánto tiempo debe permanecer una pestaña fuera de pantalla antes de liberar su motor de renderizado (5600 segundos).',
'settings.terminal.rendering.hibernateSkipAltScreen': 'Omitir suspensión en apps en pantalla completa',
'settings.terminal.rendering.hibernateSkipAltScreen.desc': 'Mantén el motor de renderizado de la terminal activo mientras vim, htop o los TUI de agentes ocupan el buffer de pantalla alternativo.',
'settings.terminal.rendering.hibernateKeepRendererCount': 'Conservar renderizadores ocultos',
'settings.terminal.rendering.hibernateKeepRendererCount.desc': 'Cuántas pestañas fuera de pantalla conservan su motor de renderizado (WebGL suspendido) antes de la suspensión completa.',
'settings.terminal.rendering.hibernateReplayChunkBytes': 'Tamaño de fragmento de repetición al activar',
'settings.terminal.rendering.hibernateReplayChunkBytes.desc': 'Bytes reproducidos por frame de animación al restaurar una terminal suspendida (464 KB).',
'settings.terminal.rendering.hibernatePreferWasmSerialize': 'Preferir serialización WASM',
'settings.terminal.rendering.hibernatePreferWasmSerialize.desc': 'Usa la serialización de terminal WASM cuando esté disponible; si no, recurre al serializador JS.',
// Settings > Terminal > Inline Images
'settings.terminal.section.inlineImages': 'Imágenes integradas',
'settings.terminal.inlineImages.enabled': 'Renderizar imágenes integradas',
'settings.terminal.inlineImages.enabled.desc': 'Dibuja las imágenes reales enviadas por programas remotos (kitten icat, chafa, vistas previas de imágenes en gestores de archivos y TUIs). Los cambios surten efecto en las sesiones de terminal nuevas.',
'settings.terminal.inlineImages.kitty': 'Protocolo de gráficos Kitty',
'settings.terminal.inlineImages.kitty.desc': 'Acepta secuencias de gráficos Kitty, incluida la transmisión directa o por stream sobre SSH.',
'settings.terminal.inlineImages.sixel': 'SIXEL',
'settings.terminal.inlineImages.sixel.desc': 'Acepta gráficos SIXEL, usados por img2sixel, mpv, gnuplot y herramientas antiguas estilo DEC.',
'settings.terminal.inlineImages.iip': 'Protocolo de imágenes integradas de iTerm',
'settings.terminal.inlineImages.iip.desc': "Acepta las secuencias OSC 1337 de imágenes integradas de iTerm2 (PNG, JPEG, primer frame de GIF).",
'settings.terminal.inlineImages.storageLimit': 'Caché de imágenes por terminal',
'settings.terminal.inlineImages.storageLimit.desc': 'Memoria que cada terminal puede conservar para imágenes decodificadas antes de expulsar las más antiguas (8512 MB).',
'settings.terminal.inlineImages.maxMegapixels': 'Tamaño máximo de imagen',
'settings.terminal.inlineImages.maxMegapixels.desc': 'Imagen individual más grande que se decodificará; las imágenes más grandes se descartan sin tocar el buffer de la terminal (164 MP, 16 MP es 4096 × 4096).',
'settings.terminal.inlineImages.sequenceLimit': 'Tamaño máximo de secuencia',
'settings.terminal.inlineImages.sequenceLimit.desc': 'Secuencia de escape de imagen individual más grande aceptada antes de iniciar la decodificación (164 MB).',
'settings.terminal.inlineImages.unit.mb': 'MB',
'settings.terminal.inlineImages.unit.megapixels': 'MP',
'settings.terminal.inlineImages.hibernateNote': 'Las pestañas que han dibujado una imagen integrada conservan su motor de renderizado en lugar de suspenderse, porque la suspensión solo restaura texto.',
// Settings > Terminal > Workspace Focus Indicator
'settings.terminal.section.workspaceFocus': 'Indicador de enfoque del espacio de trabajo',
'settings.terminal.workspaceFocus.style': 'Estilo del indicador de enfoque',
'settings.terminal.workspaceFocus.style.desc': 'Cómo indicar qué panel está enfocado en la vista dividida.',
'settings.terminal.workspaceFocus.dim': 'Atenuar paneles no enfocados',
'settings.terminal.workspaceFocus.border': 'Borde en el panel enfocado',
// Settings > Terminal > Autocomplete
'settings.terminal.section.autocomplete': 'Autocompletado',
'settings.terminal.autocomplete.enabled': 'Activar autocompletado',
'settings.terminal.autocomplete.enabled.desc': 'Muestra sugerencias de comandos basadas en el historial y en las especificaciones de comandos mientras escribes.',
'settings.terminal.autocomplete.ghostText': 'Texto fantasma',
'settings.terminal.autocomplete.ghostText.desc': 'Muestra texto de sugerencia gris en línea después del cursor (como en fish shell).',
'settings.terminal.autocomplete.popupMenu': 'Menú emergente',
'settings.terminal.autocomplete.popupMenu.desc': 'Muestra una lista flotante con varias sugerencias.',
'settings.terminal.autocomplete.historyScope': 'Alcance de las sugerencias del historial',
'settings.terminal.autocomplete.historyScope.desc':
'Elige si las sugerencias de autocompletado del historial provienen solo del host actual o de los comandos registrados en todos los hosts.',
'settings.terminal.autocomplete.historyScope.host': 'Host actual',
'settings.terminal.autocomplete.historyScope.global': 'Todos los hosts',
// Settings > Terminal > Password prompt assist (sudo/su)
'settings.terminal.section.passwordPromptAssist': 'Asistencia para solicitud de contraseña',
'settings.terminal.passwordPromptAssist.mode': 'Modo de asistencia',
'settings.terminal.passwordPromptAssist.mode.desc':
'Cuando sudo o su piden una contraseña, ofrece una credencial guardada. Nunca la envía automáticamente sin confirmación.',
'settings.terminal.passwordPromptAssist.off': 'Desactivado',
'settings.terminal.passwordPromptAssist.hint': 'Relleno rápido (Enter)',
'settings.terminal.passwordPromptAssist.picker': 'Selector de credenciales',
// Settings > Shortcuts
'settings.shortcuts.section.scheme': 'Esquema de teclas de acceso',
'settings.shortcuts.scheme.label': 'Atajos de teclado',
'settings.shortcuts.scheme.desc': 'Elige qué distribución de teclado usar para los atajos',
'settings.shortcuts.scheme.disabled': 'Desactivado',
'settings.shortcuts.scheme.mac': 'Mac (Cmd)',
'settings.shortcuts.scheme.pc': 'PC (Ctrl)',
'settings.shortcuts.disableTerminalFontZoom.label': 'Desactivar zoom de la terminal',
'settings.shortcuts.disableTerminalFontZoom.desc': 'Desactiva los atajos de zoom de fuente de la terminal, incluidos Cmd/Ctrl + rueda del mouse.',
'settings.shortcuts.shellOnlyTabNumberShortcuts.label': 'Los atajos de pestañas omiten las pestañas fijadas',
'settings.shortcuts.shellOnlyTabNumberShortcuts.desc': 'Cuando está activado, Cmd/Ctrl+[1...9] y Ctrl+Tab solo cambian a las pestañas de trabajo (terminales, espacios de trabajo, editores), no a las pestañas fijadas de Vault o SFTP.',
'settings.shortcuts.showTabNumberBadges.label': 'Mostrar insignias de número de pestaña',
'settings.shortcuts.showTabNumberBadges.desc': 'Mientras mantienes presionado Cmd/Ctrl, muestra 1-9 en las pestañas que coinciden con Cmd/Ctrl+[1...9], para que puedas saltar con precisión.',
'settings.shortcuts.section.custom': 'Atajos personalizados',
'settings.shortcuts.resetAll': 'Restablecer todo',
'settings.shortcuts.recording': 'Presiona teclas...',
'settings.shortcuts.none': 'Ninguno',
'settings.shortcuts.setDisabled': 'Configurar como desactivado',
'settings.shortcuts.category.tabs': 'Pestañas',
'settings.shortcuts.category.terminal': 'Terminal',
'settings.shortcuts.category.navigation': 'Navegación',
'settings.shortcuts.category.app': 'App',
'settings.shortcuts.category.sftp': 'SFTP',
// Settings > Shortcuts -> key bindings
'settings.shortcuts.binding.switch-tab-1-9': 'Cambiar a la pestaña [1...9]',
'settings.shortcuts.binding.next-tab': 'Siguiente pestaña',
'settings.shortcuts.binding.prev-tab': 'Pestaña anterior',
'settings.shortcuts.binding.close-tab': 'Cerrar pestaña',
'settings.shortcuts.binding.close-session': 'Cerrar panel de sesión',
'settings.shortcuts.binding.new-tab': 'Nueva pestaña local',
'settings.shortcuts.binding.copy': 'Copiar desde la terminal',
'settings.shortcuts.binding.paste': 'Pegar en la terminal',
'settings.shortcuts.binding.paste-selection': 'Pegar selección en la terminal',
'settings.shortcuts.binding.select-all': 'Seleccionar todo en la terminal',
'settings.shortcuts.binding.clear-buffer': 'Limpiar el búfer de la terminal',
'settings.shortcuts.binding.search-terminal': 'Abrir búsqueda en la terminal',
'settings.shortcuts.binding.increase-terminal-font-size': 'Aumentar el tamaño de la fuente de la terminal',
'settings.shortcuts.binding.decrease-terminal-font-size': 'Reducir el tamaño de la fuente de la terminal',
'settings.shortcuts.binding.reset-terminal-font-size': 'Restablecer el tamaño de la fuente de la terminal',
'settings.shortcuts.binding.move-focus': 'Mover el foco entre los paneles de la vista dividida',
'settings.shortcuts.binding.split-horizontal': 'Dividir horizontal',
'settings.shortcuts.binding.split-vertical': 'Dividir vertical',
'settings.shortcuts.binding.toggle-pane-zoom': 'Alternar el zoom del panel',
'settings.shortcuts.binding.open-hosts': 'Abrir la página de hosts',
'settings.shortcuts.binding.open-local': 'Abrir terminal local',
'settings.shortcuts.binding.open-sftp': 'Abrir SFTP',
'settings.shortcuts.binding.open-settings': 'Abrir configuración',
'settings.shortcuts.binding.port-forwarding': 'Abrir reenvío de puertos',
'settings.shortcuts.binding.command-palette': 'Abrir paleta de comandos',
'settings.shortcuts.binding.quick-switch': 'Cambio rápido',
'settings.shortcuts.binding.new-workspace': 'Nuevo espacio de trabajo',
'settings.shortcuts.binding.snippets': 'Abrir fragmentos',
'settings.shortcuts.binding.broadcast': 'Alternar modo de transmisión',
'settings.shortcuts.binding.toggle-side-panel': 'Alternar panel lateral',
'settings.shortcuts.binding.sftp-copy': 'Copiar archivos',
'settings.shortcuts.binding.sftp-cut': 'Cortar archivos',
'settings.shortcuts.binding.sftp-paste': 'Pegar archivos',
'settings.shortcuts.binding.sftp-select-all': 'Seleccionar todos los archivos',
'settings.shortcuts.binding.sftp-rename': 'Renombrar archivo',
'settings.shortcuts.binding.sftp-delete': 'Eliminar archivos',
'settings.shortcuts.binding.sftp-refresh': 'Actualizar',
'settings.shortcuts.binding.sftp-new-folder': 'Nueva carpeta',
'settings.shortcuts.binding.sftp-open': 'Abrir archivo / entrar al directorio',
'settings.shortcuts.binding.sftp-go-parent': 'Ir al directorio superior',
'settings.shortcuts.binding.sftp-navigate-to': 'Ir al directorio seleccionado',
// Context menus / common actions
'action.newHost': 'Nuevo host',
'action.newSubfolder': 'Nueva subcarpeta',
'action.copyPublicKey': 'Copiar clave pública',
'action.keyExport': 'Exportar clave',
'action.edit': 'Editar',
'action.delete': 'Eliminar',
'action.duplicate': 'Duplicar',
'action.open': 'Abrir',
'action.copy': 'Copiar',
'action.run': 'Ejecutar',
'action.start': 'Iniciar',
'action.stop': 'Detener',
'action.remove': 'Quitar',
'action.convertToHost': 'Convertir en host',
// Sync
'sync.cloudSync': 'Sincronización en la nube',
'sync.settings': 'Ajustes de sincronización',
'sync.active': 'Sincronización en la nube activa',
'sync.pending': 'Cambios pendientes de sincronizar',
'sync.syncing': 'Sincronizando...',
'sync.error': 'Error de sincronización',
'sync.notConfigured': 'No configurado',
'sync.failed': 'La sincronización falló',
'sync.connected': 'Conectado',
'sync.syncNow': 'Sincronizar ahora',
'sync.recentActivity': 'Actividad reciente',
'sync.history.uploaded': 'Subido',
'sync.history.downloaded': 'Descargado',
'sync.history.resolved': 'Resuelto',
'sync.toast.completedMessage': 'La sincronización se completó correctamente',
'sync.toast.errorTitle': 'Error de sincronización',
'sync.autoSync.failedTitle': 'La sincronización falló',
'sync.autoSync.inspectFailedTitle': 'Sincronización en pausa',
'sync.autoSync.inspectFailedMessage': 'No se pudo contactar la nube para buscar cambios. La sincronización automática reintentará cuando los datos cambien o la aplicación se reinicie.',
'sync.autoSync.syncedTitle': 'Sincronizado desde la nube',
'sync.autoSync.syncedMessage': 'Tus datos se actualizaron desde la nube.',
'sync.autoSync.noProvider': 'No hay ningún proveedor de nube conectado. Abre Configuración → Sincronización y nube para conectar uno.',
'sync.autoSync.alreadySyncing': 'La sincronización ya está en curso.',
'sync.autoSync.restoreInProgress': 'Hay una restauración del vault en curso en otra ventana. Espera a que termine.',
'sync.autoSync.interruptedApplyTitle': 'Sincronización en pausa: la restauración anterior se interrumpió',
'sync.autoSync.interruptedApplyMessage': 'Una restauración anterior no terminó de forma limpia, por lo que el vault local puede estar inconsistente. Abre Configuración → Sincronización y nube → Restaurar y aplica una copia de seguridad de protección antes de que se reanude la sincronización automática.',
'sync.autoSync.vaultLocked': 'El vault está bloqueado. Abre Configuración → Sincronización y nube para desbloquearlo.',
'sync.autoSync.conflictDetected': 'Se detectó un conflicto de sincronización. Abre Configuración → Sincronización y nube para resolverlo.',
'sync.autoSync.syncFailed': 'La sincronización falló',
'sync.autoSync.restoredTitle': 'Vault restaurado',
'sync.autoSync.restoredMessage': 'Tu vault se restauró desde la nube.',
'sync.autoSync.keptLocalTitle': 'Se conservó el vault local',
'sync.autoSync.keptLocalMessage': 'Se conservó tu vault local vacío. Los datos de la nube no se aplicaron.',
'sync.autoSync.emptyVaultConflict.title': 'Se detectó un vault vacío',
'sync.autoSync.emptyVaultConflict.description': 'Tu vault local está vacío, pero la nube tiene datos. Esto suele suceder después de una actualización o un reinicio del almacenamiento. ¿Qué te gustaría hacer?',
'sync.autoSync.emptyVaultConflict.cloudLabel': 'Nube',
'sync.autoSync.emptyVaultConflict.restore': 'Restaurar desde la nube',
'sync.autoSync.emptyVaultConflict.restoreDesc': 'Recomendado: recupera tus hosts, claves y fragmentos de la copia de seguridad en la nube',
'sync.autoSync.emptyVaultConflict.keepEmpty': 'Conservar vacío',
'sync.autoSync.emptyVaultConflict.keepEmptyDesc': 'Empieza de cero con un vault vacío',
'sync.autoSync.emptyVaultConflict.cloudSummary': '{hosts} hosts, {keys} claves, {snippets} fragmentos, {notes} notas, {proxyProfiles} proxies',
'sync.autoSync.emptyVaultManual': 'No se puede sincronizar: el vault local está vacío. Restaura desde una copia de seguridad local o activa primero el push forzado en el panel de sincronización.',
'sync.blocked.title': 'Sincronización en pausa',
'sync.blocked.reason.bulkShrink': 'Eliminaría {lost} de {baseCount} {entityType} de la nube ({percent}% de reducción).',
'sync.blocked.reason.largeShrink': 'Eliminaría {lost} {entityType} de la nube.',
'sync.blocked.detail': 'Esto suele deberse a un estado local degradado (fallo del llavero, carga parcial de datos). Restaura desde una copia de seguridad local o haz un push forzado si realmente querías eliminar estas entradas.',
'sync.blocked.restoreButton': 'Restaurar desde copia de seguridad local',
'sync.blocked.forcePushButton': 'Hacer push forzado de todos modos',
'sync.forcePush.title': 'Confirmar push forzado',
'sync.forcePush.body': 'Estás a punto de eliminar {lost} {entityType} de la nube. Esta acción no se puede deshacer. ¿Continuar?',
'sync.forcePush.confirm': 'Sí, hacer push de todos modos',
'sync.forcePush.cancel': 'Cancelar',
'sync.entityType.hosts': 'hosts',
'sync.entityType.keys': 'claves',
'sync.entityType.identities': 'identidades',
'sync.entityType.proxyProfiles': 'perfiles de proxy',
'sync.entityType.snippets': 'fragmentos',
'sync.entityType.customGroups': 'grupos',
'sync.entityType.snippetPackages': 'paquetes de fragmentos',
'sync.entityType.knownHosts': 'entradas de hosts conocidos',
'sync.entityType.portForwardingRules': 'reglas de reenvío de puertos',
'sync.entityType.groupConfigs': 'configuraciones de grupos',
'sync.credentialsUnavailable': 'Este dispositivo no puede descifrar algunas credenciales guardadas. Vuelve a ingresar las credenciales localmente antes de sincronizar.',
'time.never': 'Nunca',
'time.justNow': 'Ahora mismo',
'time.minutesAgo': 'hace {minutes}m',
// Vault navigation
'vault.nav.hosts': 'Hosts',
'vault.nav.keychain': 'Llavero',
'vault.nav.proxies': 'Proxies',
'vault.nav.portForwarding': 'Reenvío de puertos',
'vault.nav.snippets': 'Scripts',
'vault.nav.notes': 'Notas',
'vault.nav.knownHosts': 'Hosts conocidos',
'vault.nav.logs': 'Registros',
'proxyProfiles.action.add': 'Agregar proxy',
'proxyProfiles.search.placeholder': 'Buscar proxies…',
'proxyProfiles.section.proxies': 'Proxies',
'proxyProfiles.count.items': '{count} elementos',
'proxyProfiles.empty.title': 'Sin proxies',
'proxyProfiles.empty.desc': 'Crea proxies HTTP, SOCKS5 o de comando reutilizables y selecciónalos desde los detalles del host.',
'proxyProfiles.usage': '{count} vinculados',
'proxyProfiles.copyName': 'Copia de {name}',
'proxyProfiles.panel.newTitle': 'Nuevo proxy',
'proxyProfiles.field.name': 'Nombre del proxy',
'proxyProfiles.error.required': 'Se requieren el nombre y los detalles del proxy.',
'proxyProfiles.error.port': 'El puerto debe estar entre 1 y 65535.',
'proxyProfiles.viewMode': 'Modo de vista del proxy',
'proxyProfiles.delete.title': '¿Eliminar el proxy?',
'proxyProfiles.delete.desc': 'Eliminar "{name}" lo desvinculará de {count} configuraciones de host o grupo.',
'vault.groups.title': 'Grupos',
'vault.groups.total': '{count} en total',
'vault.groups.hostsCount': '{count} hosts',
'vault.groups.newSubgroup': 'Nuevo subgrupo',
'vault.groups.rename': 'Renombrar grupo',
'vault.groups.unnamed': 'Grupo sin nombre',
'vault.groups.delete': 'Eliminar grupo',
'vault.groups.createSubfolder': 'Crear subcarpeta',
'vault.groups.createRoot': 'Crear grupo raíz',
'vault.groups.createDialog.desc': 'Crea un grupo nuevo para organizar hosts.',
'vault.groups.renameDialogTitle': 'Renombrar grupo',
'vault.groups.renameDialog.desc': 'Renombra un grupo existente.',
'vault.groups.deleteDialogTitle': 'Eliminar grupo',
'vault.groups.deleteDialog.desc': 'Esto eliminará permanentemente el grupo y moverá todos los hosts al nivel raíz.',
'vault.groups.deleteDialog.managedDesc': 'Este es un grupo administrado de configuración SSH. Eliminarlo también eliminará todos los hosts y lo desvinculará del archivo de origen.',
'vault.groups.deleteDialog.deleteHosts': 'También eliminar todos los hosts de este grupo',
'vault.groups.deleteDialog.bulkTitle': 'Eliminar grupos seleccionados',
'vault.groups.deleteDialog.bulkDesc': 'Esto eliminará permanentemente los grupos seleccionados y moverá sus hosts al nivel raíz.',
'vault.groups.deleteDialog.bulkDeleteHosts': 'También eliminar todos los hosts de los grupos seleccionados',
'vault.groups.selectedCount': '{count} grupos seleccionados',
'vault.groups.deleteMultiple.success': 'Se eliminaron {count} elementos seleccionados',
'vault.groups.ungrouped': 'Sin grupo',
'vault.groups.field.name': 'Nombre del grupo',
'vault.groups.placeholder.example': 'p. ej., Producción',
'vault.groups.parentLabel': 'Padre',
'vault.groups.pathLabel': 'Ruta',
'vault.groups.settings': 'Configuración del grupo',
'vault.groups.details': 'Detalles del grupo',
'vault.groups.details.general': 'General',
'vault.groups.details.ssh': 'SSH',
'vault.groups.details.telnet': 'Telnet',
'vault.groups.details.advanced': 'Avanzado',
'vault.groups.details.appearance': 'Apariencia',
'vault.groups.details.mosh': 'Mosh',
'vault.groups.details.parentGroup': 'Grupo padre',
'vault.groups.details.none': 'Ninguno',
'vault.groups.details.inherited': 'Heredado del grupo',
'vault.groups.details.addProtocol': 'Agregar protocolo',
'vault.groups.details.removeProtocol': 'Quitar protocolo',
'vault.groups.details.fontFamily': 'Familia de fuentes',
'vault.groups.details.fontSize': 'Tamaño de fuente',
'vault.groups.errors.required': 'Se requiere el nombre del grupo.',
'vault.groups.errors.invalidChars': "El nombre del grupo no puede incluir '/' ni '\\\\'.",
'vault.groups.errors.duplicatePath': 'Ya existe un grupo con este nombre en esta ubicación.',
'vault.deleteConfirm.title': '¿Eliminar "{name}"?',
'vault.deleteConfirm.desc': 'Esta acción no se puede deshacer.',
'vault.deleteConfirm.packageDesc': 'Esto quitará el paquete de scripts. Los scripts dentro de él se conservarán y saldrán del paquete.',
'vault.deleteConfirm.noteGroupDesc': 'Esto quitará la carpeta. Las notas dentro de ella se conservarán y saldrán de la carpeta.',
'vault.deleteConfirm.portForwardingDesc': 'Esto eliminará la regla de reenvío de puertos.',
'vault.managedSource.unmanage': 'Desadministrar',
'vault.managedSource.unmanageSuccess': 'El grupo se desadministró correctamente',
'vault.hosts.header.entries': '{count} entradas',
'vault.hosts.header.live': '{count} activos',
// Vault hosts header/actions
'vault.hosts.search.placeholder': 'Busca un host o escribe ssh usuario@hostname / ssh -p 2222 usuario@hostname...',
'vault.hosts.connect': 'Conectar',
'vault.hosts.openSftp': 'Abrir SFTP',
'vault.view.grid': 'Cuadrícula',
'vault.view.list': 'Lista',
'vault.view.tree': 'Árbol',
'vault.tree.expandAll': 'Expandir todo',
'vault.tree.collapseAll': 'Contraer todo',
'vault.hosts.newHost': 'Nuevo host',
'vault.hosts.newGroup': 'Nuevo grupo',
'vault.hosts.import': 'Importar',
'vault.hosts.export': 'Exportar',
'vault.hosts.export.toast.success': 'Se exportaron {count} hosts a CSV',
'vault.hosts.export.toast.successWithSkipped': 'Se exportaron {count} hosts a CSV (se omitieron {skipped} hosts no compatibles)',
'vault.hosts.export.toast.passphrasesSkipped': 'No se pudieron leer {count} frases de contraseña de claves guardadas y se dejaron en blanco',
'vault.hosts.export.toast.noHosts': 'No hay hosts para exportar',
'vault.hosts.allHosts': 'Todos los hosts',
'vault.hosts.pinned': 'Fijados',
'vault.hosts.recentlyConnected': 'Conectados recientemente',
'vault.hosts.pinToTop': 'Fijar arriba',
'vault.hosts.unpin': 'Quitar de fijados',
'vault.hosts.copyCredentials': 'Copiar credenciales',
'vault.hosts.copyCredentials.toast.success': 'Las credenciales se copiaron al portapapeles',
'vault.hosts.copyCredentials.toast.noPassword': 'No hay contraseña guardada para este host',
'vault.hosts.multiSelect': 'Selección múltiple',
'vault.hosts.selected': '{count} seleccionados',
'vault.hosts.selectedSummary': '{hosts} hosts y {groups} grupos seleccionados',
'vault.hosts.selectAll': 'Seleccionar todo',
'vault.hosts.deselectAll': 'Deseleccionar todo',
'vault.hosts.deleteSelected': 'Eliminar ({count})',
'vault.hosts.deleteMultiple.success': 'Se eliminaron {count} hosts',
'vault.hosts.connectSelected': 'Conectar ({count})',
'vault.hosts.connectMultiple.success': 'Conectando {count} hosts',
'vault.hosts.moveToGroup.success': 'Se movió {host} a {group}',
'vault.hosts.errors.nameRequired': 'Se requiere el nombre del host.',
'vault.hosts.empty.title': 'Configura tus hosts',
'vault.hosts.empty.desc': 'Guarda hosts para conectarte rápidamente a tus servidores, VMs y contenedores.',
'deepLink.ssh.invalid': 'Enlace ssh:// inválido',
'deepLink.telnet.invalid': 'Enlace telnet:// inválido',
'deepLink.jms.invalid': 'Enlace JumpServer inválido',
'deepLink.jms.unsupported': 'Protocolo JumpServer no compatible: {{protocol}}',
'settings.tab.plugins': 'Plugins',
'settings.plugins.title': 'Configuración de plugins',
'settings.plugins.description': 'Ajustes nativos y validados que aportan los plugins de desarrollo.',
'settings.plugins.loading': 'Cargando ajustes del plugin…',
'settings.plugins.empty': 'Ningún plugin activado aporta ajustes.',
'settings.plugins.scopeContext': 'Abre este ajuste en su contexto de {scope}.',
'settings.plugins.pressKeybinding': 'Presiona una combinación de teclas',
'settings.plugins.validJsonArray': 'Ingresa un array JSON válido.',
'settings.plugins.browse': 'Explorar',
'settings.plugins.restartRequired': 'Se requiere reiniciar',
'settings.plugins.saving': 'Guardando…',
'settings.plugins.storedSecurely': 'Almacenado de forma segura',
'settings.plugins.configuredReplacement': 'Configurado: ingresa un reemplazo',
'settings.plugins.moveItemUp': 'Mover el elemento {label} {index} hacia arriba',
'settings.plugins.moveItemDown': 'Mover el elemento {label} {index} hacia abajo',
'settings.plugins.addItem': 'Agregar elemento',
'settings.plugins.removeItem': 'Quitar elemento',
'settings.plugins.scopeTargets': 'Alcances de los ajustes del plugin',
'settings.plugins.scopeTarget': 'Destino de {scope}',
'settings.plugins.noScopeTargets': 'No hay destinos disponibles',
'settings.plugins.thisDevice': 'Este dispositivo',
'plugins.authentication.description': 'Completa la solicitud de autenticación en este diálogo de NetMesh.',
'plugins.authentication.value': 'Valor',
'plugins.authentication.password': 'Contraseña',
'plugins.authentication.code': 'Código de un solo uso',
'plugins.authentication.deviceCode': 'Código de dispositivo',
'plugins.authentication.openBrowser': 'Abrir navegador',
'plugins.authentication.invalidUrl': 'El proveedor de autenticación devolvió una URL no segura o inválida.',
'plugins.authentication.responseFailed': 'No se pudo enviar la respuesta de autenticación. Inténtalo de nuevo o cancela la solicitud.',
'plugins.authentication.responseFailedWithMessage': 'No se pudo enviar la respuesta de autenticación: {message}. Inténtalo de nuevo o cancela la solicitud.',
'plugins.authentication.continue': 'Continuar',
};