Admin: split language packages into a dedicated administration section #3

Closed
opened 2026-07-11 03:43:46 +02:00 by zemion · 1 comment
Owner

Context

The current Administration area mixes language packages and defaults for newly created tenants into the general system settings surface.

Requested behavior

Move Language packages and Defaults for newly created tenants into a separate Administration menu item.

The new language-package surface should show module-version-specific language packages and make their lifecycle explicit:

  • installable packages
  • installed packages
  • activatable and deactivatable packages
  • uninstallable packages
  • module/version compatibility for each language package

Acceptance criteria

  • Administration has a dedicated menu entry for language packages/default tenant language behavior.
  • General system settings no longer carries the full language-package lifecycle UI.
  • The list distinguishes installed, available, active, inactive, incompatible, and uninstallable packages.
  • Package state is scoped to the module/version it belongs to.
  • The UI remains usable when no additional language packages are available.

Notes

This likely needs an API contract for discoverable language package metadata if the backend does not already expose it.

## Context The current Administration area mixes language packages and defaults for newly created tenants into the general system settings surface. ## Requested behavior Move **Language packages** and **Defaults for newly created tenants** into a separate Administration menu item. The new language-package surface should show module-version-specific language packages and make their lifecycle explicit: - installable packages - installed packages - activatable and deactivatable packages - uninstallable packages - module/version compatibility for each language package ## Acceptance criteria - Administration has a dedicated menu entry for language packages/default tenant language behavior. - General system settings no longer carries the full language-package lifecycle UI. - The list distinguishes installed, available, active, inactive, incompatible, and uninstallable packages. - Package state is scoped to the module/version it belongs to. - The UI remains usable when no additional language packages are available. ## Notes This likely needs an API contract for discoverable language package metadata if the backend does not already expose it.
Author
Owner

Implemented and pushed in 89ba59f. Administration now has a dedicated Language packages section; general system settings no longer renders or writes the package/default-locale lifecycle. The new semantic Admin page supports package installation, activation/deactivation, eligible uninstall, and the default for newly created tenants with dirty-state guarding and standard Reload/Save actions. It derives a per-language compatibility matrix from each installed frontend module ID, exact module version, and runtime translation catalog, explicitly distinguishing available, installed, active, inactive, incompatible, and uninstallable states. German, English, and the active default remain protected. The page remains usable without additional packages or module catalogs. The overview, declared View surface, bilingual strings, and manifest-driven administration documentation were updated. Verification: 12 Admin tests plus 3 subtests passed; admin-only production build, structural i18n, theme/interface contracts, and bundle budget passed; all shared layout/primitive/foundation checks passed; manifest registry passed for 68 modules; Ruff and diff checks passed.

Implemented and pushed in `89ba59f`. Administration now has a dedicated **Language packages** section; general system settings no longer renders or writes the package/default-locale lifecycle. The new semantic Admin page supports package installation, activation/deactivation, eligible uninstall, and the default for newly created tenants with dirty-state guarding and standard Reload/Save actions. It derives a per-language compatibility matrix from each installed frontend module ID, exact module version, and runtime translation catalog, explicitly distinguishing available, installed, active, inactive, incompatible, and uninstallable states. German, English, and the active default remain protected. The page remains usable without additional packages or module catalogs. The overview, declared View surface, bilingual strings, and manifest-driven administration documentation were updated. Verification: 12 Admin tests plus 3 subtests passed; admin-only production build, structural i18n, theme/interface contracts, and bundle budget passed; all shared layout/primitive/foundation checks passed; manifest registry passed for 68 modules; Ruff and diff checks passed.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: GovOPlaN/govoplan-admin#3