feat(menu): search options and applications from the main menu

The main menu opens with a search that finds an option of ProxMenux, an application of the OCI catalog or a Helper-Script by its name or by related words, in that order, and by category after the names.

Every result opens what its name says and nothing is run by the search itself: a script starts at its first screen, an application opens its page, an option of the post-install or a system utility opens its list with it marked, and an option that lives inside a menu is opened by that menu, which stays behind it.

The menus take the option to open as an argument and behave as before without one. The Helper-Scripts catalog is kept on the host and refreshed once a day. The main menu, the lists of OCI manager and the Helper-Scripts menu share the same height.
This commit is contained in:
MacRimi
2026-10-11 13:26:23 +02:00
parent 8b8fed2564
commit 0fd3be15c1
16 changed files with 1219 additions and 42 deletions
+18
View File
@@ -2912,6 +2912,7 @@
"Importing disk": "Importando disco",
"Importing:": "Importador:",
"Improve log rotation and limit log size to save space and extend disk life": "Mejorar la rotación de logs y limitar su tamaño para ahorrar espacio y alargar la vida del disco",
"In an LXC": "En un LXC",
"In the loader interface, follow the instructions to select your Synology model": "En la interfaz del cargador, siga las instrucciones para seleccionar su modelo de Synology",
"In use": "En uso",
"In use by VM/LXC config": "En uso por la configuración de VM/LXC",
@@ -3481,6 +3482,7 @@
"Listing relevant CT users and their mapped UID/GID on host...": "Listado de usuarios CT relevantes y su UID/GID asignado en el host...",
"Load and verify the WireGuard module on the Proxmox host": "Cargar y verificar el módulo WireGuard en el host Proxmox",
"Loading modules...": "Cargando módulos...",
"Loading the Helper-Scripts catalog...": "Cargando el catálogo de Helper-Scripts...",
"Loading the host kernel module:": "Carga el módulo del kernel host:",
"Local Disk Manager - Proxmox Host": "Administrador de discos locales - Proxmox Host",
"Local Disk Storages": "Almacenamientos en disco local",
@@ -3552,6 +3554,7 @@
"Machine type: q35": "Tipo de máquina: q35",
"Machine: q35": "Máquina: q35",
"Main endpoint not yet defined": "Punto final principal aún no definido",
"Main menu": "Menú principal",
"Major version differs:": "La versión principal difiere:",
"Make sure IOMMU is properly enabled and the system has been rebooted after activation.": "Asegúrese de que IOMMU esté habilitado correctamente y que el sistema se haya reiniciado después de la activación.",
"Make sure there are no critical services running as they will be interrupted. Ensure your server can be safely rebooted.": "Asegúrese de que no haya servicios críticos en ejecución, ya que se interrumpirán. Asegúrese de que su servidor pueda reiniciarse de forma segura.",
@@ -3888,6 +3891,7 @@
"Name of this wallabag instance, shown in the interface and in 2FA codes": "Nombre de esta instancia de wallabag, mostrado en la interfaz y en los códigos 2FA",
"Name or address NetBox will be opened at (for example netbox.example.com)": "Nombre o dirección en la que se abrirá NetBox (por ejemplo netbox.example.com)",
"Name or part of the description of the application": "Nombre o parte de la descripción de la aplicación",
"Name or related words: zima, plex, post…": "Nombre o palabras relacionadas: zima, plex, post…",
"Name:": "Nombre:",
"Named accounts need private mode. Stop the container, set public: false in /config/config.js, start it again and create each user with: pct exec <CTID> -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add <user>": "Las cuentas con nombre necesitan el modo privado. Detén el contenedor, pon public: false en /config/config.js, vuelve a arrancarlo y crea cada usuario con: pct exec <CTID> -- env THELOUNGE_HOME=/config s6-setuidgid abc thelounge add <user>",
"Needed:": "Necesario:",
@@ -4166,6 +4170,7 @@
"No language selected.": "No se seleccionó ningún idioma.",
"No local disk storage configured.": "No hay almacenamiento en disco local configurado.",
"No main sources.list present (skipped)": "No hay sources.list principal (omitido)",
"No matches for:": "No hay coincidencias para:",
"No matching PVE vzdump jobs were found for the PBS backend.": "No se encontraron trabajos PVE vzdump coincidentes para el backend de PBS.",
"No matching PVE vzdump jobs were found for the local archive backend.": "No se encontraron trabajos PVE vzdump coincidentes para el backend del archivo local.",
"No mount point was specified.": "No se especificó ningún punto de montaje.",
@@ -4196,6 +4201,7 @@
"No recent Samba servers found.": "No se encontraron servidores Samba recientes.",
"No registered OCI containers are available for selection on this host.": "No hay contenedores OCI registrados disponibles para seleccionar en este host.",
"No restored OCI application is waiting to be recovered.": "No hay ninguna aplicación OCI restaurada pendiente de recuperar.",
"No results": "Sin resultados",
"No routing information found.": "No se encontró información de enrutamiento.",
"No scheduled backup jobs configured.": "No se han configurado trabajos de backup programados.",
"No scheduled backup jobs found.": "No se encontraron trabajos de backup programados.",
@@ -4287,6 +4293,7 @@
"Number of CPU cores (default: 2)": "Número de núcleos de CPU (predeterminado: 2)",
"Nzbget is a usenet downloader, written in C++ and designed with performance in mind to achieve maximum download speed by using very little system resources.": "Nzbget es un descargador de Usenet escrito en C++ y diseñado pensando en el rendimiento, para lograr la máxima velocidad de descarga con muy pocos recursos del sistema.",
"Nzbhydra2 is a meta search application for NZB indexers, the spiritual successor to NZBmegasearcH, and an evolution of the original application NZBHydra.": "Nzbhydra2 es una aplicación de metabúsqueda para indexadores NZB, sucesora espiritual de NZBmegasearcH y evolución de la aplicación original NZBHydra.",
"OCI application": "Aplicación OCI",
"OCI container, configuration kept. Remove its GPU from OCI manager Apps: CT": "Contenedor OCI, configuración conservada. Elimina su GPU desde OCI manager Apps: CT",
"OCI containers keep their configuration: they are stopped and their Start on boot is disabled. Their GPU is removed from OCI manager Apps.": "Los contenedores OCI conservan su configuración: se detienen y se desactiva su inicio automático. Su GPU se elimina desde OCI manager Apps.",
"OCI containers require Proxmox VE 9.1 or later.": "Los contenedores OCI requieren Proxmox VE 9.1 o posterior.",
@@ -4331,6 +4338,7 @@
"On a privileged CT the mount options carry the only permissions.": "En un CT privilegiado, las opciones de montaje tienen los únicos permisos.",
"On some systems, when starting the VM the host may slow down for several minutes until it stabilizes, or freeze completely.": "En algunos sistemas, al iniciar la máquina virtual, el host puede ralentizarse durante varios minutos hasta que se estabilice o se congele por completo.",
"On the Borg server, append the following line to:": "en el servidor Borg, agregue la siguiente línea a:",
"On the host": "En el host",
"Once finished, re-run 'PVE 8 to 9 check' to verify that all issues are resolved \n before executing the PVE 8 → PVE 9 upgrade.": "Una vez terminado, vuelva a ejecutar la 'verificación PVE 8 a 9' para verificar que todos los problemas estén resueltos. \n antes de ejecutar la actualización PVE 8 → PVE 9.",
"Once finished, re-run the script 'PVE 8 to 9 check' to verify that all issues are resolved \n before rebooting.": "Una vez terminado, vuelva a ejecutar el script 'PVE 8 to 9 check' para verificar que todos los problemas estén resueltos. \n antes de reiniciar.",
"Once finished, re-run the script 'PVE 8 to 9 check' to verify that all issues.": "Una vez terminado, vuelva a ejecutar el script 'PVE 8 to 9 check' para verificar que todos los problemas.",
@@ -5190,6 +5198,7 @@
"Restoring the stack records...": "Restaurando los registros de la pila...",
"Results will be saved automatically to:": "Los resultados se guardarán automáticamente en:",
"Results will be saved to:": "Los resultados se guardarán en:",
"Results:": "Resultados:",
"Retention": "Retención",
"Retention policy (prune-backups syntax).": "Política de retención (sintaxis de prune-backups).",
"RetroArch is a frontend for emulators, game engines and media players. It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface.": "RetroArch es un frontend para emuladores, motores de juego y reproductores multimedia. Permite ejecutar juegos clásicos en una gran variedad de ordenadores y consolas con una interfaz gráfica muy cuidada.",
@@ -5381,8 +5390,10 @@
"Scripts in": "Scripts en",
"ScummVM is a program which allows you to run certain classic graphical adventure and role-playing games, provided you already have their data files. The clever part about this: ScummVM just replaces the executables shipped with the games, allowing you to play them on systems for which they were never designed! ScummVM is a complete rewrite of these games' executables and is not an emulator.": "ScummVM es un programa que permite ejecutar ciertas aventuras gráficas y juegos de rol clásicos, siempre que ya tengas sus archivos de datos. Lo ingenioso es que ScummVM sustituye los ejecutables de los juegos, de modo que puedes jugarlos en sistemas para los que nunca se diseñaron. ScummVM es una reescritura completa de esos ejecutables y no es un emulador.",
"Sealskin is a self-hosted, client-server platform that enables users to run powerful, containerized desktop applications streamed directly to a web browser. It uses a browser extension to intercept user actions—such as clicking a link or downloading a file and redirects them to a secure, isolated application environment running on a remote server.": "Sealskin es una plataforma cliente-servidor autoalojada que permite ejecutar potentes aplicaciones de escritorio en contenedores transmitidas directamente al navegador. Usa una extensión del navegador para interceptar acciones del usuario, como hacer clic en un enlace o descargar un archivo, y redirigirlas a un entorno de aplicación seguro y aislado en un servidor remoto.",
"Search": "Buscar",
"Search Results for:": "Resultados de búsqueda para:",
"Search applications": "Buscar aplicaciones",
"Search options and applications": "Buscar opciones y aplicaciones",
"Search results for:": "Resultados de la búsqueda para:",
"Search/Filter Scripts": "Buscar/filtrar scripts",
"Searchable document archive with OCR": "Archivo de documentos con búsqueda y OCR",
@@ -5520,6 +5531,7 @@
"Select the GPU to pass through to the VM:": "Seleccione la GPU para pasar a la VM:",
"Select the GPU(s) to add to LXC": "Seleccione las GPU para agregar a LXC",
"Select the LXC container:": "Seleccione el contenedor LXC:",
"Select the LXC. OCI containers are not included.": "Selecciona el LXC. Los contenedores OCI no se incluyen.",
"Select the Linux distribution to install:": "Seleccione la distribución de Linux para instalar:",
"Select the NAS system to install:": "Seleccione el sistema NAS a instalar:",
"Select the NVIDIA driver version to install:": "Seleccione la versión del controlador NVIDIA para instalar:",
@@ -6092,7 +6104,10 @@
"The Immich startup was modified or cannot be reproduced": "La startup Immich fue modificada o no se puede reproducir",
"The LXC changed during verification; nothing was adopted": "El LXC cambió durante la verificación; no se ha incorporado nada",
"The LXC changed while reviewing; nothing was adopted": "El LXC cambió durante la revisión; no se ha incorporado nada",
"The LXC could not be started.": "No se pudo arrancar el LXC.",
"The LXC has no Bash to run this script with. The addon was not run.": "El LXC no tiene Bash disponible para ejecutar este script. No se ha ejecutado el addon.",
"The LXC has stopped": "El LXC ha parado",
"The LXC is stopped. Do you want to start it to run the addon?": "El LXC está detenido. ¿Quieres arrancarlo para ejecutar el addon?",
"The Lounge starts in public mode: anyone who reaches the address opens the client without logging in, and the IRC networks added are lost when the session ends.": "The Lounge arranca en modo público: cualquiera que llegue a la dirección abre el cliente sin iniciar sesión, y las redes IRC añadidas se pierden al terminar la sesión.",
"The MAC address of the container cannot be kept": "La dirección MAC del contenedor no se puede mantener",
"The NVIDIA Container Toolkit repository definition was empty.": "La definición del repositorio de NVIDIA Container Toolkit estaba vacía.",
@@ -6599,6 +6614,7 @@
"Then run this option again:": "Luego ejecute esta opción nuevamente:",
"Then update /etc/fstab on the host with the same options.": "Luego actualice /etc/fstab en el host con las mismas opciones.",
"There are extra disks or bind mounts outside the journal; the rootfs is not replaced": "Hay discos o bind mounts adicionales fuera del diario de la operación; el rootfs no se reemplaza",
"There are no LXC containers available. OCI containers are not included.": "No hay contenedores LXC disponibles. Los contenedores OCI no se incluyen.",
"There is no temporary container of this operation to keep the current disks": "No hay contenedor temporal de esta operación para mantener los discos actuales",
"There is no verified backup; a modified container is not touched": "No hay backup verificado; un contenedor modificado no se toca",
"These Proxmox resources were added outside ProxMenux:": "Se añadieron estos recursos en Proxmox fuera de ProxMenux:",
@@ -6621,6 +6637,7 @@
"This application cannot be recovered yet:": "Esta aplicación todavía no se puede recuperar:",
"This application cannot be recovered yet; nothing was changed:": "Esta aplicación todavía no se puede recuperar; no se ha cambiado nada:",
"This application is not an Immich installed by ProxMenux": "Esta aplicación no es un Immich instalado por ProxMenux",
"This application is not in the OCI catalog.": "Esta aplicación no está en el catálogo OCI.",
"This application is under watchdog: it is restarted automatically when it crashes. Turn the watchdog off?": "Esta aplicación está bajo vigilancia: se reinicia automáticamente cuando falla. ¿Desactivar la vigilancia?",
"This archive does not contain a recognized backup layout.": "Este archivo no contiene un diseño de backup reconocido.",
"This backup does not contain any restorable paths.": "Este backup no contiene rutas restaurables.",
@@ -7305,6 +7322,7 @@
"Where do you want to mount inside container?": "¿Dónde desea montar dentro del contenedor?",
"Where do you want to mount the NFS export?": "¿Dónde desea montar la exportación NFS?",
"Where do you want to mount the Samba share?": "¿Dónde quieres montar el recurso compartido Samba?",
"Where do you want to run this addon?": "¿Dónde quieres ejecutar este addon?",
"Where is the OVA/OVF file located?": "¿Dónde se encuentra el archivo OVA/OVF?",
"Where to mount inside container?": "¿Dónde montarlo dentro del contenedor?",
"Where to store": "Dónde almacenar",