Files
ProxMenux/AppImage/messages
MacRimiandClaude Opus 5 fe46d3d4bc fix(i18n): protect the literals a reader copies, and name the OCI category
The glossary only holds what someone listed, and what reaches the reader
as a broken command was never on it. Paths, long options and Proxmox
subcommands are now recognised by shape:

    /dev/apex_0        came back as  /dev/apex 0
    --auto-uninstall                 desinstalación automática
    pct config 110                   configuration PCT 110   (fr)
    pct enter 101                    pct inserire 101        (it)

OCI joins the glossary as well. Read as a word it became "BEC" in French
across thirty-one strings — "Vérification du BEC" named nothing — and the
menu entry read "Gestionnaire du BEC Apps". The entry itself and "beta"
are protected too, so the name stays the same in every language.

A provider can also alter a token rather than carry it through: argos
returned MPXTERM000 for PMXTERM000, the restore found nothing, and the
token shipped. "MPXTERM000 configuré" is in the French catalogue today.
The restore now verifies its own tokens and fails the string instead,
which leaves the key absent for the next run to retry.

Spanish category labels: twenty-six were wrong. Seven collapsed two
categories into one — "Backup & Recovery" read only "Recuperación",
"Network & Firewall" read "Red de cortafuegos" — six were half
translated, and the connector alternated between "&", "y" and "e". They
now use "y" or "e" throughout. "IoT & Smart Home" and
"AI / Coding & Dev-Tools" stay in English by choice.

"Messaging & Queues" becomes "Messaging & Notifications": its only
application is Apprise, a notification gateway, not a queue. The
Helper-Scripts import still maps their name, so nothing breaks upstream.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-23 17:49:59 +02:00
..

Monitor dashboard translations

The ProxMenux Monitor dashboard uses a small client-side i18n layer.

  • English (en) is the source language and the runtime fallback.
  • Eight locales are shipped and fully populated end-to-end: en, de, es, fr, it, pt, sk, sv. Non-English catalogs started from an automated bootstrap and are being polished as native speakers pass through them.

To improve a translation, edit the values in your locale's common.json — keep placeholders such as {uptime}, {vmid} or {count} unchanged, and don't translate brand or product names (ProxMenux Monitor, Proxmox Backup Server, Secure Gateway, Tailscale, etc.). Missing keys fall back to English at runtime, so a partial refresh is always safe to merge.

Backup message composition regressions

From the repository root, run:

node tests/test_backup_archives_empty.cjs
node tests/test_backup_destination_messages.cjs

Prerequisites: Node.js and the typescript development dependency from AppImage/package.json must be installed/resolvable (normally in AppImage/node_modules). These tests compile actual JSX message branches and pure i18n lookup functions without importing the component or calling a backend. They cover whole English messages, missing-key locale fallback, loading/error branches, nonempty lists, the removal notice at zero/one/multiple archives, local-attach help, and unchanged shared labels. They do not replace browser or real-host acceptance. Keep literal paths in the local-attach help unchanged.

To add a new locale, see §11 → Adding a new locale in the Contributing Guide.