Ü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 Indikatoren
  • status: 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 serve startest.