diff --git a/package.json b/package.json index 42be083..1e1f285 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/policy-webui", - "version": "0.1.21", + "version": "0.1.22", "private": true, "type": "module", "main": "webui/src/index.ts", diff --git a/pyproject.toml b/pyproject.toml index 7ef2e46..74b472a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-policy" -version = "0.1.21" +version = "0.1.22" description = "GovOPlaN policy platform module." readme = "README.md" requires-python = ">=3.12" diff --git a/src/govoplan_policy/backend/german_structured_documentation.py b/src/govoplan_policy/backend/german_structured_documentation.py new file mode 100644 index 0000000..4dc857a --- /dev/null +++ b/src/govoplan_policy/backend/german_structured_documentation.py @@ -0,0 +1,122 @@ +"""German translations for public structured documentation metadata.""" + +from __future__ import annotations + +from typing import Any + + +GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'policy.data-subject-requests': {'consequence_classes': {'export_policy_attribution': 'Returns ' + 'minimiert ' + 'Politik ' + 'Aktivität ' + 'für das ' + 'genaue ' + 'Konto.', + 'retain_policy_evidence': 'Bewahrt die ' + 'politische ' + 'Governance-Rechenschaftspflicht.'}}, + 'policy.function-assignment-delegation-escalation': {'fields': [{'consequence': 'Erlaubt nur dann ' + 'geregelte ' + 'abgeleitete ' + 'Zuweisungen, ' + 'wenn ' + 'Organisationen ' + 'auch die ' + 'Funktion ' + 'delegierbar ' + 'markieren.', + 'key': 'delegation_allowed'}, + {'consequence': 'Lehnt längere ' + 'aktuelle Ketten ' + 'ab, ' + 'einschließlich ' + 'Ketten, die vor ' + 'einem engeren ' + 'Limit akzeptiert ' + 'wurden.', + 'key': 'maximum_delegation_depth'}, + {'consequence': 'Caps jedes ' + 'delegierte ' + 'Gültigkeitsfenster ' + 'zusätzlich zu ' + 'seinem ' + 'Quellfenster.', + 'key': 'maximum_delegated_validity_days'}, + {'consequence': 'Pins eine ' + 'Zielfunktion und ' + 'Frist ohne ' + 'Erteilung oder ' + 'Ersatz ' + 'Genehmigung.', + 'key': 'escalation.'}]}, + 'policy.hierarchy-overrides-and-retention': {'outcome': 'Der ausgewählte Berechtigungsumfang hat ' + 'eine erklärbare Aufbewahrungsrichtlinie ' + 'und jeder destruktiven Anwendung wird ' + 'eine Dry-Run-Überprüfung vorausgegangen.', + 'prerequisites': ['Policy und Access sind aktiviert.', + 'Die handelnde Person kann die ' + 'Richtlinieneinstellungen am ' + 'ausgewählten Bereich lesen.'], + 'steps': ['Überprüfen Sie den effektiven Wert und ' + 'seinen Policy Source Path.', + 'Schmale nur Felder, die die übergeordnete ' + 'Richtlinie diesen Bereich außer Kraft ' + 'setzt.', + 'Speichern Sie die Richtlinie und führen ' + 'Sie dann einen System-Dry-Run aus, bevor ' + 'Sie die Retention anwenden.', + 'Überprüfen Sie das Bounded Outcome und ' + 'prüfen Sie den Nachweis nach einem ' + 'angewandten Durchlauf.'], + 'verification': 'Laden Sie die Richtlinie neu, ' + 'bestätigen Sie ihren Quellpfad und ' + 'vergleichen Sie die Trockenlauf- ' + 'oder angewandte Ergebnistabelle mit ' + 'den Prüfungsnachweisen.'}, + 'policy.impact-preview': {'limitations': ['Nicht verfügbare optionale Anbieter werden erklärt und ' + 'niemals als Null-Auswirkungen behandelt.', + 'Ressourcendetails werden ohne policy:impact:details ' + 'ausgeblendet.'], + 'steps': ['Wählen Sie eine explizite Impact-Provider-Population und ein ' + 'begrenztes Limit.', + 'Preview und Inspect Outcome Counts, Coverage State und ' + 'Provenienz.', + 'Reauthentifizieren, wenn eine systemweite Änderung als hohe ' + 'Auswirkungen eingestuft wird.', + 'Speichern Sie erst, nachdem die Vorschau mit dem aktuellen ' + 'Dirty Draft übereinstimmt.']}, + 'policy.retention-execution-and-recovery': {'limitations': ['Die Anwendung kann gelöschte EML- ' + 'oder Mock-Mailbox-Inhalte nicht ' + 'wiederherstellen.', + 'Ein Trockenlauf ist eine Vorschau ' + 'und reserviert den gemeldeten Satz ' + 'nicht gegen gleichzeitige ' + 'Änderungen.'], + 'outcome': 'Förderfähige Details werden redigiert und ' + 'förderfähige generierte Artefakte werden ' + 'mit begrenztem Ergebnis und ' + 'Prüfungsnachweis gelöscht.', + 'prerequisites': ['Die handelnde Person kann ' + 'Systemeinstellungen schreiben.', + 'Die vorgesehene ' + 'Systemaufbewahrungsrichtlinie wird ' + 'gespeichert und neu geladen.', + 'Recovery Evidenz ist aktuell für ' + 'generierte Artefakte.'], + 'steps': ['Führen Sie einen Trockenlauf durch und ' + 'überprüfen Sie jede Datenklasse und ' + 'Ergebniszahl.', + 'Stoppen Sie, wenn Anbieter ausfallen, die ' + 'Wiederherstellung blockiert wird oder ' + 'Zählungen unerwartet sind.', + 'Bestätigen Sie den destruktiven Lauf erst ' + 'nach einer Überprüfung der Politik und der ' + 'Wiederherstellung.', + 'Vergleichen Sie das angewandte Ergebnis ' + 'mit den Prüfungsnachweisen.'], + 'verification': 'Überprüfen Sie das neueste Ergebnis, ' + 'die Fehler- und ' + 'Wiederherstellungszahlen des ' + 'Anbieters und suchen Sie dann den ' + 'Auditdatensatz retention ' + 'policy.run.'}} diff --git a/src/govoplan_policy/backend/manifest.py b/src/govoplan_policy/backend/manifest.py index 1c2f700..8926627 100644 --- a/src/govoplan_policy/backend/manifest.py +++ b/src/govoplan_policy/backend/manifest.py @@ -1,5 +1,8 @@ from __future__ import annotations +from govoplan_core.core.modules import with_documentation_structured_translations +from govoplan_policy.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS + from pathlib import Path from govoplan_core.core.access import ( @@ -150,7 +153,7 @@ POLICY_IMPACT_DETAILS_SCOPE = "policy:impact:details" manifest = ModuleManifest( id="policy", name="Policy", - version="0.1.21", + version="0.1.22", permissions=( PermissionDefinition( scope=ACCESS_EXPLANATION_SUBJECT_SCOPE, @@ -877,5 +880,10 @@ manifest = ModuleManifest( ) +manifest = with_documentation_structured_translations( + manifest, locale="de", translations=GERMAN_STRUCTURED_TRANSLATIONS +) + + def get_manifest() -> ModuleManifest: return manifest diff --git a/webui/package.json b/webui/package.json index a825748..42768c0 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/policy-webui", - "version": "0.1.21", + "version": "0.1.22", "private": true, "type": "module", "main": "src/index.ts",