From a35700f54f5655b8fc2ca6bc54a7d8f4ed370b75 Mon Sep 17 00:00:00 2001 From: Jonatan <190036+jcastro@users.noreply.github.com> Date: Sat, 17 Oct 2026 15:08:54 +0200 Subject: [PATCH 1/3] docs: review settings documentation in all seven translations --- .github/workflows/test-i18n.yml | 10 ++ .../show-version-information/page.tsx | 24 ++-- .../de/docs/settings/beta-program.json | 113 +++++++++++++++++ .../de/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/de/docs/settings/index.json | 81 ++++++++++++ .../de/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../de/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ .../en/docs/settings/beta-program.json | 2 +- .../en/docs/settings/change-language.json | 40 +++--- web/messages/en/docs/settings/index.json | 30 ++--- .../settings/show-version-information.json | 20 +-- .../en/docs/settings/uninstall-proxmenux.json | 30 ++--- .../es/docs/settings/beta-program.json | 48 +++---- .../es/docs/settings/change-language.json | 56 +++++---- web/messages/es/docs/settings/index.json | 56 ++++----- .../es/docs/settings/proxmenux-monitor.json | 32 ++--- .../settings/show-version-information.json | 32 ++--- .../es/docs/settings/uninstall-proxmenux.json | 54 ++++---- .../fr/docs/settings/beta-program.json | 113 +++++++++++++++++ .../fr/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/fr/docs/settings/index.json | 81 ++++++++++++ .../fr/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../fr/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ .../it/docs/settings/beta-program.json | 113 +++++++++++++++++ .../it/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/it/docs/settings/index.json | 81 ++++++++++++ .../it/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../it/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ .../pt/docs/settings/beta-program.json | 113 +++++++++++++++++ .../pt/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/pt/docs/settings/index.json | 81 ++++++++++++ .../pt/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../pt/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ .../sk/docs/settings/beta-program.json | 113 +++++++++++++++++ .../sk/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/sk/docs/settings/index.json | 81 ++++++++++++ .../sk/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../sk/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ .../sv/docs/settings/beta-program.json | 113 +++++++++++++++++ .../sv/docs/settings/change-language.json | 108 ++++++++++++++++ web/messages/sv/docs/settings/index.json | 81 ++++++++++++ .../sv/docs/settings/proxmenux-monitor.json | 119 ++++++++++++++++++ .../settings/show-version-information.json | 81 ++++++++++++ .../sv/docs/settings/uninstall-proxmenux.json | 92 ++++++++++++++ 49 files changed, 3793 insertions(+), 205 deletions(-) create mode 100644 web/messages/de/docs/settings/beta-program.json create mode 100644 web/messages/de/docs/settings/change-language.json create mode 100644 web/messages/de/docs/settings/index.json create mode 100644 web/messages/de/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/de/docs/settings/show-version-information.json create mode 100644 web/messages/de/docs/settings/uninstall-proxmenux.json create mode 100644 web/messages/fr/docs/settings/beta-program.json create mode 100644 web/messages/fr/docs/settings/change-language.json create mode 100644 web/messages/fr/docs/settings/index.json create mode 100644 web/messages/fr/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/fr/docs/settings/show-version-information.json create mode 100644 web/messages/fr/docs/settings/uninstall-proxmenux.json create mode 100644 web/messages/it/docs/settings/beta-program.json create mode 100644 web/messages/it/docs/settings/change-language.json create mode 100644 web/messages/it/docs/settings/index.json create mode 100644 web/messages/it/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/it/docs/settings/show-version-information.json create mode 100644 web/messages/it/docs/settings/uninstall-proxmenux.json create mode 100644 web/messages/pt/docs/settings/beta-program.json create mode 100644 web/messages/pt/docs/settings/change-language.json create mode 100644 web/messages/pt/docs/settings/index.json create mode 100644 web/messages/pt/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/pt/docs/settings/show-version-information.json create mode 100644 web/messages/pt/docs/settings/uninstall-proxmenux.json create mode 100644 web/messages/sk/docs/settings/beta-program.json create mode 100644 web/messages/sk/docs/settings/change-language.json create mode 100644 web/messages/sk/docs/settings/index.json create mode 100644 web/messages/sk/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/sk/docs/settings/show-version-information.json create mode 100644 web/messages/sk/docs/settings/uninstall-proxmenux.json create mode 100644 web/messages/sv/docs/settings/beta-program.json create mode 100644 web/messages/sv/docs/settings/change-language.json create mode 100644 web/messages/sv/docs/settings/index.json create mode 100644 web/messages/sv/docs/settings/proxmenux-monitor.json create mode 100644 web/messages/sv/docs/settings/show-version-information.json create mode 100644 web/messages/sv/docs/settings/uninstall-proxmenux.json diff --git a/.github/workflows/test-i18n.yml b/.github/workflows/test-i18n.yml index 2b3e4685..7f4dfb51 100644 --- a/.github/workflows/test-i18n.yml +++ b/.github/workflows/test-i18n.yml @@ -9,15 +9,20 @@ on: - 'AppImage/messages/**' - 'AppImage/lib/i18n/**' - 'AppImage/components/terminal-panel.tsx' + - 'web/**' - 'CONTRIBUTING.md' # Scheduler consumers and the offline extractor's .sh/.func inputs. - 'scripts/**/*.sh' - 'scripts/**/*.func' - 'scripts/**/*.py' - 'lang/*.json' + - 'menu' + - 'install_proxmenux.sh' + - 'install_proxmenux_beta.sh' - 'oci/src/**/*.py' - 'oci/catalog/**/*.json' - 'oci/remote/**/*.sh' + - 'oci/remote/**/*.py' push: branches: [main, develop] paths: @@ -27,15 +32,20 @@ on: - 'AppImage/messages/**' - 'AppImage/lib/i18n/**' - 'AppImage/components/terminal-panel.tsx' + - 'web/**' - 'CONTRIBUTING.md' # Scheduler consumers and the offline extractor's .sh/.func inputs. - 'scripts/**/*.sh' - 'scripts/**/*.func' - 'scripts/**/*.py' - 'lang/*.json' + - 'menu' + - 'install_proxmenux.sh' + - 'install_proxmenux_beta.sh' - 'oci/src/**/*.py' - 'oci/catalog/**/*.json' - 'oci/remote/**/*.sh' + - 'oci/remote/**/*.py' workflow_dispatch: permissions: diff --git a/web/app/[locale]/docs/settings/show-version-information/page.tsx b/web/app/[locale]/docs/settings/show-version-information/page.tsx index dde89e34..20863e8d 100644 --- a/web/app/[locale]/docs/settings/show-version-information/page.tsx +++ b/web/app/[locale]/docs/settings/show-version-information/page.tsx @@ -85,10 +85,8 @@ export default async function ShowVersionInformationPage({

{t("sampleHeading")}

-
{`Current ProxMenux version: 1.2.4
-
-Installation type:
-✓ Translation Version (Multi-language support)
+      
{`Current ProxMenux version: VERSION
+Release channel: Stable (main)
 
 Installed components:
 ✓ post_install_settings: installed
@@ -100,31 +98,27 @@ Installed components:
 
 ProxMenux files:
 ✓ menu → /usr/local/bin/menu
-✓ utils.sh → /usr/local/share/proxmenux/utils.sh
+✓ utils.sh → /usr/local/share/proxmenux/scripts/utils.sh
 ✓ config.json → /usr/local/share/proxmenux/config.json
 ✓ version.txt → /usr/local/share/proxmenux/version.txt
-✓ cache.json → /usr/local/share/proxmenux/cache.json
-
-Virtual Environment:
-✓ Installed → /opt/googletrans-env
-✓ pip: Installed → /opt/googletrans-env/bin/pip
 
 Current language:
-es`}
+en +✓ Translation files: /usr/local/share/proxmenux/lang/`}

{t("manualHeading")}

