From b175658a0f95959b9607ea277766562c74c88cf9 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Mon, 24 Aug 2026 01:15:35 +0200 Subject: [PATCH] docs: complete German structured documentation --- package.json | 2 +- pyproject.toml | 2 +- src/govoplan_ops/__init__.py | 2 +- .../german_structured_documentation.py | 88 +++++++++++++++++++ src/govoplan_ops/backend/manifest.py | 10 ++- webui/package.json | 2 +- 6 files changed, 101 insertions(+), 5 deletions(-) create mode 100644 src/govoplan_ops/backend/german_structured_documentation.py diff --git a/package.json b/package.json index 77eecb0..3a9ba6b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/ops-webui", - "version": "0.1.19", + "version": "0.1.20", "private": true, "type": "module", "main": "webui/src/index.ts", diff --git a/pyproject.toml b/pyproject.toml index 3b75b0e..2b24e21 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-ops" -version = "0.1.19" +version = "0.1.20" description = "GovOPlaN operations module for health, deployment profile, and sizing visibility." readme = "README.md" requires-python = ">=3.12" diff --git a/src/govoplan_ops/__init__.py b/src/govoplan_ops/__init__.py index c708a18..af9c50b 100644 --- a/src/govoplan_ops/__init__.py +++ b/src/govoplan_ops/__init__.py @@ -2,4 +2,4 @@ __all__ = ["__version__"] -__version__ = "0.1.19" +__version__ = "0.1.20" diff --git a/src/govoplan_ops/backend/german_structured_documentation.py b/src/govoplan_ops/backend/german_structured_documentation.py new file mode 100644 index 0000000..4e5ba46 --- /dev/null +++ b/src/govoplan_ops/backend/german_structured_documentation.py @@ -0,0 +1,88 @@ +"""German translations for public structured documentation metadata.""" + +from __future__ import annotations + +from typing import Any + + +GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'ops.health-governance-and-sizing': {'consequence_classes': {'run_probes': 'Führen Sie begrenzte ' + 'moduleigene ' + 'Gesundheitssonden aus ' + 'und aktualisieren Sie ' + 'die sanierte ' + 'Betriebsprojektion'}}, + 'ops.runtime-coordination-and-recovery': {'consequence_classes': {'cancel_node_drain': 'Rückkehr ' + 'eines ' + 'noch ' + 'ablaufenden ' + 'Laufzeitknotens ' + 'zu Active ' + 'Scheduling', + 'drain_node': 'Beenden Sie die ' + 'Weiterleitung ' + 'neuer Arbeiten ' + 'an die ' + 'ausgewählte ' + 'Laufzeitinkarnation, ' + 'während die ' + 'Arbeiten während ' + 'des Fluges ' + 'abgeschlossen ' + 'sind', + 'inspect_recovery': 'Lesen Sie ' + 'den ' + 'sanierten ' + 'dauerhaften ' + 'Wiederherstellungszustand, ' + 'ohne den ' + 'Besitzeffekt ' + 'zu ' + 'wiederholen ' + 'oder zu ' + 'reparieren'}, + 'limitations': ['Drain wird im ' + 'Laufzeit-Herzschlagintervall ' + 'beobachtet und beendet die aktive ' + 'Arbeit nicht zwangsweise.', + 'Ops erstellt oder stellt keine Backups ' + 'her und erhält niemals private ' + 'Artefakte oder ' + 'Schlüssel-Depotreferenzen.', + 'SQLite ist ein rein ' + 'entwicklungsbezogenes ' + 'Wiederherstellungsprofil; Dateien, die ' + 'vor einem unbehandelten Prozessverlust ' + 'erstellt wurden, erfordern ' + 'möglicherweise eine Erkennung durch ' + 'Integritätsscan, da die Absicht der ' + 'Anrufertransaktion nicht festgelegt ' + 'wurde.', + 'Eine verifizierte Quittung beweist die ' + 'aufgezeichnete Übung; es macht keinen ' + 'unsicheren ' + 'Post-Migrationscode-Rollback ' + 'reversibel.'], + 'steps': ['Vergleichen Sie aktive nicht-stale Knoten ' + 'mit den konfigurierten API- und ' + 'Worker-Replica-Erwartungen.', + 'Fordern Sie die Entleerung an und warten ' + 'Sie, bis der Knoten die Entleerung meldet, ' + 'bevor Sie ihn ersetzen.', + 'Überprüfen Sie alle ' + 'Wiederherstellungs-erforderlichen, ' + 'ergebnisunbekannten oder manuellen Eingriffe ' + 'und folgen Sie dem aufgezeichneten ' + 'Wiederherstellungsmodus.', + 'Unterscheiden Sie bei Dateien zwischen Blob ' + 'Upload/Reparatur, genehmigtem Hard Purge, ' + 'Blob Garbage Collection und ' + 'S3-Connector-Rückschreibung, bevor Sie die ' + 'Eigentümerdatenbank/das Objekt oder den ' + 'Anbieternachweis überprüfen.', + 'Bestätigen Sie, dass der Backup-Beweis ' + 'verifiziert und aktuell ist, bevor Sie eine ' + 'Release-Änderung der Migration genehmigen.', + 'Überprüfen Sie Ersatzzusammensetzung, ' + 'Bereitschaft, Warteschlangenverbraucher und ' + 'Wiederherstellungsnachweise, bevor Sie den ' + 'Vorgang abschließen.']}} diff --git a/src/govoplan_ops/backend/manifest.py b/src/govoplan_ops/backend/manifest.py index 9990f33..c9f93ad 100644 --- a/src/govoplan_ops/backend/manifest.py +++ b/src/govoplan_ops/backend/manifest.py @@ -1,5 +1,8 @@ from __future__ import annotations +from govoplan_core.core.modules import with_documentation_structured_translations +from govoplan_ops.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS + from govoplan_core.core.access import ( CAPABILITY_AUTH_PERMISSION_EVALUATOR, CAPABILITY_AUTH_PRINCIPAL_RESOLVER, @@ -92,7 +95,7 @@ def _route_factory(context: ModuleContext): manifest = ModuleManifest( id="ops", name="Ops", - version="0.1.19", + version="0.1.20", required_capabilities=( CAPABILITY_AUTH_PRINCIPAL_RESOLVER, CAPABILITY_AUTH_PERMISSION_EVALUATOR, @@ -373,5 +376,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 98f30bc..e353cfc 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/ops-webui", - "version": "0.1.19", + "version": "0.1.20", "private": true, "type": "module", "main": "src/index.ts",