Übersetzungen pflegen
In OpenSDG werden viele Texte über sogenannte "Translation Keys" gesteuert. Das bedeutet: Statt fester Texte in der Seite oder in den YAML-Dateien werden Platzhalter verwendet, deren Übersetzungen zentral in YAML-Dateien hinterlegt sind. So kann dieselbe Seite in mehreren Sprachen angezeigt werden, ohne dass die Inhalte mehrfach gepflegt werden müssen.
Diese Übersetzungsdateien liegen im "Data Repository" unter translations/ und sind nach Sprachkürzeln sortiert, z. B. translations/de/global_indicators.yml für Deutsch oder translations/en/global_indicators.yml für Englisch.
Aufbau der Übersetzungsdateien
Die Übersetzungsdateien sind YAML-Dateien. Eine einfache Datei könnte so aussehen:
global_indicators:
3-2-title: "Sterblichkeitsrate bei Kindern unter 5 Jahren"
3-2-description: "Dieser Indikator misst die Anzahl der Todesfälle von Kindern unter 5 Jahren pro 1.000 Lebendgeburten."
Dabei entspricht der "Key" (3-2-title) dem Platzhalter, der in der Indikator-YAML verwendet wird (z. B. graph_title: global_indicators.3-2-title).
Bestehende Übersetzungen bearbeiten
Wenn ein Text auf der Website angepasst werden soll, wird die entsprechende Zeile in der passenden Sprachdatei geändert. Die Datei kann entweder direkt im Git-Repository oder über ein Webinterface (z. B. GitHub oder GitLab) angepasst werden.
Achte dabei auf:
- korrekte Einrückungen mit 2 Leerzeichen
- UTF-8-Kodierung
- keine Tabs verwenden
Neue Übersetzungen hinzufügen
Wenn in einer Indikator- oder Konfigurationsdatei ein neuer "Key" wie my_custom.key-example verwendet wird, muss dieser auch in den Sprachdateien angelegt werden:
my_custom:
key-example: "Dies ist ein neuer Beispieltext."
Fehlt eine Übersetzung, wird der Key im Frontend meist direkt angezeigt (z. B. my_custom.key-example) oder es erscheint ein Fehler.
Übersetzungsdateien strukturieren
Die Datei kann in verschiedene Bereiche unterteilt werden, z. B.:
global_indicators: Titel und Beschreibungen für einzelne Indikatorenstatus: Bezeichnungen für "complete", "in-progress" etc.frontpage_goals_grid: Texte für die Startseite- eigene Bereiche (z. B.
my_custom) für lokale Anpassungen
Tipps
- Konsistent benennen: Verwende eindeutige Keys, die sich leicht zuordnen lassen.
- Bei größeren Änderungen empfiehlt sich die Übersetzungsdatei lokal zu bearbeiten und dann per Pull Request einzuspielen.
- Teste deine Änderung, indem du die Website neu baust oder lokal mit
mkdocs servestartest.