{`# Version
 cat /usr/local/share/proxmenux/version.txt
 
-# Install type detection (replicates the script's logic)
-[[ -d /opt/googletrans-env ]] && echo "venv: yes" || echo "venv: no"
-jq -r '.language // "missing"' /usr/local/share/proxmenux/config.json
+# Release channel metadata and installed translation catalogs
+jq '{beta_program, install_branch}' /usr/local/share/proxmenux/config.json
+ls /usr/local/share/proxmenux/lang/*.json
 
 # All component statuses
 jq 'to_entries[] | "\\(.key): \\(.value)"' /usr/local/share/proxmenux/config.json
 
 # Current language
-jq -r '.language' /usr/local/share/proxmenux/config.json`}
+jq -r '.language // "en"' /usr/local/share/proxmenux/config.json`}

{t("troubleshoot.heading")}

diff --git a/web/messages/de/docs/settings/beta-program.json b/web/messages/de/docs/settings/beta-program.json new file mode 100644 index 00000000..fae0bc36 --- /dev/null +++ b/web/messages/de/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Veröffentlichungskanal ändern | ProxMenux-Dokumentation", + "description": "Wechseln Sie in einem Dialog zwischen den ProxMenux-Kanälen Stable (main) und Beta (develop). Bidirektional und idempotent; führt den offiziellen Installer des gewählten Kanals aus und normalisiert den Monitor-Dienst.", + "ogTitle": "Veröffentlichungskanal ändern | ProxMenux-Dokumentation", + "ogDescription": "Eine Einstellungsoption zum Wechsel zwischen Stable und Beta, ohne Installer manuell auszuführen." + }, + "header": { + "title": "Veröffentlichungskanal ändern", + "description": "Eine gemeinsame Einstellungsoption wechselt ProxMenux zwischen Stable (Zweig main) und Beta (Zweig develop). Die frühere einseitige Option „Beta-Programm deaktivieren“ wurde durch einen bidirektionalen Dialog ersetzt, der beide Richtungen anbietet und den offiziellen Installer des gewählten Kanals ausführt.", + "section": "Einstellungen" + }, + "intro": { + "title": "Was sich geändert hat", + "body": "Früher gab es zwei Abläufe: „Beta-Programm deaktivieren“, nur bei aktiver Beta sichtbar, und das manuelle erneute Ausführen des Beta-Installers zum Beitritt. Jetzt vereint der stets verfügbare Eintrag Veröffentlichungskanal ändern beide Abläufe, zeigt den aktuellen Kanal und ermöglicht den Wechsel in beide Richtungen." + }, + "why": { + "heading": "Warum diese Option existiert", + "intro": "ProxMenux wird aus zwei Git-Zweigen bereitgestellt :", + "items": [ + "Stable: der Zweig main, auf den das README verweist und den die meisten Betreiber bevorzugen. Seltener erscheinende Versionen mit Änderungen, die bereits die Beta-Validierung durchlaufen haben.", + "Beta: der Zweig develop. Neuere Funktionen und Monitor-Builds mit dem Versionskennzeichen der nächsten stabilen Version. Manche Funktionen sind noch fehlerhaft; mit der Teilnahme helfen Sie, sie vor der Veröffentlichung zu testen." + ], + "outro": "Früher musste man die richtige Installer-URL kennen, aus dem README kopieren und bei Unstimmigkeiten config.json manuell bearbeiten. Die gemeinsame Option erledigt den gesamten Ablauf in einer geführten Aktion." + }, + "dialog": { + "heading": "Der Dialog", + "intro": "Im Hauptmenü: Einstellungen → Veröffentlichungskanal ändern. Ein Menü mit zwei Einträgen erscheint :", + "options": [ + "stable — Stable (Zweig main)", + "beta — Beta (Zweig develop)" + ], + "behaviour": "Der aktuelle Kanal ist vorausgewählt und wird oben angezeigt. Wählen Sie denselben Kanal, erscheint „Dieser Veröffentlichungskanal ist bereits aktiv“; der Dialog ist idempotent. Ein anderer Kanal öffnet eine kanalspezifische Bestätigung :", + "directions": [ + "Stable → Beta: warnt vor möglichen Fehlern oder unvollständigen Funktionen in Beta-Builds.", + "Beta → Stable: warnt davor, dass die Beta-Update-Prüfungen gestoppt werden und das stabile Installationsprogramm die Stable-Kanalkomponenten neu installiert." + ] + }, + "confirm": { + "heading": "Was passiert, wenn Sie bestätigen", + "items": [ + "Lädt den offiziellen Installer herunter:Vor dem nächsten Schritt wird geprüft, ob die Datei vorhanden ist, und sie wird ausführbar gemacht.", + "Führt den Installer vollständig aus, denselben, auf den das README verweist. Komponentenerkennung, Dateisicherungen, Installation von Abhängigkeiten und Spracherhaltung folgen dem offiziellen Installationsablauf des Zielkanals.", + "Beim Wechsel zu Stable entfernt das Menü verbleibende Beta-Metadaten aus config.json: beta_program, beta_version, install_branch und update_available.beta*. proxmenux_monitor.status = beta_updated wird auf updated gesetzt. Die übrig gebliebene Datei beta_version.txt und heruntergeladene Beta-Installer werden entfernt.", + "Beim Wechsel zu Stable wird die systemd-Unit von Monitor aus der Stable-Vorlage neu geschrieben: „Beta“ entfällt aus der Beschreibung und ExecStart zeigt wieder auf das Laufzeitverzeichnis. Eine neue Ausgabe von systemctl status zeigt so den aktuellen Kanal.", + "Lädt das Konfigurationsmenü neu. Versionsinformationen anzeigen zeigt anschließend den neuen Kanal." + ] + }, + "switching": { + "heading": "Hin- und Herschalten", + "intro": "Beide Richtungen durchlaufen das gleiche Installationsprogramm – es handelt sich nicht um Deinstallations- und Neuinstallationsabläufe in Sonderfällen. Jede Richtung führt einfach das eigene Installationsprogramm des Kanals aus, das idempotent und sicher für die erneute Ausführung einer vorhandenen Installation konzipiert ist. Praktische Konsequenzen:", + "items": [ + "Ihre vorhandene Konfiguration, ProxMenux Monitor-Login (auth.json), Benachrichtigungskanäle, Registrierung nach der Installation, benutzerdefinierte Schwellenwerte - keine davon wird berührt. Der Channel Switch tauscht nur den Skriptbaum und den binären AppImage aus.", + "Ein Monitor, der vor dem Switch aktiv war, bleibt danach aktiv; einer, der deaktiviert wurde, bleibt deaktiviert.", + "ProxMenux Monitor auth.json, API-Token und das JWT-Geheimnis werden über Kanaländerungen hinweg bewahrt. Sitzungen werden nicht abgemeldet.", + "Sie können Kanäle so oft umdrehen, wie Sie möchten - der Dialog wird es jedes Mal akzeptieren und das Installationsprogramm erneut ausführen. Es ist kein Neustart von Proxmox erforderlich.", + "Der Kanalwechsel ersetzt den ProxMenux-Skriptbaum und kann daher nicht im Browser-Terminal von Monitor laufen: Die PTY würde während des Updates beendet und der Dialog unterbrochen. Dort erscheint stattdessen ein Informationsfenster mit dem offiziellen einzeiligen Installationsbefehl des Zielkanals. Führen Sie ihn per SSH oder in der Proxmox-Hostkonsole aus." + ] + }, + "feedback": { + "heading": "Melden von Problemen aus der Beta", + "intro": "Wenn sich etwas unerwartet verhält, während Sie sich auf dem Beta-Kanal befinden, schließt das Öffnen eines Problems mit genügend Kontext die Lücke zu einem stabilen Release. Der nützlichste Bericht enthält:", + "items": [ + "Was du getan hast und was du erwartet hast.", + "Alle Fehlermeldungen auf dem Bildschirm angezeigt.", + "Die entsprechenden Monitor-Logs:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "Die aktuelle ProxMenux-Version (Einstellungen → Versionsinformationen anzeigen).", + "issueLine": "Öffnen Sie eine GitHub Issue mit diesen Informationen und wir kommen schneller zum Fix." + }, + "manual": { + "heading": "Manuelles Äquivalent", + "intro": "Wenn Sie die Shell bevorzugen oder den Kanalwechsel per Skript steuern, sind dies die Befehle, die der Dialog ausführt :" + }, + "unifiedCallout": { + "title": "Warum beide Richtungen jetzt eine Option sind", + "body": "Die frühere Option „Beta-Programm deaktivieren“ erschien nur nach einem Beta-Beitritt. Zum Beitreten musste man die Installer-URL anderswo suchen; zum Verlassen mitunter beta_*-Metadaten manuell bereinigen. Veröffentlichungskanal ändern erscheint immer, zeigt den aktuellen Kanal und behandelt beide Richtungen als ausführbaren, wiederholbaren und idempotenten Vorgang." + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "downloadTitle": "\"Konnte den Installer nicht herunterladen\"", + "downloadBody": "Ausgehendes HTTPS zu raw.githubusercontent.com ist fehlgeschlagen. Prüfen Sie die Verbindung und DNS auf dem Host :", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Wenn dies außerhalb von ProxMenux fehlschlägt, handelt es sich um ein Netzwerk- / Proxy-Problem auf dem Host.", + "errorsTitle": "\"Installer mit Fehlern beendet\"", + "errorsBody": "Der Installer hat einen Exitcode ungleich null zurückgegeben. Es gibt kein automatisches Zurücksetzen; einige Dateien oder Komponenten können bereits geändert worden sein. Prüfen Sie Ausgabe und aktuellen Zustand vor einem erneuten Versuch. Führen Sie den Installer für die vollständige Ausgabe per SSH oder in der Hostkonsole aus.", + "configTitle": "\"Konfigurationsdatei konnte nicht aktualisiert werden\" nach dem Wechsel zu Stable", + "configBody": "Die Bereinigung von Beta-Metadaten nach der Installation ist fehlgeschlagen - in der Regel, weil config.json einen Syntaxfehler aus einer manuellen Bearbeitung aufweist. Validierung:", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Korrigieren Sie die Datei oder stellen Sie sie wieder her und führen Sie die Option erneut aus." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Versionsinformationen anzeigen", + "tail": " — bestätigt, welcher Kanal jetzt aktiv ist." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": "— der Monitordienst, der als Teil des Switches neu erstellt wird." + }, + { + "href": "/docs/settings", + "label": "Einstellungen Übersicht", + "tail": "." + } + ] + } +} diff --git a/web/messages/de/docs/settings/change-language.json b/web/messages/de/docs/settings/change-language.json new file mode 100644 index 00000000..0a81659c --- /dev/null +++ b/web/messages/de/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Sprache ändern | ProxMenux-Dokumentation", + "description": "Wählen Sie aus acht Sprachen für die ProxMenux-Oberfläche. Jede Installation enthält vorab erzeugte JSON-Übersetzungskataloge; auf dem Host sind weder ein Übersetzungsdienst noch eine Python-Umgebung nötig. Das Menü wird automatisch neu geladen.", + "ogTitle": "Sprache ändern | ProxMenux-Dokumentation", + "ogDescription": "Wählen Sie in den Einstellungen eine von acht ProxMenux-Sprachen. Bei jeder Installation verfügbar." + }, + "header": { + "title": "Sprache ändern", + "description": "Wechseln Sie die ProxMenux-Oberfläche zwischen acht unterstützten Sprachen. Die Auswahl wird in config.json gespeichert und das Menü in der neuen Sprache neu gestartet. Jede Installation enthält die Übersetzungskataloge.", + "section": "Einstellungen" + }, + "intro": { + "title": "Was das ist", + "body": "Ein Dialog listet die acht unterstützten Sprachen auf. ProxMenux speichert Ihre Auswahl in config.json unter .language und startet config_menu.sh erneut, damit sie sofort wirksam wird." + }, + "warn": { + "title": "Bei jeder Installation verfügbar", + "body": "Sprache ändern wird in den Einstellungen immer angezeigt. Die Kataloge werden in /usr/local/share/proxmenux/lang/ installiert und die gewählte Sprache wird in config.json gespeichert. Die frühere Python-Übersetzungsumgebung ist nicht erforderlich." + }, + "supported": { + "heading": "Unterstützte Sprachen", + "headerCode": "Code", + "headerLang": "Sprache", + "headerNotes": "Notizen", + "rows": [ + { + "code": "en", + "lang": "Englisch", + "notes": "Ausgangssprache — am genauesten" + }, + { + "code": "es", + "lang": "Spanisch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "fr", + "lang": "Französisch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "de", + "lang": "Deutsch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "it", + "lang": "Italienisch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "pt", + "lang": "Portugiesisch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "sk", + "lang": "Slowakisch", + "notes": "Vorab erzeugter JSON-Katalog" + }, + { + "code": "sv", + "lang": "Schwedisch", + "notes": "Vorab erzeugter JSON-Katalog" + } + ] + }, + "englishTip": { + "title": "Englisch ist am genauesten", + "body": "Nicht englische Texte stammen aus den mitgelieferten, vorab erzeugten JSON-Katalogen. Fehlende Übersetzungen fallen auf Englisch zurück; der Host ruft keinen Übersetzungsdienst auf. Bei zweifelhaften Übersetzungen bleibt Englisch die Referenz." + }, + "underHood": { + "heading": "Wie es unter der Haube funktioniert", + "items": [ + "Der Dialog listet acht Sprachcodes auf; wählen Sie einen aus.", + "Wenn config.json vorhanden ist: jq --arg lang \"$new_language\" '.language = $lang'' aktualisiert das Feld.", + "Wenn config.json nicht existiert: Ein neuer wird mit dem Sprachcode in einem Einzelfeldobjekt erstellt.", + "Bestätigungsdialog: \"Sprache geändert in [code]\".", + "exec bash config_menu.sh lädt das Einstellungsmenü mit der neuen aktiven Sprache neu." + ] + }, + "manual": { + "heading": "Manuelles Äquivalent" + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "noOptionTitle": "Option erscheint nicht in Einstellungen", + "noOptionBody": "Sprache ändern ist in aktuellen Versionen immer verfügbar. Falls die Option fehlt, aktualisieren Sie ProxMenux mit dem offiziellen Installer und öffnen die Einstellungen erneut.", + "stillEnglishTitle": "Sprache geändert, aber UI zeigt immer noch Englisch", + "stillEnglishBody": "Das Menü startet nach der Änderung erneut. Wenn Sie eine neue Shell geöffnet und einen anderen ProxMenux-Einstiegspunkt gestartet haben, führen Sie menu erneut aus, um die neue Sprache zu übernehmen. Prüfen Sie dies mit jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Versionsinformationen anzeigen", + "tail": " — bestätigt Veröffentlichungskanal, Übersetzungsdateien und aktuelle Sprache." + }, + { + "href": "/docs/settings", + "label": "Einstellungen Übersicht", + "tail": "." + } + ] + } +} diff --git a/web/messages/de/docs/settings/index.json b/web/messages/de/docs/settings/index.json new file mode 100644 index 00000000..d18e705a --- /dev/null +++ b/web/messages/de/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "ProxMenux-Einstellungen — Monitor aktivieren, Veröffentlichungskanal, Sprachen | ProxMenux", + "description": "ProxMenux-Einstellungen: Monitor-Dienst und Passwort-Rücksetzung, Stable/Beta-Kanal, acht Oberflächensprachen, Versionsdiagnose und Deinstallation. Monitor-Optionen erscheinen, wenn der Dienst installiert ist.", + "ogTitle": "ProxMenux-Einstellungen — Monitor aktivieren, Veröffentlichungskanal, Sprachen", + "ogDescription": "ProxMenux konfigurieren: Monitor-Dienst, Veröffentlichungskanal, Sprache, Versionsinformationen und Deinstallation.", + "twitterTitle": "ProxMenux Einstellungen", + "twitterDescription": "Monitor aktivieren, Veröffentlichungskanal wechseln, Sprachen, Versionsinformationen und Deinstallation." + }, + "header": { + "title": "Einstellungen", + "description": "Konfigurieren Sie ProxMenux: Monitor-Dienst umschalten, Anmeldedaten zurücksetzen, in beide Richtungen zwischen Stable und Beta wechseln, eine von acht Sprachen wählen, Versionsdiagnose anzeigen und deinstallieren. Monitor-Aktionen setzen den installierten Dienst voraus; die Sprachauswahl ist immer verfügbar.", + "section": "Einstellungen" + }, + "intro": { + "title": "Wofür dieses Menü ist", + "body": "Verwaltung von ProxMenux selbst: Monitor-Dienst, Verlassen des Beta-Kanals, Sprache, Versionsdiagnose und Deinstallation. Keine Option in diesem Menü verändert Ihre VMs, Container oder den Speicher." + }, + "opening": { + "heading": "Öffnen des Menüs", + "body": "Drücken Sie im ProxMenux-Hauptmenü s. Monitor-Aktionen erscheinen, wenn der Dienst installiert ist; die übrigen Einstellungen sind immer verfügbar :", + "imageAlt": "ProxMenux-Einstellungsmenü mit bedingten Monitor-Aktionen" + }, + "installTypes": { + "heading": "Eine Installation, alle Sprachen", + "intro": "Aktuelle Versionen enthalten bei jeder Installation statische JSON-Übersetzungskataloge. Ältere Versionen boten getrennte Modi mit Übersetzung und Normal an :", + "headerType": "Art der Installation", + "headerBundles": "Enthaltene Komponenten", + "headerMenu": "Angezeigte Menüoptionen", + "rows": [ + { + "type": "Aktuelle Installation", + "bundles": "Statische JSON-Kataloge für acht Sprachen; keine Python-Übersetzungsumgebung", + "menuRich": "Sprache ändern + Version anzeigen + Deinstallieren" + }, + { + "type": "Frühere Modi mit Übersetzung / Normal", + "bundles": "Veraltete Trennung zwischen Übersetzungsumgebung und rein englischer Installation", + "menu": "Mit dem offiziellen Installer aktualisieren, um das aktuelle einheitliche Menü zu verwenden" + } + ], + "detectionTitle": "Sprachauswahl ist immer verfügbar", + "detectionBody": "Das Menü prüft keine Übersetzungsumgebung mehr. Jede Installation enthält /usr/local/share/proxmenux/lang/ und speichert die gewählte language in config.json." + }, + "options": { + "heading": "Menüoptionen", + "intro": "Diese Werkzeuge verwalten ProxMenux selbst. Bedingt bedeutet, dass Monitor-Aktionen nur bei installiertem systemd-Dienst erscheinen. Veröffentlichungskanal, Sprache, Versionsdiagnose und Deinstallation sind immer verfügbar.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Aktivieren / deaktivieren Sie die proxmenux-monitor.service systemd-Einheit, überprüfen Sie ihren aktuellen Zustand und setzen Sie das Dashboard-Anmeldepasswort zurück, wenn es verloren gegangen ist. Web-Benutzeroberfläche verfügbar auf TCP 8008.", + "badge": "Bedingt" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Veröffentlichungskanal ändern", + "description": "Wechseln Sie in einem Dialog in beide Richtungen zwischen Stable (main) und Beta (develop). Führt den offiziellen Installer des gewählten Kanals aus; idempotent und immer sichtbar.", + "badge": "Immer verfügbar" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Versionsinformationen anzeigen", + "description": "ProxMenux-Version, Veröffentlichungskanal, installierte Komponenten, Dateipfade, Übersetzungsdateien und aktuelle Sprache." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Deinstallieren Sie ProxMenux", + "description": "Entfernen Sie ProxMenux und (optional) seine Abhängigkeiten. Außerdem werden /root/.bashrc- und /etc/motd-Backups wiederhergestellt, die zum Zeitpunkt der Installation erstellt wurden." + } + ] + }, + "configTip": { + "title": "Speicherort der Konfiguration", + "bodyRich": "Die meisten von diesem Menü verwalteten Zustände werden in /usr/local/share/proxmenux/config.json gespeichert: language, beta_program.status und Installationskennzeichen je Komponente. Der Zustand des Monitor-Dienstes wird in systemd (proxmenux-monitor.service) verwaltet, nicht hier. Die Version wird aus /usr/local/share/proxmenux/version.txt gelesen." + } +} diff --git a/web/messages/de/docs/settings/proxmenux-monitor.json b/web/messages/de/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..f22df8b0 --- /dev/null +++ b/web/messages/de/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | ProxMenux-Dokumentation", + "description": "Aktivieren oder deaktivieren Sie die proxmenux-monitor.service systemd-Einheit und überprüfen Sie ihren aktuellen Zustand. Der Monitor stellt eine Web-Benutzeroberfläche auf TCP 8008 für die visuelle Host-Überwachung zur Verfügung.", + "ogTitle": "ProxMenux Monitor | ProxMenux-Dokumentation", + "ogDescription": "Aktivieren oder deaktivieren Sie den systemd-Dienst proxmenux-monitor und prüfen Sie seinen Status in den Einstellungen." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Zwei zusammenhängende Aktionen innerhalb des Einstellungsmenüs: Umschalten der proxmenux-monitor.service systemd-Einheit (Start / Stopp und Aktivieren / Deaktivieren mit einem Klick) und Anzeigen des aktuellen Detailstatus. Der Monitor stellt eine Web-Benutzeroberfläche auf TCP 8008 für die visuelle Host-Überwachung zur Verfügung.", + "section": "Einstellungen" + }, + "intro": { + "title": "Was ist ProxMenux Monitor?", + "body": "ProxMenux Monitor ist ein integriertes Web-Dashboard, das Echtzeit-Sichtbarkeit in Ihre Proxmox-Infrastruktur bietet - zugänglich von jedem Browser in Ihrem Netzwerk, ohne ein Terminal zu benötigen." + }, + "offers": { + "heading": "Was es bietet", + "items": [ + "Echtzeitüberwachung von CPU, RAM, Festplattennutzung und Netzwerkverkehr.", + "Überblick über laufende VMs und LXC Container mit Statusindikatoren.", + "Login-Authentifizierung zum Schutz des Zugriffs.", + "Zwei-Faktor-Authentifizierung (2FA) mit TOTP-Unterstützung.", + "Reverse Proxy Unterstützung (Nginx / Traefik).", + "Entwickelt für die Arbeit auf Desktop- und mobilen Geräten." + ] + }, + "access": { + "heading": "Zugang", + "intro": "Nach der Installation ist das Dashboard verfügbar unter:", + "url": "http://:8008", + "outro": "Der Monitor wird automatisch als Teil der Standard-ProxMenux-Installation installiert und läuft als systemd-Dienst (proxmenux-monitor.service), der beim Booten automatisch startet." + }, + "warnConditional": { + "title": "Einstellungen Optionen nur sichtbar, wenn Monitor installiert ist", + "body": "Die beiden unten beschriebenen Menüeinträge erscheinen nur in den Einstellungen, wenn proxmenux-monitor.service bei systemd registriert ist. Wenn Sie sie nicht sehen, wurde der Monitor nicht installiert (er ist während der ProxMenux-Installation optional). Um es später hinzuzufügen, installieren Sie ProxMenux mit der neuesten Version neu und wählen Sie die Option Monitor aus." + }, + "toggle": { + "heading": "Aktivieren/Deaktivieren", + "intro": "Der erste Menüeintrag ist ein einzelner Umschalter, der zwischen zwei Zuständen wechselt, je nachdem, ob der Dienst gerade ausgeführt wird:", + "headerState": "Aktueller Zustand", + "headerLabel": "Menü-Label abgebildet", + "headerAction": "Aktion nach Bestätigung", + "rows": [ + { + "state": "aktiv", + "label": "Deaktivieren Sie den ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "inaktiv", + "label": "Aktivieren Sie den ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Jede Umschaltung erfordert einen Ja/Nein-Dialog. Deaktivieren stoppt den Dienst und deaktiviert den Autostart; Aktivieren schaltet den Autostart ein und startet den Dienst sofort." + }, + "status": { + "heading": "Status des Überwachungsdienstes anzeigen", + "intro": "Der zweite Menüeintrag liest nur Informationen. Er leert den Bildschirm, zeigt das ProxMenux-Logo und den Titel „Überprüfung des Dienstes ProxMenux Monitor“ und meldet dann :", + "items": [ + "Servicestatus: aktiv, inaktiv oder not_installed.", + "Web UI URL (nur wenn aktiv): http://<host_ip>:8008 — abgeleitet von hostname -I | awk '''{print $1}'''.", + "Detaillierter systemd-Ausgang: systemctl status proxmenux-monitor.service --no-pager -l — zeigt aktuelle Protokollzeilen, ExecStart, MainPID usw." + ] + }, + "manual": { + "title": "Manuelle Äquivalente", + "intro": "Von jeder Shell:", + "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": "ProxMenux Monitor Passwort zurücksetzen", + "intro": "Wiederherstellungspfad für den Betreiber, der das Dashboard-Passwort (oder 2FA-Gerät) verloren hat. Die Option wird nur angezeigt, wenn der Monitor auf dem Host installiert ist. Auswählen:", + "items": [ + "Bittet um Bestätigung mit einem Ja / Nein-Dialog - die Aktion ist destruktiv für die Anmeldeinformationen.", + "Sichert den vorhandenen /root/.config/proxmenux-monitor/auth.json auf auth.json.bak-<UTC timestamp> (Modus 0600), so dass der vorherige Zustand manuell wiederhergestellt werden kann, wenn das Zurücksetzen ein Fehler war.", + "Stoppt den Dienst proxmenux-monitor, damit die Dateibearbeitung nicht gleichzeitig mit einer laufenden Anmeldung erfolgt.", + "Löscht die Identitätsfelder in auth.json: enabled=false, configured=false, leert username, password_hash, totp_secret und das Backup-Code-Array.", + "Behält jwt_secret sowie die registrierten api_tokens / revoked_tokens bei, sodass langlebige API-Token von Home Assistant oder anderen Skripten nach dem Zurücksetzen weiterhin zur Authentifizierung funktionieren.", + "Startet den Dienst neu. Der nächste Besuch bei http://<host>:8008 zeigt den Erststart-Setup-Assistenten, sodass ein neues Admin-Konto erstellt werden kann." + ], + "preservedTitle": "Was überlebt den Reset, was nicht", + "preservedBody": "Gelöscht: Benutzername, Passwort-Hash, TOTP-Geheimnis für 2FA und Wiederherstellungscodes. Beibehalten: jwt_secret, Metadaten von api_tokens und die Liste revoked_tokens. Um auch alle API-Token ungültig zu machen und vollständig neu zu beginnen, löschen Sie auth.json manuell statt dieser Menüoption. Beim nächsten Dienststart werden JWT-Geheimnis und alle weiteren Daten neu erzeugt.", + "trustTitle": "Physical-Host-Zugang ist der Trust-Anker", + "trustBody": "Dieser Reset-Pfad erfordert eine Root-Shell auf dem Host. Jeder, der den menu-Befehl als root ausführen kann, steuert bereits die Box, so dass die Passwortwiederherstellung keine Privilegeskalation ist - sie stimmt mit der Funktionsweise jedes anderen Admin-Tools auf Proxmox überein. Die logische Folge: Der Monitor-Login schützt nichts vor jemandem, den Sie bereits in die Proxmox-Shell eingelassen haben.", + "seeAlso": "Siehe auch Monitor → Zugriff und Authentifizierung → Verlorenes Passwort wiederherstellen für denselben Ablauf aus Sicht des Dashboards sowie die Hintergründe zu Passwort-Hashes und zur Erzeugung des JWT-Geheimnisses." + }, + "files": { + "heading": "Beteiligte Dateien", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "missingTitle": "Beide Menüoptionen fehlen", + "missingBody": "Der Monitor ist nicht bei systemd registriert. Bestätigen Sie mit systemctl list-unit-files | grep proxmenux-monitor - wenn keine Ausgabe vorhanden ist, installieren Sie ProxMenux mit der neuesten Version erneut vom offiziellen Installer und wählen Sie während der Installation die Option Monitor aus.", + "unreachableTitle": "Service aktiviert, aber die URL ist nicht erreichbar", + "unreachableBody": "Die Einstellungsstatusausgabe gibt Ihnen die IP. Bestätigung:", + "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": "Wenn localhost funktioniert, aber nicht extern, überprüfen Sie Ihre Host-Firewall (pve-firewall oder nftables) auf eingehende TCP 8008.", + "stopsTitle": "Aktiviert den Dienst, aber es stoppt sich ein paar Sekunden später", + "stopsBody": "Meist liegt ein Portkonflikt (ein anderer Prozess nutzt 8008) oder eine fehlgeschlagene Abhängigkeitsprüfung vor. Das Systemjournal zeigt die Ursache: journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": "– der [proxmenux] jail schützt den Monitor auf TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Einstellungen Übersicht", + "tail": "." + } + ] + } +} diff --git a/web/messages/de/docs/settings/show-version-information.json b/web/messages/de/docs/settings/show-version-information.json new file mode 100644 index 00000000..8d87b817 --- /dev/null +++ b/web/messages/de/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Versionsinformationen anzeigen | ProxMenux-Dokumentation", + "description": "ProxMenux-Diagnose mit reinem Lesezugriff: Version, Veröffentlichungskanal, in config.json erfasste Komponenten, Dateipfade, Übersetzungskataloge und aktuelle Sprache.", + "ogTitle": "Versionsinformationen anzeigen | ProxMenux-Dokumentation", + "ogDescription": "Diagnoseausgabe zu ProxMenux-Version, Veröffentlichungskanal, Komponenten, Dateien und Sprache." + }, + "header": { + "title": "Versionsinformationen anzeigen", + "description": "Diagnose mit reinem Lesezugriff. Liest version.txt, config.json und bekannte Dateipfade und zeigt ein scrollbares Textfeld mit Version, Veröffentlichungskanal, installierten Komponenten, vorhandenen Dateien, Übersetzungsdateien und aktueller Sprache an.", + "section": "Einstellungen" + }, + "intro": { + "title": "Was das ist", + "body": "Eine Selbstdiagnose. Nützlich, wenn Sie ein Problem melden (Dialoginhalte in den Fehlerbericht einfügen) oder eine ordnungsgemäß abgeschlossene Installation bestätigen. Ändert nichts." + }, + "reports": { + "heading": "Was sie berichtet", + "headerSection": "Abschnitt", + "headerSource": "Quelle", + "headerContent": "Inhalt", + "rows": [ + { + "section": "Aktuelle Fassung", + "source": "version.txt", + "contentRich": "Einzeilige Versionsnummer; Unknown bei fehlender Datei" + }, + { + "section": "Veröffentlichungskanal", + "source": "Beta-Programm-Status in config.json", + "content": "Stable (main) oder Beta (develop); Beta-Version, falls vorhanden" + }, + { + "section": "Installierte Komponenten", + "source": "config.json", + "content": "Status je Komponente (✓ installiert / erstellt / aktualisiert, ✗ fehlt)" + }, + { + "section": "ProxMenux Dateien", + "source": "Filesystemprüfungen", + "contentRich": "menu, utils.sh, config.json, version.txt Präsenz + Pfade" + }, + { + "section": "Übersetzungsdateien", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Vorhandensein des Verzeichnisses lang/, das jeder Installation beiliegt" + }, + { + "section": "Aktuelle Sprache", + "source": "config.json", + "contentRich": "Sprachcode aus .language; standardmäßig en, wenn nicht gesetzt" + } + ] + }, + "sampleHeading": "Beispielausgabe", + "manualHeading": "Manuelle Äquivalente", + "troubleshoot": { + "heading": "Fehlerbehebung", + "unknownTitle": "Version zeigt \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt fehlt oder ist nicht lesbar. Am häufigsten verursacht durch eine teilweise Installation. Neuinstallation aus der offiziellen ProxMenux-Quelle.", + "noConfigTitle": "Keine Installationsinformationen verfügbar", + "noConfigBody": "config.json fehlt. Ohne diese Datei kann das Skript keine Komponenten auflisten. Installieren Sie neu, um sie wiederherzustellen.", + "wrongStatusTitle": "Eine Komponente zeigt ✗, obwohl ich sie sicher installiert habe", + "wrongStatusBody": "Das bedeutet, dass config.json diese Komponente nicht als installiert erfasst. Möglicherweise registriert sich das Skript noch nicht selbst, oder eine manuelle Installation hat ProxMenux umgangen. Der Dialog gibt den Inhalt von config.json wieder, nicht den tatsächlichen Zustand auf dem Datenträger." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Deinstallieren Sie ProxMenux", + "tail": " — entfernt alle diese Dateien." + }, + { + "href": "/docs/settings", + "label": "Übersicht der Einstellungen", + "tail": "." + } + ] + } +} diff --git a/web/messages/de/docs/settings/uninstall-proxmenux.json b/web/messages/de/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..3abbcb94 --- /dev/null +++ b/web/messages/de/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "ProxMenux deinstallieren | ProxMenux-Dokumentation", + "description": "Saubere ProxMenux-Deinstallation mit optionaler Entfernung von jq und dialog, Bereinigung alter Übersetzungsdateien und des Monitor-Dienstes sowie Wiederherstellung gesicherter Systemdateien.", + "ogTitle": "ProxMenux deinstallieren | ProxMenux-Dokumentation", + "ogDescription": "Entfernen Sie ProxMenux sauber von einem Proxmox-Host mit optionaler Abhängigkeitsbereinigung." + }, + "header": { + "title": "Deinstallieren Sie ProxMenux", + "description": "Entfernt ProxMenux interaktiv vom Proxmox-Host: Bestätigung, optionale Entfernung von Abhängigkeiten, Bereinigung des ProxMenux-Monitor-Dienstes und Wiederherstellung der Sicherungen von /root/.bashrc und /etc/motd. Zeigt durchgehend einen Fortschrittsbalken an.", + "section": "Einstellungen" + }, + "scopeWarn": { + "title": "Beeinflusst nur die ProxMenux-Installation - nicht Ihre VMs / CTs / Speicher", + "body": "Die Deinstallation entfernt die ProxMenux-Skripte, den Menüstarter, den optionalen Monitor-Dienst und die von ProxMenux bei der Installation angelegten Sicherungen von Systemdateien. VMs, Container, Speicher, Netzwerkkonfiguration, Fail2Ban, NVIDIA-Treiber und andere über ProxMenux installierte Komponenten bleiben unberührt. Sie bleiben in ihrem bisherigen Zustand." + }, + "flow": { + "heading": "Ablauf der Deinstallation", + "items": [ + "Bestätigungsdialog. Ja/nein: „Möchten Sie ProxMenux wirklich deinstallieren?“", + "Auswahlliste für Abhängigkeiten. Bietet jq und dialog an. Beide Kästchen sind standardmäßig aus; wählen Sie nur Abhängigkeiten aus, die keine andere Anwendung benötigt.", + "Die Entfernung zeigt einen Fortschrittsbalken. Entfernt eine gegebenenfalls verbliebene alte Übersetzungsumgebung, den Starter menu, den Verzeichnisbaum /usr/local/share/proxmenux/, den ProxMenux-Monitor-Dienst, falls vorhanden, und dessen in Proxmox VE registriertes Benachrichtigungsziel (proxmenux-webhook samt Matcher) sowie die ausgewählten Abhängigkeiten. Abschließend werden die Sicherungen der Systemdateien wiederhergestellt (siehe unten).", + "Abschlussdialog. Listet die entfernten Abhängigkeiten auf und beendet das Programm." + ] + }, + "deps": { + "heading": "Abhängigkeitsentfernung: Was angeboten wird", + "intro": "Die Liste bietet jq und dialog an. Kein Kästchen ist standardmäßig markiert: Andere Anwendungen können diese systemweiten Pakete verwenden, daher ist Beibehalten sicherer.", + "headerType": "Installation", + "headerOffered": "Zur Entfernung angeboten", + "rows": [ + { + "type": "Aktuelle Versionen", + "offeredRich": "dialog, jq" + }, + { + "type": "Ältere Installationen nach dem Update", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Systemweite Pakete - denken Sie zweimal", + "warnBody": "Die aktuelle Liste bietet jq und dialog an, nicht python3. Andere Werkzeuge können diese Systempakete benötigen. Beim Entfernen können auch abhängige Pakete oder ungenutzte Abhängigkeiten entfernt werden. Behalten Sie benötigte Pakete und prüfen Sie vorgeschlagene Entfernungen, bevor Sie apt manuell ausführen." + }, + "removed": { + "heading": "Was entfernt wird", + "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": "Was wiederhergestellt wird", + "items": [ + "Wenn /root/.bashrc.bak existiert → zurück in /root/.bashrc umbenannt (Ihr ursprünglicher Bashrc kehrt zurück).", + "Falls /etc/motd.bak existiert, wird die Datei wieder in /etc/motd umbenannt. Andernfalls entfernt sed die ProxMenux-Zeile (“This system is optimised by: ProxMenux”) aus der vorhandenen motd." + ] + }, + "othersCallout": { + "title": "Andere ProxMenux-installierte Komponenten bleiben", + "body": "Alles, was ProxMenux über andere Menüs installiert wird – Fail2Ban, Lynis, NVIDIA Treiber, Anpassungen nach der Installation – wird von diesem Deinstallationsprogramm nicht berührt. Jedes hat seinen eigenen Deinstallationsablauf in seinem jeweiligen Menü (oder Sie können es direkt mit apt entfernen). Sehen Sie sich zunächst Versionsinformationen anzeigen an, um zu sehen, was registriert ist." + }, + "manual": { + "heading": "Manuelle Deinstallation", + "intro": "Wenn das Deinstallationsprogramm im Menü nicht ausgeführt werden kann (z. B. weil dialog bereits fehlt), ist dies die entsprechende manuelle Befehlsfolge:", + "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": "Später erneut installieren", + "body": "Führen Sie den offiziellen ProxMenux-Installer erneut aus. Aktuelle Versionen verwenden einen einheitlichen Installationsweg mit allen acht Oberflächensprachen." + }, + "troubleshoot": { + "heading": "Fehlerbehebung", + "hangTitle": "Deinstallation bleibt beim Entfernen einer alten Übersetzungsumgebung hängen", + "hangBody": "Aktuelle Versionen entfernen eine übrig gebliebene Umgebung mit rm -rf /opt/googletrans-env; sie führen kein pip uninstall aus. Falls dieser Schritt hängt, prüfen Sie ihn in einer anderen Shell und kontrollieren das Dateisystem des Hosts vor einem erneuten Versuch.", + "aptTitle": "apt warnt beim Entfernen von Abhängigkeiten vor weiterhin verwendeten Paketen", + "aptBody": "Ausgewählte Pakete werden als automatisch installiert markiert und an apt-get -y --purge autoremove übergeben. Das garantiert keinen Schutz abhängiger Dienste. Lassen Sie benötigte Abhängigkeiten unmarkiert und prüfen Sie vor einer manuellen Bereinigung die von apt vorgeschlagenen Entfernungen.", + "motdTitle": "MOTD zeigt noch die ProxMenux Linie nach der Deinstallation", + "motdBody": "Möglicherweise existierte keine /etc/motd.bak und sed hat die Zeile nicht gefunden (etwa weil sie geändert wurde). Bearbeiten Sie /etc/motd manuell und entfernen Sie verbliebene ProxMenux-Zeilen." + }, + "related": { + "heading": "Verwandte Themen", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Versionsinformationen anzeigen", + "tail": " — zeigt vor der Deinstallation, was entfernt würde." + }, + { + "href": "/docs/settings", + "label": "Übersicht der Einstellungen", + "tail": "." + } + ] + } +} diff --git a/web/messages/en/docs/settings/beta-program.json b/web/messages/en/docs/settings/beta-program.json index 112f7a58..bcfccc6a 100644 --- a/web/messages/en/docs/settings/beta-program.json +++ b/web/messages/en/docs/settings/beta-program.json @@ -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": "If this fails outside ProxMenux, it's a network / proxy issue on the host.", "errorsTitle": "“Installer finished with errors”", - "errorsBody": "The installer surfaced a non-zero exit code. The previous channel and any already-installed components are left as they were before the switch. Re-run the action; if it keeps failing, run the installer manually from a shell (see the manual equivalent above) — that gives you the full output instead of the dialog summary.", + "errorsBody": "The installer returned a non-zero exit code. There is no automatic rollback: some files or components may already have changed. Inspect the output and current state before retrying. Run the installer manually from SSH or the host console for the full output.", "configTitle": "“Could not update config file” after switching to Stable", "configBody": "The post-install cleanup of beta metadata failed — usually because config.json has a syntax error from a manual edit. Validate it:", "configCmd": "jq . /usr/local/share/proxmenux/config.json", diff --git a/web/messages/en/docs/settings/change-language.json b/web/messages/en/docs/settings/change-language.json index 782fd5ae..474ff5c7 100644 --- a/web/messages/en/docs/settings/change-language.json +++ b/web/messages/en/docs/settings/change-language.json @@ -1,22 +1,22 @@ { "meta": { "title": "Change Language | ProxMenux Documentation", - "description": "Switch ProxMenux UI between English, Spanish, French, German, Italian or Portuguese. Translation install only — uses googletrans + a pre-cached translation table. The menu reloads automatically with the new language.", + "description": "Choose from eight ProxMenux interface languages. Every installation includes pre-generated JSON translation catalogs; no translation service or Python environment is needed on the host. The menu reloads automatically.", "ogTitle": "Change Language | ProxMenux Documentation", - "ogDescription": "Pick the ProxMenux interface language from the Settings menu. Six languages supported." + "ogDescription": "Pick one of eight ProxMenux interface languages from Settings. Available on every installation." }, "header": { "title": "Change Language", - "description": "Switch the ProxMenux UI between six supported languages. Saves the choice to config.json and re-execs the menu with the new language. Only available on the Translation install type — the Normal (lightweight) install is English-only by design.", + "description": "Switch the ProxMenux interface between eight supported languages. The choice is saved to config.json and the menu is restarted in the new language. Every installation includes the translation catalogs.", "section": "Settings" }, "intro": { "title": "What this is", - "body": "A dialog menu that lists the six supported languages. Pick one, ProxMenux saves it to config.json as .language, then re-execs config_menu.sh so the new language takes effect immediately." + "body": "A dialog lists the eight supported languages. ProxMenux saves your choice to config.json as .language, then restarts config_menu.sh so it takes effect immediately." }, "warn": { - "title": "Translation install only", - "body": "This option only appears in Settings if both checks pass: /opt/googletrans-env/bin/activate exists (Python venv with googletrans), and config.json has a non-empty .language. On the Normal (English-only) install neither is present and the language picker is not shown." + "title": "Available on every installation", + "body": "Settings always shows Change Language. Translation catalogs are installed in /usr/local/share/proxmenux/lang/, and the selected language is stored in config.json. No legacy Python translation environment is required." }, "supported": { "heading": "Supported languages", @@ -32,38 +32,48 @@ { "code": "es", "lang": "Spanish", - "notes": "Cached + auto-translated" + "notes": "Pre-generated JSON catalog" }, { "code": "fr", "lang": "French", - "notes": "Cached + auto-translated" + "notes": "Pre-generated JSON catalog" }, { "code": "de", "lang": "German", - "notes": "Cached + auto-translated" + "notes": "Pre-generated JSON catalog" }, { "code": "it", "lang": "Italian", - "notes": "Cached + auto-translated" + "notes": "Pre-generated JSON catalog" }, { "code": "pt", "lang": "Portuguese", - "notes": "Cached + auto-translated" + "notes": "Pre-generated JSON catalog" + }, + { + "code": "sk", + "lang": "Slovak", + "notes": "Pre-generated JSON catalog" + }, + { + "code": "sv", + "lang": "Swedish", + "notes": "Pre-generated JSON catalog" } ] }, "englishTip": { "title": "English is the most accurate", - "body": "Non-English strings are produced by a pre-cached table seeded from googletrans. Edge-case strings (rarely triggered options, recent additions) may fall through to a live googletrans call or to the English original. If a translation feels off, English is always the source of truth." + "body": "Non-English text comes from pre-generated JSON catalogs included with ProxMenux. Missing translations fall back to English; there is no live translation call on the host. English remains the reference when a translation seems incorrect." }, "underHood": { "heading": "How it works under the hood", "items": [ - "Dialog menu lists the 6 codes; you pick one.", + "The dialog lists eight language codes; choose one.", "If config.json exists: jq --arg lang \"$new_language\" '.language = $lang'' updates the field in place.", "If config.json doesn't exist: a fresh one is created with the language code in a single-field object.", "Confirmation dialog: \"Language changed to [code]\".", @@ -76,7 +86,7 @@ "troubleshoot": { "heading": "Troubleshooting", "noOptionTitle": "Option doesn't appear in Settings", - "noOptionBody": "You're on the Normal (English-only) install. To get language support, reinstall ProxMenux choosing the Translation install option (it pulls Python venv + googletrans).", + "noOptionBody": "Change Language is always available in current releases. If it is missing, update ProxMenux using the official installer and open Settings again.", "stillEnglishTitle": "Language changed but UI still shows English", "stillEnglishBody": "The menu re-execs itself after the change. If you opened a fresh shell and started a different ProxMenux entrypoint, run menu again to pick up the new language. Confirm: jq -r '.language' /usr/local/share/proxmenux/config.json." }, @@ -86,7 +96,7 @@ { "href": "/docs/settings/show-version-information", "label": "Show Version Information", - "tail": " — confirms install type and current language." + "tail": " — confirms the release channel, translation files and current language." }, { "href": "/docs/settings", diff --git a/web/messages/en/docs/settings/index.json b/web/messages/en/docs/settings/index.json index 4f36f030..63c8ee95 100644 --- a/web/messages/en/docs/settings/index.json +++ b/web/messages/en/docs/settings/index.json @@ -1,7 +1,7 @@ { "meta": { "title": "ProxMenux Settings — Monitor Activation, Release Channel, Languages | ProxMenux", - "description": "ProxMenux configuration menu: ProxMenux Monitor activation and service toggle, Reset Monitor Password, Change Release Channel between Stable and Beta, language selection (translation install), version information and uninstall. Options appear conditionally based on what is installed and active.", + "description": "ProxMenux settings: Monitor service and password reset, Stable/Beta release channel, eight interface languages, version diagnostics and uninstall. Monitor options appear when its service is installed.", "ogTitle": "ProxMenux Settings — Monitor Activation, Release Channel, Languages", "ogDescription": "Configure ProxMenux — Monitor service, Release Channel, language, version info and uninstall.", "twitterTitle": "ProxMenux Settings", @@ -9,7 +9,7 @@ }, "header": { "title": "Settings", - "description": "ProxMenux configuration menu. Lists what's installed, lets you toggle the Monitor service, reset the Monitor login password, switch between Stable and Beta release channels in either direction, change the UI language (Translation install only), and provides a clean uninstaller. Options appear conditionally — what you see depends on your install type and current state.", + "description": "Configure ProxMenux: toggle the Monitor service, reset its login credentials, switch between Stable and Beta in either direction, choose one of eight interface languages, inspect version diagnostics and uninstall. Monitor actions require its service to be installed; language selection is always available.", "section": "Settings" }, "intro": { @@ -18,33 +18,33 @@ }, "opening": { "heading": "Opening the menu", - "body": "From ProxMenux's main menu, press s. The options shown depend on your install type and on what is currently active:", - "imageAlt": "Settings ProxMenux menu with conditional options based on install type and component state" + "body": "From ProxMenux's main menu, press s. Monitor actions appear when its service is installed; the remaining settings are always available:", + "imageAlt": "ProxMenux Settings menu with conditional Monitor actions" }, "installTypes": { - "heading": "Two install types, different menus", - "intro": "ProxMenux ships in two flavours. The Settings menu adapts to which one you have:", + "heading": "One installation, all languages", + "intro": "Current releases include static JSON translation catalogs in every installation. Older releases offered separate Translation and Normal modes:", "headerType": "Install type", "headerBundles": "What it bundles", "headerMenu": "Menu shows", "rows": [ { - "type": "Translation", - "bundles": "Python venv + googletrans + multi-language config", + "type": "Current installation", + "bundles": "Static JSON catalogs for eight languages; no translation Python environment", "menuRich": "Change Language + Show Version + Uninstall" }, { - "type": "Normal (lightweight)", - "bundles": "English-only, no venv, smaller footprint", - "menu": "Show Version + Uninstall (no language picker)" + "type": "Legacy Translation / Normal modes", + "bundles": "Obsolete split between a translation environment and an English-only installation", + "menu": "Update with the official installer to use the current unified menu" } ], - "detectionTitle": "Detection happens automatically", - "detectionBody": "The script checks for /opt/googletrans-env/bin/activate and a non-empty language key in config.json. Both present → Translation install. Either missing → Normal install. You don't choose; the menu adapts." + "detectionTitle": "Language selection is always available", + "detectionBody": "The menu no longer checks for a translation environment. Every installation includes /usr/local/share/proxmenux/lang/ and saves the selected language in config.json." }, "options": { "heading": "Menu options", - "intro": "Five tools. The Conditional badges mean the option only appears when the prerequisite is met (Monitor installed; Beta program active; Translation install).", + "intro": "The tools below manage ProxMenux itself. Conditional means the Monitor actions appear only when its systemd service is installed. Release channel, language, version diagnostics and uninstall are always available.", "list": [ { "icon": "Activity", @@ -64,7 +64,7 @@ "icon": "Info", "href": "/docs/settings/show-version-information", "title": "Show Version Information", - "description": "ProxMenux version, install type, installed components, file paths, virtual environment state and current language." + "description": "ProxMenux version, release channel, installed components, file paths, translation files and current language." }, { "icon": "Trash2", diff --git a/web/messages/en/docs/settings/show-version-information.json b/web/messages/en/docs/settings/show-version-information.json index c0fefa54..4e138cba 100644 --- a/web/messages/en/docs/settings/show-version-information.json +++ b/web/messages/en/docs/settings/show-version-information.json @@ -1,13 +1,13 @@ { "meta": { "title": "Show Version Information | ProxMenux Documentation", - "description": "Read-only ProxMenux self-diagnostic: version number, install type (Translation / Normal), installed components from config.json, file paths, virtual environment state and current language.", + "description": "Read-only ProxMenux diagnostics: version, release channel, components recorded in config.json, file paths, translation catalogs and current language.", "ogTitle": "Show Version Information | ProxMenux Documentation", - "ogDescription": "Diagnostic dump of ProxMenux version, install type, components, files and language." + "ogDescription": "Diagnostic output of ProxMenux version, release channel, components, files and language." }, "header": { "title": "Show Version Information", - "description": "Read-only diagnostic. Reads version.txt, config.json and a few well-known file paths, then renders a scrollable text box with version, install type, installed components, file presence, virtual environment state and current language.", + "description": "Read-only diagnostics. Reads version.txt, config.json and known file paths, then shows a scrollable text box with the version, release channel, installed components, file presence, translation files and current language.", "section": "Settings" }, "intro": { @@ -26,9 +26,9 @@ "contentRich": "Single-line version number; Unknown if file missing" }, { - "section": "Install type", - "source": "venv + config.json checks", - "content": "Translation (multi-language) or Normal (English-only)" + "section": "Release channel", + "source": "config.json beta-program status", + "content": "Stable (main) or Beta (develop); beta version when available" }, { "section": "Installed components", @@ -41,14 +41,14 @@ "contentRich": "menu, utils.sh, config.json, version.txt presence + paths" }, { - "section": "Virtual environment", - "source": "/opt/googletrans-env", - "content": "Translation install only — venv + pip presence" + "section": "Translation files", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Presence of the lang/ directory included with every installation" }, { "section": "Current language", "source": "config.json", - "contentRich": "Translation: language code from .language; Normal: English (Fixed)" + "contentRich": "Language code from .language; defaults to en when unset" } ] }, diff --git a/web/messages/en/docs/settings/uninstall-proxmenux.json b/web/messages/en/docs/settings/uninstall-proxmenux.json index ff6433b6..66942d3e 100644 --- a/web/messages/en/docs/settings/uninstall-proxmenux.json +++ b/web/messages/en/docs/settings/uninstall-proxmenux.json @@ -1,7 +1,7 @@ { "meta": { "title": "Uninstall ProxMenux | ProxMenux Documentation", - "description": "Clean ProxMenux uninstaller with optional dependency removal (jq, dialog, python3-*) and automatic restoration of /root/.bashrc and /etc/motd backups created at install time. Also removes the proxmenux-monitor service if present.", + "description": "Clean ProxMenux uninstaller with optional removal of jq and dialog, cleanup of legacy translation files and the Monitor service, and restoration of system-file backups.", "ogTitle": "Uninstall ProxMenux | ProxMenux Documentation", "ogDescription": "Cleanly remove ProxMenux from a Proxmox host with optional dependency cleanup." }, @@ -18,32 +18,32 @@ "heading": "The uninstall flow", "items": [ "Confirmation dialog. Yes/no — “Are you sure you want to uninstall ProxMenux?”", - "Dependency removal checklist. Pre-selected list depends on install type (see table below). All boxes default to OFF — you opt in to removing each dependency.", - "Removal runs with a progress bar. Removes the venv (Translation install only), the menu launcher, the /usr/local/share/proxmenux/ tree, the ProxMenux Monitor service if present together with the notification target it registered in Proxmox VE (proxmenux-webhook and its matcher), the dependencies you ticked, and finally restores the system file backups (see below).", + "Dependency removal checklist. Offers jq and dialog. Both boxes are OFF by default; select only dependencies that no other application needs.", + "Removal runs with a progress bar. Removes any leftover legacy translation environment, the menu launcher, the /usr/local/share/proxmenux/ tree, the ProxMenux Monitor service if present together with the notification target it registered in Proxmox VE (proxmenux-webhook and its matcher), the dependencies you ticked, and finally restores the system file backups (see below).", "Completion dialog. Lists removed dependencies and exits." ] }, "deps": { "heading": "Dependency removal: what's offered", - "intro": "The checklist depends on install type. None of the boxes is checked by default — these are system-wide packages that other applications might use, so the safer default is to leave them.", - "headerType": "Install type", + "intro": "The checklist offers jq and dialog. Neither box is checked by default: other applications may use these system-wide packages, so keeping them is safer.", + "headerType": "Installation", "headerOffered": "Offered for removal", "rows": [ { - "type": "Translation", - "offeredRich": "python3-venv, python3-pip, python3, jq" + "type": "Current releases", + "offeredRich": "dialog, jq" }, { - "type": "Normal", + "type": "Legacy installations after updating", "offeredRich": "dialog, jq" } ], "warnTitle": "System-wide packages — think twice", - "warnBody": "python3, jq and dialog are commonly used by other tools (including Proxmox itself in some workflows). Removing python3 in particular can break Proxmox helpers, Ceph utilities and many third-party scripts. Leave them unless you're positive nothing else needs them." + "warnBody": "The current checklist offers jq and dialog, not python3. These are system packages that other tools may need. Removal can also remove dependent packages or unused dependencies. Keep required packages and review any proposed removal before running apt manually." }, "removed": { "heading": "What gets removed", - "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": "What gets restored", @@ -59,18 +59,18 @@ "manual": { "heading": "Manual uninstall", "intro": "If for some reason the menu uninstaller can't run (e.g. dialog already missing), the equivalent manual sequence:", - "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": "Reinstalling later", - "body": "Run the official ProxMenux installer again. Pick Translation or Normal as you prefer — the choice is independent of what you had before." + "body": "Run the official ProxMenux installer again. Current releases use one installation path with all eight interface languages included." }, "troubleshoot": { "heading": "Troubleshooting", - "hangTitle": "Uninstall hangs at “Removing googletrans and virtual environment”", - "hangBody": "pip uninstall can stall if pip is unresponsive. From another shell: rm -rf /opt/googletrans-env directly (the script does the same as a fallback after pip).", + "hangTitle": "Uninstall stalls while removing a legacy translation environment", + "hangBody": "Current releases remove a leftover environment with rm -rf /opt/googletrans-env; they do not run pip uninstall. If this step stalls, inspect it from another shell and check the host filesystem before retrying.", "aptTitle": "apt warns about packages still in use during dependency removal", - "aptBody": "Expected if you ticked python3 or jq while other things on the host depend on them. apt's autoremove will refuse to remove them in that case (which is the safe behaviour). Untick that dependency and re-run.", + "aptBody": "Selected packages are marked automatic and passed to apt-get -y --purge autoremove. This does not guarantee that dependent services are protected. Leave dependencies unchecked if other tools need them; review apt’s proposed removals before any manual cleanup.", "motdTitle": "MOTD still shows the ProxMenux line after uninstall", "motdBody": "Either no /etc/motd.bak existed and the sed strip didn't match (e.g. the line was modified). Edit /etc/motd by hand and remove any leftover ProxMenux line." }, diff --git a/web/messages/es/docs/settings/beta-program.json b/web/messages/es/docs/settings/beta-program.json index 1b5438d3..9aa307aa 100644 --- a/web/messages/es/docs/settings/beta-program.json +++ b/web/messages/es/docs/settings/beta-program.json @@ -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 Cambiar canal de release 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 Cambiar canal de versiones, 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": [ - "Estable — la rama main. 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.", - "Beta — la rama develop. 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." + "Estable: la rama main, 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.", + "Beta: la rama develop. 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 config.json 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 config.json 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, Settings → Cambiar canal de release. Aparece un menú de dos líneas:", + "intro": "Desde el menú principal: Ajustes → Cambiar canal de versiones. Aparece un menú de dos líneas:", "options": [ "stable — Estable (rama main)", "beta — 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": [ "Estable → Beta: avisa de que los builds beta pueden contener bugs o funciones incompletas.", "Beta → Estable: 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": [ - "Descarga el instalador oficial del canal de destino:Se verifica que la descarga existe y se hace ejecutable antes del siguiente paso.", - "Ejecuta el instalador 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.", + "Descarga el instalador oficial del canal de destino:Se comprueba que la descarga existe y se hace ejecutable antes de continuar.", + "Ejecuta el instalador 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 estable, el menú poda después cualquier metadato beta sobrante de config.json: beta_program, beta_version, install_branch, update_available.beta* se borran, y proxmenux_monitor.status = beta_updated se normaliza a updated. El archivo sobrante beta_version.txt 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 ExecStart de vuelta al directorio de runtime) para que un systemctl status fresco refleje el canal en el que estás.", - "Recarga el menú de configuración. La siguiente visita a Mostrar información de versión 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 ExecStart vuelve a apuntar al directorio de ejecución. Así, systemctl status refleja el canal actual.", + "Recarga el menú de configuración. Mostrar información de versión 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 auth.json, 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 → Mostrar información de versión).", + "versionLine": "La versión actual de ProxMenux (Ajustes → Mostrar información de versión).", "issueLine": "Abre una incidencia en GitHub 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 unirse tenían que encontrar la URL del instalador beta en otro sitio; los que querían salir a veces tenían que limpiar manualmente los metadatos beta_* para asegurarse. La opción unificada Cambiar canal de release 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 entrar había que buscar el instalador en otro lugar; para salir a veces había que limpiar los metadatos beta_* a mano. Cambiar canal de versiones 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 config.json 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": "." } ] diff --git a/web/messages/es/docs/settings/change-language.json b/web/messages/es/docs/settings/change-language.json index 573abf8b..b56b19ca 100644 --- a/web/messages/es/docs/settings/change-language.json +++ b/web/messages/es/docs/settings/change-language.json @@ -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 config.json como .language, después vuelve a ejecutar config_menu.sh para que el nuevo idioma surta efecto inmediatamente." + "body": "Un diálogo enumera los ocho idiomas admitidos. ProxMenux guarda tu elección en config.json como .language y reinicia config_menu.sh para aplicarla inmediatamente." }, "warn": { - "title": "Solo instalación con traducción", - "body": "Esta opción solo aparece en Settings si pasan ambas comprobaciones: existe /opt/googletrans-env/bin/activate (venv de Python con googletrans) y config.json tiene un .language 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 /usr/local/share/proxmenux/lang/ y el idioma seleccionado se guarda en config.json. 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 config.json existe: jq --arg lang \"$new_language\" '.language = $lang'' actualiza el campo en sitio.", "Si config.json no existe: se crea uno nuevo con el código de idioma en un objeto de un solo campo.", "Diálogo de confirmación: \"Idioma cambiado a [code]\".", - "exec bash config_menu.sh recarga el menú Settings con el nuevo idioma activo." + "exec bash config_menu.sh 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 menu de nuevo para tomar el nuevo idioma. Confirma: jq -r '.language' /usr/local/share/proxmenux/config.json." + "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 menu de nuevo para aplicar el nuevo idioma. Compruébalo con jq -r '.language' /usr/local/share/proxmenux/config.json." }, "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": "." } ] diff --git a/web/messages/es/docs/settings/index.json b/web/messages/es/docs/settings/index.json index 48fbd64e..5132dec0 100644 --- a/web/messages/es/docs/settings/index.json +++ b/web/messages/es/docs/settings/index.json @@ -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 s. 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 s. 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": "Cambiar idioma + 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 /opt/googletrans-env/bin/activate y una clave language no vacía en config.json. 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 /usr/local/share/proxmenux/lang/ y guardan el language seleccionado en config.json." }, "options": { "heading": "Opciones del menú", - "intro": "Cinco herramientas. Los badges de Condicional 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. Condicional 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 /usr/local/share/proxmenux/config.json — language, beta_program.status y flags de instalación por componente. El estado del servicio del Monitor vive en systemd (proxmenux-monitor.service), no aquí. La versión se lee de /usr/local/share/proxmenux/version.txt." + "title": "Dónde se guarda la configuración", + "bodyRich": "La mayor parte del estado gestionado por este menú se guarda en /usr/local/share/proxmenux/config.json: language, beta_program.status e indicadores de instalación por componente. El estado del servicio Monitor se guarda en systemd (proxmenux-monitor.service), no aquí. La versión se lee de /usr/local/share/proxmenux/version.txt." } } diff --git a/web/messages/es/docs/settings/proxmenux-monitor.json b/web/messages/es/docs/settings/proxmenux-monitor.json index 694435f1..bd4d2f10 100644 --- a/web/messages/es/docs/settings/proxmenux-monitor.json +++ b/web/messages/es/docs/settings/proxmenux-monitor.json @@ -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 (proxmenux-monitor.service) 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 proxmenux-monitor.service 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 y deshabilita el auto-arranque al iniciar; activar habilita el auto-arranque y arranca el servicio inmediatamente." + "outro": "Cada cambio requiere confirmación sí/no. Desactivar detiene el servicio y deshabilita su inicio automático; activar habilita el inicio automático y 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 /root/.config/proxmenux-monitor/auth.json existente a auth.json.bak-<UTC timestamp> (modo 0600) para que el estado previo se pueda restaurar manualmente si el reset fue un error.", - "Para el servicio proxmenux-monitor para que la edición en disco no compita con un login en vuelo.", + "Detiene el servicio proxmenux-monitor para evitar conflictos entre la edición del archivo y un inicio de sesión en curso.", "Limpia los campos de identidad en auth.json: enabled=false, configured=false, vacía username, password_hash, totp_secret y el array de códigos de backup.", - "Preserva el jwt_secret y los api_tokens / revoked_tokens registrados — para que los tokens de API de larga vida usados por Home Assistant u otros scripts sigan autenticando tras el reset.", + "Conserva jwt_secret y los api_tokens / revoked_tokens registrados para que los tokens de larga duración de Home Assistant u otros scripts sigan autenticándose tras el restablecimiento.", "Reinicia el servicio. La siguiente visita a http://<host>:8008 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": "Borrado: nombre de usuario, hash de contraseña, secreto TOTP de 2FA, códigos de backup. Preservado: jwt_secret, metadatos de api_tokens, lista de revoked_tokens. Si quieres activamente invalidar también todo token de API existente (pizarra limpia total), borra auth.json 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": "Borra: usuario, hash de contraseña, secreto TOTP de 2FA y códigos de recuperación. Conserva: jwt_secret, metadatos de api_tokens y lista revoked_tokens. Para invalidar también todos los tokens API y empezar de cero, elimina auth.json 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 menu 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 Monitor → Access y Auth → Recuperar una contraseña perdida 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 Monitor → Acceso y autenticación → Recuperar una contraseña perdida 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 systemctl list-unit-files | grep proxmenux-monitor — 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 (pve-firewall 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": "." } ] diff --git a/web/messages/es/docs/settings/show-version-information.json b/web/messages/es/docs/settings/show-version-information.json index 4fd8fec4..2b7581b6 100644 --- a/web/messages/es/docs/settings/show-version-information.json +++ b/web/messages/es/docs/settings/show-version-information.json @@ -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; Unknown 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 menu, utils.sh, config.json, version.txt" }, { - "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 .language; Normal: English (Fixed)" + "contentRich": "Código de idioma de .language; usa en por defecto si no está definido" } ] }, @@ -60,7 +60,7 @@ "unknownBody": "/usr/local/share/proxmenux/version.txt 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": "config.json 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 config.json 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 config.json, no lo que hay realmente en disco." }, "related": { @@ -73,7 +73,7 @@ }, { "href": "/docs/settings", - "label": "Resumen de Settings", + "label": "Resumen de Ajustes", "tail": "." } ] diff --git a/web/messages/es/docs/settings/uninstall-proxmenux.json b/web/messages/es/docs/settings/uninstall-proxmenux.json index a799f687..f8a8d2f6 100644 --- a/web/messages/es/docs/settings/uninstall-proxmenux.json +++ b/web/messages/es/docs/settings/uninstall-proxmenux.json @@ -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. No toca tus VMs, contenedores, almacenamiento, configuración de red, Fail2Ban, driver NVIDIA ni nada más que hayas instalado vía ProxMenux. 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. 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. Todo ello permanece como está." }, "flow": { - "heading": "El flujo de desinstalación", + "heading": "El proceso de desinstalación", "items": [ - "Diálogo de confirmación. Sí/no — \"¿Seguro que quieres desinstalar ProxMenux?\"", - "Checklist de eliminación de dependencias. 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.", - "La eliminación corre con una barra de progreso. Elimina el venv (solo instalación con traducción), el lanzador menu, el árbol /usr/local/share/proxmenux/, el servicio ProxMenux Monitor si está presente junto con el destino de notificaciones que registró en Proxmox VE (proxmenux-webhook y su matcher), las dependencias que marcaste y, por último, restaura los backups de archivos del sistema (mira abajo).", - "Diálogo de finalización. Lista las dependencias eliminadas y sale." + "Diálogo de confirmación. Sí/no: «¿Seguro que quieres desinstalar ProxMenux?»", + "Lista de eliminación de dependencias. Ofrece jq y dialog. Ambas casillas están desmarcadas por defecto; selecciona solo dependencias que ninguna otra aplicación necesite.", + "La eliminación muestra una barra de progreso. Elimina cualquier entorno de traducción antiguo que quede, el lanzador menu, el árbol /usr/local/share/proxmenux/, el servicio ProxMenux Monitor si existe y el destino de notificaciones que registró en Proxmox VE (proxmenux-webhook y su regla de coincidencia), las dependencias seleccionadas y, por último, restaura las copias de los archivos del sistema (ver más abajo).", + "Diálogo de finalización. Enumera las dependencias eliminadas y termina." ] }, "deps": { "heading": "Eliminación de dependencias: qué se ofrece", - "intro": "La checklist depende del tipo de instalación. Ninguna casilla está marcada por defecto — 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. Ninguna casilla está marcada por defecto: 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": "python3-venv, python3-pip, python3, jq" + "type": "Versiones actuales", + "offeredRich": "dialog, jq" }, { - "type": "Normal", + "type": "Instalaciones antiguas tras actualizar", "offeredRich": "dialog, jq" } ], "warnTitle": "Paquetes de todo el sistema — piénsalo dos veces", - "warnBody": "python3, jq y dialog los usan habitualmente otras herramientas (incluyendo el propio Proxmox en algunos flujos). Eliminar python3 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 jq y dialog, no python3. 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 /root/.bashrc.bak existe → se renombra de vuelta a /root/.bashrc (tu bashrc original vuelve).", - "Si /etc/motd.bak existe → se renombra de vuelta a /etc/motd. Si no, la línea de ProxMenux (\"This system is optimised by: ProxMenux\") se elimina del motd existente con sed." + "Si existe /etc/motd.bak, se renombra a /etc/motd. Si no, sed elimina del motd actual la línea de ProxMenux (“This system is optimised by: ProxMenux”)." ] }, "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. dialog 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": "pip uninstall puede atascarse si pip no responde. Desde otro shell: rm -rf /opt/googletrans-env 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 python3 o jq mientras otras cosas en el host dependen de ellos. El autoremove 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 rm -rf /opt/googletrans-env; no ejecutan pip uninstall. 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 apt-get -y --purge autoremove. 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 /etc/motd.bak y la limpieza con sed no coincidió (p. ej. la línea fue modificada). Edita /etc/motd a mano y elimina cualquier línea sobrante de ProxMenux." + "motdBody": "Puede ocurrir si no existía /etc/motd.bak y sed no encontró la línea (por ejemplo, porque se había modificado). Edita /etc/motd 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": "." } ] diff --git a/web/messages/fr/docs/settings/beta-program.json b/web/messages/fr/docs/settings/beta-program.json new file mode 100644 index 00000000..95fa0d36 --- /dev/null +++ b/web/messages/fr/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Changer le canal de publication | Documentation ProxMenux", + "description": "Passez entre les canaux Stable (main) et Beta (develop) de ProxMenux dans un seul dialogue. Bidirectionnel et idempotent ; exécute l'installateur officiel du canal choisi et normalise le service Monitor.", + "ogTitle": "Changer le canal de publication | Documentation ProxMenux", + "ogDescription": "Une option des Paramètres pour passer entre Stable et Beta sans relancer manuellement les installateurs." + }, + "header": { + "title": "Changer le canal de publication", + "description": "Une option unique des Paramètres permet de passer entre Stable (branche main) et Beta (branche develop). L'ancienne option à sens unique « Désactiver le programme bêta » est remplacée par un dialogue bidirectionnel proposant les deux sens et exécutant l'installateur officiel du canal choisi.", + "section": "Paramètres" + }, + "intro": { + "title": "Ce qui a changé", + "body": "Les versions précédentes proposaient « Désactiver le programme bêta », visible uniquement en bêta, et une relance manuelle de l'installateur bêta pour y revenir. Ces deux procédures sont réunies dans Changer le canal de publication, toujours disponible, qui affiche le canal actuel et permet de passer entre Stable et Beta dans les deux sens." + }, + "why": { + "heading": "Pourquoi cette option existe", + "intro": "ProxMenux est distribué depuis deux branches Git :", + "items": [ + "Stable : la branche main, indiquée par le README et adaptée à la plupart des administrateurs. Les versions sont moins fréquentes et ne contiennent que des changements déjà validés en bêta.", + "Beta : la branche develop. Fonctions et versions de Monitor plus récentes, avec l'étiquette de la prochaine version stable. Certaines fonctions peuvent présenter des défauts : en choisissant ce canal, vous participez aux tests avant publication." + ], + "outro": "Auparavant, changer de canal nécessitait de retrouver la bonne URL dans le README et de modifier config.json manuellement en cas de désynchronisation. L'option unifiée réalise tout le processus en une seule action guidée." + }, + "dialog": { + "heading": "La boîte de dialogue", + "intro": "Dans le menu principal : Paramètres → Changer le canal de publication. Un menu à deux lignes apparaît :", + "options": [ + "stable — Stable (branche main)", + "beta — Beta (branche develop)" + ], + "behaviour": "Le canal actuel est présélectionné et affiché en haut. Choisir le même affiche « Ce canal de publication est déjà actif » : le dialogue est idempotent. Choisir un autre canal affiche une confirmation spécifique :", + "directions": [ + "Stable → Beta: avertit que les versions bêta peuvent contenir des bogues ou des fonctions incomplètes.", + "Beta → Stable: avertit que les contrôles de mise à jour bêta s'arrêteront et l'installateur stable réinstallera les composants du canal Stable." + ] + }, + "confirm": { + "heading": "Que se passe-t-il lorsque vous confirmez", + "items": [ + "Télécharge l'installateur officiel du canal cible :La présence du fichier téléchargé est vérifiée et il est rendu exécutable avant de continuer.", + "Exécute l'installateur complet, le même que celui indiqué dans le README. La détection des composants, les sauvegardes, les dépendances et la conservation de la langue suivent la procédure officielle d'installation du canal choisi.", + "Lors du passage à Stable, le menu supprime les métadonnées bêta restantes de config.json : beta_program, beta_version, install_branch et update_available.beta*. proxmenux_monitor.status = beta_updated devient updated. Le fichier résiduel beta_version.txt et les installateurs bêta téléchargés sont supprimés.", + "Lors du passage à Stable, le fichier systemd de Monitor est réécrit depuis le modèle Stable : le suffixe « Beta » est retiré de la description et ExecStart pointe vers le répertoire d'exécution. Une nouvelle commande systemctl status reflète ainsi le canal actuel.", + "Recharge le menu de configuration. Afficher les informations sur la version indiquera le nouveau canal." + ] + }, + "switching": { + "heading": "Passage en allers et retours", + "intro": "Les deux directions passent par le même programme d'installation – il ne s'agit pas de flux de désinstallation et de réinstallation dans des cas particuliers. Chaque direction exécute simplement le propre programme d'installation du canal, qui est conçu pour être idempotent et pouvoir être réexécuté en toute sécurité sur une installation existante. Conséquences pratiques :", + "items": [ + "Votre configuration existante, votre login ProxMenux Monitor (auth.json), les canaux de notification, le registre post-installation, les seuils personnalisés — aucun de ceux-ci n'est touché. Le commutateur de canal échange uniquement l'arborescence de script et le binaire AppImage.", + "Un moniteur qui était actif avant que l'interrupteur reste actif après; un moniteur qui a été désactivé reste désactivé.", + "Les jetons ProxMenux Monitor auth.json, API et le secret JWT sont conservés à travers les changements de canaux. Les séances ne sont pas déconnectées.", + "Vous pouvez retourner les canaux autant de fois que vous le souhaitez — le dialogue l'acceptera à chaque fois et relancera l'installateur. Aucun redémarrage de Proxmox n'est nécessaire.", + "Le changement de canal remplace les scripts ProxMenux et ne peut donc pas être exécuté depuis le terminal du navigateur de Monitor : le PTY serait fermé pendant la mise à jour et laisserait le dialogue bloqué. Dans ce terminal, un message affiche à la place la commande officielle en une ligne pour le canal choisi. Exécutez-la depuis SSH ou la console de l'hôte Proxmox." + ] + }, + "feedback": { + "heading": "Signaler des problèmes de la bêta", + "intro": "Si quelque chose se comporte de manière inattendue pendant que vous êtes sur le canal Beta, ouvrir un problème avec suffisamment de contexte est ce qui comble l'écart à une version stable. Le rapport le plus utile comprend:", + "items": [ + "Ce que tu as fait et ce que tu pensais arriver.", + "Tout message d'erreur affiché à l'écran.", + "Les journaux de surveillance pertinents:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "La version actuelle de ProxMenux (Paramètres → Afficher les informations sur la version).", + "issueLine": "Ouvrez un ticket GitHub avec ces informations pour faciliter la correction." + }, + "manual": { + "heading": "Équivalent manuel", + "intro": "Si vous préférez le shell ou automatisez le changement de canal, le dialogue exécute ces commandes :" + }, + "unifiedCallout": { + "title": "Pourquoi les deux directions sont maintenant une option", + "body": "L'ancienne option « Désactiver le programme bêta » apparaissait seulement après une participation à la bêta. Pour rejoindre la bêta, il fallait chercher l'installateur ailleurs ; pour la quitter, il fallait parfois nettoyer manuellement les métadonnées beta_*. Changer le canal de publication apparaît toujours, indique le canal actuel et traite les deux sens comme une opération exécutable, répétable et idempotente." + }, + "troubleshoot": { + "heading": "Dépannage", + "downloadTitle": "Impossible de télécharger l'installateur.", + "downloadBody": "Le HTTPS à raw.githubusercontent.com a échoué. Vérifiez la connectivité et DNS de l'hôte:", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Si cela échoue en dehors de ProxMenux, c'est un problème réseau / proxy sur l'hôte.", + "errorsTitle": "L'installation est terminée par des erreurs.", + "errorsBody": "L'installateur a renvoyé un code de sortie non nul. Aucun retour arrière automatique n'est prévu : certains fichiers ou composants peuvent déjà avoir changé. Examinez la sortie et l'état actuel avant de réessayer. Exécutez l'installateur manuellement par SSH ou depuis la console de l'hôte pour obtenir la sortie complète.", + "configTitle": "Impossible de mettre à jour le fichier de configuration après le passage à Stable", + "configBody": "Le nettoyage post-installation des métadonnées bêta a échoué — généralement parce que config.json a une erreur de syntaxe d'une modification manuelle. Valider :", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Corrigez ou restaurez le fichier, puis relancez l'option." + }, + "related": { + "heading": "Autres", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Afficher les informations sur la version", + "tail": "— confirmer quel canal est actif maintenant." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": " — le service Monitor recréé lors du changement de canal." + }, + { + "href": "/docs/settings", + "label": "Aperçu des paramètres", + "tail": "." + } + ] + } +} diff --git a/web/messages/fr/docs/settings/change-language.json b/web/messages/fr/docs/settings/change-language.json new file mode 100644 index 00000000..001a2fa9 --- /dev/null +++ b/web/messages/fr/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Changer de langue | Documentation ProxMenux", + "description": "Choisissez parmi huit langues pour ProxMenux. Chaque installation inclut des catalogues JSON de traductions prégénérés ; aucun service de traduction ni environnement Python n'est nécessaire sur l'hôte. Le menu se recharge automatiquement.", + "ogTitle": "Changer de langue | Documentation ProxMenux", + "ogDescription": "Choisissez une des huit langues de ProxMenux dans les Paramètres. Disponible sur chaque installation." + }, + "header": { + "title": "Changer de langue", + "description": "Changez la langue de ProxMenux parmi huit langues prises en charge. Le choix est enregistré dans config.json et le menu redémarre dans la nouvelle langue. Chaque installation comprend les catalogues de traductions.", + "section": "Paramètres" + }, + "intro": { + "title": "Ce que c'est", + "body": "Un dialogue répertorie les huit langues prises en charge. ProxMenux enregistre votre choix dans config.json sous .language, puis relance config_menu.sh pour l'appliquer immédiatement." + }, + "warn": { + "title": "Disponible sur chaque installation", + "body": "Les Paramètres affichent toujours Changer de langue. Les catalogues sont installés dans /usr/local/share/proxmenux/lang/ et la langue choisie est enregistrée dans config.json. L'ancien environnement Python de traduction n'est pas nécessaire." + }, + "supported": { + "heading": "Langues prises en charge", + "headerCode": "Code", + "headerLang": "Langue", + "headerNotes": "Remarques", + "rows": [ + { + "code": "en", + "lang": "Anglais", + "notes": "Langue source — la plus précise" + }, + { + "code": "es", + "lang": "Espagnol", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "fr", + "lang": "Français", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "de", + "lang": "Allemand", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "it", + "lang": "italien", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "pt", + "lang": "portugais", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "sk", + "lang": "Slovaque", + "notes": "Catalogue JSON prégénéré" + }, + { + "code": "sv", + "lang": "Suédois", + "notes": "Catalogue JSON prégénéré" + } + ] + }, + "englishTip": { + "title": "L'anglais est le plus précis", + "body": "Les textes dans les autres langues proviennent des catalogues JSON prégénérés inclus avec ProxMenux. Les traductions manquantes sont remplacées par l'anglais ; aucun appel de traduction en direct n'est effectué sur l'hôte. L'anglais reste la référence en cas de traduction douteuse." + }, + "underHood": { + "heading": "Comment ça marche sous le capot", + "items": [ + "Le dialogue propose huit codes de langue ; choisissez-en un.", + "Si config.json existe : jq --arg lang \"$new_language\" '.language = $lang'' met à jour le champ en place.", + "Si config.json n'existe pas : un nouveau est créé avec le code de langue dans un objet à champ unique.", + "Boîte de dialogue de confirmation : \"Langue changée en [code]\".", + "exec bash config_menu.sh recharge le menu Paramètres avec la nouvelle langue active." + ] + }, + "manual": { + "heading": "Équivalent manuel" + }, + "troubleshoot": { + "heading": "Dépannage", + "noOptionTitle": "L'option n'apparaît pas dans les paramètres", + "noOptionBody": "Changer de langue est toujours disponible dans les versions actuelles. Si cette option manque, mettez ProxMenux à jour avec l'installateur officiel, puis rouvrez les Paramètres.", + "stillEnglishTitle": "La langue a changé mais l'interface utilisateur affiche toujours l'anglais", + "stillEnglishBody": "Le menu se relance après le changement. Si vous avez ouvert un nouveau shell et lancé un autre point d'entrée ProxMenux, exécutez à nouveau menu pour appliquer la nouvelle langue. Vérifiez avec jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Autres", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Afficher les informations sur la version", + "tail": " — confirme le canal de publication, les fichiers de traduction et la langue actuelle." + }, + { + "href": "/docs/settings", + "label": "Aperçu des paramètres", + "tail": "." + } + ] + } +} diff --git a/web/messages/fr/docs/settings/index.json b/web/messages/fr/docs/settings/index.json new file mode 100644 index 00000000..decb8555 --- /dev/null +++ b/web/messages/fr/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Paramètres ProxMenux — Activation de Monitor, canal de publication, langues | ProxMenux", + "description": "Paramètres ProxMenux : service Monitor et réinitialisation du mot de passe, canal Stable/Beta, huit langues d'interface, diagnostic de version et désinstallation. Les options Monitor apparaissent si le service est installé.", + "ogTitle": "Paramètres ProxMenux — Activation de Monitor, canal de publication, langues", + "ogDescription": "Configurez ProxMenux : service Monitor, canal de publication, langue, informations de version et désinstallation.", + "twitterTitle": "Paramètres ProxMenux", + "twitterDescription": "Activation de Monitor, changement de canal de publication, langues, version et désinstallation." + }, + "header": { + "title": "Paramètres", + "description": "Configurez ProxMenux : activez ou désactivez Monitor, réinitialisez ses identifiants, passez entre Stable et Beta dans les deux sens, choisissez une des huit langues, consultez le diagnostic de version et désinstallez. Les actions Monitor nécessitent son service installé ; le choix de langue est toujours disponible.", + "section": "Paramètres" + }, + "intro": { + "title": "Ce menu sert à", + "body": "Administration de ProxMenux lui-même : service Monitor, sortie du canal bêta, langue, diagnostic de version et désinstallation. Aucune option de ce menu ne modifie vos VM, conteneurs ou votre stockage." + }, + "opening": { + "heading": "Ouverture du menu", + "body": "Dans le menu principal de ProxMenux, appuyez sur s. Les actions Monitor apparaissent si son service est installé ; les autres paramètres sont toujours disponibles :", + "imageAlt": "Menu Paramètres ProxMenux avec actions Monitor conditionnelles" + }, + "installTypes": { + "heading": "Une installation, toutes les langues", + "intro": "Les versions actuelles incluent les catalogues JSON statiques dans chaque installation. Les anciennes versions proposaient des modes distincts avec traduction et normal :", + "headerType": "Type d'installation", + "headerBundles": "Composants inclus", + "headerMenu": "Affichage du menu", + "rows": [ + { + "type": "Installation actuelle", + "bundles": "Catalogues JSON statiques pour huit langues ; aucun environnement Python de traduction", + "menuRich": "Changer de langue + Afficher la version + Désinstaller" + }, + { + "type": "Anciens modes avec traduction / normal", + "bundles": "Ancienne séparation entre environnement de traduction et installation uniquement en anglais", + "menu": "Mettez à jour avec le programme officiel pour utiliser le menu unifié actuel" + } + ], + "detectionTitle": "Le choix de langue est toujours disponible", + "detectionBody": "Le menu ne vérifie plus la présence d'un environnement de traduction. Chaque installation inclut /usr/local/share/proxmenux/lang/ et enregistre la language choisie dans config.json." + }, + "options": { + "heading": "Options du menu", + "intro": "Ces outils gèrent ProxMenux lui-même. Conditionnel signifie que les actions Monitor apparaissent uniquement si son service systemd est installé. Le canal de publication, la langue, le diagnostic de version et la désinstallation sont toujours disponibles.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Activer / désactiver l'unité proxmenux-monitor.service systemd, vérifier son état actuel et réinitialiser le mot de passe de connexion du tableau de bord s'il a été perdu. UI Web disponible sur TCP 8008.", + "badge": "Conditionnel" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Changer le canal de publication", + "description": "Passez de Stable (main) à Beta (develop) et inversement dans un seul dialogue. Exécute l'installateur officiel du canal choisi ; idempotent et toujours visible.", + "badge": "Toujours disponible" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Afficher les informations sur la version", + "description": "Version de ProxMenux, canal de publication, composants installés, chemins des fichiers, fichiers de traduction et langue actuelle." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Désinstaller ProxMenux", + "description": "Supprimer ProxMenux et (facultativement) ses dépendances. restaure également les sauvegardes /root/.bashrc et /etc/motd créées au moment de l'installation." + } + ] + }, + "configTip": { + "title": "Emplacement de la configuration", + "bodyRich": "La plupart des états gérés par ce menu sont stockés dans /usr/local/share/proxmenux/config.json : language, beta_program.status et les indicateurs d'installation de chaque composant. L'état du service Monitor est géré dans systemd (proxmenux-monitor.service), pas ici. La version est lue dans /usr/local/share/proxmenux/version.txt." + } +} diff --git a/web/messages/fr/docs/settings/proxmenux-monitor.json b/web/messages/fr/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..7ac354bd --- /dev/null +++ b/web/messages/fr/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | Documentation ProxMenux", + "description": "Activer ou désactiver l'unité proxmenux-monitor.service systemd et inspecter son état actuel. Le moniteur expose une interface utilisateur web sur TCP 8008 pour la surveillance visuelle des hôtes.", + "ogTitle": "ProxMenux Monitor | Documentation ProxMenux", + "ogDescription": "Activez ou désactivez le service systemd proxmenux-monitor et vérifiez son état dans les Paramètres." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Deux actions connexes dans le menu Paramètres : basculer l'unité proxmenux-monitor.service systemd (démarrer / arrêter et activer / désactiver en un seul clic), et afficher son état actuel détaillé. Le moniteur expose une interface utilisateur web sur TCP 8008 pour la surveillance visuelle des hôtes.", + "section": "Paramètres" + }, + "intro": { + "title": "Qu'est-ce que ProxMenux Monitor?", + "body": "ProxMenux Monitor est un tableau de bord web intégré qui fournit une visibilité en temps réel dans votre infrastructure Proxmox – accessible depuis n'importe quel navigateur de votre réseau, sans avoir besoin d'un terminal." + }, + "offers": { + "heading": "Ce qu'il offre", + "items": [ + "Surveillance en temps réel de CPU, RAM, utilisation du disque et trafic réseau.", + "Aperçu des conteneurs VM et LXC fonctionnant avec des indicateurs d'état.", + "Authentification pour protéger l'accès.", + "Authentification à deux facteurs (2FA) avec support TOTP.", + "Prise en charge par proxy inverse (Nginx / Traefik).", + "Conçu pour fonctionner sur les appareils de bureau et mobiles." + ] + }, + "access": { + "heading": "Accès", + "intro": "Une fois installé, le tableau de bord est disponible à :", + "url": "http://:8008", + "outro": "Le moniteur est installé automatiquement dans le cadre de l'installation standard ProxMenux et fonctionne comme un service systemd (proxmenux-monitor.service) qui démarre automatiquement au démarrage." + }, + "warnConditional": { + "title": "Options de configuration uniquement visibles lorsque Monitor est installé", + "body": "Les deux entrées de menu décrites ci-dessous apparaissent seulement dans Paramètres si proxmenux-monitor.service est enregistré avec systemd. Si vous ne les voyez pas, le moniteur n'a pas été installé (il est optionnel pendant l'installation de ProxMenux). Pour l'ajouter plus tard, réinstallez ProxMenux avec la dernière version et choisissez l'option Monitor." + }, + "toggle": { + "heading": "Activer / Désactiver", + "intro": "La première entrée de menu est une bascule unique qui bascule entre deux états selon que le service fonctionne actuellement :", + "headerState": "État actuel", + "headerLabel": "Étiquette de menu affichée", + "headerAction": "Décision sur confirmation", + "rows": [ + { + "state": "actif", + "label": "Désactiver le ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "inactif", + "label": "Activer le ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Chaque changement demande une confirmation oui/non. Désactiver arrête le service et désactive son démarrage automatique ; activer autorise le démarrage automatique et lance le service immédiatement." + }, + "status": { + "heading": "Afficher l'état du service de surveillance", + "intro": "La deuxième entrée de menu est en lecture seule. Il efface l'écran, affiche le logo ProxMenux et le titre \"ProxMenux Monitor Vérification de service\", puis déclare:", + "items": [ + "État du service: actif, inactif ou not_installed.", + "Web UI URL (uniquement lorsqu'il est actif): http://<host_ip>:8008 — dérivé de hostname -I | awk '''{print $1}'''.", + "Détaillé systemd sortie: systemctl status proxmenux-monitor.service --no-pager -l — montre les lignes de log récentes, ExecStart, MainPID, etc." + ] + }, + "manual": { + "title": "Équivalents manuels", + "intro": "Depuis n'importe quel shell :", + "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": "Réinitialiser le mot de passe du ProxMenux Monitor", + "intro": "Chemin de récupération pour l'opérateur qui a perdu le mot de passe du tableau de bord (ou périphérique 2FA). L'option n'apparaît que lorsque le moniteur est installé sur l'hôte. Sélection :", + "items": [ + "Demande confirmation avec un dialogue oui/non — l'action est destructrice pour les identifiants de connexion.", + "Sauvegarde le /root/.config/proxmenux-monitor/auth.json existant à auth.json.bak-<UTC timestamp> (mode 0600) afin que l'état précédent puisse être restauré manuellement si la réinitialisation était une erreur.", + "Arrête le service proxmenux-monitor pour éviter un conflit entre la modification du fichier et une connexion en cours.", + "Efface les champs d'identité dans auth.json: enabled=false, configured=false, vide username, password_hash, totp_secret et le tableau des codes de sauvegarde.", + "Conserve jwt_secret et les api_tokens / revoked_tokens enregistrés pour que les jetons de longue durée de Home Assistant ou d'autres scripts continuent à permettre l'authentification après la réinitialisation.", + "Redémarre le service. La prochaine visite sur http://<host>:8008 affiche l'assistant de configuration initiale pour créer un nouveau compte administrateur." + ], + "preservedTitle": "Ce qui est conservé et ce qui est effacé", + "preservedBody": "Effacés : nom d'utilisateur, empreinte du mot de passe, secret TOTP 2FA et codes de secours. Conservés : jwt_secret, métadonnées api_tokens et liste revoked_tokens. Pour invalider aussi tous les jetons API et repartir de zéro, supprimez auth.json manuellement au lieu de cette option. Au prochain démarrage, le service régénère le secret JWT et toutes les autres données.", + "trustTitle": "L'accès physique-hôte est l'ancre de confiance", + "trustBody": "Ce chemin de réinitialisation nécessite un shell racine sur l'hôte. Quiconque peut exécuter la commande menu en tant que root contrôle déjà la boîte, donc leur donner la récupération de mot de passe n'est pas une escalade de privilège — il est cohérent avec la façon dont chaque autre outil d'administration sur Proxmox fonctionne. Le corollaire : la connexion Monitor ne protégera rien de quelqu'un que vous avez déjà laissé entrer dans le shell Proxmox.", + "seeAlso": "Consultez aussi Monitor → Accès et authentification → Récupérer un mot de passe perdu pour ce processus vu du tableau de bord et les détails sur les empreintes des mots de passe et la génération du secret JWT." + }, + "files": { + "heading": "Fichiers concernés", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Dépannage", + "missingTitle": "Les deux options du menu sont manquantes", + "missingBody": "Le moniteur n'est pas enregistré avec systemd. Confirmez avec systemctl list-unit-files | grep proxmenux-monitor — s'il n'y a pas de sortie, réinstallez ProxMenux depuis l'installateur officiel avec la dernière version et choisissez l'option Monitor pendant l'installation.", + "unreachableTitle": "Service activé mais l'URL est inaccessible", + "unreachableBody": "La sortie d'état de paramètres vous donne l'IP. Confirmer :", + "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 fonctionne mais n'est pas externe, vérifiez votre pare-feu hôte (pve-firewall ou nftables) pour TCP 8008.", + "stopsTitle": "Active le service mais il s'arrête quelques secondes plus tard", + "stopsBody": "Le plus souvent, il s'agit d'un conflit sur le port 8008 ou d'un échec de vérification des dépendances. Le journal système indique la cause : journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Autres", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": "— la prison [proxmenux] protège le moniteur sur TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Aperçu des paramètres", + "tail": "." + } + ] + } +} diff --git a/web/messages/fr/docs/settings/show-version-information.json b/web/messages/fr/docs/settings/show-version-information.json new file mode 100644 index 00000000..9748450f --- /dev/null +++ b/web/messages/fr/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Afficher les informations de version | Documentation ProxMenux", + "description": "Diagnostic ProxMenux en lecture seule : version, canal de publication, composants enregistrés dans config.json, chemins des fichiers, catalogues de traductions et langue actuelle.", + "ogTitle": "Afficher les informations de version | Documentation ProxMenux", + "ogDescription": "Diagnostic de la version de ProxMenux, du canal de publication, des composants, des fichiers et de la langue." + }, + "header": { + "title": "Afficher les informations sur la version", + "description": "Diagnostic en lecture seule. Lit version.txt, config.json et les chemins connus, puis affiche une zone de texte défilante avec la version, le canal de publication, les composants installés, la présence des fichiers, les fichiers de traduction et la langue actuelle.", + "section": "Paramètres" + }, + "intro": { + "title": "Ce que c'est", + "body": "Un autodiagnostic. Utile pour signaler un problème (coller le contenu de la boîte de dialogue dans le rapport de bogue) ou confirmer une installation effectuée proprement. Ne modifie rien." + }, + "reports": { + "heading": "Ce qu'il rapporte", + "headerSection": "Chapitre", + "headerSource": "Source", + "headerContent": "Contenu", + "rows": [ + { + "section": "Version actuelle", + "source": "version.txt", + "contentRich": "Numéro de version sur une seule ligne ; Unknown si le fichier manque" + }, + { + "section": "Canal de publication", + "source": "État du programme bêta dans config.json", + "content": "Stable (main) ou Beta (develop) ; version bêta si disponible" + }, + { + "section": "Composants installés", + "source": "config.json", + "content": "État de chaque composant (✓ installé / créé / mis à jour, ✗ absent)" + }, + { + "section": "Fichiers ProxMenux", + "source": "contrôle du système de fichiers", + "contentRich": "menu, utils.sh, config.json, version.txt présence + chemins" + }, + { + "section": "Fichiers de traduction", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Présence du répertoire lang/ inclus avec chaque installation" + }, + { + "section": "Langue actuelle", + "source": "config.json", + "contentRich": "Code de langue de .language ; en par défaut si non défini" + } + ] + }, + "sampleHeading": "Exemple de sortie", + "manualHeading": "Équivalents manuels", + "troubleshoot": { + "heading": "Dépannage", + "unknownTitle": "La version affiche \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt est manquant ou illisible. Le plus souvent causé par une installation partielle. Réinstaller à partir de la source officielle ProxMenux.", + "noConfigTitle": "Aucune information disponible sur l'installation", + "noConfigBody": "config.json manque. Sans ce fichier, le script ne peut pas énumérer les composants. Réinstallez pour le recréer.", + "wrongStatusTitle": "Un composant affiche ✗ alors que je suis sûr de l'avoir installé", + "wrongStatusBody": "Cela signifie que config.json ne répertorie pas ce composant comme installé : il peut s'agir d'un script qui ne s'enregistre pas encore, ou d'une installation manuelle effectuée sans ProxMenux. Le dialogue reflète le contenu de config.json, pas l'état réel du disque." + }, + "related": { + "heading": "Autres", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Désinstaller ProxMenux", + "tail": "— supprimer tous ces fichiers." + }, + { + "href": "/docs/settings", + "label": "Aperçu des paramètres", + "tail": "." + } + ] + } +} diff --git a/web/messages/fr/docs/settings/uninstall-proxmenux.json b/web/messages/fr/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..2602ba09 --- /dev/null +++ b/web/messages/fr/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "Désinstaller ProxMenux | Documentation ProxMenux", + "description": "Désinstallation propre de ProxMenux avec suppression facultative de jq et dialog, nettoyage des anciens fichiers de traduction et du service Monitor, et restauration des sauvegardes système.", + "ogTitle": "Désinstaller ProxMenux | Documentation ProxMenux", + "ogDescription": "Supprimer complètement ProxMenux d'un hôte Proxmox avec nettoyage de dépendance optionnel." + }, + "header": { + "title": "Désinstaller ProxMenux", + "description": "Supprime ProxMenux de l'hôte Proxmox par un processus interactif : confirmation, suppression facultative des dépendances, nettoyage du service ProxMenux Monitor et restauration des sauvegardes de /root/.bashrc et /etc/motd. Une barre de progression est affichée tout au long du processus.", + "section": "Paramètres" + }, + "scopeWarn": { + "title": "affecte uniquement l'installation de ProxMenux — pas vos VM / CT / stockage", + "body": "La désinstallation supprime les scripts ProxMenux, le lanceur de menu, le service Monitor facultatif et les sauvegardes de fichiers système créées par ProxMenux lors de son installation. Elle ne modifie pas vos VM, conteneurs, stockage, configuration réseau, Fail2Ban, pilote NVIDIA ni aucun autre élément installé via ProxMenux. Ces éléments restent en place." + }, + "flow": { + "heading": "Déroulement de la désinstallation", + "items": [ + "Dialogue de confirmation. Oui/non : « Voulez-vous vraiment désinstaller ProxMenux ? »", + "Liste des dépendances à supprimer. Propose jq et dialog. Les deux cases sont décochées par défaut ; sélectionnez uniquement les dépendances dont aucune autre application n'a besoin.", + "La suppression affiche une barre de progression. Supprime un éventuel ancien environnement de traduction, le lanceur menu, l'arborescence /usr/local/share/proxmenux/, le service ProxMenux Monitor s'il est présent avec la cible de notification enregistrée dans Proxmox VE (proxmenux-webhook et sa règle de correspondance), ainsi que les dépendances cochées. Restaure enfin les sauvegardes des fichiers système (voir ci-dessous).", + "Dialogue de fin. Répertorie les dépendances supprimées, puis quitte le programme." + ] + }, + "deps": { + "heading": "Suppression de la dépendance : ce qui est offert", + "intro": "La liste propose jq et dialog. Aucune case n'est cochée par défaut : d'autres applications peuvent utiliser ces paquets système ; il est donc plus sûr de les conserver.", + "headerType": "Installation", + "headerOffered": "Proposé à la suppression", + "rows": [ + { + "type": "Versions actuelles", + "offeredRich": "dialog, jq" + }, + { + "type": "Anciennes installations après mise à jour", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Paquets à l'échelle du système — réfléchir deux fois", + "warnBody": "La liste actuelle propose jq et dialog, pas python3. Ces paquets système peuvent être nécessaires à d'autres outils. Leur suppression peut aussi retirer des paquets dépendants ou des dépendances inutilisées. Conservez les paquets nécessaires et examinez toute proposition de suppression avant d'exécuter apt manuellement." + }, + "removed": { + "heading": "Ce qui est enlevé", + "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": "Ce qui est restauré", + "items": [ + "Si /root/.bashrc.bak existe → rebaptisé /root/.bashrc (votre bashrc original retourne).", + "Si /etc/motd.bak existe, ce fichier est renommé en /etc/motd. Sinon, sed supprime la ligne ProxMenux (“This system is optimised by: ProxMenux”) du motd existant." + ] + }, + "othersCallout": { + "title": "Les autres composants installés par ProxMenux sont conservés", + "body": "Tout ce qui est ProxMenux installé via d'autres menus — Fail2Ban, Lynis, les pilotes NVIDIA, les ajustements post-installation — n'est pas touché par ce programme de désinstallation. Chacun a son propre flux de désinstallation dans son menu respectif (ou vous pouvez le supprimer directement avec apt). Regardez d'abord Afficher les informations sur la version pour voir ce qui est enregistré." + }, + "manual": { + "heading": "Désinstaller manuellement", + "intro": "Si pour une raison quelconque le désinstallateur de menu ne peut pas exécuter (par exemple, dialog déjà manquant), la séquence manuelle équivalente:", + "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": "Réinstaller plus tard", + "body": "Exécutez à nouveau l'installateur officiel ProxMenux. Les versions actuelles utilisent un seul mode d'installation incluant les huit langues de l'interface." + }, + "troubleshoot": { + "heading": "Dépannage", + "hangTitle": "La désinstallation se bloque lors de la suppression d'un ancien environnement de traduction", + "hangBody": "Les versions actuelles suppriment un environnement résiduel avec rm -rf /opt/googletrans-env ; elles n'exécutent pas pip uninstall. Si cette étape se bloque, examinez-la depuis un autre shell et vérifiez le système de fichiers de l'hôte avant de réessayer.", + "aptTitle": "apt signale des paquets encore utilisés lors de la suppression des dépendances", + "aptBody": "Les paquets sélectionnés sont marqués comme automatiques et transmis à apt-get -y --purge autoremove. Cela ne garantit pas la protection des services dépendants. Laissez les dépendances décochées si d'autres outils les utilisent et examinez les suppressions proposées par apt avant tout nettoyage manuel.", + "motdTitle": "MOTD affiche toujours la ligne ProxMenux après désinstallation", + "motdBody": "Il se peut que /etc/motd.bak n'existe pas et que sed n'ait pas trouvé la ligne (par exemple, si elle a été modifiée). Modifiez /etc/motd manuellement et supprimez toute ligne ProxMenux restante." + }, + "related": { + "heading": "Autres", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Afficher les informations sur la version", + "tail": "— voir ce qui serait enlevé avant de désinstaller." + }, + { + "href": "/docs/settings", + "label": "Aperçu des paramètres", + "tail": "." + } + ] + } +} diff --git a/web/messages/it/docs/settings/beta-program.json b/web/messages/it/docs/settings/beta-program.json new file mode 100644 index 00000000..0cdc0fd3 --- /dev/null +++ b/web/messages/it/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Cambia canale di rilascio | Documentazione ProxMenux", + "description": "Passa tra i canali Stable (main) e Beta (develop) di ProxMenux in una sola finestra. Bidirezionale e idempotente; esegue il programma di installazione ufficiale del canale scelto e normalizza il servizio Monitor.", + "ogTitle": "Cambia canale di rilascio | Documentazione ProxMenux", + "ogDescription": "Una opzione delle Impostazioni per passare tra Stable e Beta senza eseguire manualmente i programmi di installazione." + }, + "header": { + "title": "Cambia canale di rilascio", + "description": "Una opzione unica delle Impostazioni passa tra Stable (ramo main) e Beta (ramo develop). La precedente opzione unidirezionale «Disattiva programma beta» è sostituita da una finestra bidirezionale che offre entrambi i sensi ed esegue il programma di installazione ufficiale del canale scelto.", + "section": "Impostazioni" + }, + "intro": { + "title": "Che cosa è cambiato", + "body": "Prima esistevano due procedure: «Disattiva programma beta», visibile solo con beta attiva, e la riesecuzione manuale del programma beta per rientrare. Ora sono riunite in Cambia canale di rilascio, sempre disponibile, che mostra il canale corrente e permette il passaggio tra Stable e Beta in entrambi i sensi." + }, + "why": { + "heading": "Perché questa opzione esiste", + "intro": "ProxMenux è distribuito da due rami Git:", + "items": [ + "Stable: il ramo main, indicato nel README e adatto alla maggior parte degli amministratori. I rilasci sono meno frequenti e includono solo modifiche già passate dalla validazione beta.", + "Beta: il ramo develop. Funzioni e build di Monitor più recenti, con il tag che erediterà la prossima versione stabile. Alcune funzioni potrebbero avere difetti: scegliendo questo canale partecipi ai test prima del rilascio." + ], + "outro": "Prima occorreva ricordare l'URL corretto del programma di installazione, copiarlo dal README e modificare config.json manualmente in caso di problemi di sincronizzazione. L'opzione unica esegue tutta la procedura con un'azione guidata." + }, + "dialog": { + "heading": "La finestra di dialogo", + "intro": "Dal menu principale: Impostazioni → Cambia canale di rilascio. Appare un menu con due voci:", + "options": [ + "stable — Stable (ramo main)", + "beta — Beta (ramo develop)" + ], + "behaviour": "Il canale corrente è preselezionato e mostrato in alto. Scegliendo lo stesso appare «Questo canale di rilascio è già attivo»: la finestra è idempotente. Scegliendo un altro canale appare una conferma specifica:", + "directions": [ + "Stable → Beta: avverte che le versioni beta possono contenere bug o funzioni incomplete.", + "Beta → Stabile: avverte che i controlli di aggiornamento beta si fermeranno e l'installatore stabile reinstallerà i componenti del canale stabile." + ] + }, + "confirm": { + "heading": "Cosa succede quando confermi", + "items": [ + "Scarica il programma di installazione ufficiale del canale scelto:Prima di continuare verifica che il file sia presente e lo rende eseguibile.", + "Esegue il programma di installazione completo, lo stesso indicato nel README. Rilevamento dei componenti, backup dei file, installazione delle dipendenze e conservazione della lingua seguono la procedura ufficiale del canale scelto.", + "Passando a Stable, il menu elimina i metadati beta rimasti in config.json: beta_program, beta_version, install_branch e update_available.beta*. proxmenux_monitor.status = beta_updated diventa updated. Il file residuo beta_version.txt e i programmi di installazione beta scaricati vengono rimossi.", + "Passando a Stable, l'unità systemd di Monitor viene riscritta dal modello Stable: «Beta» viene rimosso dalla descrizione e ExecStart torna a puntare alla directory di esecuzione. Una nuova esecuzione di systemctl status riflette quindi il canale attuale.", + "Ricarica il menu di configurazione. Mostra informazioni sulla versione mostrerà il nuovo canale." + ] + }, + "switching": { + "heading": "Passare avanti e indietro", + "intro": "Entrambe le direzioni passano attraverso lo stesso programma di installazione: non flussi di disinstallazione e reinstallazione speciali. Ciascuna direzione esegue semplicemente il programma di installazione del canale, progettato per essere idempotente e sicuro da eseguire nuovamente su un'installazione esistente. Conseguenze pratiche:", + "items": [ + "La configurazione esistente, ProxMenux Monitor login (auth.json), canali di notifica, registro post-installazione, soglie personalizzate — nessuno di questi sono toccati. L'interruttore di canale scambia solo l'albero di script e il binario AppImage.", + "Un Monitor attivo prima del cambio rimane attivo dopo; uno disattivato rimane disattivato.", + "Il file auth.json, i token API e il segreto JWT di ProxMenux Monitor vengono conservati al cambio di canale. Le sessioni non vengono disconnesse.", + "Puoi cambiare canale tutte le volte che vuoi: la finestra accetta ogni modifica ed esegue nuovamente il programma di installazione. Non è necessario riavviare Proxmox.", + "Il cambio di canale sostituisce gli script di ProxMenux e non può essere eseguito nel terminale del browser di Monitor: il PTY verrebbe chiuso durante l'aggiornamento, bloccando la finestra. In quel terminale appare invece un messaggio con il comando ufficiale di una riga per il canale scelto. Eseguilo da SSH o dalla console dell'host Proxmox." + ] + }, + "feedback": { + "heading": "Segnalare problemi della beta", + "intro": "Se qualcosa si comporta inaspettatamente mentre sei sul canale Beta, aprire un problema con un contesto sufficiente è quello che chiude il divario a un rilascio stabile. Il rapporto più utile comprende:", + "items": [ + "Quello che hai fatto e quello che ti aspettavi.", + "Eventuali messaggi di errore visualizzati sullo schermo.", + "I relativi registri Monitor:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "La versione attuale di ProxMenux (Impostazioni → Mostra informazioni sulla versione).", + "issueLine": "Aprire un GitHub Issue con queste informazioni e arriviamo alla correzione più veloce." + }, + "manual": { + "heading": "Equivalente manuale", + "intro": "Se preferisci la shell o automatizzi il cambio di canale, la finestra esegue questi comandi:" + }, + "unifiedCallout": { + "title": "Perché entrambe le direzioni sono ora un'opzione", + "body": "La vecchia opzione «Disattiva programma beta» appariva solo dopo la adesione alla beta. Per aderire occorreva cercare altrove il programma di installazione; per uscire talvolta occorreva pulire manualmente i metadati beta_*. Cambia canale di rilascio appare sempre, mostra il canale corrente e tratta entrambe le direzioni come un'operazione eseguibile, ripetibile e idempotente." + }, + "troubleshoot": { + "heading": "Risoluzione dei problemi", + "downloadTitle": "“Impossibile scaricare l’installatore”", + "downloadBody": "HTTPS in uscita a raw.githubusercontent.com fallito. Controllare la connettività e DNS dall'host:", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Se questo non funziona al di fuori di ProxMenux, è un problema di rete / proxy sull'host.", + "errorsTitle": "“Installer finito con errori”", + "errorsBody": "Il programma di installazione ha restituito un codice diverso da zero. Non è previsto un ripristino automatico: alcuni file o componenti potrebbero essere già cambiati. Controlla l'output e lo stato attuale prima di riprovare. Esegui il programma manualmente via SSH o dalla console dell'host per vedere l'output completo.", + "configTitle": "“Impossibile aggiornare il file di configurazione” dopo il passaggio a stabile", + "configBody": "La pulizia post-installazione dei metadati beta non è riuscita — di solito perché config.json ha un errore di sintassi da una modifica manuale. Convalidalo:", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Correggi o ripristina il file ed esegui nuovamente l'opzione." + }, + "related": { + "heading": "Correlati", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostra informazioni sulla versione", + "tail": "— confermare quale canale è attivo ora." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": " — il servizio Monitor ricreato durante il cambio di canale." + }, + { + "href": "/docs/settings", + "label": "Panoramica delle impostazioni", + "tail": "." + } + ] + } +} diff --git a/web/messages/it/docs/settings/change-language.json b/web/messages/it/docs/settings/change-language.json new file mode 100644 index 00000000..2d169b6b --- /dev/null +++ b/web/messages/it/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Cambia lingua | Documentazione ProxMenux", + "description": "Scegli tra otto lingue per ProxMenux. Ogni installazione include cataloghi JSON di traduzioni pregenerati; l'host non richiede un servizio di traduzione né un ambiente Python. Il menu si ricarica automaticamente.", + "ogTitle": "Cambia lingua | Documentazione ProxMenux", + "ogDescription": "Scegli una delle otto lingue di ProxMenux dalle Impostazioni. Disponibile in ogni installazione." + }, + "header": { + "title": "Cambia lingua", + "description": "Passa tra le otto lingue supportate da ProxMenux. La scelta viene salvata in config.json e il menu viene riavviato nella nuova lingua. Ogni installazione include i cataloghi di traduzioni.", + "section": "Impostazioni" + }, + "intro": { + "title": "Che cosa è questo", + "body": "Una finestra elenca le otto lingue supportate. ProxMenux salva la scelta in config.json come .language, poi riavvia config_menu.sh per applicarla subito." + }, + "warn": { + "title": "Disponibile in ogni installazione", + "body": "Le Impostazioni mostrano sempre Cambia lingua. I cataloghi vengono installati in /usr/local/share/proxmenux/lang/ e la lingua scelta viene salvata in config.json. Il precedente ambiente Python di traduzione non è necessario." + }, + "supported": { + "heading": "Lingue supportate", + "headerCode": "Code", + "headerLang": "Lingua", + "headerNotes": "Note", + "rows": [ + { + "code": "en", + "lang": "Inglese", + "notes": "Lingua sorgente — più accurata" + }, + { + "code": "es", + "lang": "Spagnolo", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "fr", + "lang": "Francese", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "de", + "lang": "Tedesco", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "it", + "lang": "Italiano", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "pt", + "lang": "Portoghese", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "sk", + "lang": "Slovacco", + "notes": "Catalogo JSON pregenerato" + }, + { + "code": "sv", + "lang": "Svedese", + "notes": "Catalogo JSON pregenerato" + } + ] + }, + "englishTip": { + "title": "L'inglese è il più accurato", + "body": "I testi nelle altre lingue provengono dai cataloghi JSON pregenerati inclusi in ProxMenux. Le traduzioni mancanti usano il testo inglese; non vengono effettuate chiamate di traduzione sull'host. In caso di dubbi, l'inglese resta il riferimento." + }, + "underHood": { + "heading": "Come funziona sotto il cofano", + "items": [ + "La finestra elenca otto codici lingua; scegline uno.", + "Se esiste config.json: jq --arg lang \"$new_language\" '.language = $lang'' aggiorna il campo in posizione.", + "Se config.json non esiste, viene creato un nuovo file con il codice della lingua in un oggetto contenente un solo campo.", + "Finestra di conferma: \"Lingua cambiata in [code]\".", + "exec bash config_menu.sh ricarica il menu Impostazioni con la nuova lingua attiva." + ] + }, + "manual": { + "heading": "Equivalente manuale" + }, + "troubleshoot": { + "heading": "Risoluzione dei problemi", + "noOptionTitle": "L'opzione non appare in Impostazioni", + "noOptionBody": "Cambia lingua è sempre disponibile nelle versioni attuali. Se manca, aggiorna ProxMenux con il programma di installazione ufficiale e riapri le Impostazioni.", + "stillEnglishTitle": "La lingua è cambiata ma l'interfaccia utente mostra ancora inglese", + "stillEnglishBody": "Il menu si riavvia dopo la modifica. Se hai aperto una nuova shell e avviato un altro punto di ingresso di ProxMenux, esegui di nuovo menu per applicare la nuova lingua. Verifica con jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Correlati", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostra informazioni sulla versione", + "tail": " — conferma il canale di rilascio, i file di traduzione e la lingua attuale." + }, + { + "href": "/docs/settings", + "label": "Panoramica delle impostazioni", + "tail": "." + } + ] + } +} diff --git a/web/messages/it/docs/settings/index.json b/web/messages/it/docs/settings/index.json new file mode 100644 index 00000000..2d2b4256 --- /dev/null +++ b/web/messages/it/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Impostazioni ProxMenux — Attivazione di Monitor, canale di rilascio, lingue | ProxMenux", + "description": "Impostazioni di ProxMenux: servizio Monitor e reimpostazione della password, canale Stable/Beta, otto lingue, diagnostica della versione e disinstallazione. Le opzioni Monitor appaiono quando il servizio è installato.", + "ogTitle": "Impostazioni ProxMenux — Attivazione di Monitor, canale di rilascio, lingue", + "ogDescription": "Configura ProxMenux: servizio Monitor, canale di rilascio, lingua, informazioni sulla versione e disinstallazione.", + "twitterTitle": "Impostazioni ProxMenux", + "twitterDescription": "Attivazione di Monitor, cambio del canale di rilascio, lingue, informazioni sulla versione e disinstallazione." + }, + "header": { + "title": "Impostazioni", + "description": "Configura ProxMenux: attiva o disattiva Monitor, reimposta le credenziali, passa tra Stable e Beta in entrambe le direzioni, scegli una delle otto lingue, consulta la diagnostica della versione e disinstalla. Le azioni di Monitor richiedono il servizio installato; la scelta della lingua è sempre disponibile.", + "section": "Impostazioni" + }, + "intro": { + "title": "A cosa serve questo menu", + "body": "Amministrazione di ProxMenux stesso: servizio Monitor, uscita dal canale beta, lingua, diagnostica della versione e disinstallazione. Nessun'opzione di questo menu modifica VM, container o archiviazione." + }, + "opening": { + "heading": "Apertura del menu", + "body": "Dal menu principale di ProxMenux premi s. Le azioni Monitor appaiono se il servizio è installato; le altre impostazioni sono sempre disponibili:", + "imageAlt": "Menu Impostazioni di ProxMenux con azioni Monitor condizionali" + }, + "installTypes": { + "heading": "Una installazione, tutte le lingue", + "intro": "Le versioni attuali includono cataloghi JSON statici in ogni installazione. Le vecchie versioni offrivano modalità separate con traduzione e normale:", + "headerType": "Tipo di installazione", + "headerBundles": "Componenti inclusi", + "headerMenu": "Mostra menu", + "rows": [ + { + "type": "Installazione attuale", + "bundles": "Cataloghi JSON statici per otto lingue; nessun ambiente Python di traduzione", + "menuRich": "Cambia lingua + Mostra versione + Disinstalla" + }, + { + "type": "Vecchie modalità con traduzione / normale", + "bundles": "Vecchia separazione tra ambiente di traduzione e installazione solo in inglese", + "menu": "Aggiorna con il programma ufficiale per usare il menu unificato attuale" + } + ], + "detectionTitle": "La scelta della lingua è sempre disponibile", + "detectionBody": "Il menu non verifica più un ambiente di traduzione. Ogni installazione include /usr/local/share/proxmenux/lang/ e salva il valore language scelto in config.json." + }, + "options": { + "heading": "Opzioni menu", + "intro": "Questi strumenti gestiscono ProxMenux stesso. Condizionale indica che le azioni Monitor appaiono solo se il servizio systemd è installato. Canale di rilascio, lingua, diagnostica della versione e disinstallazione sono sempre disponibili.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Attiva / disattiva l'unità proxmenux-monitor.service systemd, controlla lo stato attuale e ripristina la password di accesso del cruscotto se è stata persa. UI Web disponibile su TCP 8008.", + "badge": "Condizionale" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Cambia canale di rilascio", + "description": "Passa tra Stable (main) e Beta (develop) in entrambe le direzioni da una sola finestra. Esegue il programma di installazione ufficiale del canale scelto; è idempotente e sempre visibile.", + "badge": "Sempre disponibile" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Mostra informazioni sulla versione", + "description": "Versione di ProxMenux, canale di rilascio, componenti installati, percorsi dei file, file di traduzione e lingua attuale." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Disinstalla ProxMenux", + "description": "Rimuovere ProxMenux e (opzionalmente) le sue dipendenze. Inoltre ripristina i backup /root/.bashrc e /etc/motd creati al momento dell'installazione." + } + ] + }, + "configTip": { + "title": "Dove viene salvata la configurazione", + "bodyRich": "La maggior parte dello stato gestito da questo menu è salvata in /usr/local/share/proxmenux/config.json: language, beta_program.status e indicatori di installazione per ciascun componente. Lo stato del servizio Monitor è gestito da systemd (proxmenux-monitor.service), non qui. La versione viene letta da /usr/local/share/proxmenux/version.txt." + } +} diff --git a/web/messages/it/docs/settings/proxmenux-monitor.json b/web/messages/it/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..8ae9b6ea --- /dev/null +++ b/web/messages/it/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | Documentazione ProxMenux", + "description": "Attiva o disattiva l'unità systemd proxmenux-monitor.service e verifica il suo stato. Monitor fornisce un'interfaccia web sulla porta TCP 8008 per il monitoraggio visivo dell'host.", + "ogTitle": "ProxMenux Monitor | Documentazione ProxMenux", + "ogDescription": "Attiva o disattiva il servizio systemd proxmenux-monitor e controllane lo stato dalle Impostazioni." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Due azioni correlate nelle Impostazioni: attivare o disattivare l'unità systemd proxmenux-monitor.service (avvio/arresto e abilitazione/disabilitazione insieme) e visualizzarne lo stato dettagliato. Monitor fornisce un'interfaccia web sulla porta TCP 8008 per il monitoraggio visivo dell'host.", + "section": "Impostazioni" + }, + "intro": { + "title": "Cos'è ProxMenux Monitor?", + "body": "ProxMenux Monitor è un cruscotto web integrato che fornisce visibilità in tempo reale nell'infrastruttura Proxmox, accessibile da qualsiasi browser della rete, senza bisogno di un terminale." + }, + "offers": { + "heading": "Cosa offre", + "items": [ + "Monitoraggio in tempo reale di CPU, RAM, utilizzo del disco e traffico di rete.", + "Panoramica dell'esecuzione di VM e contenitori LXC con indicatori di stato.", + "Autenticazione di accesso per proteggere l'interfaccia.", + "Autenticazione a due fattori (2FA) con supporto TOTP.", + "Supporto proxy inverso (Nginx / Traefik).", + "Progettato per lavorare su dispositivi desktop e mobili." + ] + }, + "access": { + "heading": "Accesso", + "intro": "Una volta installato, il cruscotto è disponibile a:", + "url": "http://:8008", + "outro": "Il Monitor viene installato automaticamente nell'ambito dell'installazione standard ProxMenux e viene eseguito come servizio systemd (proxmenux-monitor.service) che inizia automaticamente sul boot." + }, + "warnConditional": { + "title": "Opzioni delle impostazioni visibili solo quando Monitor è installato", + "body": "Le due voci del menu descritte di seguito appaiono solo in Impostazioni se proxmenux-monitor.service è registrato con systemd. Se non li vedi, il Monitor non è stato installato (è opzionale durante l'installazione ProxMenux). Per aggiungerlo in seguito, reinstallare ProxMenux con l'ultima versione e selezionare l'opzione Monitor." + }, + "toggle": { + "heading": "Attivare / disattivare", + "intro": "La prima voce del menu alterna tra due stati in base al fatto che il servizio sia in esecuzione:", + "headerState": "Stato attuale", + "headerLabel": "Etichetta del menu", + "headerAction": "Azione sulla conferma", + "rows": [ + { + "state": "attivo", + "label": "Disattiva ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "inattivo", + "label": "Attiva ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Ogni modifica richiede una conferma sì/no. Disattivare arresta il servizio e disabilita l'avvio automatico; attivare abilita l'avvio automatico e avvia subito il servizio." + }, + "status": { + "heading": "Mostra stato servizio Monitor", + "intro": "La seconda voce del menu è di sola lettura. Sgombera lo schermo, mostra il logo ProxMenux e il titolo \"ProxMenux Monitor Service Verification\", poi segnala:", + "items": [ + "Stato di servizio: attivo, inattivo o not_installed.", + "Web UI URL (solo quando attivo): http://<host_ip>:8008 — derivato da hostname -I | awk '''{print $1}'''.", + "Dettaglio systemd uscita: systemctl status proxmenux-monitor.service --no-pager -l — mostra le linee di log recenti, ExecStart, MainPID, ecc." + ] + }, + "manual": { + "title": "Equivalenti manuali", + "intro": "Da qualsiasi shell:", + "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": "Reimposta password ProxMenux Monitor", + "intro": "Percorso di recupero per l'operatore che ha perso la password del cruscotto (o dispositivo 2FA). L'opzione viene visualizzata solo quando il Monitor viene installato sull'host. Selezione:", + "items": [ + "Chiede la conferma con una finestra di dialogo sì/no — l'azione è distruttiva per le credenziali di accesso.", + "Il backup del /root/.config/proxmenux-monitor/auth.json esistente a auth.json.bak-<UTC timestamp> (mode 0600) così lo stato precedente può essere ripristinato manualmente se il reset è stato un errore.", + "Arresta il servizio proxmenux-monitor per evitare conflitti tra la modifica del file e un accesso in corso.", + "Cancella i campi di identità in auth.json: enabled=false, configured=false, svuota username, password_hash, totp_secret e l'array dei codici di backup.", + "Conserva jwt_secret e i dati registrati api_tokens / revoked_tokens, così i token di lunga durata usati da Home Assistant o altri script continuano ad autenticarsi dopo la reimpostazione.", + "Riavvia il servizio. La prossima visita a http://<host>:8008 mostra la procedura guidata di configurazione del primo lancio in modo da poter creare un nuovo account di amministrazione." + ], + "preservedTitle": "Cosa viene conservato e cosa viene cancellato", + "preservedBody": "Cancellati: nome utente, hash della password, segreto TOTP 2FA e codici di recupero. Conservati: jwt_secret, metadati api_tokens e lista revoked_tokens. Per invalidare anche tutti i token API e ripartire da zero, elimina auth.json manualmente invece di usare questa opzione. Al prossimo avvio il servizio rigenera il segreto JWT e tutti gli altri dati.", + "trustTitle": "L'accesso fisico-host è l'ancora di fiducia", + "trustBody": "Questo percorso di reset richiede shell radice sull'host. Chiunque può eseguire il comando menu come root controlla già la casella, quindi dare loro il recupero password non è un escalation privilegio — è coerente con come ogni altro strumento di amministrazione su Proxmox funziona. Il corollario: il login Monitor non proteggerà nulla da qualcuno che hai già lasciato nel guscio Proxmox.", + "seeAlso": "Vedi anche Monitor → Accesso e autenticazione → Recuperare una password persa per la stessa procedura dal pannello e i dettagli sul calcolo degli hash delle password e sulla generazione del segreto JWT." + }, + "files": { + "heading": "File coinvolti", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Risoluzione dei problemi", + "missingTitle": "Entrambe le opzioni di menu mancano", + "missingBody": "Il Monitor non è registrato con systemd. Confermare con systemctl list-unit-files | grep proxmenux-monitor — se non c'è uscita, reinstallare ProxMenux dal programma di installazione ufficiale con l'ultima versione e selezionare l'opzione Monitor durante l'installazione.", + "unreachableTitle": "Servizio attivato ma l'URL non è raggiungibile", + "unreachableBody": "L'uscita di stato delle impostazioni ti dà l'IP. Conferma:", + "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": "Se localhost funziona ma non è esterno, controlla il firewall host (pve-firewall o nftables) per TCP 8008 in entrata.", + "stopsTitle": "Attivato il servizio ma si ferma pochi secondi dopo", + "stopsBody": "Di solito si tratta di un conflitto sulla porta 8008 o di un controllo delle dipendenze non riuscito. Il registro di sistema indica la causa: journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Correlati", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": "— la prigione [proxmenux] protegge il Monitor su TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Panoramica delle impostazioni", + "tail": "." + } + ] + } +} diff --git a/web/messages/it/docs/settings/show-version-information.json b/web/messages/it/docs/settings/show-version-information.json new file mode 100644 index 00000000..4bb619dc --- /dev/null +++ b/web/messages/it/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Mostra informazioni sulla versione | Documentazione ProxMenux", + "description": "Diagnostica di ProxMenux in sola lettura: versione, canale di rilascio, componenti registrati in config.json, percorsi dei file, cataloghi di traduzioni e lingua attuale.", + "ogTitle": "Mostra informazioni sulla versione | Documentazione ProxMenux", + "ogDescription": "Dati diagnostici su versione di ProxMenux, canale di rilascio, componenti, file e lingua." + }, + "header": { + "title": "Mostra informazioni sulla versione", + "description": "Diagnostica in sola lettura. Legge version.txt, config.json e percorsi di file noti, poi mostra una casella di testo scorrevole con versione, canale di rilascio, componenti installati, presenza dei file, file di traduzione e lingua attuale.", + "section": "Impostazioni" + }, + "intro": { + "title": "Che cosa è questo", + "body": "Un autodiagnostico. Utile quando si segnala un problema (incolla il contenuto di dialogo nel bug report) o per confermare un'installazione completata in modo pulito. Non modifica niente." + }, + "reports": { + "heading": "Che cosa riferisce", + "headerSection": "Sezione", + "headerSource": "Fonte", + "headerContent": "Contenuto", + "rows": [ + { + "section": "Versione attuale", + "source": "version.txt", + "contentRich": "Numero di versione su una sola riga; Unknown se il file manca" + }, + { + "section": "Canale di rilascio", + "source": "Stato del programma beta in config.json", + "content": "Stable (main) o Beta (develop); versione beta se disponibile" + }, + { + "section": "Componenti installati", + "source": "config.json", + "content": "Stato di ciascun componente (✓ installato / creato / aggiornato, ✗ assente)" + }, + { + "section": "File ProxMenux", + "source": "controllo filesystem", + "contentRich": "menu, utils.sh, config.json, version.txt presenza + percorsi" + }, + { + "section": "File di traduzione", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Presenza della directory lang/ inclusa in ogni installazione" + }, + { + "section": "Lingua attuale", + "source": "config.json", + "contentRich": "Codice lingua da .language; usa en se non impostato" + } + ] + }, + "sampleHeading": "Esempio di output", + "manualHeading": "Equivalenti manuali", + "troubleshoot": { + "heading": "Risoluzione dei problemi", + "unknownTitle": "La versione mostra \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt è mancante o illeggibile. Il più spesso causato da un'installazione parziale. Reinstallare dalla sorgente ufficiale ProxMenux.", + "noConfigTitle": "Nessuna informazione di installazione disponibile", + "noConfigBody": "config.json manca. Senza questo file lo script non può elencare i componenti. Reinstalla per ricrearlo.", + "wrongStatusTitle": "Un componente mostra ✗ anche se sono sicuro di averlo installato", + "wrongStatusBody": "Significa che config.json non registra quel componente come installato: potrebbe trattarsi di uno script che non si registra ancora, oppure di una installazione manuale eseguita senza ProxMenux. La finestra riflette il contenuto di config.json, non lo stato effettivo del disco." + }, + "related": { + "heading": "Correlati", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Disinstalla ProxMenux", + "tail": "— rimuovere tutti questi file." + }, + { + "href": "/docs/settings", + "label": "Panoramica delle impostazioni", + "tail": "." + } + ] + } +} diff --git a/web/messages/it/docs/settings/uninstall-proxmenux.json b/web/messages/it/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..6a260ee5 --- /dev/null +++ b/web/messages/it/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "Disinstalla ProxMenux | Documentazione ProxMenux", + "description": "Disinstallazione pulita di ProxMenux con rimozione facoltativa di jq e dialog, pulizia dei vecchi file di traduzione e del servizio Monitor e ripristino dei backup di sistema.", + "ogTitle": "Disinstalla ProxMenux | Documentazione ProxMenux", + "ogDescription": "Pulitamente rimuovere ProxMenux da un host Proxmox con pulizia di dipendenza opzionale." + }, + "header": { + "title": "Disinstalla ProxMenux", + "description": "Rimuove ProxMenux dall'host Proxmox con un processo interattivo: conferma, rimozione facoltativa delle dipendenze, pulizia del servizio ProxMenux Monitor e ripristino dei backup di /root/.bashrc e /etc/motd. Mostra una barra di avanzamento per tutta la durata del processo.", + "section": "Impostazioni" + }, + "scopeWarn": { + "title": "Riguarda solo l'installazione di ProxMenux, non VM / CT / archiviazione", + "body": "La disinstallazione rimuove gli script ProxMenux, il lanciatore del menu, il servizio Monitor facoltativo e i backup dei file di sistema creati da ProxMenux durante l'installazione. Non modifica VM, container, archiviazione, configurazione di rete, Fail2Ban, driver NVIDIA o qualsiasi altro elemento installato tramite ProxMenux. Questi rimangono invariati." + }, + "flow": { + "heading": "Procedura di disinstallazione", + "items": [ + "Finestra di conferma. Sì/no: «Vuoi davvero disinstallare ProxMenux?»", + "Elenco delle dipendenze da rimuovere. Propone jq e dialog. Entrambe le caselle sono deselezionate; scegli solo le dipendenze che nessun'altra applicazione richiede.", + "La rimozione mostra una barra di avanzamento. Rimuove ogni vecchio ambiente di traduzione rimasto, il lanciatore menu, la struttura /usr/local/share/proxmenux/, il servizio ProxMenux Monitor se presente insieme alla destinazione di notifica registrata in Proxmox VE (proxmenux-webhook e la relativa regola di corrispondenza), le dipendenze selezionate e infine ripristina i backup dei file di sistema (vedi sotto).", + "Finestra di completamento. Elenca le dipendenze rimosse e termina." + ] + }, + "deps": { + "heading": "Rimozione della dipendenza: cosa è offerto", + "intro": "La lista propone jq e dialog. Nessuna casella è selezionata per impostazione predefinita: altre applicazioni potrebbero usare questi pacchetti di sistema, quindi è più sicuro conservarli.", + "headerType": "Installazione", + "headerOffered": "Offerto per la rimozione", + "rows": [ + { + "type": "Versioni attuali", + "offeredRich": "dialog, jq" + }, + { + "type": "Vecchie installazioni dopo l'aggiornamento", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Pacchetti a livello di sistema — pensare due volte", + "warnBody": "La lista attuale propone jq e dialog, non python3. Altri strumenti potrebbero richiedere questi pacchetti di sistema. La rimozione può eliminare anche pacchetti dipendenti o dipendenze inutilizzate. Conserva i pacchetti necessari e controlla ogni proposta di rimozione prima di eseguire apt manualmente." + }, + "removed": { + "heading": "Cosa viene rimosso", + "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": "Che cosa viene ripristinato", + "items": [ + "Se /root/.bashrc.bak esiste, viene rinominato in /root/.bashrc (ripristinando il file bashrc originale).", + "Se /etc/motd.bak esiste, viene rinominato in /etc/motd. Altrimenti sed rimuove dal motd esistente la riga ProxMenux (“This system is optimised by: ProxMenux”)." + ] + }, + "othersCallout": { + "title": "Gli altri componenti installati da ProxMenux rimangono", + "body": "Tutto ciò che ProxMenux è installato tramite altri menu — Fail2Ban, Lynis, NVIDIA driver, modifiche post-installazione — non viene toccato da questo programma di disinstallazione. Ognuno ha il proprio flusso di disinstallazione all'interno del rispettivo menu (oppure puoi rimuoverlo direttamente con apt). Guarda prima Mostra informazioni sulla versione per vedere cosa è registrato." + }, + "manual": { + "heading": "Disinstallazione manuale", + "intro": "Se per qualche motivo il disinstallatore del menu non può essere eseguito (ad es. dialog già mancante), la sequenza manuale 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 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": "Reinstallare più tardi", + "body": "Esegui di nuovo il programma di installazione ufficiale di ProxMenux. Le versioni attuali usano un'unica modalità di installazione che include tutte le otto lingue dell'interfaccia." + }, + "troubleshoot": { + "heading": "Risoluzione dei problemi", + "hangTitle": "La disinstallazione si blocca durante la rimozione di un vecchio ambiente di traduzione", + "hangBody": "Le versioni attuali rimuovono un ambiente residuo con rm -rf /opt/googletrans-env; non eseguono pip uninstall. Se questo passaggio si blocca, esaminalo da un'altra shell e verifica il filesystem dell'host prima di riprovare.", + "aptTitle": "apt segnala pacchetti ancora in uso durante la rimozione delle dipendenze", + "aptBody": "I pacchetti selezionati vengono contrassegnati come automatici e passati a apt-get -y --purge autoremove. Questo non garantisce la protezione dei servizi dipendenti. Lascia deselezionate le dipendenze necessarie ad altri strumenti e controlla le rimozioni proposte da apt prima di qualsiasi pulizia manuale.", + "motdTitle": "MOTD mostra ancora la linea ProxMenux dopo la disinstallazione", + "motdBody": "Può accadere se /etc/motd.bak non esisteva e sed non ha trovato la riga (per esempio perché era stata modificata). Modifica /etc/motd manualmente e rimuovi ogni riga ProxMenux rimasta." + }, + "related": { + "heading": "Correlati", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostra informazioni sulla versione", + "tail": " — verifica cosa verrebbe rimosso prima di disinstallare." + }, + { + "href": "/docs/settings", + "label": "Panoramica delle impostazioni", + "tail": "." + } + ] + } +} diff --git a/web/messages/pt/docs/settings/beta-program.json b/web/messages/pt/docs/settings/beta-program.json new file mode 100644 index 00000000..4e9f691b --- /dev/null +++ b/web/messages/pt/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Alterar canal de lançamento | Documentação do ProxMenux", + "description": "Mude entre os canais Stable (main) e Beta (develop) do ProxMenux numa única janela. Bidirecional e idempotente; executa o instalador oficial do canal escolhido e normaliza o serviço Monitor.", + "ogTitle": "Alterar canal de lançamento | Documentação do ProxMenux", + "ogDescription": "Uma opção das Configurações para mudar entre Stable e Beta sem executar instaladores manualmente." + }, + "header": { + "title": "Alterar canal de lançamento", + "description": "Uma opção única das Configurações muda entre Stable (ramo main) e Beta (ramo develop). A antiga opção unidirecional «Desativar programa beta» é substituída por um diálogo bidirecional que oferece ambos os sentidos e executa o instalador oficial do canal escolhido.", + "section": "Configurações" + }, + "intro": { + "title": "O que mudou", + "body": "Antes existiam dois procedimentos: «Desativar programa beta», visível apenas com a beta ativa, e executar novamente o instalador beta para voltar a aderir. Agora estão reunidos em Alterar canal de lançamento, sempre disponível, que mostra o canal atual e permite mudar entre Stable e Beta nos dois sentidos." + }, + "why": { + "heading": "Por que esta opção existe", + "intro": "O ProxMenux é distribuído a partir de dois ramos Git:", + "items": [ + "Stable: o ramo main, indicado no README e adequado à maioria dos administradores. Tem lançamentos menos frequentes e apenas alterações já validadas na beta.", + "Beta: o ramo develop. Funcionalidades e compilações do Monitor mais recentes, com a etiqueta que a próxima versão estável herdará. Algumas funções podem ter falhas: ao escolher este canal participa nos testes antes do lançamento." + ], + "outro": "Antes era necessário recordar o URL correto do instalador, copiá-lo do README e editar config.json manualmente se algo ficasse dessincronizado. A opção unificada realiza todo o processo numa ação guiada." + }, + "dialog": { + "heading": "A janela", + "intro": "No menu principal: Configurações → Alterar canal de lançamento. Aparece um menu com duas linhas:", + "options": [ + "stable — Stable (ramo main)", + "beta — Beta (ramo develop)" + ], + "behaviour": "O canal atual está pré-selecionado e é mostrado no topo. Escolher o mesmo mostra «Este canal de lançamento já está ativo»: o diálogo é idempotente. Escolher outro canal apresenta uma confirmação específica:", + "directions": [ + "Stable → Beta: avisa que as versões beta podem conter erros ou funcionalidades incompletas.", + "Beta → Estável: avisa que as verificações de atualização beta vão parar e o instalador estável irá reinstalar os componentes do canal estável." + ] + }, + "confirm": { + "heading": "O que acontece quando você confirmar", + "items": [ + "Transfere o instalador oficial do canal de destino:
  • Stable: install_proxmenux.sh de main
  • Beta: install_proxmenux_beta.sh de develop
Verifica a existência do ficheiro e torna-o executável antes de continuar.", + "Executa o instalador completo, o mesmo indicado no README. A deteção dos componentes, cópias de segurança, instalação de dependências e preservação do idioma seguem o procedimento oficial de instalação do canal escolhido.", + "Ao mudar para Stable, o menu então poda quaisquer metadados beta remanescentes de config.json: beta_program, beta_version, install_branch, update_available.beta* são excluídos, e proxmenux_monitor.status = beta_updated é normalizada para updated. O arquivo beta_version.txt e qualquer instalador beta baixado são removidos.", + "Ao mudar para Stable, a unidade systemd do Monitor é reescrita a partir do modelo Stable: remove «Beta» da descrição e ExecStart volta a apontar para o diretório de execução. Assim, uma nova consulta de systemctl status reflete o canal atual.", + "Recarrega o menu de configuração. Mostrar informações da versão mostrará o novo canal." + ] + }, + "switching": { + "heading": "Mudando para trás e para frente", + "intro": "Ambas as direções passam pelo mesmo instalador — elas não são fluxos de desinstalação e reinstalação de casos especiais. Cada direção simplesmente executa o próprio instalador do canal, que é projetado para ser idempotente e seguro para ser reexecutado em uma instalação existente. Consequências práticas:", + "items": [ + "Sua configuração existente, login ProxMenux Monitor (auth.json), canais de notificação, registro pós-instalação, limiares personalizados — nenhum deles é tocado. O interruptor de canal só troca a árvore de scripts e o binário AppImage.", + "Um Monitor ativo antes da mudança continua ativo depois; um que estava desativado continua desativado.", + "ProxMenux Monitor auth.json, API tokens e o segredo JWT são preservados através de mudanças de canal. As sessões não são encerradas.", + "Você pode inverter os canais quantas vezes quiser — o diálogo irá aceitá-lo toda vez e repetir o instalador. Não é necessário reiniciar o Proxmox.", + "A mudança de canal substitui os scripts do ProxMenux e não pode ser executada no terminal do navegador do Monitor: o PTY seria encerrado durante a atualização e o diálogo ficaria bloqueado. Nesse terminal aparece antes uma mensagem com o comando oficial de uma linha do canal escolhido. Execute-o por SSH ou na consola do anfitrião Proxmox." + ] + }, + "feedback": { + "heading": "Comunicar problemas da beta", + "intro": "Se algo se comporta inesperadamente enquanto você está no canal Beta, abrir um problema com contexto suficiente é o que fecha a lacuna para uma liberação estável. O relatório mais útil inclui:", + "items": [ + "O que fizeste e o que esperavas que acontecesse.", + "Quaisquer mensagens de erro mostradas na tela.", + "Os registos de monitorização relevantes:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "A versão atual do ProxMenux (Configurações → Mostrar informações da versão).", + "issueLine": "Abra um problema no GitHub com estas informações para facilitar a correção." + }, + "manual": { + "heading": "Equivalente manual", + "intro": "Se preferir a shell ou automatizar a mudança de canal, o diálogo executa estes comandos:" + }, + "unifiedCallout": { + "title": "Por que ambas as direções são agora uma opção", + "body": "A antiga opção «Desativar programa beta» só aparecia após a adesão à beta. Para aderir era necessário procurar o instalador noutro local; para sair, por vezes era necessário limpar os metadados beta_* manualmente. Alterar canal de lançamento aparece sempre, indica o canal atual e trata ambos os sentidos como uma operação executável, repetível e idempotente." + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "downloadTitle": "“Não foi possível baixar o instalador”", + "downloadBody": "O HTTPS para raw.githubusercontent.com falhou. Verifique a conectividade e DNS do host:", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Se isso falhar fora do ProxMenux, é um problema de rede / proxy no host.", + "errorsTitle": "“Installer terminou com erros”", + "errorsBody": "O instalador devolveu um código de saída diferente de zero. Não existe reversão automática: alguns ficheiros ou componentes podem já ter sido alterados. Verifique a saída e o estado atual antes de repetir. Execute o instalador manualmente por SSH ou na consola do anfitrião para ver a saída completa.", + "configTitle": "\"Não foi possível atualizar o arquivo de configuração\" após mudar para Stable", + "configBody": "A limpeza pós-instalação dos metadados beta falhou — geralmente porque o config.json tem um erro de sintaxe de uma edição manual. Validar:", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Corrigir ou restaurar o arquivo e executar novamente a opção." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostrar informações da versão", + "tail": " — confirmar que canal está activo." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": " — o serviço Monitor recriado durante a mudança de canal." + }, + { + "href": "/docs/settings", + "label": "Visão geral das configurações", + "tail": "." + } + ] + } +} diff --git a/web/messages/pt/docs/settings/change-language.json b/web/messages/pt/docs/settings/change-language.json new file mode 100644 index 00000000..3cfc469e --- /dev/null +++ b/web/messages/pt/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Alterar idioma | Documentação do ProxMenux", + "description": "Escolha entre oito idiomas para a interface do ProxMenux. Todas as instalações incluem catálogos JSON de traduções pré-gerados; o anfitrião não necessita de serviços de tradução nem de um ambiente Python. O menu é recarregado automaticamente.", + "ogTitle": "Alterar idioma | Documentação do ProxMenux", + "ogDescription": "Escolha um dos oito idiomas do ProxMenux nas Configurações. Disponível em todas as instalações." + }, + "header": { + "title": "Alterar idioma", + "description": "Alterne a interface do ProxMenux entre oito idiomas suportados. A escolha é guardada em config.json e o menu é reiniciado no novo idioma. Todas as instalações incluem os catálogos de traduções.", + "section": "Configurações" + }, + "intro": { + "title": "O que é isto?", + "body": "Um diálogo lista os oito idiomas suportados. O ProxMenux guarda a sua escolha em config.json como .language e reinicia config_menu.sh para a aplicar imediatamente." + }, + "warn": { + "title": "Disponível em todas as instalações", + "body": "As Configurações mostram sempre Alterar idioma. Os catálogos são instalados em /usr/local/share/proxmenux/lang/ e o idioma escolhido é guardado em config.json. O antigo ambiente Python de tradução não é necessário." + }, + "supported": { + "heading": "Idiomas suportados", + "headerCode": "Code", + "headerLang": "Idioma", + "headerNotes": "Notas", + "rows": [ + { + "code": "en", + "lang": "Inglês", + "notes": "Língua de origem — mais precisa" + }, + { + "code": "es", + "lang": "Espanhol", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "fr", + "lang": "Francês", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "de", + "lang": "Alemão", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "it", + "lang": "italiano", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "pt", + "lang": "Português", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "sk", + "lang": "Eslovaco", + "notes": "Catálogo JSON pré-gerado" + }, + { + "code": "sv", + "lang": "Sueco", + "notes": "Catálogo JSON pré-gerado" + } + ] + }, + "englishTip": { + "title": "Inglês é o mais preciso", + "body": "Os textos noutros idiomas provêm dos catálogos JSON pré-gerados incluídos no ProxMenux. As traduções em falta usam o inglês; o anfitrião não faz chamadas de tradução em direto. O inglês continua a ser a referência em caso de tradução duvidosa." + }, + "underHood": { + "heading": "Como funciona sob o capô", + "items": [ + "O diálogo apresenta oito códigos de idioma; escolha um.", + "Se config.json existe: jq --arg lang \"$new_language\" '.language = $lang'' atualiza o campo no local.", + "Se config.json não existe: um novo é criado com o código de linguagem em um objeto de campo único.", + "Diálogo de confirmação: \"Idioma alterado para [code]\".", + "exec bash config_menu.sh recarrega o menu Configurações com o novo idioma ativo." + ] + }, + "manual": { + "heading": "Equivalente manual" + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "noOptionTitle": "A opção não aparece na Configuração", + "noOptionBody": "Alterar idioma está sempre disponível nas versões atuais. Se a opção não aparecer, atualize o ProxMenux com o instalador oficial e volte a abrir as Configurações.", + "stillEnglishTitle": "A língua mudou, mas a UI ainda mostra inglês", + "stillEnglishBody": "O menu volta a ser executado após a alteração. Se abriu uma nova shell e iniciou outro ponto de entrada do ProxMenux, execute menu novamente para aplicar o novo idioma. Confirme com jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostrar informações da versão", + "tail": " — confirma o canal de lançamento, os ficheiros de tradução e o idioma atual." + }, + { + "href": "/docs/settings", + "label": "Visão geral das configurações", + "tail": "." + } + ] + } +} diff --git a/web/messages/pt/docs/settings/index.json b/web/messages/pt/docs/settings/index.json new file mode 100644 index 00000000..d12aa3bd --- /dev/null +++ b/web/messages/pt/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Configurações do ProxMenux — Ativação do Monitor, canal de lançamento, idiomas | ProxMenux", + "description": "Configurações do ProxMenux: serviço Monitor e reposição da palavra-passe, canal Stable/Beta, oito idiomas da interface, diagnóstico da versão e desinstalação. As opções do Monitor aparecem quando o serviço está instalado.", + "ogTitle": "Configurações do ProxMenux — Ativação do Monitor, canal de lançamento, idiomas", + "ogDescription": "Configure o ProxMenux: serviço Monitor, canal de lançamento, idioma, informações da versão e desinstalação.", + "twitterTitle": "Configuração do ProxMenux", + "twitterDescription": "Ativação do Monitor, mudança de canal de lançamento, idiomas, informações da versão e desinstalação." + }, + "header": { + "title": "Configurações", + "description": "Configure o ProxMenux: ative ou desative o Monitor, reponha as credenciais, mude entre Stable e Beta nos dois sentidos, escolha um dos oito idiomas, consulte o diagnóstico da versão e desinstale. As ações do Monitor exigem o serviço instalado; a seleção de idioma está sempre disponível.", + "section": "Configurações" + }, + "intro": { + "title": "Para que serve este menu", + "body": "Administração do próprio ProxMenux: serviço Monitor, saída do canal beta, idioma, diagnóstico da versão e desinstalação. Nenhuma opção deste menu altera as suas VMs, contentores ou armazenamento." + }, + "opening": { + "heading": "Abrir o menu", + "body": "No menu principal do ProxMenux, prima s. As ações do Monitor aparecem se o serviço estiver instalado; as restantes configurações estão sempre disponíveis:", + "imageAlt": "Menu Configurações do ProxMenux com ações condicionais do Monitor" + }, + "installTypes": { + "heading": "Uma instalação, todos os idiomas", + "intro": "As versões atuais incluem catálogos JSON estáticos em todas as instalações. As versões antigas ofereciam modos separados com tradução e normal:", + "headerType": "Tipo de instalação", + "headerBundles": "O que inclui", + "headerMenu": "Menu mostra", + "rows": [ + { + "type": "Instalação atual", + "bundles": "Catálogos JSON estáticos para oito idiomas; sem ambiente Python de tradução", + "menuRich": "Alterar idioma + Mostrar versão + Desinstalar" + }, + { + "type": "Modos antigos com tradução / normal", + "bundles": "Antiga separação entre ambiente de tradução e instalação apenas em inglês", + "menu": "Atualize com o instalador oficial para utilizar o menu unificado atual" + } + ], + "detectionTitle": "A seleção de idioma está sempre disponível", + "detectionBody": "O menu já não verifica um ambiente de tradução. Todas as instalações incluem /usr/local/share/proxmenux/lang/ e guardam o valor language escolhido em config.json." + }, + "options": { + "heading": "Opções do menu", + "intro": "Estas ferramentas gerem o próprio ProxMenux. Condicional indica que as ações do Monitor aparecem apenas com o serviço systemd instalado. Canal de lançamento, idioma, diagnóstico da versão e desinstalação estão sempre disponíveis.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Ativar / desativar a unidade proxmenux-monitor.service systemd, verificar seu estado atual, e redefinir a senha de login do painel se ela foi perdida. UI Web disponível em TCP 8008.", + "badge": "Condicional" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Alterar canal de lançamento", + "description": "Mude entre Stable (main) e Beta (develop) nos dois sentidos a partir de uma única janela. Executa o instalador oficial do canal escolhido; é idempotente e está sempre visível.", + "badge": "Sempre disponível" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Mostrar informações da versão", + "description": "Versão do ProxMenux, canal de lançamento, componentes instalados, caminhos dos ficheiros, ficheiros de tradução e idioma atual." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Desinstalar ProxMenux", + "description": "Remova ProxMenux e (opcionalmente) suas dependências. Também restaura backups /root/.bashrc e /etc/motd criados no momento da instalação." + } + ] + }, + "configTip": { + "title": "Onde é guardada a configuração", + "bodyRich": "A maior parte do estado gerido por este menu é guardada em /usr/local/share/proxmenux/config.json: language, beta_program.status e indicadores de instalação por componente. O estado do serviço Monitor é gerido no systemd (proxmenux-monitor.service), não aqui. A versão é lida de /usr/local/share/proxmenux/version.txt." + } +} diff --git a/web/messages/pt/docs/settings/proxmenux-monitor.json b/web/messages/pt/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..20ecc680 --- /dev/null +++ b/web/messages/pt/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | Documentação do ProxMenux", + "description": "Ativar ou desativar a unidade proxmenux-monitor.service systemd e inspecionar seu estado atual. O Monitor expõe uma interface web em TCP 8008 para monitoramento visual do hospedeiro.", + "ogTitle": "ProxMenux Monitor | Documentação do ProxMenux", + "ogDescription": "Ative ou desative o serviço systemd proxmenux-monitor e consulte o estado nas Configurações." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Duas ações relacionadas dentro do menu Configurações: alternar a unidade proxmenux-monitor.service systemd (iniciar / parar e ativar / desativar em um clique), e visualizar seu status detalhado atual. O Monitor expõe uma interface web em TCP 8008 para monitoramento visual do hospedeiro.", + "section": "Configurações" + }, + "intro": { + "title": "O que é o ProxMenux Monitor?", + "body": "ProxMenux Monitor é um painel web integrado que oferece visibilidade em tempo real na sua infraestrutura Proxmox – acessível a partir de qualquer navegador na sua rede, sem precisar de um terminal." + }, + "offers": { + "heading": "O que oferece", + "items": [ + "Monitoramento em tempo real de CPU, RAM, uso de disco e tráfego de rede.", + "Visão geral das VMs e LXC com indicadores de status.", + "Autenticação de login para proteger o acesso.", + "Autenticação de dois fatores (2FA) com suporte TOTP.", + "Suporte a proxy reversa (Nginx / Traefik).", + "Projetado para trabalhar em desktop e dispositivos móveis." + ] + }, + "access": { + "heading": "Acesso", + "intro": "Uma vez instalado, o painel está disponível em:", + "url": "http://:8008", + "outro": "O Monitor é instalado automaticamente como parte da instalação padrão ProxMenux e é executado como um serviço systemd (proxmenux-monitor.service) que começa automaticamente no arranque." + }, + "warnConditional": { + "title": "Opções de configuração somente visíveis quando o Monitor está instalado", + "body": "Os dois itens de menu descritos abaixo só aparecem em Configurações se proxmenux-monitor.service estiver registrado com systemd. Se não os vir, o Monitor não foi instalado (é opcional durante a instalação do ProxMenux). Para adicioná-lo mais tarde, reinstale o ProxMenux com a versão mais recente e escolha a opção Monitor." + }, + "toggle": { + "heading": "Activar / Desactivar", + "intro": "O primeiro item de menu é uma única opção que muda entre dois estados com base em se o serviço está atualmente em execução:", + "headerState": "Estado atual", + "headerLabel": "Rótulo do menu apresentado", + "headerAction": "Acção sobre a confirmação", + "rows": [ + { + "state": "ativo", + "label": "Desativar ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "inativo", + "label": "Ativar ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Cada alteração exige confirmação sim/não. Desativar para o serviço e desativa o arranque automático; ativar permite o arranque automático e inicia imediatamente o serviço." + }, + "status": { + "heading": "Mostrar status do serviço do monitor", + "intro": "O segundo item do menu é somente leitura. Ele limpa a tela, mostra o logotipo ProxMenux e o título \"ProxMenux Monitor Verificação de Serviço\", em seguida, relata:", + "items": [ + "Estatuto de serviço: ativo, inativo ou not_installed.", + "Web UI URL (apenas quando ativo): http://<host_ip>:8008 — derivado de hostname -I | awk '''{print $1}'''.", + " Saída systemd detalhada: systemctl status proxmenux-monitor.service --no-pager -l — mostra linhas de log recentes, ExecStart, MainPID, etc." + ] + }, + "manual": { + "title": "Equivalentes manuais", + "intro": "De qualquer shell:", + "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": "Redefinir senha do ProxMenux Monitor", + "intro": "Caminho de recuperação para o operador que perdeu a senha do painel (ou dispositivo 2FA). A opção só aparece quando o Monitor é instalado na máquina. Selecionando- o:", + "items": [ + "Pede confirmação com um diálogo sim/não — a ação é destrutiva para as credenciais de login.", + "Faz backup do /root/.config/proxmenux-monitor/auth.json existente para auth.json.bak-<UTC timestamp> (modo 0600) para que o estado anterior possa ser restaurado manualmente se o reset foi um erro.", + "Para o serviço proxmenux-monitor para evitar conflitos entre a edição do ficheiro e um início de sessão em curso.", + "Limpa os campos de identidade em auth.json: enabled=false, configured=false, esvazia username, password_hash, totp_secret e a matriz de códigos de backup.", + "Preserva jwt_secret e os dados registados api_tokens / revoked_tokens, para que os tokens de longa duração do Home Assistant ou de outros scripts continuem a permitir autenticação após a reposição.", + "Reinicia o serviço. A próxima visita ao http://<host>:8008 mostra o assistente de configuração do primeiro lançamento para que uma nova conta de administrador possa ser criada." + ], + "preservedTitle": "O que sobrevive ao reinício, o que não sobrevive", + "preservedBody": "Apagados: nome de utilizador, hash da palavra-passe, segredo TOTP 2FA e códigos de recuperação. Preservados: jwt_secret, metadados api_tokens e lista revoked_tokens. Para invalidar também todos os tokens API e começar de novo, elimine auth.json manualmente em vez de utilizar esta opção. No próximo arranque, o serviço regenera o segredo JWT e os restantes dados.", + "trustTitle": "O acesso ao host físico é a âncora de confiança", + "trustBody": "Este caminho de reset requer shell root na máquina. Qualquer um que possa executar o comando menu como root já controla a caixa, então dar-lhes recuperação de senha não é uma escalada de privilégio — é consistente com como todas as outras ferramentas de administração no Proxmox funcionam. O corolário: o login do Monitor não protegerá nada de alguém que você já deixou entrar no shell Proxmox.", + "seeAlso": "Consulte também Monitor → Acesso e autenticação → Recuperar uma palavra-passe perdida para o mesmo procedimento visto do painel e os detalhes sobre o cálculo dos hashes das palavras-passe e a geração do segredo JWT." + }, + "files": { + "heading": "Ficheiros envolvidos", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "missingTitle": "Faltam ambas as opções de menu", + "missingBody": "O Monitor não está registado na systemd. Confirme com systemctl list-unit-files | grep proxmenux-monitor — se não houver saída, reinstale o ProxMenux do instalador oficial com a versão mais recente e escolha a opção Monitor durante a instalação.", + "unreachableTitle": "Serviço ativado, mas o URL não é acessível", + "unreachableBody": "A saída de status Configurações lhe dá o IP. Confirmar:", + "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": "Se o localhost funcionar mas o externo não funcionar, verifique o firewall do seu host (pve-firewall ou nftables) para TCP 8008.", + "stopsTitle": "Ativado o serviço, mas pára alguns segundos depois", + "stopsBody": "Normalmente deve-se a um conflito na porta 8008 ou a uma falha na verificação de dependências. O registo do sistema indica a causa: journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": " — a cadeia [proxmenux] protege o Monitor em TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Visão geral das configurações", + "tail": "." + } + ] + } +} diff --git a/web/messages/pt/docs/settings/show-version-information.json b/web/messages/pt/docs/settings/show-version-information.json new file mode 100644 index 00000000..a2afbc07 --- /dev/null +++ b/web/messages/pt/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Mostrar informações da versão | Documentação do ProxMenux", + "description": "Diagnóstico do ProxMenux apenas de leitura: versão, canal de lançamento, componentes registados em config.json, caminhos dos ficheiros, catálogos de traduções e idioma atual.", + "ogTitle": "Mostrar informações da versão | Documentação do ProxMenux", + "ogDescription": "Dados de diagnóstico da versão do ProxMenux, canal de lançamento, componentes, ficheiros e idioma." + }, + "header": { + "title": "Mostrar informações da versão", + "description": "Diagnóstico apenas de leitura. Lê version.txt, config.json e caminhos de ficheiros conhecidos e apresenta uma caixa de texto deslocável com a versão, o canal de lançamento, os componentes instalados, a presença de ficheiros, os ficheiros de tradução e o idioma atual.", + "section": "Configurações" + }, + "intro": { + "title": "O que é isto?", + "body": "Um autodiagnóstico. Útil ao comunicar um problema (cole o conteúdo da janela no relatório de erro) ou para confirmar que uma instalação foi concluída corretamente. Não altera nada." + }, + "reports": { + "heading": "O que relata", + "headerSection": "Secção", + "headerSource": "Origem", + "headerContent": "Conteúdo", + "rows": [ + { + "section": "Versão actual", + "source": "version.txt", + "contentRich": "Número de versão de linha única; Unknown se o ficheiro faltar" + }, + { + "section": "Canal de lançamento", + "source": "Estado do programa beta em config.json", + "content": "Stable (main) ou Beta (develop); versão beta, se disponível" + }, + { + "section": "Componentes instalados", + "source": "config.json", + "content": "Estado por componente (✓ instalado / criado / atualizado, ✗ ausente)" + }, + { + "section": "Ficheiros ProxMenux", + "source": "verificação do sistema de ficheiros", + "contentRich": "menu, utils.sh, config.json, version.txt presença + caminhos" + }, + { + "section": "Ficheiros de tradução", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Presença do diretório lang/ incluído em todas as instalações" + }, + { + "section": "Língua atual", + "source": "config.json", + "contentRich": "Código do idioma de .language; usa en se não estiver definido" + } + ] + }, + "sampleHeading": "Saída da amostra", + "manualHeading": "Equivalentes manuais", + "troubleshoot": { + "heading": "Resolução de Problemas", + "unknownTitle": "A versão mostra \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt está faltando ou ilegível. Na maioria das vezes causada por uma instalação parcial. Reinstalar a partir da fonte oficial ProxMenux.", + "noConfigTitle": "Nenhuma informação de instalação disponível", + "noConfigBody": "config.json desapareceu. O script não pode enumerar componentes sem ele. Reinstalar para regenerar.", + "wrongStatusTitle": "Um componente mostra ✗ embora tenha a certeza de o ter instalado", + "wrongStatusBody": "Significa que o config.json não rastreia esse componente como instalado — pode ser um script que ainda não se registra, ou uma instalação manual que contorne o ProxMenux. O diálogo reflete o que config.json diz, não o que está no disco." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Desinstalar ProxMenux", + "tail": " — remover todos estes ficheiros." + }, + { + "href": "/docs/settings", + "label": "Visão geral das configurações", + "tail": "." + } + ] + } +} diff --git a/web/messages/pt/docs/settings/uninstall-proxmenux.json b/web/messages/pt/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..5d241746 --- /dev/null +++ b/web/messages/pt/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "Desinstalar ProxMenux | Documentação do ProxMenux", + "description": "Desinstalação limpa do ProxMenux com remoção opcional de jq e dialog, limpeza de ficheiros de tradução antigos e do serviço Monitor e reposição das cópias de segurança do sistema.", + "ogTitle": "Desinstalar ProxMenux | Documentação do ProxMenux", + "ogDescription": "Remova ProxMenux de forma limpa de um host Proxmox com limpeza de dependência opcional." + }, + "header": { + "title": "Desinstalar ProxMenux", + "description": "Remove o ProxMenux do anfitrião Proxmox através de um processo interativo: confirmação, remoção opcional de dependências, limpeza do serviço ProxMenux Monitor e reposição das cópias de segurança de /root/.bashrc e /etc/motd. Apresenta uma barra de progresso durante todo o processo.", + "section": "Configurações" + }, + "scopeWarn": { + "title": "Afecta apenas a instalação ProxMenux — não as suas VMs / CTs / armazenamento", + "body": "A desinstalação remove os scripts do ProxMenux, o lançador do menu, o serviço Monitor opcional e as cópias de segurança dos ficheiros de sistema criadas pelo ProxMenux na instalação. Não altera as suas VMs, contentores, armazenamento, configuração de rede, Fail2Ban, controlador NVIDIA ou qualquer outro elemento instalado através do ProxMenux. Estes permanecem como estão." + }, + "flow": { + "heading": "Processo de desinstalação", + "items": [ + "Diálogo de confirmação. Sim/não: «Tem a certeza de que pretende desinstalar o ProxMenux?»", + "Lista de dependências a remover. Apresenta jq e dialog. Ambas as caixas estão desmarcadas por predefinição; selecione apenas dependências de que nenhuma outra aplicação necessite.", + "A remoção apresenta uma barra de progresso. Remove qualquer ambiente de tradução antigo que tenha ficado, o lançador menu, a árvore /usr/local/share/proxmenux/, o serviço ProxMenux Monitor, se existir, e o destino de notificações registado no Proxmox VE (proxmenux-webhook e a respetiva regra de correspondência), bem como as dependências selecionadas. Por fim, repõe as cópias de segurança dos ficheiros de sistema (ver abaixo).", + "Diálogo de conclusão. Lista as dependências removidas e termina." + ] + }, + "deps": { + "heading": "Remoção de dependência: o que é oferecido", + "intro": "A lista apresenta jq e dialog. Nenhuma caixa está selecionada por predefinição: outras aplicações podem utilizar estes pacotes do sistema, por isso é mais seguro mantê-los.", + "headerType": "Instalação", + "headerOffered": "Oferecido para remoção", + "rows": [ + { + "type": "Versões atuais", + "offeredRich": "dialog, jq" + }, + { + "type": "Instalações antigas após atualização", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Pacotes em todo o sistema — pense duas vezes", + "warnBody": "A lista atual apresenta jq e dialog, não python3. Outras ferramentas podem necessitar destes pacotes do sistema. A remoção pode também eliminar pacotes dependentes ou dependências não utilizadas. Mantenha os pacotes necessários e reveja qualquer proposta de remoção antes de executar o apt manualmente." + }, + "removed": { + "heading": "O que é removido", + "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": "O que é restaurado", + "items": [ + "Se o /root/.bashrc.bak existe → renomeado de volta para /root/.bashrc (seu bashrc original retorna).", + "Se /etc/motd.bak existir, é renomeado para /etc/motd. Caso contrário, sed remove a linha do ProxMenux (“This system is optimised by: ProxMenux”) do motd existente." + ] + }, + "othersCallout": { + "title": "Os outros componentes instalados pelo ProxMenux são mantidos", + "body": "Qualquer coisa ProxMenux instalada através de outros menus — Fail2Ban, Lynis, NVIDIA drivers, ajustes pós-instalação — não é tocado por este desinstalador. Cada um tem seu próprio fluxo de desinstalação dentro do respectivo menu (ou você pode remover diretamente com o apt). Veja primeiro Mostrar informações da versão para ver o que está registrado." + }, + "manual": { + "heading": "Desinstalação manual", + "intro": "Se por alguma razão o desinstalador de menu não pode executar (por exemplo. dialog já em falta), a sequência 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 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 mais tarde", + "body": "Execute novamente o instalador oficial do ProxMenux. As versões atuais utilizam um único modo de instalação que inclui os oito idiomas da interface." + }, + "troubleshoot": { + "heading": "Resolução de Problemas", + "hangTitle": "A desinstalação bloqueia ao remover um ambiente de tradução antigo", + "hangBody": "As versões atuais removem um ambiente residual com rm -rf /opt/googletrans-env; não executam pip uninstall. Se este passo bloquear, examine-o noutra shell e verifique o sistema de ficheiros do anfitrião antes de repetir.", + "aptTitle": "O apt avisa sobre pacotes ainda em utilização ao remover dependências", + "aptBody": "Os pacotes selecionados são marcados como automáticos e passados a apt-get -y --purge autoremove. Isto não garante a proteção dos serviços dependentes. Deixe as dependências desmarcadas se outras ferramentas precisarem delas e reveja as remoções propostas pelo apt antes de qualquer limpeza manual.", + "motdTitle": "MOTD ainda mostra a linha ProxMenux após desinstalar", + "motdBody": "Pode acontecer se /etc/motd.bak não existia e o sed não encontrou a linha (por exemplo, porque foi alterada). Edite /etc/motd manualmente e remova qualquer linha do ProxMenux que tenha ficado." + }, + "related": { + "heading": "Relacionado", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Mostrar informações da versão", + "tail": " — ver o que seria removido antes de desinstalar." + }, + { + "href": "/docs/settings", + "label": "Visão geral das configurações", + "tail": "." + } + ] + } +} diff --git a/web/messages/sk/docs/settings/beta-program.json b/web/messages/sk/docs/settings/beta-program.json new file mode 100644 index 00000000..59c0cc48 --- /dev/null +++ b/web/messages/sk/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Zmeniť kanál vydaní | Dokumentácia ProxMenux", + "description": "Prepínajte medzi kanálmi Stable (main) a Beta (develop) v jednom dialógu. Obojsmerné a idempotentné; spustí oficiálny inštalátor zvoleného kanála a normalizuje službu Monitor.", + "ogTitle": "Zmeniť kanál vydaní | Dokumentácia ProxMenux", + "ogDescription": "Jedna možnosť v Nastaveniach na prepínanie medzi Stable a Beta bez ručného spúšťania inštalátorov." + }, + "header": { + "title": "Zmeniť kanál vydaní", + "description": "Jedna spoločná možnosť Nastavení prepína ProxMenux medzi Stable (vetva main) a Beta (vetva develop). Pôvodnú jednosmernú možnosť „Deaktivovať beta program“ nahrádza obojsmerný dialóg, ktorý ponúka oba smery a spúšťa oficiálny inštalátor zvoleného kanála.", + "section": "Nastavenia" + }, + "intro": { + "title": "Čo sa zmenilo?", + "body": "Staršie verzie mali dva postupy: „Deaktivovať beta program“, viditeľný iba pri aktívnej bete, a opätovné ručné spustenie beta inštalátora na návrat. Teraz ich spája vždy dostupná možnosť Zmeniť kanál vydaní, ktorá zobrazuje aktuálny kanál a umožňuje prechod medzi Stable a Beta v oboch smeroch." + }, + "why": { + "heading": "Prečo táto možnosť existuje", + "intro": "ProxMenux sa distribuuje z dvoch vetiev Git:", + "items": [ + "Stable: vetva main, na ktorú odkazuje README a ktorú uprednostňuje väčšina správcov. Vydania vychádzajú menej často a obsahujú iba zmeny, ktoré už prešli beta overením.", + "Beta: vetva develop. Novšie funkcie a zostavy Monitora so značkou, ktorú zdedí nasledujúce stabilné vydanie. Niektoré veci nemusia fungovať bezchybne; výberom tohto kanála sa zúčastňujete testovania pred vydaním." + ], + "outro": "Predtým bolo potrebné poznať správnu URL inštalátora, skopírovať ju z README a pri nesúlade ručne upraviť config.json. Jednotná možnosť vykoná celý postup ako jednu vedenú akciu." + }, + "dialog": { + "heading": "Dialóg", + "intro": "V hlavnom menu: Nastavenia → Zmeniť kanál vydaní. Zobrazí sa dvojriadkové menu:", + "options": [ + "stable — Stable (vetva main)", + "beta — Beta (vetva develop)" + ], + "behaviour": "Aktuálny kanál je predvolený a zobrazený hore. Výber rovnakého kanála zobrazí správu „Tento kanál vydaní je už aktívny“; dialóg je idempotentný. Výber iného kanála otvorí potvrdenie s textom pre daný kanál:", + "directions": [ + "Stable → Beta: upozorňuje, že beta zostavy môžu obsahovať chyby alebo neúplné funkcie.", + "Beta → Stable: upozorňuje, že kontroly beta aktualizácií sa zastavia a stabilný inštalátor znova nainštaluje komponenty kanála Stable." + ] + }, + "confirm": { + "heading": "Čo sa stane, keď potvrdíte", + "items": [ + "Stiahne oficiálny inštalátor cieľového kanála:
  • Stable: install_proxmenux.sh z main
  • Beta: install_proxmenux_beta.sh z develop
Pred ďalším krokom overí prítomnosť stiahnutého súboru a nastaví ho ako spustiteľný.", + "Spustí celý inštalátor, ten istý, na ktorý odkazuje README. Detekcia komponentov, zálohy súborov, inštalácia závislostí a zachovanie jazyka sa riadia oficiálnym postupom inštalácie cieľového kanála.", + "Pri prepnutí na Stable, menu potom scvrkne akékoľvek zvyšné beta metaúdaje z config.json: beta_program, beta_version, install_branch, update_available.beta* sa odstránia a proxmenux_monitor.status = beta_updated sa normalizuje na updated. Zvyškový súbor beta_version.txt a akýkoľvek stiahnutý beta inštalátor sú odstránené.", + "Pri prepnutí na Stable sa súbor jednotky systemd Monitora prepíše podľa stabilnej šablóny: z popisu sa odstráni prípona „Beta“ a ExecStart opäť ukazuje na adresár behu. Nový výpis systemctl status tak zodpovedá aktuálnemu kanálu.", + "Znova načíta konfiguračné menu. Zobraziť informácie o verzii zobrazí nový kanál." + ] + }, + "switching": { + "heading": "Prepínam dopredu a dozadu", + "intro": "Obidva smery prechádzajú rovnakým inštalačným programom — nie sú špeciálnymi postupmi odinštalovania a preinštalovania. Každý smer jednoducho spúšťa vlastný inštalačný program kanála, ktorý je navrhnutý tak, aby bol idempotentný a bezpečný na opätovné spustenie cez existujúcu inštaláciu. Praktické dôsledky:", + "items": [ + "Existujúca konfigurácia, prihlásenie do ProxMenux Monitor (auth.json), kanály oznámení, register úprav po inštalácii a vlastné prahové hodnoty zostávajú nezmenené. Prepnutie kanála vymení iba strom skriptov a binárny AppImage.", + "Monitor, ktorý bol aktívny pred spínačom zostane aktívny po; ten, ktorý bol deaktivovaný, zostane deaktivovaný.", + "Súbor auth.json, tokeny API a tajomstvo JWT ProxMenux Monitor sa pri zmene kanála zachovajú. Relácie sa neodhlásia.", + "Kanály môžete prepínať ľubovoľne často; dialóg vždy prijme zmenu a znova spustí inštalátor. Reštart Proxmoxu nie je potrebný.", + "Prepnutie kanála nahrádza skripty ProxMenux a nemožno ho vykonať v termináli Monitora v prehliadači: PTY by sa počas aktualizácie ukončil a dialóg by uviazol. V tomto termináli sa namiesto toho zobrazí informačné okno s oficiálnym jednoriadkovým príkazom pre zvolený kanál. Spustite ho cez SSH alebo konzolu hostiteľa Proxmox." + ] + }, + "feedback": { + "heading": "Hlásenie problémov z beta verzie", + "intro": "Ak sa niečo správa nečakane, keď ste na kanáli Beta, otvorenie problému s dostatočným kontextom je to, čo uzatvára medzeru k stabilnému uvoľňovaniu. Najužitočnejšia správa obsahuje:", + "items": [ + "Čo si urobil a čo si čakal, že sa stane.", + "Všetky chybové správy zobrazené na obrazovke.", + "Príslušné protokoly monitora:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "Aktuálna verzia ProxMenux (Nastavenia → Zobraziť informácie o verzii).", + "issueLine": "Otvorte GitHub problém s týmito informáciami a rýchlejšie sa dostaneme k oprave." + }, + "manual": { + "heading": "Ručný ekvivalent", + "intro": "Ak uprednostňujete shell alebo automatizujete prepínanie kanálov, dialóg vykonáva tieto príkazy:" + }, + "unifiedCallout": { + "title": "Prečo sú oba smery teraz jednou možnosťou", + "body": "Pôvodná možnosť „Deaktivovať beta program“ sa zobrazovala iba po pripojení k bete. Na pripojenie bolo potrebné hľadať URL inštalátora inde; na opustenie bolo niekedy nutné ručne vyčistiť metaúdaje beta_*. Možnosť Zmeniť kanál vydaní sa zobrazuje vždy, uvádza aktuálny kanál a oba smery vykonáva ako spustiteľnú, opakovateľnú a idempotentnú operáciu." + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "downloadTitle": "Nepodarilo sa stiahnuť inštalátor", + "downloadBody": "Odchádzajúci HTTPS na raw.githubusercontent.com zlyhal. Skontrolujte pripojenie a DNS z hostiteľa:", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Ak toto zlyhá mimo ProxMenux, je to sieťový / proxy problém na hostiteľa.", + "errorsTitle": "Installer skončil s chybami", + "errorsBody": "Inštalátor vrátil nenulový návratový kód. Automatický návrat zmien neexistuje; niektoré súbory alebo komponenty sa už mohli zmeniť. Pred opakovaním skontrolujte výstup a aktuálny stav. Úplný výstup získate ručným spustením inštalátora cez SSH alebo konzolu hostiteľa.", + "configTitle": "Nie je možné aktualizovať konfiguračný súbor po prepnutí na Stable", + "configBody": "Vyčistenie beta metadát po inštalácii zlyhalo, zvyčajne preto, že config.json má syntax chybu z manuálnej úpravy. Overte ho:", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Opravte alebo obnovte súbor a znova spustite túto možnosť." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Zobraziť informácie o verzii", + "tail": " — Potvrďte, ktorý kanál je teraz aktívny." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": " — služba Monitor, ktorá sa pri prepnutí znova vytvorí." + }, + { + "href": "/docs/settings", + "label": "Prehľad nastavení", + "tail": "." + } + ] + } +} diff --git a/web/messages/sk/docs/settings/change-language.json b/web/messages/sk/docs/settings/change-language.json new file mode 100644 index 00000000..9e0c6ef0 --- /dev/null +++ b/web/messages/sk/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Zmeniť jazyk | Dokumentácia ProxMenux", + "description": "Vyberte si z ôsmich jazykov rozhrania ProxMenux. Každá inštalácia obsahuje vopred vytvorené prekladové katalógy JSON; hostiteľ nepotrebuje prekladovú službu ani prostredie Python. Menu sa automaticky načíta znova.", + "ogTitle": "Zmeniť jazyk | Dokumentácia ProxMenux", + "ogDescription": "Vyberte jeden z ôsmich jazykov ProxMenux v Nastaveniach. Dostupné pri každej inštalácii." + }, + "header": { + "title": "Zmeniť jazyk", + "description": "Prepnite rozhranie ProxMenux medzi ôsmimi podporovanými jazykmi. Výber sa uloží do config.json a menu sa reštartuje v novom jazyku. Každá inštalácia obsahuje prekladové katalógy.", + "section": "Nastavenia" + }, + "intro": { + "title": "Čo to je?", + "body": "Dialóg uvádza osem podporovaných jazykov. ProxMenux uloží váš výber do config.json ako .language a reštartuje config_menu.sh, aby sa zmena ihneď prejavila." + }, + "warn": { + "title": "Dostupné pri každej inštalácii", + "body": "Nastavenia vždy zobrazujú možnosť Zmeniť jazyk. Katalógy sa inštalujú do /usr/local/share/proxmenux/lang/ a vybraný jazyk sa ukladá do config.json. Staršie prekladové prostredie Python nie je potrebné." + }, + "supported": { + "heading": "Podporované jazyky", + "headerCode": "Code", + "headerLang": "Jazyk", + "headerNotes": "Poznámky", + "rows": [ + { + "code": "en", + "lang": "Angličtina", + "notes": "Zdrojový jazyk — najpresnejší" + }, + { + "code": "es", + "lang": "Španielčina", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "fr", + "lang": "Francúzština", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "de", + "lang": "Nemčina", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "it", + "lang": "Taliančina", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "pt", + "lang": "Portugalčina", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "sk", + "lang": "Slovenčina", + "notes": "Vopred vytvorený katalóg JSON" + }, + { + "code": "sv", + "lang": "Švédčina", + "notes": "Vopred vytvorený katalóg JSON" + } + ] + }, + "englishTip": { + "title": "Angličtina je najpresnejšia", + "body": "Texty v iných jazykoch pochádzajú z vopred vytvorených katalógov JSON dodávaných s ProxMenux. Chýbajúce preklady používajú angličtinu; hostiteľ nevolá živú prekladovú službu. Pri pochybnom preklade zostáva referenciou anglický text." + }, + "underHood": { + "heading": "Ako to funguje pod kapotou", + "items": [ + "Dialóg uvádza osem kódov jazykov; vyberte si jeden.", + "Ak config.json existuje: jq --arg lang \"$new_language\" '.language = $lang'' aktualizuje pole na mieste.", + "Ak config.json neexistuje: nový je vytvorený s jazykovým kódom v objekte s jedným poľom.", + "Potvrdzovací dialóg: \"Jazyk bol zmenený na [code]\".", + "exec bash config_menu.sh znova načíta menu Nastavenia s aktivovaným novým jazykom." + ] + }, + "manual": { + "heading": "Ručný ekvivalent" + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "noOptionTitle": "Voľba sa neobjavuje v Nastaveniach", + "noOptionBody": "Možnosť Zmeniť jazyk je v aktuálnych vydaniach vždy dostupná. Ak chýba, aktualizujte ProxMenux oficiálnym inštalátorom a znova otvorte Nastavenia.", + "stillEnglishTitle": "Jazyk sa zmenil, ale rozhranie je stále v angličtine", + "stillEnglishBody": "Po zmene sa menu znova spustí. Ak ste otvorili nový shell a spustili iný vstupný bod ProxMenux, znova spustite menu, aby sa použil nový jazyk. Overte to príkazom jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Zobraziť informácie o verzii", + "tail": " — potvrdzuje kanál vydaní, prekladové súbory a aktuálny jazyk." + }, + { + "href": "/docs/settings", + "label": "Prehľad nastavení", + "tail": "." + } + ] + } +} diff --git a/web/messages/sk/docs/settings/index.json b/web/messages/sk/docs/settings/index.json new file mode 100644 index 00000000..796bd3d9 --- /dev/null +++ b/web/messages/sk/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Nastavenia ProxMenux — Aktivácia Monitora, kanál vydaní, jazyky | ProxMenux", + "description": "Nastavenia ProxMenux: služba Monitor a obnovenie hesla, kanál Stable/Beta, osem jazykov rozhrania, diagnostika verzie a odinštalovanie. Možnosti Monitora sa zobrazujú, keď je služba nainštalovaná.", + "ogTitle": "Nastavenia ProxMenux — Aktivácia Monitora, kanál vydaní, jazyky", + "ogDescription": "Konfigurácia ProxMenux: služba Monitor, kanál vydaní, jazyk, informácie o verzii a odinštalovanie.", + "twitterTitle": "Nastavenie ProxMenux", + "twitterDescription": "Aktivácia Monitora, prepínanie kanála vydaní, jazyky, informácie o verzii a odinštalovanie." + }, + "header": { + "title": "Nastavenia", + "description": "Konfigurujte ProxMenux: aktivujte alebo deaktivujte Monitor, obnovte prihlasovacie údaje, prepínajte medzi Stable a Beta v oboch smeroch, vyberte jeden z ôsmich jazykov, zobrazte diagnostiku verzie a odinštalujte. Akcie Monitora vyžadujú nainštalovanú službu; výber jazyka je vždy dostupný.", + "section": "Nastavenia" + }, + "intro": { + "title": "Na čo je toto menu", + "body": "Správa samotného ProxMenux: služba Monitor, opustenie beta kanála, jazyk, diagnostika verzie a odinštalovanie. Žiadna možnosť v tomto menu nemení vaše VM, kontajnery ani úložisko." + }, + "opening": { + "heading": "Otvorenie menu", + "body": "V hlavnom menu ProxMenux stlačte s. Akcie Monitora sa zobrazia, ak je služba nainštalovaná; ostatné nastavenia sú vždy dostupné:", + "imageAlt": "Menu Nastavenia ProxMenux s podmienenými akciami Monitora" + }, + "installTypes": { + "heading": "Jedna inštalácia, všetky jazyky", + "intro": "Aktuálne vydania obsahujú statické prekladové katalógy JSON v každej inštalácii. Staršie vydania ponúkali samostatné režimy s prekladom a normálny režim:", + "headerType": "Typ inštalácie", + "headerBundles": "Čo obsahuje", + "headerMenu": "Zobrazené možnosti menu", + "rows": [ + { + "type": "Aktuálna inštalácia", + "bundles": "Statické katalógy JSON pre osem jazykov; bez prekladového prostredia Python", + "menuRich": "Zmeniť jazyk + Zobraziť verziu + Odinštalovať" + }, + { + "type": "Staršie režimy s prekladom / normálny", + "bundles": "Zastarané rozdelenie na prekladové prostredie a inštaláciu iba v angličtine", + "menu": "Aktualizujte oficiálnym inštalátorom a používajte aktuálne jednotné menu" + } + ], + "detectionTitle": "Výber jazyka je vždy dostupný", + "detectionBody": "Menu už nekontroluje prekladové prostredie. Každá inštalácia obsahuje /usr/local/share/proxmenux/lang/ a ukladá zvolenú hodnotu language do config.json." + }, + "options": { + "heading": "Možnosti menu", + "intro": "Tieto nástroje spravujú samotný ProxMenux. Podmienené znamená, že akcie Monitora sa zobrazia iba pri nainštalovanej službe systemd. Kanál vydaní, jazyk, diagnostika verzie a odinštalovanie sú vždy dostupné.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Aktivujte alebo deaktivujte jednotku systemd proxmenux-monitor.service, skontrolujte jej aktuálny stav a v prípade straty obnovte prihlasovacie heslo ovládacieho panela. Webové rozhranie je dostupné na porte TCP 8008.", + "badge": "Podmienené" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Zmeniť kanál vydaní", + "description": "Prepínajte medzi Stable (main) a Beta (develop) v oboch smeroch v jednom dialógu. Spustí oficiálny inštalátor zvoleného kanála; je idempotentný a vždy viditeľný.", + "badge": "Vždy k dispozícii" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Zobraziť informácie o verzii", + "description": "Verzia ProxMenux, kanál vydaní, nainštalované komponenty, cesty k súborom, prekladové súbory a aktuálny jazyk." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Odinštalovať ProxMenux", + "description": "Odstrániť ProxMenux a (voliteľne) jeho závislosti. Tiež obnovuje zálohy /root/.bashrc a /etc/motd vytvorené v čase inštalácie." + } + ] + }, + "configTip": { + "title": "Kde je uložená konfigurácia", + "bodyRich": "Väčšina stavu spravovaného týmto menu je uložená v /usr/local/share/proxmenux/config.json: language, beta_program.status a príznaky inštalácie jednotlivých komponentov. Stav služby Monitor spravuje systemd (proxmenux-monitor.service), nie tento súbor. Verzia sa načítava z /usr/local/share/proxmenux/version.txt." + } +} diff --git a/web/messages/sk/docs/settings/proxmenux-monitor.json b/web/messages/sk/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..caa61e93 --- /dev/null +++ b/web/messages/sk/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | Dokumentácia ProxMenux", + "description": "Aktivujte alebo deaktivujte jednotku systemd proxmenux-monitor.service a skontrolujte jej aktuálny stav. Monitor poskytuje webové rozhranie na porte TCP 8008 na vizuálne monitorovanie hostiteľa.", + "ogTitle": "ProxMenux Monitor | Dokumentácia ProxMenux", + "ogDescription": "Aktivujte alebo deaktivujte službu systemd proxmenux-monitor a skontrolujte jej stav v Nastaveniach." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Dve súvisiace akcie v Nastaveniach: aktivovať alebo deaktivovať jednotku systemd proxmenux-monitor.service (spustiť/zastaviť a povoliť/zakázať automatický štart naraz) a zobraziť jej podrobný stav. Monitor poskytuje webové rozhranie na porte TCP 8008 na vizuálne monitorovanie hostiteľa.", + "section": "Nastavenia" + }, + "intro": { + "title": "Čo je ProxMenux Monitor?", + "body": "ProxMenux Monitor je integrovaný webový ovládací panel, ktorý zobrazuje stav infraštruktúry Proxmox v reálnom čase. Je dostupný z ľubovoľného prehliadača vo vašej sieti bez potreby terminálu." + }, + "offers": { + "heading": "Čo ponúka", + "items": [ + "Monitorovanie CPU, RAM, používanie disku a sieťová prevádzka v reálnom čase.", + "Prehľad prevádzkovaných VMs a LXC kontajnerov s indikátormi stavu.", + "Overenie prihlásenia na ochranu prístupu.", + "Dvojfaktorové overovanie (2FA) s podporou TOTP.", + "Reverzná proxy podpora (Nginx / Traefik).", + "Navrhnuté pre prácu cez stolové a mobilné zariadenia." + ] + }, + "access": { + "heading": "Prístup", + "intro": "Po inštalácii je ovládací panel dostupný na adrese:", + "url": "http://:8008", + "outro": "Monitor je automaticky nainštalovaný ako súčasť štandardnej inštalácie ProxMenux a beží ako služba systemd (proxmenux-monitor.service), ktorá sa spustí automaticky pri štarte." + }, + "warnConditional": { + "title": "Možnosti nastavenia iba viditeľné pri inštalácii monitora", + "body": "V Nastaveniach sa zobrazujú dva nižšie uvedené položky menu, len ak je proxmenux-monitor.service registrovaný systemd. Ak ich nevidíte, monitor nebol nainštalovaný (je voliteľný počas inštalácie ProxMenux). Ak chcete pridať neskôr, preinštalujte ProxMenux s najnovšou verziou a vyberte možnosť Monitor." + }, + "toggle": { + "heading": "Aktivovať / deaktivovať", + "intro": "Prvá položka menu prepína medzi dvoma stavmi podľa toho, či služba práve beží:", + "headerState": "Súčasný stav", + "headerLabel": "Zobrazený štítok menu", + "headerAction": "Akcia na potvrdenie", + "rows": [ + { + "state": "aktívne", + "label": "Vypnúť ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "neaktívne", + "label": "Zapnúť ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Každé prepnutie vyžaduje potvrdenie áno/nie. Deaktivácia zastaví službu a zakáže jej automatický štart; aktivácia povolí automatický štart a službu ihneď spustí." + }, + "status": { + "heading": "Zobraziť stav služby Monitor", + "intro": "Druhá položka menu je len na čítanie. Vyčistí obrazovku, zobrazí logo ProxMenux a názov \"ProxMenux Monitor Service Verification\", potom uvádza:", + "items": [ + "Stav Service: aktívny, neaktívny alebo not_installed.", + "Web UI URL (iba ak je aktívny): http://<host_ip>:8008 Odvodené od hostname -I | awk '''{print $1}'''.", + "Podrobné systemd výstup: systemctl status proxmenux-monitor.service --no-pager -l Znázorňuje posledné logovacie riadky, ExecStart, MainPIDatď." + ] + }, + "manual": { + "title": "Ručné ekvivalenty", + "intro": "Z ľubovoľného shellu:", + "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": "Obnoviť heslo pre ProxMenux Monitor", + "intro": "Cesta obnovy pre operátora, ktorý stratil heslo palubnej dosky (alebo zariadenie 2FA). Voľba sa zobrazí iba vtedy, keď je monitor nainštalovaný na hostiteľa. Výber:", + "items": [ + "Požiada o potvrdenie pomocou dialógového okna áno/nie – akcia je deštruktívna pre prihlasovacie údaje.", + "Zálohuje existujúci /root/.config/proxmenux-monitor/auth.json na auth.json.bak-<UTC timestamp> (režim 0600), takže predchádzajúci stav môže byť obnovený manuálne, ak reset bol chyba.", + "Zastaví službu proxmenux-monitor, aby sa úprava súboru nedostala do konfliktu s prebiehajúcim prihlásením.", + "Vymaže údaje identity v auth.json: nastaví enabled=false, configured=false a vyprázdni username, password_hash, totp_secret aj pole záložných kódov.", + "Zachová jwt_secret a zaregistrované api_tokens / revoked_tokens, takže dlhodobé tokeny API používané Home Assistantom alebo inými skriptmi naďalej umožňujú overenie aj po obnovení.", + "Reštartuje službu. Ďalšia návšteva http://<host>:8008 ukazuje sprievodcu nastavením prvého štartu, aby bolo možné vytvoriť nový účet admin." + ], + "preservedTitle": "Čo prežije reset, čo nie", + "preservedBody": "Vymazané: meno používateľa, hash hesla, tajomstvo TOTP pre 2FA a záložné kódy. Zachované: jwt_secret, metaúdaje api_tokens a zoznam revoked_tokens. Ak chcete zrušiť aj všetky tokeny API a začať odznova, ručne odstráňte auth.json namiesto použitia tejto možnosti. Pri ďalšom štarte služba znova vytvorí tajomstvo JWT a všetky ostatné údaje.", + "trustTitle": "Prístup k hostiteľovi je základom dôvery", + "trustBody": "Tento postup obnovenia vyžaduje root shell na hostiteľovi. Kto môže spustiť menu ako root, už ovláda celý systém; obnova hesla preto nepredstavuje zvýšenie oprávnení a zodpovedá správaniu ostatných nástrojov správy Proxmoxu. Prihlásenie do Monitora nechráni systém pred osobou, ktorej ste už umožnili prístup do shellu Proxmoxu.", + "seeAlso": "Pozrite aj Monitor → Prístup a overovanie → Obnovenie strateného hesla, kde je rovnaký postup opísaný z pohľadu ovládacieho panela spolu s podrobnosťami o hashovaní hesiel a generovaní tajomstva JWT." + }, + "files": { + "heading": "Príslušné súbory", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "missingTitle": "Obe možnosti menu chýbajú", + "missingBody": "Monitor nie je registrovaný na systemd. Potvrďte systemctl list-unit-files | grep proxmenux-monitor Ak nie je výstup, preinštalujte ProxMenux od oficiálneho inštalátora s najnovšou verziou a vyberte možnosť Monitor počas inštalácie.", + "unreachableTitle": "Služba aktivovaná, ale URL je nedostupná", + "unreachableBody": "Stavový výstup Nastavenia vám dáva IP. Potvrdiť:", + "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": "Ak prístup cez localhost funguje, ale zvonka nie, skontrolujte firewall hostiteľa (pve-firewall alebo nftables) pre prichádzajúce spojenia na TCP 8008.", + "stopsTitle": "Aktivoval službu, ale zastaví sa o pár sekúnd neskôr", + "stopsBody": "Najčastejšie ide o konflikt na porte 8008 alebo zlyhanie kontroly závislostí. Príčinu ukáže systémový denník: journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": "— [proxmenux] jail chráni monitor na TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Prehľad nastavení", + "tail": "." + } + ] + } +} diff --git a/web/messages/sk/docs/settings/show-version-information.json b/web/messages/sk/docs/settings/show-version-information.json new file mode 100644 index 00000000..8f566a3b --- /dev/null +++ b/web/messages/sk/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Zobraziť informácie o verzii | Dokumentácia ProxMenux", + "description": "Diagnostika ProxMenux iba na čítanie: verzia, kanál vydaní, komponenty zaznamenané v config.json, cesty k súborom, prekladové katalógy a aktuálny jazyk.", + "ogTitle": "Zobraziť informácie o verzii | Dokumentácia ProxMenux", + "ogDescription": "Diagnostický výpis verzie ProxMenux, kanála vydaní, komponentov, súborov a jazyka." + }, + "header": { + "title": "Zobraziť informácie o verzii", + "description": "Diagnostika iba na čítanie. Načíta version.txt, config.json a známe cesty k súborom a zobrazí posúvateľné textové pole s verziou, kanálom vydaní, nainštalovanými komponentmi, prítomnosťou súborov, prekladovými súbormi a aktuálnym jazykom.", + "section": "Nastavenia" + }, + "intro": { + "title": "Čo to je?", + "body": "Vlastná diagnostika. Užitočná pri nahlasovaní problému (vložte obsah dialógu do hlásenia chyby) alebo na overenie úspešného dokončenia inštalácie. Nič nemení." + }, + "reports": { + "heading": "Čo hlási", + "headerSection": "Oddiel", + "headerSource": "Zdroj", + "headerContent": "Obsah", + "rows": [ + { + "section": "Aktuálna verzia", + "source": "version.txt", + "contentRich": "Jednoriadkové číslo verzie; Unknown, ak chýba súbor" + }, + { + "section": "Kanál vydaní", + "source": "Stav beta programu v config.json", + "content": "Stable (main) alebo Beta (develop); beta verzia, ak je dostupná" + }, + { + "section": "Inštalované komponenty", + "source": "config.json", + "content": "Stav každého komponentu (✓ nainštalovaný / vytvorený / aktualizovaný, ✗ chýba)" + }, + { + "section": "Súbory ProxMenux", + "source": "kontroly súborového systému", + "contentRich": "menu, utils.sh, config.json, prítomnosť version.txt + cesty" + }, + { + "section": "Prekladové súbory", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Prítomnosť adresára lang/ dodávaného s každou inštaláciou" + }, + { + "section": "Aktuálny jazyk", + "source": "config.json", + "contentRich": "Kód jazyka z .language; ak nie je nastavený, použije en" + } + ] + }, + "sampleHeading": "Výstup vzorky", + "manualHeading": "Ručné ekvivalenty", + "troubleshoot": { + "heading": "Riešenie problémov", + "unknownTitle": "Verzia zobrazuje \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt chýba alebo nie je čitateľný. Najčastejšie spôsobené čiastočnou inštaláciou. Preinštalovať z oficiálneho zdroja ProxMenux.", + "noConfigTitle": "Nie sú k dispozícii žiadne informácie o inštalácii", + "noConfigBody": "config.json chýba. Bez neho skript nedokáže vypísať komponenty. Preinštalovaním súbor obnovíte.", + "wrongStatusTitle": "Komponent zobrazuje ✗, hoci som si istý, že som ho nainštaloval", + "wrongStatusBody": "To znamená, že config.json nesleduje ten komponent ako nainštalovaný, môže to byť skript, ktorý sa ešte sám neregistruje, alebo manuálna inštalácia, ktorá obíde ProxMenux. Dialóg odráža to, čo hovorí config.json, nie to, čo je vlastne na disku." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Odinštalovať ProxMenux", + "tail": " — Odstrániť všetky tieto súbory." + }, + { + "href": "/docs/settings", + "label": "Prehľad nastavení", + "tail": "." + } + ] + } +} diff --git a/web/messages/sk/docs/settings/uninstall-proxmenux.json b/web/messages/sk/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..a32c8db3 --- /dev/null +++ b/web/messages/sk/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "Odinštalovať ProxMenux | Dokumentácia ProxMenux", + "description": "Čisté odinštalovanie ProxMenux s voliteľným odstránením jq a dialog, vyčistením starých prekladových súborov a služby Monitor a obnovením záloh systémových súborov.", + "ogTitle": "Odinštalovať ProxMenux | Dokumentácia ProxMenux", + "ogDescription": "Čisté odstránenie ProxMenux z hostiteľa Proxmox s voliteľným vyčistením závislostí." + }, + "header": { + "title": "Odinštalovať ProxMenux", + "description": "Odstráni ProxMenux z hostiteľa Proxmox interaktívnym postupom: potvrdenie, voliteľné odstránenie závislostí, vyčistenie služby ProxMenux Monitor a obnovenie záloh /root/.bashrc a /etc/motd. Počas celého postupu zobrazuje ukazovateľ priebehu.", + "section": "Nastavenia" + }, + "scopeWarn": { + "title": "Ovplyvní iba inštaláciu ProxMenux — nie vaše VM / CT / úložisko", + "body": "Odinštalovanie odstráni skripty ProxMenux, spúšťač menu, voliteľnú službu Monitor a zálohy systémových súborov, ktoré ProxMenux vytvoril počas inštalácie. Nemení vaše VM, kontajnery, úložisko, konfiguráciu siete, Fail2Ban, ovládač NVIDIA ani nič iné nainštalované cez ProxMenux. Tieto súčasti zostanú nezmenené." + }, + "flow": { + "heading": "Postup odinštalovania", + "items": [ + "Potvrdzovací dialóg. Áno/nie: „Naozaj chcete odinštalovať ProxMenux?“", + "Zoznam závislostí na odstránenie. Ponúka jq a dialog. Obe políčka sú predvolene vypnuté; vyberte iba závislosti, ktoré nepotrebuje žiadna iná aplikácia.", + "Odstraňovanie zobrazuje ukazovateľ priebehu. Odstráni prípadné zvyšné staré prekladové prostredie, spúšťač menu, strom /usr/local/share/proxmenux/, službu ProxMenux Monitor, ak existuje, spolu s cieľom oznámení zaregistrovaným v Proxmox VE (proxmenux-webhook a jeho pravidlo zhody) a vybrané závislosti. Nakoniec obnoví zálohy systémových súborov (pozri nižšie).", + "Záverečný dialóg. Vypíše odstránené závislosti a ukončí program." + ] + }, + "deps": { + "heading": "Odstránenie závislosti: čo ponúkame", + "intro": "Zoznam ponúka jq a dialog. Žiadne políčko nie je predvolene začiarknuté: tieto systémové balíky môžu používať iné aplikácie, preto je bezpečnejšie ich ponechať.", + "headerType": "Inštalácia", + "headerOffered": "Ponúkané na odstránenie", + "rows": [ + { + "type": "Aktuálne vydania", + "offeredRich": "dialog, jq" + }, + { + "type": "Staršie inštalácie po aktualizácii", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Systémové balíky — odstránenie si dobre premyslite", + "warnBody": "Aktuálny zoznam ponúka jq a dialog, nie python3. Tieto systémové balíky môžu potrebovať iné nástroje. Odstránenie môže odstrániť aj závislé balíky alebo nepoužívané závislosti. Potrebné balíky ponechajte a pred ručným spustením apt skontrolujte navrhované odstránenie." + }, + "removed": { + "heading": "Čo sa odstráni", + "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": "Čo sa obnoví", + "items": [ + "Ak /root/.bashrc.bak existuje → premenovaná späť na /root/.bashrc (vaše pôvodné Bashrc vracia).", + "Ak existuje /etc/motd.bak, premenuje sa späť na /etc/motd. Inak sed odstráni riadok ProxMenux (“This system is optimised by: ProxMenux”) z existujúceho motd." + ] + }, + "othersCallout": { + "title": "Ostatné ProxMenux-inštalované komponenty zostávajú", + "body": "Súčasti, ktoré ProxMenux nainštaloval cez iné menu — Fail2Ban, Lynis, ovládače NVIDIA či úpravy po inštalácii — tento odinštalátor nemení. Každá má vlastný postup odinštalovania vo svojom menu (alebo ju môžete odstrániť priamo pomocou apt). Najprv otvorte Zobraziť informácie o verzii, aby ste videli, čo je zaregistrované." + }, + "manual": { + "heading": "Ručné odinštalovanie", + "intro": "Ak z nejakého dôvodu menu odinštalátor nemôže bežať (napr. dialog už chýba), ekvivalentná manuálna sekvencia:", + "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": "Preinštalácia neskôr", + "body": "Znova spustite oficiálny inštalátor ProxMenux. Aktuálne vydania používajú jeden spôsob inštalácie so všetkými ôsmimi jazykmi rozhrania." + }, + "troubleshoot": { + "heading": "Riešenie problémov", + "hangTitle": "Odinštalovanie sa zasekne pri odstraňovaní starého prekladového prostredia", + "hangBody": "Aktuálne vydania odstraňujú zvyšné prostredie príkazom rm -rf /opt/googletrans-env; nespúšťajú pip uninstall. Ak sa tento krok zasekne, preskúmajte ho z iného shellu a pred opakovaním skontrolujte súborový systém hostiteľa.", + "aptTitle": "apt upozorňuje na stále používané balíky pri odstraňovaní závislostí", + "aptBody": "Vybrané balíky sa označia ako automatické a odovzdajú príkazu apt-get -y --purge autoremove. To nezaručuje ochranu závislých služieb. Závislosti potrebné pre iné nástroje nevyberajte a pred ručným čistením skontrolujte odstránenia navrhnuté nástrojom apt.", + "motdTitle": "MOTD po odinštalovaní stále zobrazuje riadok ProxMenux", + "motdBody": "Môže sa to stať, ak /etc/motd.bak neexistoval a sed nenašiel riadok (napríklad bol upravený). Ručne upravte /etc/motd a odstráňte všetky zostávajúce riadky ProxMenux." + }, + "related": { + "heading": "Súvisiace", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Zobraziť informácie o verzii", + "tail": " — pred odinštalovaním zistite, čo by sa odstránilo." + }, + { + "href": "/docs/settings", + "label": "Prehľad nastavení", + "tail": "." + } + ] + } +} diff --git a/web/messages/sv/docs/settings/beta-program.json b/web/messages/sv/docs/settings/beta-program.json new file mode 100644 index 00000000..1f587171 --- /dev/null +++ b/web/messages/sv/docs/settings/beta-program.json @@ -0,0 +1,113 @@ +{ + "meta": { + "title": "Byt versionskanal | ProxMenux-dokumentation", + "description": "Växla mellan ProxMenux-kanalerna Stable (main) och Beta (develop) i en dialogruta. Dubbelriktat och idempotent; kör den officiella installeraren för vald kanal och normaliserar Monitor-tjänsten.", + "ogTitle": "Byt versionskanal | ProxMenux-dokumentation", + "ogDescription": "Ett alternativ i Inställningar för att växla mellan Stable och Beta utan att köra installerare manuellt." + }, + "header": { + "title": "Byt versionskanal", + "description": "Ett gemensamt alternativ i Inställningar växlar ProxMenux mellan Stable (grenen main) och Beta (grenen develop). Det tidigare enkelriktade ”Inaktivera betaprogram” har ersatts av en dubbelriktad dialog som erbjuder båda riktningarna och kör den officiella installeraren för vald kanal.", + "section": "Inställningar" + }, + "intro": { + "title": "Vad förändrats", + "body": "Tidigare fanns två flöden: ”Inaktivera betaprogram”, bara synligt med aktiv beta, och en manuell omkörning av betainstalleraren för att gå med igen. De har slagits ihop till Byt versionskanal, som alltid visas, anger aktuell kanal och låter dig växla mellan Stable och Beta i båda riktningarna." + }, + "why": { + "heading": "Varför det här alternativet finns", + "intro": "ProxMenux distribueras från två Git-grenar:", + "items": [ + "Stable: grenen main, som README länkar till och som de flesta administratörer föredrar. Versionerna släpps mer sällan och innehåller bara ändringar som redan validerats i beta.", + "Beta: grenen develop. Nyare funktioner och Monitor-byggen med taggen som nästa stabila version ärver. Vissa saker kan fungera bristfälligt; genom att välja kanalen deltar du i testerna före lansering." + ], + "outro": "Tidigare behövde du hitta rätt installationsadress i README och redigera config.json manuellt om något blev osynkroniserat. Det gemensamma alternativet utför hela flödet som en enda guidad åtgärd." + }, + "dialog": { + "heading": "Dialogen", + "intro": "I huvudmenyn: Inställningar → Byt versionskanal. En meny med två rader visas:", + "options": [ + "stable — Stable (grenen main)", + "beta — Beta (grenen develop)" + ], + "behaviour": "Aktuell kanal är förvald och visas högst upp. Samma val visar ”Den här versionskanalen är redan aktiv”; dialogen är idempotent. En annan kanal visar en bekräftelse med kanalspecifik text:", + "directions": [ + "Stable → Beta: varnar för att betaversioner kan innehålla fel eller ofullständiga funktioner.", + "Beta → Stable: varnar för att beta-uppdateringskontroller kommer att sluta och den stabila installatören kommer att installera om Stable-kanalkomponenterna." + ] + }, + "confirm": { + "heading": "Vad händer när du bekräftar", + "items": [ + "Laddar ned den officiella installeraren för målkanalen:
  • Stable: install_proxmenux.sh från main
  • Beta: install_proxmenux_beta.sh från develop
Kontrollerar att filen finns och gör den körbar före nästa steg.", + "Kör hela installeraren, samma som README länkar till. Komponentdetektering, säkerhetskopior, installation av beroenden och bevarande av språk följer målkanalens officiella installationsflöde.", + "När du byter till Stable, menyn sedan beskär någon överbliven beta metadata från config.json: beta_program, beta_version, install_branch, update_available.beta* raderas, och proxmenux_monitor.status = beta_updated normaliseras till updated. Den överblivna beta_version.txt-filen och alla nedladdade beta-installatörer tas bort.", + "Vid byte till Stable skrivs Monitors systemd-enhet om från Stable-mallen: ”Beta” tas bort ur beskrivningen och ExecStart pekar åter på körningskatalogen. En ny systemctl status visar då aktuell kanal.", + "Laddar om konfigurationsmenyn. Visa versionsinformation visar sedan den nya kanalen." + ] + }, + "switching": { + "heading": "Växla fram och tillbaka", + "intro": "Båda riktningarna går igenom samma installationsprogram – de är inte specialcase avinstallations- + ominstallationsflöden. Varje riktning kör helt enkelt kanalens eget installationsprogram, som är designat för att vara idempotent och säkert att köra om över en befintlig installation. Praktiska konsekvenser:", + "items": [ + "Din befintliga konfig, ProxMenux Monitor inloggning (auth.json), meddelandekanaler, post-install registret, anpassade trösklar - ingen av dem berörs. Kanalbrytaren byter bara skriptträdet och den binära AppImage.", + "En Monitor som var aktiv före bytet är aktiv även efteråt; en inaktiverad Monitor förblir inaktiverad.", + "ProxMenux Monitors auth.json, API-token och JWT-hemlighet bevaras vid kanalbyten. Sessionerna loggas inte ut.", + "Du kan vända kanaler så många gånger du vill - dialogrutan accepterar det varje gång och kör installationsprogrammet. Ingen omstart av Proxmox krävs.", + "Kanalbytet ersätter ProxMenux-skripten och kan inte köras i Monitors webbläsarterminal: PTY:n skulle stängas mitt i uppdateringen och lämna dialogen avbruten. Där visas i stället ett informationsfönster med det officiella enradsinstallationskommandot för målkanalen. Kör det via SSH eller Proxmox-värdens konsol." + ] + }, + "feedback": { + "heading": "Rapportera problem i beta", + "intro": "Om något beter sig oväntat medan du är på Beta-kanalen, öppnar ett problem med tillräckligt sammanhang är det som stänger klyftan till en stabil release. Den mest användbara rapporten inkluderar:", + "items": [ + "Vad du gjorde och vad du förväntade dig att hända.", + "Alla felmeddelanden som visas på skärmen.", + "De relevanta övervakningsloggarna:" + ], + "logsCommand": "journalctl -u proxmenux-monitor -n 50 --no-pager", + "versionLine": "Aktuell ProxMenux-version (Inställningar → Visa versionsinformation).", + "issueLine": "Öppna en GitHub Issue med den informationen och vi kommer till rätta snabbare." + }, + "manual": { + "heading": "Manuell motsvarighet", + "intro": "Om du föredrar skalet eller automatiserar kanalbytet är det dessa kommandon dialogen kör:" + }, + "unifiedCallout": { + "title": "Varför båda riktningarna nu är ett alternativ", + "body": "Det tidigare ”Inaktivera betaprogram” visades bara efter att värden gått med i beta. För att gå med fick man söka installeraren någon annanstans; för att lämna behövde man ibland rensa beta_*-metadata manuellt. Byt versionskanal visas alltid, anger aktuell kanal och hanterar båda riktningarna som en körbar, upprepningsbar och idempotent operation." + }, + "troubleshoot": { + "heading": "Felsökning", + "downloadTitle": "\"Kan inte ladda ner installationsprogrammet\"", + "downloadBody": "Utgående HTTPS till raw.githubusercontent.com misslyckades. Kontrollera anslutning och DNS från värden:", + "downloadCmd": "curl -fsSL -o /tmp/test https://raw.githubusercontent.com/MacRimi/ProxMenux/main/install_proxmenux.sh && head -1 /tmp/test", + "downloadOutro": "Om detta misslyckas utanför ProxMenux är det ett nätverk / proxyproblem på värden.", + "errorsTitle": "\"Installer slutade med fel\"", + "errorsBody": "Installeraren returnerade en slutkod som inte är noll. Ingen automatisk återställning sker; vissa filer eller komponenter kan redan ha ändrats. Granska utdata och aktuellt tillstånd innan du försöker igen. Kör installeraren manuellt via SSH eller värdkonsolen för fullständiga utdata.", + "configTitle": "\"Kan inte uppdatera konfigfil\" efter att ha bytt till Stable", + "configBody": "Post-install rensningen av beta metadata misslyckades - vanligtvis eftersom config.json har ett syntaxfel från en manuell redigering. Validera det:", + "configCmd": "jq . /usr/local/share/proxmenux/config.json", + "configOutro": "Rätta eller återställ filen och kör alternativet igen." + }, + "related": { + "heading": "Relaterad", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Visa versionsinformation", + "tail": " — bekräfta vilken kanal som är aktiv nu." + }, + { + "href": "/docs/settings/proxmenux-monitor", + "label": "ProxMenux Monitor", + "tail": " — Monitor-tjänsten som skapas om vid kanalbytet." + }, + { + "href": "/docs/settings", + "label": "Översikt över inställningar", + "tail": "." + } + ] + } +} diff --git a/web/messages/sv/docs/settings/change-language.json b/web/messages/sv/docs/settings/change-language.json new file mode 100644 index 00000000..78eb487b --- /dev/null +++ b/web/messages/sv/docs/settings/change-language.json @@ -0,0 +1,108 @@ +{ + "meta": { + "title": "Byt språk | ProxMenux-dokumentation", + "description": "Välj mellan åtta språk för ProxMenux. Varje installation innehåller förgenererade JSON-kataloger med översättningar; ingen översättningstjänst eller Python-miljö behövs på värden. Menyn laddas om automatiskt.", + "ogTitle": "Byt språk | ProxMenux-dokumentation", + "ogDescription": "Välj ett av åtta språk för ProxMenux i Inställningar. Tillgängligt i varje installation." + }, + "header": { + "title": "Byt språk", + "description": "Byt språk i ProxMenux mellan åtta språk som stöds. Valet sparas i config.json och menyn startas om på det nya språket. Varje installation innehåller översättningskatalogerna.", + "section": "Inställningar" + }, + "intro": { + "title": "Vad detta är", + "body": "En dialog visar de åtta språken som stöds. ProxMenux sparar ditt val i config.json som .language och startar sedan om config_menu.sh så att det används direkt." + }, + "warn": { + "title": "Tillgängligt i varje installation", + "body": "Inställningar visar alltid Byt språk. Katalogerna installeras i /usr/local/share/proxmenux/lang/ och det valda språket lagras i config.json. Den äldre Python-miljön för översättning behövs inte." + }, + "supported": { + "heading": "Stödda språk", + "headerCode": "Code", + "headerLang": "Språk", + "headerNotes": "Anteckningar", + "rows": [ + { + "code": "en", + "lang": "engelska", + "notes": "Källspråk — mest korrekt" + }, + { + "code": "es", + "lang": "spanska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "fr", + "lang": "franska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "de", + "lang": "tyska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "it", + "lang": "italienska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "pt", + "lang": "portugisiska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "sk", + "lang": "slovakiska", + "notes": "Förgenererad JSON-katalog" + }, + { + "code": "sv", + "lang": "svenska", + "notes": "Förgenererad JSON-katalog" + } + ] + }, + "englishTip": { + "title": "Engelska är den mest exakta", + "body": "Texter på andra språk hämtas från förgenererade JSON-kataloger som ingår i ProxMenux. Saknade översättningar ersätts med engelska; inga direkta översättningsanrop görs på värden. Engelskan är referensen vid tveksamma översättningar." + }, + "underHood": { + "heading": "Hur det fungerar under huven", + "items": [ + "Dialogen visar åtta språkkoder; välj en.", + "Om config.json finns uppdaterar jq --arg lang \"$new_language\" '.language = $lang'' fältet på plats.", + "Om config.json inte existerar: en ny skapas med språkkoden i ett enda fältobjekt.", + "Bekräftelsedialog: \"Språket har ändrats till [code]\".", + "exec bash config_menu.sh laddar om menyn Inställningar med det nya språket aktivt." + ] + }, + "manual": { + "heading": "Manuell motsvarighet" + }, + "troubleshoot": { + "heading": "Felsökning", + "noOptionTitle": "Alternativ visas inte i Inställningar", + "noOptionBody": "Byt språk är alltid tillgängligt i aktuella versioner. Om alternativet saknas uppdaterar du ProxMenux med den officiella installeraren och öppnar Inställningar igen.", + "stillEnglishTitle": "Språket har ändrats men gränssnittet är fortfarande på engelska", + "stillEnglishBody": "Menyn startas om efter ändringen. Om du har öppnat ett nytt skal och startat en annan ingång till ProxMenux kör du menu igen för att använda det nya språket. Kontrollera med jq -r '.language' /usr/local/share/proxmenux/config.json." + }, + "related": { + "heading": "Relaterad", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Visa versionsinformation", + "tail": " — bekräftar versionskanal, översättningsfiler och aktuellt språk." + }, + { + "href": "/docs/settings", + "label": "Översikt över inställningar", + "tail": "." + } + ] + } +} diff --git a/web/messages/sv/docs/settings/index.json b/web/messages/sv/docs/settings/index.json new file mode 100644 index 00000000..b4d88c0b --- /dev/null +++ b/web/messages/sv/docs/settings/index.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "ProxMenux-inställningar — Aktivering av Monitor, versionskanal, språk | ProxMenux", + "description": "ProxMenux-inställningar: Monitor-tjänst och lösenordsåterställning, Stable/Beta-kanal, åtta gränssnittsspråk, versionsdiagnostik och avinstallation. Monitor-alternativen visas när tjänsten är installerad.", + "ogTitle": "ProxMenux-inställningar — Aktivering av Monitor, versionskanal, språk", + "ogDescription": "Konfigurera ProxMenux: Monitor-tjänst, versionskanal, språk, versionsinformation och avinstallation.", + "twitterTitle": "ProxMenux Inställningar", + "twitterDescription": "Aktivering av Monitor, byte av versionskanal, språk, versionsinformation och avinstallation." + }, + "header": { + "title": "Inställningar", + "description": "Konfigurera ProxMenux: aktivera eller inaktivera Monitor, återställ dess inloggningsuppgifter, växla mellan Stable och Beta i båda riktningarna, välj ett av åtta språk, visa versionsdiagnostik och avinstallera. Monitor-åtgärder kräver att tjänsten är installerad; språkvalet är alltid tillgängligt.", + "section": "Inställningar" + }, + "intro": { + "title": "Vad denna meny är för", + "body": "Administration av ProxMenux självt: Monitor-tjänst, lämna betakanalen, språk, versionsdiagnostik och avinstallation. Inget i menyn ändrar dina virtuella maskiner, containrar eller lagring." + }, + "opening": { + "heading": "Öppna menyn", + "body": "Tryck på s i ProxMenux huvudmeny. Monitor-åtgärder visas om tjänsten är installerad; övriga inställningar är alltid tillgängliga:", + "imageAlt": "ProxMenux inställningsmeny med villkorliga Monitor-åtgärder" + }, + "installTypes": { + "heading": "En installation, alla språk", + "intro": "Aktuella versioner inkluderar statiska JSON-kataloger i varje installation. Äldre versioner erbjöd separata lägen med översättning och Normal:", + "headerType": "Installationstyp", + "headerBundles": "Vad som ingår", + "headerMenu": "Menyn visar", + "rows": [ + { + "type": "Aktuell installation", + "bundles": "Statiska JSON-kataloger för åtta språk; ingen Python-miljö för översättning", + "menuRich": "Byt språk + Visa version + Avinstallera" + }, + { + "type": "Äldre lägen med översättning / Normal", + "bundles": "Föråldrad uppdelning mellan översättningsmiljö och installation enbart på engelska", + "menu": "Uppdatera med den officiella installeraren för att använda den gemensamma menyn" + } + ], + "detectionTitle": "Språkvalet är alltid tillgängligt", + "detectionBody": "Menyn kontrollerar inte längre en översättningsmiljö. Varje installation innehåller /usr/local/share/proxmenux/lang/ och sparar vald language i config.json." + }, + "options": { + "heading": "Menyalternativ", + "intro": "Verktygen hanterar ProxMenux självt. Villkorligt betyder att Monitor-åtgärder bara visas när dess systemd-tjänst är installerad. Versionskanal, språk, versionsdiagnostik och avinstallation är alltid tillgängliga.", + "list": [ + { + "icon": "Activity", + "href": "/docs/settings/proxmenux-monitor", + "title": "ProxMenux Monitor", + "description": "Aktivera / inaktivera proxmenux-monitor.service systemd-enheten, kontrollera dess nuvarande tillstånd och återställa inloggningslösenordet om det har gått förlorat. Web UI tillgängligt på TCP 8008.", + "badge": "Villkorligt" + }, + { + "icon": "TestTube", + "href": "/docs/settings/beta-program", + "title": "Byt versionskanal", + "description": "Växla mellan Stable (main) och Beta (develop) i båda riktningarna från en enda dialogruta. Kör den officiella installeraren för den valda kanalen; idempotent och alltid synlig.", + "badge": "Alltid tillgänglig" + }, + { + "icon": "Info", + "href": "/docs/settings/show-version-information", + "title": "Visa versionsinformation", + "description": "ProxMenux-version, versionskanal, installerade komponenter, filvägar, översättningsfiler och aktuellt språk." + }, + { + "icon": "Trash2", + "href": "/docs/settings/uninstall-proxmenux", + "title": "Avinstallera ProxMenux", + "description": "Ta bort ProxMenux och (valfritt) dess beroenden. Återställer också /root/.bashrc och /etc/motd säkerhetskopior skapade vid installationstid." + } + ] + }, + "configTip": { + "title": "Var konfigurationen lagras", + "bodyRich": "Det mesta av tillståndet som hanteras av menyn lagras i /usr/local/share/proxmenux/config.json: language, beta_program.status och installationsflaggor per komponent. Monitor-tjänstens tillstånd hanteras i systemd (proxmenux-monitor.service), inte här. Versionen läses från /usr/local/share/proxmenux/version.txt." + } +} diff --git a/web/messages/sv/docs/settings/proxmenux-monitor.json b/web/messages/sv/docs/settings/proxmenux-monitor.json new file mode 100644 index 00000000..1576e8a7 --- /dev/null +++ b/web/messages/sv/docs/settings/proxmenux-monitor.json @@ -0,0 +1,119 @@ +{ + "meta": { + "title": "ProxMenux Monitor | ProxMenux-dokumentation", + "description": "Aktivera eller inaktivera systemd-enheten proxmenux-monitor.service och granska dess tillstånd. Monitor tillhandahåller ett webbgränssnitt på TCP-port 8008 för visuell övervakning av värden.", + "ogTitle": "ProxMenux Monitor | ProxMenux-dokumentation", + "ogDescription": "Aktivera eller inaktivera systemd-tjänsten proxmenux-monitor och kontrollera dess status i Inställningar." + }, + "header": { + "title": "ProxMenux Monitor", + "description": "Två relaterade åtgärder i Inställningar: växla systemd-enheten proxmenux-monitor.service (starta/stoppa och aktivera/inaktivera autostart tillsammans) och visa dess detaljerade status. Monitor tillhandahåller ett webbgränssnitt på TCP-port 8008 för visuell övervakning av värden.", + "section": "Inställningar" + }, + "intro": { + "title": "Vad är ProxMenux Monitor?", + "body": "ProxMenux Monitor är en integrerad webbpanel som visar din Proxmox-infrastruktur i realtid. Den nås från valfri webbläsare i nätverket utan att du behöver en terminal." + }, + "offers": { + "heading": "Vad det erbjuder", + "items": [ + "Realtidsövervakning av CPU, RAM, diskanvändning och nätverkstrafik.", + "Översikt över virtuella maskiner och LXC-containrar som körs, med statusindikatorer.", + "Inloggningsautentisering för att skydda åtkomsten.", + "Tvåfaktorsautentisering (2FA) med TOTP-stöd.", + "Omvänd proxy stöd (Nginx / Traefik).", + "Designad för att arbeta över stationära och mobila enheter." + ] + }, + "access": { + "heading": "Åtkomst", + "intro": "Efter installationen är panelen tillgänglig på:", + "url": "http://:8008", + "outro": "Monitorn installeras automatiskt som en del av standard ProxMenux-installationen och körs som en systemd-tjänst (proxmenux-monitor.service) som startar automatiskt på start." + }, + "warnConditional": { + "title": "Inställningar endast synliga när Monitor är installerad", + "body": "De två menyposterna som beskrivs nedan visas endast i Inställningar om proxmenux-monitor.service är registrerad hos systemd. Om du inte ser dem installerades inte Monitor (det är valfritt under ProxMenux-installation). För att lägga till det senare, installera om ProxMenux med den senaste versionen och välj alternativet Monitor." + }, + "toggle": { + "heading": "Aktivera / Deaktivera", + "intro": "Den första menyposten växlar mellan två tillstånd beroende på om tjänsten körs:", + "headerState": "Aktuellt tillstånd", + "headerLabel": "Visad menytext", + "headerAction": "Åtgärd vid bekräftelse", + "rows": [ + { + "state": "aktiv", + "label": "Inaktivera ProxMenux Monitor", + "action": "systemctl stop + disable" + }, + { + "state": "Inaktiv", + "label": "Aktivera ProxMenux Monitor", + "action": "systemctl enable + start" + } + ], + "outro": "Varje ändring kräver en ja/nej-bekräftelse. Inaktivering stoppar tjänsten och stänger av autostart; aktivering slår på autostart och startar tjänsten direkt." + }, + "status": { + "heading": "Visa Monitor-tjänstens status", + "intro": "Den andra menyposten läser bara information. Den rensar skärmen, visar ProxMenux-logotypen och rubriken ”Verifiering av tjänsten ProxMenux Monitor” och rapporterar sedan:", + "items": [ + "Servicestatus: aktiv, inaktiv eller not_installed.", + "Web UI URL (endast när den är aktiv): http://<host_ip>:8008 - härrör från hostname -I | awk '''{print $1}'''.", + "Detailed systemd-utgång: systemctl status proxmenux-monitor.service --no-pager -l - visar senaste logglinjer, ExecStart, MainPID, etc." + ] + }, + "manual": { + "title": "Manuella motsvarigheter", + "intro": "Från varje skal:", + "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": "Återställ lösenordet för ProxMenux Monitor", + "intro": "Återställningsväg för operatören som förlorade instrumentpanelens lösenord (eller 2FA-enhet). Alternativet visas endast när monitorn är installerad på värden. Välja det:", + "items": [ + "Be om bekräftelse med en ja/nej dialog - åtgärden är destruktiv för inloggningsuppgifterna.", + "Backar upp den befintliga /root/.config/proxmenux-monitor/auth.json till auth.json.bak-<UTC timestamp> (läge 0600) så att det tidigare tillståndet kan återställas manuellt om återställningen var ett misstag.", + "Stoppar tjänsten proxmenux-monitor för att undvika konflikt mellan filändringen och en pågående inloggning.", + "Rensar identitetsfälten i auth.json: enabled=false, configured=false, tömmer username, password_hash, totp_secret och listan med reservkoder.", + "Bevarar jwt_secret och registrerade api_tokens / revoked_tokens, så att långlivade API-token för Home Assistant eller andra skript fortsätter att fungera för autentisering efter återställningen.", + "Startar om tjänsten. Nästa besök på http://<host>:8008 visar den första lanseringsguiden så att ett nytt admin-konto kan skapas." + ], + "preservedTitle": "Vad som överlever återställningen, vad som inte", + "preservedBody": "Rensas: användarnamn, lösenordshash, TOTP-hemlighet för 2FA och reservkoder. Bevaras: jwt_secret, metadata för api_tokens och listan revoked_tokens. Vill du även ogiltigförklara alla API-token och börja om helt tar du bort auth.json manuellt i stället för att använda menyalternativet. Vid nästa start skapar tjänsten en ny JWT-hemlighet och övriga data från grunden.", + "trustTitle": "Fysisk åtkomst är förtroendeankaret", + "trustBody": "Denna återställningsväg kräver rot skal på värden. Den som kan köra menu kommandot som rot redan styr rutan, så att ge dem lösenord återhämtning är inte ett privilegium eskalering - det är förenligt med hur alla andra admin verktyg på Proxmox fungerar. Korollären: Monitor-inloggningen skyddar inte någonting från någon du redan har släppt in Proxmox-skalet.", + "seeAlso": "Se även Monitor → Åtkomst och autentisering → Återställa ett förlorat lösenord för samma flöde från panelens perspektiv och mer om lösenordshashning och hur JWT-hemligheten skapas." + }, + "files": { + "heading": "Filer involverade", + "code": "/etc/systemd/system/proxmenux-monitor.service # systemd unit\n/root/.config/proxmenux-monitor/ # runtime config dir\n/var/log/proxmenux-auth.log # Flask app auth log\n # (read by Fail2Ban [proxmenux] jail)" + }, + "troubleshoot": { + "heading": "Felsökning", + "missingTitle": "Båda menyalternativen saknas", + "missingBody": "Monitorn är inte registrerad hos systemd. Bekräfta med systemctl list-unit-files | grep proxmenux-monitor - om det inte finns någon utgång, installera om ProxMenux från den officiella installatören med den senaste versionen och välj alternativet Monitor under installationen.", + "unreachableTitle": "Tjänsten är aktiverad men webbadressen kan inte nås", + "unreachableBody": "Statusutskriften i Inställningar visar IP-adressen. Kontrollera:", + "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": "Om localhost fungerar men externt inte, kontrollera din värd brandvägg (pve-firewall eller nftables) för inkommande TCP 8008.", + "stopsTitle": "Aktiverade tjänsten men det stoppar sig några sekunder senare", + "stopsBody": "Oftast beror det på en portkonflikt (något annat använder 8008) eller en misslyckad beroendekontroll. Systemjournalen visar orsaken: journalctl -u proxmenux-monitor.service -b." + }, + "related": { + "heading": "Relaterad", + "items": [ + { + "href": "/docs/security/fail2ban", + "label": "Fail2Ban", + "tailRich": "— [proxmenux] jail skyddar monitorn på TCP 8008." + }, + { + "href": "/docs/settings", + "label": "Översikt över inställningar", + "tail": "." + } + ] + } +} diff --git a/web/messages/sv/docs/settings/show-version-information.json b/web/messages/sv/docs/settings/show-version-information.json new file mode 100644 index 00000000..410050f5 --- /dev/null +++ b/web/messages/sv/docs/settings/show-version-information.json @@ -0,0 +1,81 @@ +{ + "meta": { + "title": "Visa versionsinformation | ProxMenux-dokumentation", + "description": "ProxMenux-diagnostik med enbart läsning: version, versionskanal, komponenter registrerade i config.json, filvägar, översättningskataloger och aktuellt språk.", + "ogTitle": "Visa versionsinformation | ProxMenux-dokumentation", + "ogDescription": "Diagnostisk utskrift av ProxMenux-version, versionskanal, komponenter, filer och språk." + }, + "header": { + "title": "Visa versionsinformation", + "description": "Diagnostik med enbart läsning. Läser version.txt, config.json och kända filvägar och visar en rullbar textruta med version, versionskanal, installerade komponenter, filernas närvaro, översättningsfiler och aktuellt språk.", + "section": "Inställningar" + }, + "intro": { + "title": "Vad detta är", + "body": "Självdiagnostik. Användbar när du rapporterar ett problem (klistra in dialogens innehåll i felrapporten) eller för att bekräfta att en installation slutfördes korrekt. Ändrar ingenting." + }, + "reports": { + "heading": "Vad det rapporterar", + "headerSection": "Avsnitt", + "headerSource": "Källa", + "headerContent": "Innehåll", + "rows": [ + { + "section": "Nuvarande version", + "source": "version.txt", + "contentRich": "Versionsnummer på en rad; Unknown om filen saknas" + }, + { + "section": "Versionskanal", + "source": "Betaprogrammets status i config.json", + "content": "Stable (main) eller Beta (develop); betaversion om tillgänglig" + }, + { + "section": "Installerade komponenter", + "source": "config.json", + "content": "Status per komponent (✓ installerad / skapad / uppgraderad, ✗ saknas)" + }, + { + "section": "ProxMenux-filer", + "source": "Filsystemkontroller", + "contentRich": "menu, utils.sh, config.json, version.txt närvaro + vägar" + }, + { + "section": "Översättningsfiler", + "source": "/usr/local/share/proxmenux/lang/", + "content": "Närvaro av katalogen lang/ som ingår i varje installation" + }, + { + "section": "Nuvarande språk", + "source": "config.json", + "contentRich": "Språkkod från .language; använder en om inget är inställt" + } + ] + }, + "sampleHeading": "Exempel på utdata", + "manualHeading": "Manuella motsvarigheter", + "troubleshoot": { + "heading": "Felsökning", + "unknownTitle": "Versionen visar \"Unknown\"", + "unknownBody": "/usr/local/share/proxmenux/version.txt saknas eller är oläslig. Oftast orsakad av en partiell installation. Installera från den officiella ProxMenux-källan.", + "noConfigTitle": "Ingen installationsinformation tillgänglig", + "noConfigBody": "config.json saknas. Skriptet kan inte lista komponenter utan den filen. Installera om för att återskapa den.", + "wrongStatusTitle": "En komponent visar ✗ trots att jag är säker på att jag installerat den", + "wrongStatusBody": "config.json spårar inte den komponenten som installerad - kan vara ett manus som inte registrerar sig ännu, eller en manuell installation som kringgick ProxMenux. Dialogen speglar vad config.json säger, inte vad som faktiskt finns på disken." + }, + "related": { + "heading": "Relaterad", + "items": [ + { + "href": "/docs/settings/uninstall-proxmenux", + "label": "Avinstallera ProxMenux", + "tail": " — ta bort alla dessa filer." + }, + { + "href": "/docs/settings", + "label": "Översikt över inställningar", + "tail": "." + } + ] + } +} diff --git a/web/messages/sv/docs/settings/uninstall-proxmenux.json b/web/messages/sv/docs/settings/uninstall-proxmenux.json new file mode 100644 index 00000000..803f9faa --- /dev/null +++ b/web/messages/sv/docs/settings/uninstall-proxmenux.json @@ -0,0 +1,92 @@ +{ + "meta": { + "title": "Avinstallera ProxMenux | ProxMenux-dokumentation", + "description": "Ren avinstallation av ProxMenux med valfri borttagning av jq och dialog, rensning av äldre översättningsfiler och Monitor-tjänsten samt återställning av säkerhetskopierade systemfiler.", + "ogTitle": "Avinstallera ProxMenux | ProxMenux-dokumentation", + "ogDescription": "Ta bort ProxMenux rent från en Proxmox-värd med valfri rensning av beroenden." + }, + "header": { + "title": "Avinstallera ProxMenux", + "description": "Tar bort ProxMenux från Proxmox-värden med ett interaktivt förlopp: bekräftelse, valfri borttagning av beroenden, rensning av tjänsten ProxMenux Monitor och återställning av säkerhetskopior av /root/.bashrc och /etc/motd. Visar en förloppsindikator under hela processen.", + "section": "Inställningar" + }, + "scopeWarn": { + "title": "Påverkar ProxMenux-installationen bara - inte dina VM / CT / lagringsutrymme", + "body": "Avinstallationen tar bort ProxMenux-skripten, menystartaren, den valfria Monitor-tjänsten och säkerhetskopior av systemfiler som ProxMenux skapade vid installationen. Den ändrar inte dina virtuella maskiner, containrar, lagring, nätverkskonfiguration, Fail2Ban, NVIDIA-drivrutiner eller annat som du installerat via ProxMenux. De förblir som de är." + }, + "flow": { + "heading": "Avinstallationsförloppet", + "items": [ + "Bekräftelsedialog. Ja/nej: ”Vill du verkligen avinstallera ProxMenux?”", + "Lista över beroenden att ta bort. Erbjuder jq och dialog. Båda rutorna är avmarkerade från början; välj bara beroenden som inget annat program behöver.", + "Borttagningen visar en förloppsindikator. Tar bort en eventuell kvarvarande äldre översättningsmiljö, startaren menu, katalogträdet /usr/local/share/proxmenux/, tjänsten ProxMenux Monitor om den finns samt aviseringsmålet som den registrerat i Proxmox VE (proxmenux-webhook och dess matchningsregel) och de markerade beroendena. Slutligen återställs säkerhetskopiorna av systemfilerna (se nedan).", + "Slutdialog. Listar borttagna beroenden och avslutar." + ] + }, + "deps": { + "heading": "Beroende borttagning: vad som erbjuds", + "intro": "Listan erbjuder jq och dialog. Ingen ruta är markerad som standard: andra program kan använda dessa systempaket, så det är säkrare att behålla dem.", + "headerType": "Installation", + "headerOffered": "Erbjuds för borttagning", + "rows": [ + { + "type": "Aktuella versioner", + "offeredRich": "dialog, jq" + }, + { + "type": "Äldre installationer efter uppdatering", + "offeredRich": "dialog, jq" + } + ], + "warnTitle": "Systemomfattande paket – tänk två gånger", + "warnBody": "Den aktuella listan erbjuder jq och dialog, inte python3. Andra verktyg kan behöva dessa systempaket. Borttagning kan även ta bort beroende paket eller oanvända beroenden. Behåll nödvändiga paket och granska föreslagna borttagningar innan du kör apt manuellt." + }, + "removed": { + "heading": "Vad som tas bort", + "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": "Vad som återställs", + "items": [ + "Om /root/.bashrc.bak finns → byta namn tillbaka till /root/.bashrc (din ursprungliga bashrc returnerar).", + "Om /etc/motd.bak finns byter den namn till /etc/motd. Annars tar sed bort ProxMenux-raden (“This system is optimised by: ProxMenux”) från befintlig motd." + ] + }, + "othersCallout": { + "title": "Andra ProxMenux-installerade komponenter stannar", + "body": "Allt som ProxMenux installerat via andra menyer — Fail2Ban, Lynis, NVIDIA drivrutiner, justeringar efter installation — berörs inte av denna avinstallation. Var och en har sitt eget avinstallationsflöde i sin respektive meny (eller så kan du ta bort med apt direkt). Titta på Visa versionsinformation först för att se vad som är registrerat." + }, + "manual": { + "heading": "Manuell avinstallation", + "intro": "Om menyn av någon anledning inte kan köras (t.ex. dialog saknas redan), motsvarande manuell sekvens:", + "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": "Ominstallera senare", + "body": "Kör den officiella ProxMenux-installeraren igen. Aktuella versioner använder en gemensam installationsväg som inkluderar alla åtta gränssnittsspråk." + }, + "troubleshoot": { + "heading": "Felsökning", + "hangTitle": "Avinstallationen fastnar när en äldre översättningsmiljö tas bort", + "hangBody": "Aktuella versioner tar bort en kvarvarande miljö med rm -rf /opt/googletrans-env; de kör inte pip uninstall. Om steget fastnar undersöker du det från ett annat skal och kontrollerar värdens filsystem innan du försöker igen.", + "aptTitle": "apt varnar om paket som fortfarande används när beroenden tas bort", + "aptBody": "Valda paket markeras som automatiska och skickas till apt-get -y --purge autoremove. Det garanterar inte att beroende tjänster skyddas. Låt beroenden vara avmarkerade om andra verktyg behöver dem och granska apts föreslagna borttagningar före manuell rensning.", + "motdTitle": "MOTD visar fortfarande ProxMenux-linjen efter avinstallation", + "motdBody": "Det kan hända om /etc/motd.bak saknades och sed inte hittade raden (till exempel för att den ändrats). Redigera /etc/motd manuellt och ta bort kvarvarande ProxMenux-rader." + }, + "related": { + "heading": "Relaterad", + "items": [ + { + "href": "/docs/settings/show-version-information", + "label": "Visa versionsinformation", + "tail": " - se vad som skulle tas bort innan du avinstallerar." + }, + { + "href": "/docs/settings", + "label": "Översikt över inställningar", + "tail": "." + } + ] + } +} From d8efdb440b320cbac519f9b8bccb6c3c6e3e9d6a Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sun, 18 Oct 2026 14:24:07 +0200 Subject: [PATCH 2/3] Keep Spanish settings docs aligned with the screen and the glossary --- web/messages/es/docs/settings/beta-program.json | 2 +- web/messages/es/docs/settings/proxmenux-monitor.json | 2 +- web/messages/es/docs/settings/uninstall-proxmenux.json | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/web/messages/es/docs/settings/beta-program.json b/web/messages/es/docs/settings/beta-program.json index 9aa307aa..c458fc4a 100644 --- a/web/messages/es/docs/settings/beta-program.json +++ b/web/messages/es/docs/settings/beta-program.json @@ -40,7 +40,7 @@ "heading": "Qué pasa al confirmar", "items": [ "Descarga el instalador oficial del canal de destino:
  • Estable: install_proxmenux.sh desde main
  • Beta: install_proxmenux_beta.sh desde develop
Se comprueba que la descarga existe y se hace ejecutable antes de continuar.", - "Ejecuta el instalador 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.", + "Ejecuta el instalador completo, el mismo que enlaza el README. La detección de componentes, los backups, las dependencias y la conservación del idioma siguen el procedimiento oficial de instalación del canal elegido.", "Al cambiar a estable, el menú poda después cualquier metadato beta sobrante de config.json: beta_program, beta_version, install_branch, update_available.beta* se borran, y proxmenux_monitor.status = beta_updated se normaliza a updated. El archivo sobrante beta_version.txt y cualquier instalador beta descargado se eliminan.", "Al cambiar a estable, se reescribe la unidad systemd de Monitor con la plantilla estable: se quita «Beta» de la descripción y ExecStart vuelve a apuntar al directorio de ejecución. Así, systemctl status refleja el canal actual.", "Recarga el menú de configuración. Mostrar información de versión mostrará el nuevo canal." diff --git a/web/messages/es/docs/settings/proxmenux-monitor.json b/web/messages/es/docs/settings/proxmenux-monitor.json index bd4d2f10..d4ea04df 100644 --- a/web/messages/es/docs/settings/proxmenux-monitor.json +++ b/web/messages/es/docs/settings/proxmenux-monitor.json @@ -71,7 +71,7 @@ }, "reset": { "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:", + "intro": "Ruta de recuperación para el usuario 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 /root/.config/proxmenux-monitor/auth.json existente a auth.json.bak-<UTC timestamp> (modo 0600) para que el estado previo se pueda restaurar manualmente si el reset fue un error.", diff --git a/web/messages/es/docs/settings/uninstall-proxmenux.json b/web/messages/es/docs/settings/uninstall-proxmenux.json index f8a8d2f6..99f77f70 100644 --- a/web/messages/es/docs/settings/uninstall-proxmenux.json +++ b/web/messages/es/docs/settings/uninstall-proxmenux.json @@ -17,7 +17,7 @@ "flow": { "heading": "El proceso de desinstalación", "items": [ - "Diálogo de confirmación. Sí/no: «¿Seguro que quieres desinstalar ProxMenux?»", + "Diálogo de confirmación. Sí/no: «¿Estás seguro de que deseas desinstalar ProxMenux?»", "Lista de eliminación de dependencias. Ofrece jq y dialog. Ambas casillas están desmarcadas por defecto; selecciona solo dependencias que ninguna otra aplicación necesite.", "La eliminación muestra una barra de progreso. Elimina cualquier entorno de traducción antiguo que quede, el lanzador menu, el árbol /usr/local/share/proxmenux/, el servicio ProxMenux Monitor si existe y el destino de notificaciones que registró en Proxmox VE (proxmenux-webhook y su regla de coincidencia), las dependencias seleccionadas y, por último, restaura las copias de los archivos del sistema (ver más abajo).", "Diálogo de finalización. Enumera las dependencias eliminadas y termina." @@ -39,7 +39,7 @@ } ], "warnTitle": "Paquetes de todo el sistema — piénsalo dos veces", - "warnBody": "La lista actual ofrece jq y dialog, no python3. 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." + "warnBody": "La lista actual ofrece jq y dialog, no python3. Son paquetes del sistema que otras herramientas pueden necesitar. La eliminación también puede eliminar 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", From 9e03f590341e6c89cb6544d1ffc284b80b066193 Mon Sep 17 00:00:00 2001 From: MacRimi <123239993+MacRimi@users.noreply.github.com> Date: Sun, 18 Oct 2026 14:27:36 +0200 Subject: [PATCH 3/3] Describe the settings behaviour as the code does - A failed channel switch shows the installer output above the error - Seven language catalogs plus built-in English - The version information sample keeps the real utils.sh path and channel label --- .../[locale]/docs/settings/show-version-information/page.tsx | 4 ++-- web/messages/de/docs/settings/beta-program.json | 2 +- web/messages/de/docs/settings/index.json | 2 +- web/messages/en/docs/settings/beta-program.json | 2 +- web/messages/en/docs/settings/index.json | 2 +- web/messages/es/docs/settings/beta-program.json | 2 +- web/messages/es/docs/settings/index.json | 2 +- web/messages/fr/docs/settings/beta-program.json | 2 +- web/messages/fr/docs/settings/index.json | 2 +- web/messages/it/docs/settings/beta-program.json | 2 +- web/messages/it/docs/settings/index.json | 2 +- web/messages/pt/docs/settings/beta-program.json | 2 +- web/messages/pt/docs/settings/index.json | 2 +- web/messages/sk/docs/settings/beta-program.json | 2 +- web/messages/sk/docs/settings/index.json | 2 +- web/messages/sv/docs/settings/beta-program.json | 2 +- web/messages/sv/docs/settings/index.json | 2 +- 17 files changed, 18 insertions(+), 18 deletions(-) diff --git a/web/app/[locale]/docs/settings/show-version-information/page.tsx b/web/app/[locale]/docs/settings/show-version-information/page.tsx index 20863e8d..8eb72e43 100644 --- a/web/app/[locale]/docs/settings/show-version-information/page.tsx +++ b/web/app/[locale]/docs/settings/show-version-information/page.tsx @@ -86,7 +86,7 @@ export default async function ShowVersionInformationPage({

{t("sampleHeading")}

{`Current ProxMenux version: VERSION
-Release channel: Stable (main)
+Release channel: Stable (main branch)
 
 Installed components:
 ✓ post_install_settings: installed
