# Localization And Contextual Help Quality ## Reference Language German (`de`) is GovOPlaN's first-class reference target. Every translation key used by a shipped WebUI must exist in German and English. German completeness is a release gate; English remains the source-code fallback language so existing literal labels and external developer APIs do not change semantics. New installations and tenants default to German. Existing system, tenant, and user preferences are preserved. The available-language and policy model can still select another default or disable a package at the relevant scope. Explicit high-risk help content and browser acceptance are tracked in [Core #284](https://git.add-ideas.de/GovOPlaN/govoplan-core/issues/284). The platform inventory recognizes both inline locale objects and generated catalogs declared as `const de` / `const en`. Its strict mode requires both locales and reports `de` explicitly as the reference locale. ## Help Resolution Every focusable field and action receives a stable derived F1 identity from the shared shell, even when the component has no dedicated help text. Resolution falls back from field/action to dialog or page and then to the module's visible documentation baseline. Backend manifests publish explicit topic associations first. Core additionally associates declared route, navigation, settings, and View surface IDs with the module's static user or administrator documentation baseline. Feature modules should still add exact `metadata.help_contexts` entries for consequential, unfamiliar, policy-controlled, destructive, security-sensitive, or legally meaningful fields and actions. The shared retention-policy editor exposes explicit contexts for each stored data category, audit-detail control, lower-level override switch, target selector, reload, and save action. The Policy module owns the matching German administrator guidance. Retention execution surfaces use separate contexts for dry-run, destructive apply, confirmation, and outcome review so F1 opens the consequence and recovery guidance closest to the focused control. Shared controls may set `helpModuleId` when their documentation owner differs from the containing page; the retention editor uses this to resolve Policy help from both administration and Campaign surfaces. The shared reusable-credential manager keeps Access as its documentation owner and publishes exact contexts for credential kind, secret replacement/removal, module and server restrictions, lower-scope visibility, activation, save, and irreversible deletion. This ensures F1 explains secret custody and the effect on dependent connections from system, tenant, group, user, and personal surfaces. The generated `help_review_candidates` list is therefore a content-depth queue, not a list of controls on which F1 cannot work. It should prioritize: 1. effect, deletion, delivery, retention, disclosure, encryption, and recovery; 2. identity, representation, mandate, institutional context, and purpose; 3. valid-time versus recorded-time selection; 4. provider authority, synchronization, conflict, and outcome unknown; 5. fields whose consequences are not evident from their label. ## Verification ```bash cd /mnt/DATA/git/govoplan /mnt/DATA/git/govoplan/.venv/bin/python \ tools/inventory/platform-interface-inventory.py \ --strict --strict-declarations --strict-endpoints ``` The check must report: - reference locale `de` present and complete; - no used key missing from `de` or `en`; - every field has a resolvable F1 context; - no duplicate stable IDs; - no undeclared public WebUI surface; - no stale runtime route or endpoint declaration.