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 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 landen automatisch auf localize.drupal.org
- 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.