Lesedauer: 2 Minuten
Du nutzt Drupal auf Deutsch, installierst eine neue Funktion – und mitten in der deutschen Oberfläche taucht ein englischer Text auf. Kennst du das? Bei den neuen Recipes war genau das lange ein Problem.
Recipes (Rezepte) sind fertige Funktionspakete für Drupal, etwa für einen Blog oder einen Event-Kalender. Sie bringen Module und Einstellungen gleich mit. Drupal ist berühmt für seine Mehrsprachigkeit, doch die Texte in den Rezepten konnte das Übersetzungssystem bisher nicht erkennen. Das ist jetzt gelöst, mit einem kleinen Tag namens !translate. In diesem Artikel erfährst du, was das Problem war, wie die Lösung funktioniert und wie ein Text vom Rezept bis auf deine deutsche Seite kommt. Es wird an einigen Stellen etwas technischer. Wir erklären aber jeden Begriff.
Das fehlende Puzzleteil: !translate
Das Problem lag in den sogenannten Config Actions – den Skripten, die ein Rezept ausführt. Sie waren für das Übersetzungssystem bislang unsichtbar. Die Lösung aus Issue #3313863 bringt Recipes jetzt auf Augenhöhe mit dem Rest des Cores: Ein Symfony-YAML-Tag namens !translate markiert Text in den Rezepten (YAML-Dateien, ein einfaches Textformat für Einstellungen) als relevant für Übersetzer.
So sieht der Code in der Praxis aus:
actions:
# Jetzt vom System erkennbar:
label: !translate 'Website-Feedback-Formular'
# Mit Kontext für präzisere Übersetzung:
message: !translate { string: 'Deine Nachricht wurde gesendet.', context: 'Kontaktformular' }
Warum der Kontext-Parameter die Qualität sichert
Im Code-Beispiel oben siehst du den Parameter context. Er ist entscheidend für die Qualität, die man von Drupal gewohnt ist. Nimm das englische Wort "Post": Meint das Rezept einen Blog-Beitrag oder die Postanschrift? Ohne Kontext müsste man raten. Mit dem context-Tag bekommt das Translation-Team die nötigen Metadaten, um präzise und fachgerecht zu übersetzen.
Die Roadmap zur nahtlosen Integration
Ziel ist, dass sich Recipes genauso anfühlen wie Core-Module. Im Meta-Issue #3488972 wird der Prozess dafür festgelegt:
- Extraktion: Das Tool potx wird angepasst, um die neuen YAML-Tags zu lesen
- Plattform: Die Strings (einzelne Textbausteine) landen automatisch auf localize.drupal.org, der Übersetzungsplattform von Drupal
- Workflow: Das deutsche Team validiert und gibt die Texte frei, bevor sie auf deiner Seite landen
Fazit: Auch bei brandneuen Innovationen wie Starshot und Recipes werden bei der Mehrsprachigkeit keine Kompromisse gemacht. Der kurze Ausflug ins Englische bei den Recipes ist vorbei – Drupal spricht wieder durchgängig Deutsch.
Willst du helfen, den Patch zu finalisieren? Schau in Issue #3313863 vorbei.