docs: review settings documentation in all seven translations

This commit is contained in:
Jonatan
2026-10-17 15:08:54 +02:00
parent ce1a3de719
commit a35700f54f
49 changed files with 3793 additions and 205 deletions
+24 -24
View File
@@ -1,36 +1,36 @@
{
"meta": {
"title": "Cambiar canal de release | ProxMenux Documentation",
"description": "Cambia ProxMenux entre los canales estable (main) y beta (develop) en un diálogo. Bidireccional, idempotente, ejecuta el instalador oficial para el canal elegido y normaliza el servicio del Monitor.",
"ogTitle": "Cambiar canal de release | ProxMenux Documentation",
"ogDescription": "Una opción de Settings para cambiar entre los canales estable y beta — sin volver a ejecutar instaladores a mano."
"title": "Cambiar canal de versiones | Documentación de ProxMenux",
"description": "Cambia entre los canales estable (main) y beta (develop) de ProxMenux en un diálogo. Es bidireccional e idempotente, ejecuta el instalador oficial del canal elegido y normaliza el servicio Monitor.",
"ogTitle": "Cambiar canal de versiones | Documentación de ProxMenux",
"ogDescription": "Una opción de Ajustes permite cambiar entre estable y beta sin ejecutar instaladores a mano."
},
"header": {
"title": "Cambiar canal de release",
"description": "Una opción unificada de Settings para cambiar ProxMenux entre los canales estable (rama main) y beta (rama develop). La antigua \"Desactivar programa beta\" unidireccional se ha sustituido por un diálogo bidireccional que siempre ofrece ambas direcciones y ejecuta el instalador oficial del canal que elijas.",
"section": "Settings"
"title": "Cambiar canal de versiones",
"description": "Una opción de Ajustes cambia ProxMenux entre estable (rama main) y beta (rama develop). La antigua opción unidireccional «Desactivar programa beta» se sustituye por un diálogo bidireccional que ofrece ambos sentidos y ejecuta el instalador oficial del canal elegido.",
"section": "Ajustes"
},
"intro": {
"title": "Qué ha cambiado",
"body": "Versiones anteriores de ProxMenux exponían dos flujos separados — \"Desactivar programa beta\" (solo visible cuando beta estaba activo) y una nueva ejecución manual del instalador beta para volver a unirte. Se han fusionado en una única entrada <strong>Cambiar canal de release</strong> siempre presente, que muestra el canal actual y te deja saltar entre estable y beta en cualquier dirección."
"body": "Antes había dos procedimientos: «Desactivar programa beta», visible solo con beta activa, y volver a ejecutar manualmente el instalador beta para entrar de nuevo. Ahora se unen en <strong>Cambiar canal de versiones</strong>, una opción siempre disponible que muestra el canal actual y permite cambiar entre estable y beta en ambos sentidos."
},
"why": {
"heading": "Por qué existe esta opción",
"intro": "ProxMenux se entrega desde dos ramas git:",
"intro": "ProxMenux se distribuye desde dos ramas de Git:",
"items": [
"<strong>Estable</strong> — la rama <code>main</code>. A donde apunta el README, lo que la mayoría de operadores quieren, con una cadencia de releases más lenta y solo cambios que ya han pasado por validación beta.",
"<strong>Beta</strong> — la rama <code>develop</code>. Funciones nuevas y builds del Monitor; lleva el tag que la próxima release estable heredará. Algunas cosas pueden no funcionar perfectamente — ese es el trato al que te apuntas y la forma en que las funciones nuevas se prueban antes de salir."
"<strong>Estable</strong>: la rama <code>main</code>, enlazada desde el README y adecuada para la mayoría de administradores. Publica con menor frecuencia e incluye cambios que ya han pasado por la validación beta.",
"<strong>Beta</strong>: la rama <code>develop</code>. Incluye funciones y compilaciones de Monitor más recientes y la etiqueta que heredará la siguiente versión estable. Puede haber fallos: al elegirla participas en las pruebas previas al lanzamiento."
],
"outro": "Saltar entre canales requería antes recordar la URL del instalador correcta, copiarla del README y editar <code>config.json</code> a mano si algo se desincronizaba. La opción unificada hace todo el flujo como una única acción guiada."
"outro": "Antes, cambiar de canal exigía recordar la URL correcta del instalador, copiarla del README y editar <code>config.json</code> si algo se desincronizaba. La opción unificada realiza todo el proceso mediante una acción guiada."
},
"dialog": {
"heading": "El diálogo",
"intro": "Desde el menú principal, <strong>Settings → Cambiar canal de release</strong>. Aparece un menú de dos líneas:",
"intro": "Desde el menú principal: <strong>Ajustes → Cambiar canal de versiones</strong>. Aparece un menú de dos líneas:",
"options": [
"<code>stable</code> — Estable (rama main)",
"<code>beta</code> — Beta (rama develop)"
],
"behaviour": "El canal actual aparece preseleccionado y mostrado en la parte superior del menú. Elegir el mismo canal devuelve un mensaje amable de \"Este canal de release ya está activo\" — el diálogo es totalmente idempotente. Elegir un canal distinto saca una confirmación con texto específico del canal:",
"behaviour": "El canal actual aparece preseleccionado y se muestra arriba. Si eliges el mismo, aparece «Este canal de versiones ya está activo»: el diálogo es idempotente. Si eliges otro, aparece una confirmación específica del canal:",
"directions": [
"<strong>Estable → Beta:</strong> avisa de que los builds beta pueden contener bugs o funciones incompletas.",
"<strong>Beta → Estable:</strong> avisa de que las comprobaciones de actualizaciones beta cesarán y el instalador estable reinstalará los componentes del canal estable."
@@ -39,11 +39,11 @@
"confirm": {
"heading": "Qué pasa al confirmar",
"items": [
"<strong>Descarga el instalador oficial</strong> del canal de destino:<ul><li>Estable: <code>install_proxmenux.sh</code> desde <code>main</code></li><li>Beta: <code>install_proxmenux_beta.sh</code> desde <code>develop</code></li></ul>Se verifica que la descarga existe y se hace ejecutable antes del siguiente paso.",
"<strong>Ejecuta el instalador</strong> de principio a fin. El instalador es el mismo que publica el README — sin ruta propia, sin atajos. Eso significa que la detección de componentes existentes, backups de archivos, instalación de dependencias, preservación de idioma, etc. se comportan idénticamente a una instalación recién hecha del canal de destino.",
"<strong>Descarga el instalador oficial</strong> del canal de destino:<ul><li>Estable: <code>install_proxmenux.sh</code> desde <code>main</code></li><li>Beta: <code>install_proxmenux_beta.sh</code> desde <code>develop</code></li></ul>Se comprueba que la descarga existe y se hace ejecutable antes de continuar.",
"<strong>Ejecuta el instalador</strong> completo, el mismo que enlaza el README. La detección de componentes, las copias de seguridad, las dependencias y la conservación del idioma siguen el procedimiento oficial de instalación del canal elegido.",
"Al cambiar a <strong>estable</strong>, el menú poda después cualquier metadato beta sobrante de <code>config.json</code>: <code>beta_program</code>, <code>beta_version</code>, <code>install_branch</code>, <code>update_available.beta*</code> se borran, y <code>proxmenux_monitor.status = beta_updated</code> se normaliza a <code>updated</code>. El archivo sobrante <code>beta_version.txt</code> y cualquier instalador beta descargado se eliminan.",
"Al cambiar a estable, el archivo de la unidad systemd del Monitor también se reescribe desde la plantilla estable (elimina el sufijo \"Beta\" de la descripción de la unidad, apunta <code>ExecStart</code> de vuelta al directorio de runtime) para que un <code>systemctl status</code> fresco refleje el canal en el que estás.",
"Recarga el menú de configuración. La siguiente visita a <em>Mostrar información de versión</em> mostrará el nuevo canal."
"Al cambiar a estable, se reescribe la unidad systemd de Monitor con la plantilla estable: se quita «Beta» de la descripción y <code>ExecStart</code> vuelve a apuntar al directorio de ejecución. Así, <code>systemctl status</code> refleja el canal actual.",
"Recarga el menú de configuración. <em>Mostrar información de versión</em> mostrará el nuevo canal."
]
},
"switching": {
@@ -54,7 +54,7 @@
"Un Monitor que estaba activo antes del cambio sigue activo después; uno que estaba desactivado sigue desactivado.",
"El <code>auth.json</code>, los tokens de API y el secreto JWT de ProxMenux Monitor se preservan entre cambios de canal. Las sesiones no se cierran.",
"Puedes saltar de canal tantas veces como quieras — el diálogo lo aceptará cada vez y volverá a ejecutar el instalador. No hace falta reiniciar Proxmox.",
"El instalador de cambio de canal reemplaza el propio árbol de scripts de ProxMenux, así que no puede correr dentro del terminal del navegador del Monitor (esa PTY sería desmontada a mitad de la actualización y dejaría el diálogo colgado). Si lanzas la opción desde ahí, la confirmación se sustituye por un msgbox informativo con el instalador canónico de una línea para el canal de destino; ejecuta ese comando desde una sesión SSH o desde la consola del host Proxmox."
"El instalador de cambio de canal sustituye el árbol de scripts de ProxMenux, por lo que no puede ejecutarse desde el terminal del navegador de Monitor: la PTY se cerraría a mitad de la actualización y dejaría el diálogo bloqueado. Si lo abres desde allí, aparece un cuadro informativo con el comando oficial de una línea del canal elegido. Ejecútalo desde SSH o la consola del host Proxmox."
]
},
"feedback": {
@@ -66,16 +66,16 @@
"Los logs relevantes del Monitor:"
],
"logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager",
"versionLine": "La versión actual de ProxMenux (Settings → <link>Mostrar información de versión</link>).",
"versionLine": "La versión actual de ProxMenux (Ajustes → <link>Mostrar información de versión</link>).",
"issueLine": "Abre una <ghlink>incidencia en GitHub</ghlink> con esa información y llegamos al arreglo más rápido."
},
"manual": {
"heading": "Equivalente manual",
"intro": "Si prefieres el shell o estás scriptando el cambio de canal, el diálogo no es más que un wrapper fino sobre estos comandos:"
"intro": "Si prefieres el shell o automatizas el cambio de canal, el diálogo ejecuta estos comandos:"
},
"unifiedCallout": {
"title": "Por qué ahora ambas direcciones son una sola opción",
"body": "La antigua \"Desactivar programa beta\" solo existía si el host se había unido alguna vez a la beta. Los operadores que querían <em>unirse</em> tenían que encontrar la URL del instalador beta en otro sitio; los que querían <em>salir</em> a veces tenían que limpiar manualmente los metadatos <code>beta_*</code> para asegurarse. La opción unificada <strong>Cambiar canal de release</strong> siempre aparece, hace explícito el canal actual y trata ambas direcciones como el mismo tipo de operación — ejecutable, repetible, idempotente."
"body": "La antigua opción «Desactivar programa beta» solo aparecía si el host se había unido a la beta. Para <em>entrar</em> había que buscar el instalador en otro lugar; para <em>salir</em> a veces había que limpiar los metadatos <code>beta_*</code> a mano. <strong>Cambiar canal de versiones</strong> siempre aparece, muestra el canal actual y aplica el mismo procedimiento ejecutable, repetible e idempotente en ambos sentidos."
},
"troubleshoot": {
"heading": "Solución de problemas",
@@ -84,7 +84,7 @@
"downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test",
"downloadOutro": "Si esto falla fuera de ProxMenux, es un problema de red / proxy en el host.",
"errorsTitle": "\"El instalador terminó con errores\"",
"errorsBody": "El instalador devolvió un código de salida distinto de cero. El canal anterior y los componentes ya instalados se quedan como estaban antes del cambio. Vuelve a ejecutar la acción; si sigue fallando, ejecuta el instalador manualmente desde un shell (mira el equivalente manual de arriba) — eso te da la salida completa en lugar del resumen del diálogo.",
"errorsBody": "El instalador devolvió un código distinto de cero. No hay reversión automática: algunos archivos o componentes pueden haber cambiado. Revisa la salida y el estado actual antes de reintentar. Ejecuta el instalador manualmente por SSH o desde la consola del host para ver toda la salida.",
"configTitle": "\"No se pudo actualizar el archivo de configuración\" tras cambiar a estable",
"configBody": "La limpieza post-instalación de metadatos beta falló — normalmente porque <code>config.json</code> tiene un error de sintaxis por una edición manual. Valídalo:",
"configCmd": "jq . /usr/local/share/proxmenux/config.json",
@@ -105,7 +105,7 @@
},
{
"href": "/docs/settings",
"label": "Resumen de Settings",
"label": "Resumen de Ajustes",
"tail": "."
}
]
@@ -1,26 +1,26 @@
{
"meta": {
"title": "Cambiar idioma | ProxMenux Documentation",
"description": "Cambia la UI de ProxMenux entre inglés, español, francés, alemán, italiano o portugués. Solo instalación con traducción — usa googletrans + una tabla de traducción precacheada. El menú se recarga automáticamente con el nuevo idioma.",
"ogTitle": "Cambiar idioma | ProxMenux Documentation",
"ogDescription": "Elige el idioma de la interfaz de ProxMenux desde el menú Settings. Seis idiomas soportados."
"title": "Cambiar idioma | Documentación de ProxMenux",
"description": "Elige entre ocho idiomas de la interfaz de ProxMenux. Todas las instalaciones incluyen catálogos JSON de traducciones pregenerados; el host no necesita servicios de traducción ni un entorno Python. El menú se recarga automáticamente.",
"ogTitle": "Cambiar idioma | Documentación de ProxMenux",
"ogDescription": "Elige uno de los ocho idiomas de ProxMenux en Ajustes. Disponible en todas las instalaciones."
},
"header": {
"title": "Cambiar idioma",
"description": "Cambia la UI de ProxMenux entre seis idiomas soportados. Guarda la elección en config.json y vuelve a ejecutar el menú con el nuevo idioma. Solo disponible en el tipo de instalación con traducción — la instalación normal (ligera) es solo en inglés por diseño.",
"section": "Settings"
"description": "Cambia la interfaz de ProxMenux entre ocho idiomas. La elección se guarda en config.json y el menú se reinicia en el nuevo idioma. Todas las instalaciones incluyen los catálogos de traducciones.",
"section": "Ajustes"
},
"intro": {
"title": "Qué es esto",
"body": "Un menú de diálogo que lista los seis idiomas soportados. Elige uno, ProxMenux lo guarda en <code>config.json</code> como <code>.language</code>, después vuelve a ejecutar <code>config_menu.sh</code> para que el nuevo idioma surta efecto inmediatamente."
"body": "Un diálogo enumera los ocho idiomas admitidos. ProxMenux guarda tu elección en <code>config.json</code> como <code>.language</code> y reinicia <code>config_menu.sh</code> para aplicarla inmediatamente."
},
"warn": {
"title": "Solo instalación con traducción",
"body": "Esta opción solo aparece en Settings si pasan ambas comprobaciones: existe <code>/opt/googletrans-env/bin/activate</code> (venv de Python con googletrans) <em>y</em> <code>config.json</code> tiene un <code>.language</code> no vacío. En la instalación normal (solo inglés) ninguno está presente y el selector de idioma no se muestra."
"title": "Disponible en todas las instalaciones",
"body": "Ajustes siempre muestra Cambiar idioma. Los catálogos se instalan en <code>/usr/local/share/proxmenux/lang/</code> <em>y</em> el idioma seleccionado se guarda en <code>config.json</code>. No se necesita el antiguo entorno Python de traducción."
},
"supported": {
"heading": "Idiomas soportados",
"headerCode": "Código",
"headerCode": "Code",
"headerLang": "Idioma",
"headerNotes": "Notas",
"rows": [
@@ -32,42 +32,52 @@
{
"code": "es",
"lang": "Español",
"notes": "Cacheado + autotraducido"
"notes": "Catálogo JSON pregenerado"
},
{
"code": "fr",
"lang": "Francés",
"notes": "Cacheado + autotraducido"
"notes": "Catálogo JSON pregenerado"
},
{
"code": "de",
"lang": "Alemán",
"notes": "Cacheado + autotraducido"
"notes": "Catálogo JSON pregenerado"
},
{
"code": "it",
"lang": "Italiano",
"notes": "Cacheado + autotraducido"
"notes": "Catálogo JSON pregenerado"
},
{
"code": "pt",
"lang": "Portugués",
"notes": "Cacheado + autotraducido"
"notes": "Catálogo JSON pregenerado"
},
{
"code": "sk",
"lang": "Eslovaco",
"notes": "Catálogo JSON pregenerado"
},
{
"code": "sv",
"lang": "Sueco",
"notes": "Catálogo JSON pregenerado"
}
]
},
"englishTip": {
"title": "El inglés es el más preciso",
"body": "Las cadenas en otros idiomas se producen mediante una tabla precacheada sembrada desde googletrans. Cadenas de casos límite (opciones que se disparan raramente, añadidos recientes) pueden caer en una llamada en vivo a googletrans o en el original inglés. Si una traducción no encaja, el inglés es siempre la fuente de verdad."
"body": "Los textos de otros idiomas proceden de catálogos JSON pregenerados incluidos con ProxMenux. Si falta una traducción se usa el inglés; el host no realiza llamadas de traducción en directo. El inglés sigue siendo la referencia ante una traducción dudosa."
},
"underHood": {
"heading": "Cómo funciona por dentro",
"items": [
"El menú de diálogo lista los 6 códigos; eliges uno.",
"El diálogo enumera ocho códigos de idioma; elige uno.",
"Si <code>config.json</code> existe: <code>jq --arg lang \"$new_language\" '.language = $lang''</code> actualiza el campo en sitio.",
"Si <code>config.json</code> no existe: se crea uno nuevo con el código de idioma en un objeto de un solo campo.",
"Diálogo de confirmación: <em>\"Idioma cambiado a [code]\"</em>.",
"<code>exec bash config_menu.sh</code> recarga el menú Settings con el nuevo idioma activo."
"<code>exec bash config_menu.sh</code> recarga el menú Ajustes con el nuevo idioma activo."
]
},
"manual": {
@@ -75,10 +85,10 @@
},
"troubleshoot": {
"heading": "Solución de problemas",
"noOptionTitle": "La opción no aparece en Settings",
"noOptionBody": "Estás en la instalación normal (solo inglés). Para obtener soporte de idiomas, reinstala ProxMenux eligiendo la opción de instalación con traducción (trae venv de Python + googletrans).",
"noOptionTitle": "La opción no aparece en Ajustes",
"noOptionBody": "Cambiar idioma siempre está disponible en las versiones actuales. Si no aparece, actualiza ProxMenux con el instalador oficial y vuelve a abrir Ajustes.",
"stillEnglishTitle": "Cambié de idioma pero la UI sigue mostrando inglés",
"stillEnglishBody": "El menú se vuelve a ejecutar tras el cambio. Si abriste un shell nuevo y arrancaste un entrypoint distinto de ProxMenux, ejecuta <code>menu</code> de nuevo para tomar el nuevo idioma. Confirma: <code>jq -r '.language' /usr/local/share/proxmenux/config.json</code>."
"stillEnglishBody": "El menú se vuelve a ejecutar tras el cambio. Si abriste una nueva sesión de shell e iniciaste otro punto de entrada de ProxMenux, ejecuta <code>menu</code> de nuevo para aplicar el nuevo idioma. Compruébalo con <code>jq -r '.language' /usr/local/share/proxmenux/config.json</code>."
},
"related": {
"heading": "Relacionado",
@@ -86,11 +96,11 @@
{
"href": "/docs/settings/show-version-information",
"label": "Mostrar información de versión",
"tail": " — confirma el tipo de instalación y el idioma actual."
"tail": " — confirma el canal de versiones, los archivos de traducción y el idioma actual."
},
{
"href": "/docs/settings",
"label": "Resumen de Settings",
"label": "Resumen de Ajustes",
"tail": "."
}
]
+28 -28
View File
@@ -1,70 +1,70 @@
{
"meta": {
"title": "Settings de ProxMenux — Activación del Monitor, canal de release, idiomas | ProxMenux",
"description": "Menú de configuración de ProxMenux: activación de ProxMenux Monitor y conmutador del servicio, restablecer contraseña del Monitor, cambiar canal de release entre estable y beta, selección de idioma (instalación con traducción), información de versión y desinstalación. Las opciones aparecen condicionalmente según lo que esté instalado y activo.",
"ogTitle": "Settings de ProxMenux — Activación del Monitor, canal de release, idiomas",
"ogDescription": "Configura ProxMenux — servicio del Monitor, canal de release, idioma, info de versión y desinstalación.",
"twitterTitle": "Settings de ProxMenux",
"twitterDescription": "Activación del Monitor, cambio de canal de release, idiomas, info de versión y desinstalación."
"title": "Ajustes de ProxMenux — Activación del Monitor, canal de versiones e idiomas | ProxMenux",
"description": "Ajustes de ProxMenux: servicio Monitor y restablecimiento de contraseña, canal estable/beta, ocho idiomas de interfaz, diagnóstico de versión y desinstalación. Las opciones de Monitor aparecen cuando su servicio está instalado.",
"ogTitle": "Ajustes de ProxMenux — Activación del Monitor, canal de versiones e idiomas",
"ogDescription": "Configura ProxMenux: servicio Monitor, canal de versiones, idioma, versión y desinstalación.",
"twitterTitle": "Ajustes de ProxMenux",
"twitterDescription": "Activación de Monitor, cambio de canal de versiones, idiomas, versión y desinstalación."
},
"header": {
"title": "Settings",
"description": "Menú de configuración de ProxMenux. Lista lo que está instalado, te deja conmutar el servicio del Monitor, restablecer la contraseña de login del Monitor, cambiar entre canales de release estable y beta en cualquier dirección, cambiar el idioma de la UI (solo instalación con traducción) y proporciona un desinstalador limpio. Las opciones aparecen condicionalmente — lo que ves depende de tu tipo de instalación y del estado actual.",
"section": "Settings"
"title": "Ajustes",
"description": "Configura ProxMenux: activa o desactiva Monitor, restablece sus credenciales de acceso, cambia entre estable y beta en ambos sentidos, elige uno de ocho idiomas, consulta el diagnóstico de versión y desinstala. Las acciones de Monitor requieren su servicio instalado; el cambio de idioma siempre está disponible.",
"section": "Ajustes"
},
"intro": {
"title": "Para qué sirve este menú",
"body": "Auto-administración del propio ProxMenux: servicio del Monitor, salida del canal beta, idioma, diagnósticos de versión y el desinstalador. Nada en este menú toca tus VMs, contenedores ni almacenamiento."
"body": "Administración del propio ProxMenux: servicio Monitor, salida del canal beta, idioma, diagnóstico de versión y desinstalador. Ninguna opción modifica tus máquinas virtuales, contenedores ni almacenamiento."
},
"opening": {
"heading": "Abrir el menú",
"body": "Desde el menú principal de ProxMenux, pulsa <kbd>s</kbd>. Las opciones mostradas dependen de tu tipo de instalación y de lo que esté actualmente activo:",
"imageAlt": "Menú Settings de ProxMenux con opciones condicionales según el tipo de instalación y el estado de los componentes"
"body": "Desde el menú principal de ProxMenux, pulsa <kbd>s</kbd>. Las acciones de Monitor aparecen si su servicio está instalado; los demás ajustes siempre están disponibles:",
"imageAlt": "Menú Ajustes de ProxMenux con acciones de Monitor condicionales"
},
"installTypes": {
"heading": "Dos tipos de instalación, menús distintos",
"intro": "ProxMenux se entrega en dos sabores. El menú Settings se adapta al que tengas:",
"heading": "Una instalación, todos los idiomas",
"intro": "Las versiones actuales incluyen catálogos JSON estáticos de traducciones en todas las instalaciones. Las antiguas ofrecían modalidades separadas con traducción y normal:",
"headerType": "Tipo de instalación",
"headerBundles": "Qué incluye",
"headerMenu": "El menú muestra",
"rows": [
{
"type": "Con traducción",
"bundles": "venv de Python + googletrans + configuración multi-idioma",
"type": "Instalación actual",
"bundles": "Catálogos JSON estáticos para ocho idiomas; sin entorno Python de traducción",
"menuRich": "<strong>Cambiar idioma</strong> + Mostrar versión + Desinstalar"
},
{
"type": "Normal (ligera)",
"bundles": "Solo inglés, sin venv, huella menor",
"menu": "Mostrar versión + Desinstalar (sin selector de idioma)"
"type": "Modalidades antiguas con traducción / normal",
"bundles": "Antigua separación entre entorno de traducción e instalación solo en inglés",
"menu": "Actualiza con el instalador oficial para usar el menú unificado actual"
}
],
"detectionTitle": "La detección es automática",
"detectionBody": "El script comprueba <code>/opt/googletrans-env/bin/activate</code> y una clave <code>language</code> no vacía en <code>config.json</code>. Ambas presentes → instalación con traducción. Falta alguna → instalación normal. No eliges; el menú se adapta."
"detectionTitle": "La selección de idioma siempre está disponible",
"detectionBody": "El menú ya no comprueba un entorno de traducción. Todas las instalaciones incluyen <code>/usr/local/share/proxmenux/lang/</code> y guardan el <code>language</code> seleccionado en <code>config.json</code>."
},
"options": {
"heading": "Opciones del menú",
"intro": "Cinco herramientas. Los badges de <em>Condicional</em> significan que la opción solo aparece cuando se cumple el prerrequisito (Monitor instalado; programa beta activo; instalación con traducción).",
"intro": "Las herramientas siguientes gestionan el propio ProxMenux. <em>Condicional</em> indica que las acciones de Monitor solo aparecen si su servicio systemd está instalado. Canal de versiones, idioma, diagnóstico de versión y desinstalación siempre están disponibles.",
"list": [
{
"icon": "Activity",
"href": "/docs/settings/proxmenux-monitor",
"title": "ProxMenux Monitor",
"title": "Monitor de ProxMenux",
"description": "Activa / desactiva la unidad systemd proxmenux-monitor.service, comprueba su estado actual y restablece la contraseña de login del panel si se ha perdido. UI web disponible en TCP 8008.",
"badge": "Condicional"
},
{
"icon": "TestTube",
"href": "/docs/settings/beta-program",
"title": "Cambiar canal de release",
"description": "Cambia entre estable (main) y beta (develop) en cualquier dirección desde un único diálogo. Ejecuta el instalador oficial para el canal elegido; idempotente y siempre visible.",
"title": "Cambiar canal de versiones",
"description": "Cambia entre estable (main) y beta (develop) en ambos sentidos desde un único diálogo. Ejecuta el instalador oficial del canal elegido; es idempotente y siempre está visible.",
"badge": "Siempre disponible"
},
{
"icon": "Info",
"href": "/docs/settings/show-version-information",
"title": "Mostrar información de versión",
"description": "Versión de ProxMenux, tipo de instalación, componentes instalados, rutas de archivos, estado del entorno virtual e idioma actual."
"description": "Versión de ProxMenux, canal de versiones, componentes instalados, rutas de archivos, archivos de traducción e idioma actual."
},
{
"icon": "Trash2",
@@ -75,7 +75,7 @@
]
},
"configTip": {
"title": "Dónde vive la configuración",
"bodyRich": "La mayor parte del estado gestionado por este menú vive en <code>/usr/local/share/proxmenux/config.json</code> — <code>language</code>, <code>beta_program.status</code> y flags de instalación por componente. El estado del servicio del Monitor vive en systemd (<code>proxmenux-monitor.service</code>), no aquí. La versión se lee de <code>/usr/local/share/proxmenux/version.txt</code>."
"title": "Dónde se guarda la configuración",
"bodyRich": "La mayor parte del estado gestionado por este menú se guarda en <code>/usr/local/share/proxmenux/config.json</code>: <code>language</code>, <code>beta_program.status</code> e indicadores de instalación por componente. El estado del servicio Monitor se guarda en systemd (<code>proxmenux-monitor.service</code>), no aquí. La versión se lee de <code>/usr/local/share/proxmenux/version.txt</code>."
}
}
@@ -1,14 +1,14 @@
{
"meta": {
"title": "ProxMenux Monitor | ProxMenux Documentation",
"title": "ProxMenux Monitor | Documentación de ProxMenux",
"description": "Activa o desactiva la unidad systemd proxmenux-monitor.service e inspecciona su estado actual. El Monitor expone una UI web en TCP 8008 para monitorización visual del host.",
"ogTitle": "ProxMenux Monitor | ProxMenux Documentation",
"ogDescription": "Conmuta el servicio systemd proxmenux-monitor y comprueba su estado desde el menú Settings."
"ogTitle": "ProxMenux Monitor | Documentación de ProxMenux",
"ogDescription": "Activa o desactiva el servicio systemd proxmenux-monitor y consulta su estado en Ajustes."
},
"header": {
"title": "ProxMenux Monitor",
"description": "Dos acciones relacionadas dentro del menú Settings: conmutar la unidad systemd proxmenux-monitor.service (start / stop y enable / disable en un clic) y ver su estado detallado actual. El Monitor expone una UI web en TCP 8008 para monitorización visual del host.",
"section": "Settings"
"description": "Dos acciones relacionadas en Ajustes: activar o desactivar la unidad systemd proxmenux-monitor.service (iniciar/detener y habilitar/deshabilitar el arranque automático a la vez) y ver su estado detallado. Monitor ofrece una interfaz web en TCP 8008 para monitorizar el host.",
"section": "Ajustes"
},
"intro": {
"title": "¿Qué es ProxMenux Monitor?",
@@ -32,7 +32,7 @@
"outro": "El Monitor se instala automáticamente como parte de la instalación estándar de ProxMenux y corre como un servicio systemd (<code>proxmenux-monitor.service</code>) que arranca automáticamente al iniciar."
},
"warnConditional": {
"title": "Las opciones de Settings solo son visibles cuando el Monitor está instalado",
"title": "Las opciones de Ajustes solo aparecen cuando Monitor está instalado",
"body": "Las dos entradas de menú descritas debajo solo aparecen en Settings si <code>proxmenux-monitor.service</code> está registrado en systemd. Si no las ves, el Monitor no se instaló (es opcional durante la instalación de ProxMenux). Para añadirlo más tarde, reinstala ProxMenux con la última versión y elige la opción de Monitor."
},
"toggle": {
@@ -43,17 +43,17 @@
"headerAction": "Acción al confirmar",
"rows": [
{
"state": "active",
"state": "activo",
"label": "Desactivar ProxMenux Monitor",
"action": "systemctl stop + disable"
},
{
"state": "inactive",
"state": "inactivo",
"label": "Activar ProxMenux Monitor",
"action": "systemctl enable + start"
}
],
"outro": "Cada conmutación requiere un diálogo explícito sí/no antes de ejecutarse. Activar / Desactivar es simétrico: desactivar para el servicio <em>y</em> deshabilita el auto-arranque al iniciar; activar habilita el auto-arranque <em>y</em> arranca el servicio inmediatamente."
"outro": "Cada cambio requiere confirmación sí/no. Desactivar detiene el servicio <em>y</em> deshabilita su inicio automático; activar habilita el inicio automático <em>y</em> arranca el servicio inmediatamente."
},
"status": {
"heading": "Mostrar estado del servicio del Monitor",
@@ -70,21 +70,21 @@
"code": "systemctl status proxmenux-monitor.service # detailed status\nsystemctl is-active proxmenux-monitor.service # one-word status\nsystemctl enable --now proxmenux-monitor.service # enable + start\nsystemctl disable --now proxmenux-monitor.service # stop + disable\njournalctl -u proxmenux-monitor.service -f # follow live logs"
},
"reset": {
"heading": "Restablecer contraseña del Monitor",
"heading": "Restablecer la contraseña de ProxMenux Monitor",
"intro": "Ruta de recuperación para el operador que perdió la contraseña del panel (o el dispositivo 2FA). La opción solo aparece cuando el Monitor está instalado en el host. Al seleccionarla:",
"items": [
"Pide confirmación con un diálogo sí/no — la acción es destructiva para las credenciales de login.",
"Hace backup del <code>/root/.config/proxmenux-monitor/auth.json</code> existente a <code>auth.json.bak-&lt;UTC timestamp&gt;</code> (modo <code>0600</code>) para que el estado previo se pueda restaurar manualmente si el reset fue un error.",
"Para el servicio <code>proxmenux-monitor</code> para que la edición en disco no compita con un login en vuelo.",
"Detiene el servicio <code>proxmenux-monitor</code> para evitar conflictos entre la edición del archivo y un inicio de sesión en curso.",
"Limpia los campos de identidad en <code>auth.json</code>: <code>enabled=false</code>, <code>configured=false</code>, vacía <code>username</code>, <code>password_hash</code>, <code>totp_secret</code> y el array de códigos de backup.",
"<strong>Preserva</strong> el <code>jwt_secret</code> y los <code>api_tokens</code> / <code>revoked_tokens</code> registrados — para que los tokens de API de larga vida usados por Home Assistant u otros scripts <em>sigan autenticando</em> tras el reset.",
"<strong>Conserva</strong> <code>jwt_secret</code> y los <code>api_tokens</code> / <code>revoked_tokens</code> registrados para que los tokens de larga duración de Home Assistant u otros scripts <em>sigan autenticándose</em> tras el restablecimiento.",
"Reinicia el servicio. La siguiente visita a <code>http://&lt;host&gt;:8008</code> muestra el asistente de configuración de primer lanzamiento para que se pueda crear una nueva cuenta de administrador."
],
"preservedTitle": "Qué sobrevive al reset, qué no",
"preservedBody": "<strong>Borrado:</strong> nombre de usuario, hash de contraseña, secreto TOTP de 2FA, códigos de backup. <strong>Preservado:</strong> <code>jwt_secret</code>, metadatos de <code>api_tokens</code>, lista de <code>revoked_tokens</code>. Si quieres activamente invalidar también todo token de API existente (pizarra limpia total), borra <code>auth.json</code> manualmente en lugar de usar esta opción de menú — el siguiente arranque del servicio regenera el secreto JWT y todo lo demás desde cero.",
"preservedBody": "<strong>Borra:</strong> usuario, hash de contraseña, secreto TOTP de 2FA y códigos de recuperación. <strong>Conserva:</strong> <code>jwt_secret</code>, metadatos de <code>api_tokens</code> y lista <code>revoked_tokens</code>. Para invalidar también todos los tokens API y empezar de cero, elimina <code>auth.json</code> manualmente en lugar de usar esta opción. Al reiniciar el servicio se regeneran el secreto JWT y los demás datos.",
"trustTitle": "El acceso al host físico es el ancla de confianza",
"trustBody": "Esta ruta de reset requiere shell root en el host. Cualquiera que pueda ejecutar el comando <code>menu</code> como root ya controla la máquina, así que darle la recuperación de contraseña no es una escalada de privilegios — es coherente con cómo funciona cualquier otra herramienta de administración en Proxmox. El corolario: el login del Monitor no protegerá nada de alguien a quien ya hayas dejado entrar al shell de Proxmox.",
"seeAlso": "Mira también <link>Monitor → Access y Auth → Recuperar una contraseña perdida</link> para el mismo flujo descrito desde el lado del panel, además del contexto más amplio sobre cómo se hashean las contraseñas y cómo se genera el secreto JWT."
"seeAlso": "Consulta también <link>Monitor → Acceso y autenticación → Recuperar una contraseña perdida</link> para ver este procedimiento desde el panel y conocer cómo se calculan los hashes de contraseñas y se genera el secreto JWT."
},
"files": {
"heading": "Archivos implicados",
@@ -95,7 +95,7 @@
"missingTitle": "Ambas opciones del menú faltan",
"missingBody": "El Monitor no está registrado en systemd. Confirma con <code>systemctl list-unit-files | grep proxmenux-monitor</code> — si no hay salida, reinstala ProxMenux desde el instalador oficial con la última versión y elige la opción de Monitor durante la instalación.",
"unreachableTitle": "Servicio activado pero la URL es inalcanzable",
"unreachableBody": "La salida del estado en Settings te da la IP. Confirma:",
"unreachableBody": "El estado en Ajustes muestra la IP. Comprueba:",
"unreachableCmd": "ss -tlnp | grep 8008 # is anything listening?\njournalctl -u proxmenux-monitor -n 100 --no-pager # recent errors\ncurl -sI http://localhost:8008 # local reachability",
"unreachableOutro": "Si localhost funciona pero el externo no, comprueba el firewall del host (<code>pve-firewall</code> o nftables) para TCP 8008 entrante.",
"stopsTitle": "Activé el servicio pero se para solo unos segundos después",
@@ -111,7 +111,7 @@
},
{
"href": "/docs/settings",
"label": "Resumen de Settings",
"label": "Resumen de Ajustes",
"tail": "."
}
]
@@ -1,14 +1,14 @@
{
"meta": {
"title": "Mostrar información de versión | ProxMenux Documentation",
"description": "Autodiagnóstico de ProxMenux de solo lectura: número de versión, tipo de instalación (con traducción / normal), componentes instalados desde config.json, rutas de archivos, estado del entorno virtual e idioma actual.",
"ogTitle": "Mostrar información de versión | ProxMenux Documentation",
"ogDescription": "Volcado de diagnóstico de versión de ProxMenux, tipo de instalación, componentes, archivos e idioma."
"title": "Mostrar información de versión | Documentación de ProxMenux",
"description": "Diagnóstico de ProxMenux de solo lectura: versión, canal de versiones, componentes registrados en config.json, rutas de archivos, catálogos de traducción e idioma actual.",
"ogTitle": "Mostrar información de versión | Documentación de ProxMenux",
"ogDescription": "Datos de diagnóstico de ProxMenux: versión, canal de versiones, componentes, archivos e idioma."
},
"header": {
"title": "Mostrar información de versión",
"description": "Diagnóstico de solo lectura. Lee version.txt, config.json y unas pocas rutas de archivos conocidas, después renderiza un cuadro de texto desplazable con la versión, tipo de instalación, componentes instalados, presencia de archivos, estado del entorno virtual e idioma actual.",
"section": "Settings"
"description": "Diagnóstico de solo lectura. Lee version.txt, config.json y rutas de archivos conocidas; muestra un cuadro de texto desplazable con la versión, el canal de versiones, los componentes instalados, la presencia de archivos, los archivos de traducción y el idioma actual.",
"section": "Ajustes"
},
"intro": {
"title": "Qué es esto",
@@ -26,14 +26,14 @@
"contentRich": "Número de versión de una sola línea; <code>Unknown</code> si el archivo falta"
},
{
"section": "Tipo de instalación",
"source": "comprobaciones de venv + config.json",
"content": "Con traducción (multi-idioma) o Normal (solo inglés)"
"section": "Canal de versiones",
"source": "Estado del programa beta en config.json",
"content": "Estable (main) o beta (develop); versión beta si está disponible"
},
{
"section": "Componentes instalados",
"source": "config.json",
"content": "Estado por componente (✓ instalado / creado / actualizado, ✗ faltante)"
"content": "Estado de cada componente (✓ instalado / creado / actualizado, ✗ ausente)"
},
{
"section": "Archivos de ProxMenux",
@@ -41,14 +41,14 @@
"contentRich": "Presencia y rutas de <code>menu</code>, <code>utils.sh</code>, <code>config.json</code>, <code>version.txt</code>"
},
{
"section": "Entorno virtual",
"source": "/opt/googletrans-env",
"content": "Solo instalación con traducción — presencia de venv + pip"
"section": "Archivos de traducción",
"source": "/usr/local/share/proxmenux/lang/",
"content": "Presencia del directorio lang/ incluido en todas las instalaciones"
},
{
"section": "Idioma actual",
"source": "config.json",
"contentRich": "Con traducción: código de idioma desde <code>.language</code>; Normal: <code>English (Fixed)</code>"
"contentRich": "Código de idioma de <code>.language</code>; usa <code>en</code> por defecto si no está definido"
}
]
},
@@ -60,7 +60,7 @@
"unknownBody": "<code>/usr/local/share/proxmenux/version.txt</code> falta o no es legible. Lo más habitual es por una instalación parcial. Reinstala desde la fuente oficial de ProxMenux.",
"noConfigTitle": "No hay información de instalación disponible",
"noConfigBody": "<code>config.json</code> falta. El script no puede enumerar los componentes sin él. Reinstala para regenerarlo.",
"wrongStatusTitle": "Un componente muestra ✗ y estoy seguro de haberlo instalado",
"wrongStatusTitle": "Un componente muestra ✗ aunque estoy seguro de haberlo instalado",
"wrongStatusBody": "Significa que <code>config.json</code> no registra ese componente como instalado — podría ser un script que aún no se registra a sí mismo, o una instalación manual que se saltó ProxMenux. El diálogo refleja lo que dice <code>config.json</code>, no lo que hay realmente en disco."
},
"related": {
@@ -73,7 +73,7 @@
},
{
"href": "/docs/settings",
"label": "Resumen de Settings",
"label": "Resumen de Ajustes",
"tail": "."
}
]
@@ -1,55 +1,55 @@
{
"meta": {
"title": "Desinstalar ProxMenux | ProxMenux Documentation",
"description": "Desinstalador limpio de ProxMenux con eliminación opcional de dependencias (jq, dialog, python3-*) y restauración automática de los backups de /root/.bashrc y /etc/motd creados en el momento de la instalación. También elimina el servicio proxmenux-monitor si está presente.",
"ogTitle": "Desinstalar ProxMenux | ProxMenux Documentation",
"title": "Desinstalar ProxMenux | Documentación de ProxMenux",
"description": "Desinstalador de ProxMenux con eliminación opcional de jq y dialog, limpieza de archivos de traducción antiguos y del servicio Monitor, y restauración de copias de archivos del sistema.",
"ogTitle": "Desinstalar ProxMenux | Documentación de ProxMenux",
"ogDescription": "Elimina limpiamente ProxMenux de un host Proxmox con limpieza opcional de dependencias."
},
"header": {
"title": "Desinstalar ProxMenux",
"description": "Elimina ProxMenux del host Proxmox con un flujo interactivo: confirmación, eliminación opcional de dependencias, limpieza del servicio ProxMenux Monitor, restauración de los backups de /root/.bashrc y /etc/motd. Muestra una barra de progreso todo el tiempo.",
"section": "Settings"
"description": "Elimina ProxMenux del host Proxmox mediante un proceso interactivo: confirmación, eliminación opcional de dependencias, limpieza del servicio ProxMenux Monitor y restauración de las copias de /root/.bashrc y /etc/motd. Muestra una barra de progreso durante todo el proceso.",
"section": "Ajustes"
},
"scopeWarn": {
"title": "Afecta solo a la instalación de ProxMenux — no a tus VMs / CTs / almacenamiento",
"body": "Desinstalar ProxMenux elimina los scripts de ProxMenux, el lanzador del menú, el servicio opcional Monitor y cualquier backup que ProxMenux hizo de archivos del sistema cuando lo instalaste. <strong>No toca tus VMs, contenedores, almacenamiento, configuración de red, Fail2Ban, driver NVIDIA ni nada más que hayas instalado vía ProxMenux.</strong> Esas cosas se quedan como están."
"body": "Desinstalar ProxMenux elimina sus scripts, el lanzador del menú, el servicio opcional Monitor y las copias de archivos del sistema que creó durante la instalación. <strong>No modifica tus máquinas virtuales, contenedores, almacenamiento, configuración de red, Fail2Ban, el controlador NVIDIA ni nada más que hayas instalado mediante ProxMenux.</strong> Todo ello permanece como está."
},
"flow": {
"heading": "El flujo de desinstalación",
"heading": "El proceso de desinstalación",
"items": [
"<strong>Diálogo de confirmación.</strong> Sí/no — \"¿Seguro que quieres desinstalar ProxMenux?\"",
"<strong>Checklist de eliminación de dependencias.</strong> La lista preseleccionada depende del tipo de instalación (mira la tabla de abajo). Todas las casillas por defecto en OFF — te apuntas a eliminar cada dependencia.",
"<strong>La eliminación corre con una barra de progreso.</strong> Elimina el venv (solo instalación con traducción), el lanzador <code>menu</code>, el árbol <code>/usr/local/share/proxmenux/</code>, el servicio ProxMenux Monitor si está presente junto con el destino de notificaciones que registró en Proxmox VE (<code>proxmenux-webhook</code> y su matcher), las dependencias que marcaste y, por último, restaura los backups de archivos del sistema (mira abajo).",
"<strong>Diálogo de finalización.</strong> Lista las dependencias eliminadas y sale."
"<strong>Diálogo de confirmación.</strong> Sí/no: «¿Seguro que quieres desinstalar ProxMenux?»",
"<strong>Lista de eliminación de dependencias.</strong> Ofrece jq y dialog. Ambas casillas están desmarcadas por defecto; selecciona solo dependencias que ninguna otra aplicación necesite.",
"<strong>La eliminación muestra una barra de progreso.</strong> Elimina cualquier entorno de traducción antiguo que quede, el lanzador <code>menu</code>, el árbol <code>/usr/local/share/proxmenux/</code>, el servicio ProxMenux Monitor si existe y el destino de notificaciones que registró en Proxmox VE (<code>proxmenux-webhook</code> y su regla de coincidencia), las dependencias seleccionadas y, por último, restaura las copias de los archivos del sistema (ver más abajo).",
"<strong>Diálogo de finalización.</strong> Enumera las dependencias eliminadas y termina."
]
},
"deps": {
"heading": "Eliminación de dependencias: qué se ofrece",
"intro": "La checklist depende del tipo de instalación. <strong>Ninguna casilla está marcada por defecto</strong> — son paquetes de todo el sistema que otras aplicaciones podrían usar, así que el valor por defecto más seguro es dejarlos.",
"headerType": "Tipo de instalación",
"intro": "La lista ofrece jq y dialog. <strong>Ninguna casilla está marcada por defecto</strong>: otras aplicaciones pueden usar estos paquetes del sistema, por lo que es más seguro conservarlos.",
"headerType": "Instalación",
"headerOffered": "Se ofrece para eliminar",
"rows": [
{
"type": "Con traducción",
"offeredRich": "<code>python3-venv</code>, <code>python3-pip</code>, <code>python3</code>, <code>jq</code>"
"type": "Versiones actuales",
"offeredRich": "<code>dialog</code>, <code>jq</code>"
},
{
"type": "Normal",
"type": "Instalaciones antiguas tras actualizar",
"offeredRich": "<code>dialog</code>, <code>jq</code>"
}
],
"warnTitle": "Paquetes de todo el sistema — piénsalo dos veces",
"warnBody": "<code>python3</code>, <code>jq</code> y <code>dialog</code> los usan habitualmente otras herramientas (incluyendo el propio Proxmox en algunos flujos). Eliminar <code>python3</code> en particular puede romper helpers de Proxmox, utilidades de Ceph y muchos scripts de terceros. Déjalos a menos que estés seguro de que nada más los necesita."
"warnBody": "La lista actual ofrece <code>jq</code> y <code>dialog</code>, no <code>python3</code>. Son paquetes del sistema que otras herramientas pueden necesitar. La eliminación también puede quitar paquetes dependientes o dependencias sin uso. Conserva los paquetes necesarios y revisa cualquier propuesta de eliminación antes de ejecutar apt manualmente."
},
"removed": {
"heading": "Qué se elimina",
"code": "/usr/local/bin/menu # the launcher\n/usr/local/share/proxmenux/ # everything: scripts, config, cache, version\n/opt/googletrans-env/ # virtual env (Translation install only)\n/etc/systemd/system/proxmenux-monitor.service # Monitor service unit\n/root/.config/proxmenux-monitor/ # Monitor config dir\n # + dependencies you ticked in the checklist"
"code": "/usr/local/bin/menu # the launcher\n/usr/local/share/proxmenux/ # everything: scripts, config, cache, version\n/opt/googletrans-env/ # leftover legacy translation environment\n/etc/systemd/system/proxmenux-monitor.service # Monitor service unit\n/root/.config/proxmenux-monitor/ # Monitor config dir\n # + dependencies you ticked in the checklist"
},
"restored": {
"heading": "Qué se restaura",
"items": [
"Si <code>/root/.bashrc.bak</code> existe → se renombra de vuelta a <code>/root/.bashrc</code> (tu bashrc original vuelve).",
"Si <code>/etc/motd.bak</code> existe → se renombra de vuelta a <code>/etc/motd</code>. Si no, la línea de ProxMenux (<em>\"This system is optimised by: ProxMenux\"</em>) se elimina del motd existente con sed."
"Si existe <code>/etc/motd.bak</code>, se renombra a <code>/etc/motd</code>. Si no, sed elimina del motd actual la línea de ProxMenux (<em>“This system is optimised by: ProxMenux”</em>)."
]
},
"othersCallout": {
@@ -59,20 +59,20 @@
"manual": {
"heading": "Desinstalación manual",
"intro": "Si por alguna razón el desinstalador del menú no se puede ejecutar (p. ej. <code>dialog</code> ya falta), la secuencia manual equivalente:",
"code": "# 1. Stop and remove the Monitor service (if installed)\nsystemctl stop proxmenux-monitor.service 2>/dev/null\nsystemctl disable proxmenux-monitor.service 2>/dev/null\nrm -f /etc/systemd/system/proxmenux-monitor.service\nrm -rf /root/.config/proxmenux-monitor\nsystemctl daemon-reload\nsystemctl reset-failed 2>/dev/null\n\n# 2. Remove the venv (Translation install only)\nrm -rf /opt/googletrans-env\n\n# 3. Remove ProxMenux files\nrm -f /usr/local/bin/menu\nrm -rf /usr/local/share/proxmenux\n\n# 4. Restore backups\n[ -f /root/.bashrc.bak ] && mv /root/.bashrc.bak /root/.bashrc\n[ -f /etc/motd.bak ] && mv /etc/motd.bak /etc/motd \\\n || sed -i '/This system is optimised by: ProxMenux/d' /etc/motd"
"code": "# 1. Stop and remove the Monitor service (if installed)\nsystemctl stop proxmenux-monitor.service 2>/dev/null\nsystemctl disable proxmenux-monitor.service 2>/dev/null\nrm -f /etc/systemd/system/proxmenux-monitor.service\nrm -rf /root/.config/proxmenux-monitor\nsystemctl daemon-reload\nsystemctl reset-failed 2>/dev/null\n\n# 2. Remove a leftover legacy translation environment\nrm -rf /opt/googletrans-env\n\n# 3. Remove ProxMenux files\nrm -f /usr/local/bin/menu\nrm -rf /usr/local/share/proxmenux\n\n# 4. Restore backups\n[ -f /root/.bashrc.bak ] && mv /root/.bashrc.bak /root/.bashrc\n[ -f /etc/motd.bak ] && mv /etc/motd.bak /etc/motd \\\n || sed -i '/This system is optimised by: ProxMenux/d' /etc/motd"
},
"reinstall": {
"heading": "Reinstalar más tarde",
"body": "Ejecuta el instalador oficial de ProxMenux otra vez. Elige con traducción o normal como prefieras — la elección es independiente de lo que tuvieses antes."
"body": "Vuelve a ejecutar el instalador oficial de ProxMenux. Las versiones actuales usan una única modalidad de instalación que incluye los ocho idiomas de la interfaz."
},
"troubleshoot": {
"heading": "Solución de problemas",
"hangTitle": "La desinstalación se queda colgada en \"Removing googletrans and virtual environment\"",
"hangBody": "<code>pip uninstall</code> puede atascarse si pip no responde. Desde otro shell: <code>rm -rf /opt/googletrans-env</code> directamente (el script hace lo mismo como fallback tras pip).",
"aptTitle": "apt avisa de paquetes aún en uso durante la eliminación de dependencias",
"aptBody": "Esperado si marcaste <code>python3</code> o <code>jq</code> mientras otras cosas en el host dependen de ellos. El <code>autoremove</code> de apt se negará a eliminarlos en ese caso (que es el comportamiento seguro). Desmarca esa dependencia y vuelve a ejecutar.",
"hangTitle": "La desinstalación se bloquea al eliminar un entorno de traducción antiguo",
"hangBody": "Las versiones actuales eliminan el entorno residual con <code>rm -rf /opt/googletrans-env</code>; no ejecutan <code>pip uninstall</code>. Si este paso se bloquea, examínalo desde otro shell y comprueba el sistema de archivos del host antes de reintentarlo.",
"aptTitle": "apt avisa de paquetes aún en uso al eliminar dependencias",
"aptBody": "Los paquetes seleccionados se marcan como automáticos y se pasan a <code>apt-get -y --purge autoremove</code>. Esto no garantiza la protección de los servicios dependientes. Deja las dependencias sin marcar si otras herramientas las necesitan; revisa las eliminaciones que proponga apt antes de cualquier limpieza manual.",
"motdTitle": "El MOTD sigue mostrando la línea de ProxMenux tras desinstalar",
"motdBody": "O no existía <code>/etc/motd.bak</code> y la limpieza con sed no coincidió (p. ej. la línea fue modificada). Edita <code>/etc/motd</code> a mano y elimina cualquier línea sobrante de ProxMenux."
"motdBody": "Puede ocurrir si no existía <code>/etc/motd.bak</code> y sed no encontró la línea (por ejemplo, porque se había modificado). Edita <code>/etc/motd</code> a mano y elimina las líneas de ProxMenux que queden."
},
"related": {
"heading": "Relacionado",
@@ -84,7 +84,7 @@
},
{
"href": "/docs/settings",
"label": "Resumen de Settings",
"label": "Resumen de Ajustes",
"tail": "."
}
]