From 44e53ce2ce2d6ac07df99f3e1859eb442b976f81 Mon Sep 17 00:00:00 2001 From: Albrecht Degering Date: Mon, 24 Aug 2026 01:15:40 +0200 Subject: [PATCH] docs: complete German structured documentation --- pyproject.toml | 2 +- src/govoplan_scheduling/__init__.py | 2 +- .../german_structured_documentation.py | 66 +++++++++++++++++++ src/govoplan_scheduling/backend/manifest.py | 10 ++- webui/package.json | 2 +- 5 files changed, 78 insertions(+), 4 deletions(-) create mode 100644 src/govoplan_scheduling/backend/german_structured_documentation.py diff --git a/pyproject.toml b/pyproject.toml index 89cadfd..36f2884 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "govoplan-scheduling" -version = "0.1.20" +version = "0.1.21" description = "GovOPlaN meeting scheduling and Terminfindung module seed." readme = "README.md" requires-python = ">=3.12" diff --git a/src/govoplan_scheduling/__init__.py b/src/govoplan_scheduling/__init__.py index a788522..c6f1da5 100644 --- a/src/govoplan_scheduling/__init__.py +++ b/src/govoplan_scheduling/__init__.py @@ -2,4 +2,4 @@ __all__ = ["__version__"] -__version__ = "0.1.20" +__version__ = "0.1.21" diff --git a/src/govoplan_scheduling/backend/german_structured_documentation.py b/src/govoplan_scheduling/backend/german_structured_documentation.py new file mode 100644 index 0000000..0cdc56d --- /dev/null +++ b/src/govoplan_scheduling/backend/german_structured_documentation.py @@ -0,0 +1,66 @@ +"""German translations for public structured documentation metadata.""" + +from __future__ import annotations + +from typing import Any + + +GERMAN_STRUCTURED_TRANSLATIONS: dict[str, dict[str, Any]] = {'scheduling.find-and-decide-meeting-time': {'outcome': 'Eine aufgezeichnete ' + 'Terminplanungsentscheidung mit begrenzter ' + 'Teilnahme und optionaler ' + 'Kalenderübergabe.', + 'steps': ['Bereiten Sie Kandidatenzeiten und ' + 'Teilnahmekontrollen vor.', + 'Erfassen und Überprüfen der Verfügbarkeit.', + 'Schließen Sie die Umfrage und bestätigen ' + 'Sie die gewählte Zeit.', + 'Geben Sie die Entscheidung an den ' + 'Kalender, wenn er konfiguriert ist.'], + 'verification': 'Das Anforderungsdetail zeigt den ' + 'entschiedenen Slot, den ' + 'Lebenszykluszustand, das ' + 'Teilnehmeraggregat und jede ' + 'Kalenderereignisreferenz.'}, + 'scheduling.privacy.data-subject-requests': {'limitations': ['Umfragen und Einladungsbeweise ' + 'werden nicht in den Export von ' + 'Scheduling kopiert.', + 'Die Löschung der Teilnehmer bleibt ' + 'manuell, wenn gemeinsame Antworten, ' + 'Lieferung, Selbsteinschreibung, ' + 'Kalendereffekte oder ' + 'Terminalentscheidungen vorliegen.'], + 'prerequisites': ['Die Datenschutzanfrage und die ' + 'Planungsauswahl wurden unabhängig ' + 'autorisiert und bestätigt.', + 'Der Rezensent kann sich mit Poll- ' + 'und Kalenderbesitzern abstimmen, ' + 'wenn eine Antwort oder ein ' + 'Ereignis involviert ist.'], + 'steps': ['Führen Sie die Scheduling-Provider-Such- ' + 'und Überprüfungsdispositionen für ' + 'Teilnehmer, Anfrage, Slot und ' + 'Benachrichtigung aus.', + 'Führen Sie den Umfrageanbieter für ' + 'tatsächliche Verfügbarkeitsoptionen und ' + 'den Kalenderanbieter für Ereignis oder ' + 'Haltezustand aus.', + 'Bewahren Sie die Entscheidung und den ' + 'Liefernachweis mit dem Grund auf.', + 'Anonymisierung nur für einen zugelassenen ' + 'Teilnehmer durchführen, der nach der ' + 'Revalidierung als nicht engagiert ' + 'eingestuft wurde.']}, + 'scheduling.public-self-enrollment': {'steps': ['Wählen Sie eine begrenzte Kapazität, Ablauf und ' + 'erlaubte Identitätsmodi.', + 'Kopieren Sie den neu ausgestellten Link; der ' + 'Rohnachweis wird nur einmal angezeigt.', + 'Überwachen Sie die Anzahl der Registrierungen ' + 'und widerrufen Sie den Link, wenn er nicht mehr ' + 'benötigt wird.', + 'Erfordern Sie einen Wiederherstellungsnachweis, ' + 'bevor Sie eine anonyme Antwort aktualisieren ' + 'oder binden.'], + 'verification': 'Die Linkliste zeigt Status, Ablauf, ' + 'Kapazitätsnutzung, Zugriffsmodi und ' + 'Widerruf an, ohne die Anmeldeinformationen ' + 'erneut anzuzeigen.'}} diff --git a/src/govoplan_scheduling/backend/manifest.py b/src/govoplan_scheduling/backend/manifest.py index a895441..84348cd 100644 --- a/src/govoplan_scheduling/backend/manifest.py +++ b/src/govoplan_scheduling/backend/manifest.py @@ -1,5 +1,8 @@ from __future__ import annotations +from govoplan_core.core.modules import with_documentation_structured_translations +from govoplan_scheduling.backend.german_structured_documentation import GERMAN_STRUCTURED_TRANSLATIONS + from pathlib import Path from govoplan_core.core.access import ( @@ -48,7 +51,7 @@ from govoplan_scheduling.backend.dsar_provider import SCHEDULING_DSAR_CAPABILITY MODULE_ID = "scheduling" MODULE_NAME = "Scheduling" -MODULE_VERSION = "0.1.20" +MODULE_VERSION = "0.1.21" READ_SCOPE = "scheduling:schedule:read" WRITE_SCOPE = "scheduling:schedule:write" ADMIN_SCOPE = "scheduling:schedule:admin" @@ -799,5 +802,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 191f4a5..2ba733c 100644 --- a/webui/package.json +++ b/webui/package.json @@ -1,6 +1,6 @@ { "name": "@govoplan/scheduling-webui", - "version": "0.1.20", + "version": "0.1.21", "private": true, "type": "module", "main": "src/index.ts",