@@ -98,7 +98,7 @@ Installed components:
 
 ProxMenux files:
 ✓ menu → /usr/local/bin/menu
-✓ utils.sh → /usr/local/share/proxmenux/scripts/utils.sh
+✓ utils.sh → /usr/local/share/proxmenux/utils.sh
 ✓ config.json → /usr/local/share/proxmenux/config.json
 ✓ version.txt → /usr/local/share/proxmenux/version.txt
 
diff --git a/web/messages/de/docs/settings/beta-program.json b/web/messages/de/docs/settings/beta-program.json
index fae0bc36..3dca055c 100644
--- a/web/messages/de/docs/settings/beta-program.json
+++ b/web/messages/de/docs/settings/beta-program.json
@@ -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": "Wenn dies außerhalb von ProxMenux fehlschlägt, handelt es sich um ein Netzwerk- / Proxy-Problem auf dem Host.",
     "errorsTitle": "\"Installer mit Fehlern beendet\"",
-    "errorsBody": "Der Installer hat einen Exitcode ungleich null zurückgegeben. Es gibt kein automatisches Zurücksetzen; einige Dateien oder Komponenten können bereits geändert worden sein. Prüfen Sie Ausgabe und aktuellen Zustand vor einem erneuten Versuch. Führen Sie den Installer für die vollständige Ausgabe per SSH oder in der Hostkonsole aus.",
+    "errorsBody": "Der Installer hat einen Exitcode ungleich null zurückgegeben. Es gibt kein automatisches Zurücksetzen; einige Dateien oder Komponenten können bereits geändert worden sein. Lesen Sie die Ausgabe des Installers über der Fehlermeldung, bevor Sie Enter drücken, und prüfen Sie den aktuellen Zustand. Versuchen Sie es danach erneut über das Menü oder führen Sie den Installer manuell per SSH oder in der Hostkonsole aus.",
     "configTitle": "\"Konfigurationsdatei konnte nicht aktualisiert werden\" nach dem Wechsel zu Stable",
     "configBody": "Die Bereinigung von Beta-Metadaten nach der Installation ist fehlgeschlagen - in der Regel, weil config.json einen Syntaxfehler aus einer manuellen Bearbeitung aufweist. Validierung:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/de/docs/settings/index.json b/web/messages/de/docs/settings/index.json
