Complete Slovak i18n for the Monitor dashboard - #277
Conversation
Add the Monitor dashboard i18n provider, supported language metadata, message catalogs, fallback behavior, and the initial language selector/wiring for the AppImage UI.
Move Monitor dashboard UI copy into translation keys and expand the English source catalog across the main pages, modals, and shared AppImage components.
Complete the Slovak Monitor dashboard catalog, mark Slovak as complete, and update the translation notes to reflect the finished AppImage UI coverage.
Localize runtime labels for SMART/NVMe details, backup target badges, firewall interface types, settings units, and generated health status copy while keeping the English and Slovak catalogs in key parity.
|
@Vaso73 this is genuinely fantastic work. Translating a live dashboard was already on my roadmap and something I was planning to tackle myself after the current LXC updates cycle — you've taken a huge chunk of that off my plate, and I'm deeply grateful for it. Contributions like this are what make maintaining the project sustainable. The quality speaks for itself: 3603 leaf keys, 100% key parity between English and Slovak, zero placeholder mismatches. That level of discipline is rare and I want to call it out. A few things I want to highlight because they deserve it:
Merging as-is. There are a few polish items we may want to iterate on in later PRs (dev-mode warning on missing keys so typos surface, plurals for Slavic/Romance targets, splitting the JSON catalogs so each locale is only loaded when active) — but none of those block this landing, and none of them take away from what you've done here. I'll open a small follow-up to add the new "Apps" tab keys we're building for LXC containers into Door's wide open for more collaboration — whether that's more locale completeness, plurals wiring, or anything else. Thank you again. |
|
@MacRimi Thank you so much for the thoughtful feedback, for merging the contributions, and also for your very generous sponsorship. I genuinely appreciate all of it. Your detailed review means a lot, especially because it shows that you took the time to understand not only the translations, but also the decisions behind the i18n layer and the related fixes. I am very happy that the work has been useful to ProxMenux. I use and test the project on a real Proxmox environment, and I would be glad to continue contributing where it can help the project most. So far, I have especially enjoyed working on Slovak localization, UI consistency, testing and reproducing issues, authentication, and security-related improvements. I would also be happy to help with the upcoming Apps tab translations, future locale work, documentation, testing on real Proxmox systems, or smaller focused features and fixes. The follow-up ideas you mentioned — development warnings for missing keys, proper plural handling, and loading only the active locale catalog — all make sense to me. I would be glad to help with them when they fit the project roadmap. Please feel free to point me toward areas or issues where an extra pair of hands would be most useful. For anything larger, I am happy to discuss the direction first so the work stays aligned with your plans and does not overlap with changes already in progress. Thank you again for the warm welcome, the trust, and the support. I am looking forward to contributing more to ProxMenux. |
…EN only) Extracts 212 hardcoded English strings from virtual-machines.tsx and lxc-app-panel.tsx into AppImage/messages/en/common.json, matching the i18n pattern established by PR #277. Added namespaces under vmLxc: - options (14 keys): Snapshot / Restart / Backup storage / Edit / Cancel / Save - scheduled (22 keys): Scheduled updates, Frequency, Cron, target, Delete - cronChip (6 keys): variants + scope for external cron detection - cronPresets (6 keys): Hourly / Daily / Weekly / Monthly picker labels - updates (58 keys): OS packages, Helper info, Apply buttons, custom command editor, footer combined buttons - tabs (6 keys): tab labels - appEditor (105 keys): app registration form — installed_via methods, upstream source selectors, ports, form field labels + placeholders Other locales (sk/de/fr/it/pt/es) fall back to English via the provider's built-in fallback until translations are contributed. Follow-up: i18n coverage issue for translation work in the other locales.
…EN only) Extracts 212 hardcoded English strings from virtual-machines.tsx and lxc-app-panel.tsx into AppImage/messages/en/common.json, matching the i18n pattern established by PR #277. Added namespaces under vmLxc: - options (14 keys): Snapshot / Restart / Backup storage / Edit / Cancel / Save - scheduled (22 keys): Scheduled updates, Frequency, Cron, target, Delete - cronChip (6 keys): variants + scope for external cron detection - cronPresets (6 keys): Hourly / Daily / Weekly / Monthly picker labels - updates (58 keys): OS packages, Helper info, Apply buttons, custom command editor, footer combined buttons - tabs (6 keys): tab labels - appEditor (105 keys): app registration form — installed_via methods, upstream source selectors, ports, form field labels + placeholders Other locales (sk/de/fr/it/pt/es) fall back to English via the provider's built-in fallback until translations are contributed. Follow-up: i18n coverage issue for translation work in the other locales.
Base:
MacRimi/ProxMenux:developCompare:
Vaso73/ProxMenux:feature/monitor-dashboard-i18n-v2Summary
This PR completes Slovak localization for the ProxMenux Monitor dashboard in
AppImage/.It builds on the earlier Slovak i18n work from PR #273, which added Slovak support for the main CLI/scripts and the public documentation site. The Monitor dashboard already had an initial AppImage i18n seed, but Slovak was still marked as
partial. This PR finishes that work and marks Slovak as complete for the Monitor dashboard.What changed
AppImage/messages/en/common.json.AppImage/messages/sk/common.json.Notes
web/andAppImage/are separate projects in this repository. This PR only changes the Monitor dashboard underAppImage/; it does not replace or regenerate the public documentation site underweb/.Testing
Tested against a real Proxmox VE host:
npm run buildpassesen/common.jsonandsk/common.jsonhave matching keys and placeholders:proxmenux-monitor.serviceactive/api/healthhealthyCommits
feat(monitor): add dashboard i18n infrastructurei18n(monitor): extract English dashboard messagesi18n(monitor): add complete Slovak dashboard translationfix(monitor): localize dynamic labels and generated status text