index d18e705a..5bee3e2b 100644
--- a/web/messages/de/docs/settings/index.json
+++ b/web/messages/de/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Aktuelle Installation",
-        "bundles": "Statische JSON-Kataloge für acht Sprachen; keine Python-Übersetzungsumgebung",
+        "bundles": "Statische JSON-Kataloge für sieben Sprachen plus integriertes Englisch; keine Python-Übersetzungsumgebung",
         "menuRich": "Sprache ändern + Version anzeigen + Deinstallieren"
       },
       {
diff --git a/web/messages/en/docs/settings/beta-program.json b/web/messages/en/docs/settings/beta-program.json
index bcfccc6a..8157582a 100644
--- a/web/messages/en/docs/settings/beta-program.json
+++ b/web/messages/en/docs/settings/beta-program.json
@@ -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": "If this fails outside ProxMenux, it's a network / proxy issue on the host.",
     "errorsTitle": "“Installer finished with errors”",
-    "errorsBody": "The installer returned a non-zero exit code. There is no automatic rollback: some files or components may already have changed. Inspect the output and current state before retrying. Run the installer manually from SSH or the host console for the full output.",
+    "errorsBody": "The installer returned a non-zero exit code. There is no automatic rollback: some files or components may already have changed. Read the installer output shown above the error before pressing Enter and check the current state, then retry from the menu or run the installer manually from SSH or the host console.",
     "configTitle": "“Could not update config file” after switching to Stable",
     "configBody": "The post-install cleanup of beta metadata failed — usually because config.json has a syntax error from a manual edit. Validate it:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/en/docs/settings/index.json b/web/messages/en/docs/settings/index.json
index 63c8ee95..9fd02ecc 100644
--- a/web/messages/en/docs/settings/index.json
+++ b/web/messages/en/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Current installation",
-        "bundles": "Static JSON catalogs for eight languages; no translation Python environment",
+        "bundles": "Static JSON catalogs for seven languages plus built-in English; no translation Python environment",
         "menuRich": "Change Language + Show Version + Uninstall"
       },
       {
diff --git a/web/messages/es/docs/settings/beta-program.json b/web/messages/es/docs/settings/beta-program.json
index c458fc4a..4f8199e3 100644
--- a/web/messages/es/docs/settings/beta-program.json
+++ b/web/messages/es/docs/settings/beta-program.json
@@ -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 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.",
+    "errorsBody": "El instalador devolvió un código distinto de cero. No hay reversión automática: algunos archivos o componentes pueden haber cambiado. Lee la salida del instalador que aparece encima del error antes de pulsar Intro y comprueba el estado actual; después reintenta desde el menú o ejecuta el instalador a mano por SSH o desde la consola del host.",
     "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 config.json tiene un error de sintaxis por una edición manual. Valídalo:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/es/docs/settings/index.json b/web/messages/es/docs/settings/index.json
index 5132dec0..53cf6776 100644
--- a/web/messages/es/docs/settings/index.json
+++ b/web/messages/es/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Instalación actual",
-        "bundles": "Catálogos JSON estáticos para ocho idiomas; sin entorno Python de traducción",
+        "bundles": "Catálogos JSON estáticos para siete idiomas, más el inglés integrado; sin entorno Python de traducción",
         "menuRich": "Cambiar idioma + Mostrar versión + Desinstalar"
       },
       {
diff --git a/web/messages/fr/docs/settings/beta-program.json b/web/messages/fr/docs/settings/beta-program.json
index 95fa0d36..b0904365 100644
--- a/web/messages/fr/docs/settings/beta-program.json
+++ b/web/messages/fr/docs/settings/beta-program.json
@@ -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 cela échoue en dehors de ProxMenux, c'est un problème réseau / proxy sur l'hôte.",
     "errorsTitle": "L'installation est terminée par des erreurs.",
-    "errorsBody": "L'installateur a renvoyé un code de sortie non nul. Aucun retour arrière automatique n'est prévu : certains fichiers ou composants peuvent déjà avoir changé. Examinez la sortie et l'état actuel avant de réessayer. Exécutez l'installateur manuellement par SSH ou depuis la console de l'hôte pour obtenir la sortie complète.",
+    "errorsBody": "L'installateur a renvoyé un code de sortie non nul. Aucun retour arrière automatique n'est prévu : certains fichiers ou composants peuvent déjà avoir changé. Lisez la sortie de l'installateur affichée au-dessus de l'erreur avant d'appuyer sur Entrée et vérifiez l'état actuel, puis réessayez depuis le menu ou lancez l'installateur manuellement par SSH ou depuis la console de l'hôte.",
     "configTitle": "Impossible de mettre à jour le fichier de configuration après le passage à Stable",
     "configBody": "Le nettoyage post-installation des métadonnées bêta a échoué — généralement parce que config.json a une erreur de syntaxe d'une modification manuelle. Valider :",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/fr/docs/settings/index.json b/web/messages/fr/docs/settings/index.json
index decb8555..55f0ca56 100644
--- a/web/messages/fr/docs/settings/index.json
+++ b/web/messages/fr/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Installation actuelle",
-        "bundles": "Catalogues JSON statiques pour huit langues ; aucun environnement Python de traduction",
+        "bundles": "Catalogues JSON statiques pour sept langues, plus l’anglais intégré ; aucun environnement Python de traduction",
         "menuRich": "Changer de langue + Afficher la version + Désinstaller"
       },
       {
diff --git a/web/messages/it/docs/settings/beta-program.json b/web/messages/it/docs/settings/beta-program.json
index 0cdc0fd3..284cdcd0 100644
--- a/web/messages/it/docs/settings/beta-program.json
+++ b/web/messages/it/docs/settings/beta-program.json
@@ -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": "Se questo non funziona al di fuori di ProxMenux, è un problema di rete / proxy sull'host.",
     "errorsTitle": "“Installer finito con errori”",
-    "errorsBody": "Il programma di installazione ha restituito un codice diverso da zero. Non è previsto un ripristino automatico: alcuni file o componenti potrebbero essere già cambiati. Controlla l'output e lo stato attuale prima di riprovare. Esegui il programma manualmente via SSH o dalla console dell'host per vedere l'output completo.",
+    "errorsBody": "Il programma di installazione ha restituito un codice diverso da zero. Non è previsto un ripristino automatico: alcuni file o componenti potrebbero essere già cambiati. Leggi l'output del programma di installazione mostrato sopra l'errore prima di premere Invio e controlla lo stato attuale, poi riprova dal menu o esegui il programma manualmente via SSH o dalla console dell'host.",
     "configTitle": "“Impossibile aggiornare il file di configurazione” dopo il passaggio a stabile",
     "configBody": "La pulizia post-installazione dei metadati beta non è riuscita — di solito perché config.json ha un errore di sintassi da una modifica manuale. Convalidalo:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/it/docs/settings/index.json b/web/messages/it/docs/settings/index.json
index 2d2b4256..cf2673ec 100644
--- a/web/messages/it/docs/settings/index.json
+++ b/web/messages/it/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Installazione attuale",
-        "bundles": "Cataloghi JSON statici per otto lingue; nessun ambiente Python di traduzione",
+        "bundles": "Cataloghi JSON statici per sette lingue più l’inglese integrato; nessun ambiente Python di traduzione",
         "menuRich": "Cambia lingua + Mostra versione + Disinstalla"
       },
       {
diff --git a/web/messages/pt/docs/settings/beta-program.json b/web/messages/pt/docs/settings/beta-program.json
index 4e9f691b..641546f6 100644
--- a/web/messages/pt/docs/settings/beta-program.json
+++ b/web/messages/pt/docs/settings/beta-program.json
@@ -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": "Se isso falhar fora do ProxMenux, é um problema de rede / proxy no host.",
     "errorsTitle": "“Installer terminou com erros”",
-    "errorsBody": "O instalador devolveu um código de saída diferente de zero. Não existe reversão automática: alguns ficheiros ou componentes podem já ter sido alterados. Verifique a saída e o estado atual antes de repetir. Execute o instalador manualmente por SSH ou na consola do anfitrião para ver a saída completa.",
+    "errorsBody": "O instalador devolveu um código de saída diferente de zero. Não existe reversão automática: alguns ficheiros ou componentes podem já ter sido alterados. Leia a saída do instalador mostrada acima do erro antes de premir Enter e verifique o estado atual; depois repita a partir do menu ou execute o instalador manualmente por SSH ou na consola do anfitrião.",
     "configTitle": "\"Não foi possível atualizar o arquivo de configuração\" após mudar para Stable",
     "configBody": "A limpeza pós-instalação dos metadados beta falhou — geralmente porque o config.json tem um erro de sintaxe de uma edição manual. Validar:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/pt/docs/settings/index.json b/web/messages/pt/docs/settings/index.json
index d12aa3bd..4ae7a60c 100644
--- a/web/messages/pt/docs/settings/index.json
+++ b/web/messages/pt/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Instalação atual",
-        "bundles": "Catálogos JSON estáticos para oito idiomas; sem ambiente Python de tradução",
+        "bundles": "Catálogos JSON estáticos para sete idiomas, mais o inglês integrado; sem ambiente Python de tradução",
         "menuRich": "Alterar idioma + Mostrar versão + Desinstalar"
       },
       {
diff --git a/web/messages/sk/docs/settings/beta-program.json b/web/messages/sk/docs/settings/beta-program.json
index 59c0cc48..15f322d7 100644
--- a/web/messages/sk/docs/settings/beta-program.json
+++ b/web/messages/sk/docs/settings/beta-program.json
@@ -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": "Ak toto zlyhá mimo ProxMenux, je to sieťový / proxy problém na hostiteľa.",
     "errorsTitle": "Installer skončil s chybami",
-    "errorsBody": "Inštalátor vrátil nenulový návratový kód. Automatický návrat zmien neexistuje; niektoré súbory alebo komponenty sa už mohli zmeniť. Pred opakovaním skontrolujte výstup a aktuálny stav. Úplný výstup získate ručným spustením inštalátora cez SSH alebo konzolu hostiteľa.",
+    "errorsBody": "Inštalátor vrátil nenulový návratový kód. Automatický návrat zmien neexistuje; niektoré súbory alebo komponenty sa už mohli zmeniť. Pred stlačením Enter si prečítajte výstup inštalátora nad chybou a skontrolujte aktuálny stav; potom to skúste znova z menu alebo spustite inštalátor ručne cez SSH alebo konzolu hostiteľa.",
     "configTitle": "Nie je možné aktualizovať konfiguračný súbor po prepnutí na Stable",
     "configBody": "Vyčistenie beta metadát po inštalácii zlyhalo, zvyčajne preto, že config.json má syntax chybu z manuálnej úpravy. Overte ho:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/sk/docs/settings/index.json b/web/messages/sk/docs/settings/index.json
index 796bd3d9..c713aab9 100644
--- a/web/messages/sk/docs/settings/index.json
+++ b/web/messages/sk/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Aktuálna inštalácia",
-        "bundles": "Statické katalógy JSON pre osem jazykov; bez prekladového prostredia Python",
+        "bundles": "Statické katalógy JSON pre sedem jazykov a vstavaná angličtina; bez prekladového prostredia Python",
         "menuRich": "Zmeniť jazyk + Zobraziť verziu + Odinštalovať"
       },
       {
diff --git a/web/messages/sv/docs/settings/beta-program.json b/web/messages/sv/docs/settings/beta-program.json
index 1f587171..ed5b438f 100644
--- a/web/messages/sv/docs/settings/beta-program.json
+++ b/web/messages/sv/docs/settings/beta-program.json
@@ -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": "Om detta misslyckas utanför ProxMenux är det ett nätverk / proxyproblem på värden.",
     "errorsTitle": "\"Installer slutade med fel\"",
-    "errorsBody": "Installeraren returnerade en slutkod som inte är noll. Ingen automatisk återställning sker; vissa filer eller komponenter kan redan ha ändrats. Granska utdata och aktuellt tillstånd innan du försöker igen. Kör installeraren manuellt via SSH eller värdkonsolen för fullständiga utdata.",
+    "errorsBody": "Installeraren returnerade en slutkod som inte är noll. Ingen automatisk återställning sker; vissa filer eller komponenter kan redan ha ändrats. Läs installerarens utdata ovanför felet innan du trycker på Enter och kontrollera aktuellt tillstånd. Försök sedan igen från menyn eller kör installeraren manuellt via SSH eller värdkonsolen.",
     "configTitle": "\"Kan inte uppdatera konfigfil\" efter att ha bytt till Stable",
     "configBody": "Post-install rensningen av beta metadata misslyckades - vanligtvis eftersom config.json har ett syntaxfel från en manuell redigering. Validera det:",
     "configCmd": "jq . /usr/local/share/proxmenux/config.json",
diff --git a/web/messages/sv/docs/settings/index.json b/web/messages/sv/docs/settings/index.json
index b4d88c0b..534b7d64 100644
--- a/web/messages/sv/docs/settings/index.json
+++ b/web/messages/sv/docs/settings/index.json
@@ -30,7 +30,7 @@
     "rows": [
       {
         "type": "Aktuell installation",
-        "bundles": "Statiska JSON-kataloger för åtta språk; ingen Python-miljö för översättning",
+        "bundles": "Statiska JSON-kataloger för sju språk plus inbyggd engelska; ingen Python-miljö för översättning",
         "menuRich": "Byt språk + Visa version + Avinstallera"
       },
       {