Ham ist Schinken und Jam ist Marmelade. Unsere Tochter besucht die vierte Klasse der hiesigen Grundschule und lernt gerade ihre ersten Englisch-Vokabeln. Für die Frühstücksbestellung im Hotel wird es demnächst sicher reichen, aber Begriffe wie posts und pages, comments, custom fields, terms, navigation menus, und custom posts types sind dann doch eher technisches Vokabular, das es gerade Einsteigern zusätzlich erschwert, eine Webanwendung wie WordPress kennen zu lernen. Manche Plugins erschließen sich selbst dann nicht auf Anhieb, wenn sie bereits übersetzt sind. Ohne Übersetzung? Da ist die Sprachbarriere für viele Benutzer garantiert zu hoch.

Seit Version 1.2 verfügt WordPress über Funktionen zur Internationalisierung (engl. Internationalization, abgekürzt I18N). Damit sind Funktionen gemeint, die ein Theme oder Plugin übersetzbar machen. Diese Funktionen greifen dabei auf die GNU-Internationalisierungsbibliothek gettext zurück, mit der auch Linux-Projekte übersetzt werden.

Internationalisierung mit gettext

Wie funktioniert das? Hier ein kurzes Beispiel: In der Skriptsprache PHP kann mit dem Befehl echo Text im Browser ausgegeben werden.

<?php echo 'Hello Dolly'; ?>Code-Sprache: PHP (php)

zeigt im Browser den Text Hello Dolly an – ohne Übersetzung. Soll der Text übersetzbar gemacht werden, wird statt echo die Funktion _e() verwendet, in unserem Beispiel also

<php _e( 'Hello Dolly', 'mein-tolles-plugin' ); ?>Code-Sprache: PHP (php)

Das erste Argument dieser Funktion (hier also "Hello Dolly") enthält den Text, der übersetzt werden soll. Mit dem zweiten Argument (mein-tolles-plugin), der Text-Domain, sollen die Übersetzungen der installierten Plugins auseinandergehalten werden. Zusätzlich muss der Entwickler angeben, in welchem Verzeichnis die Übersetzungen stehen werden (gerne /languages) und welche Text-Domain für dieses Plugin oder Theme geladen werden soll.

Es gibt eine ganze Reihe weiterer Funktionen, etwa wenn Text an eine andere Funktion mit return übergeben werden soll oder zusätzlich zur Übersetzung potentieller Schadcode ausgefiltert werden soll. Im Prinzip läuft aber alles darauf hinaus, dass alle Textabschnitte oder Begriffe, die übersetzt werden sollen, ausgelesen werden können.

Sobald der Entwickler ein Plugin oder Theme in das WordPress Repository überträgt, wird automatisch ein Portable Object Template (Dateiendung .pot) erstellt, also eine Vorlage für die Übertragung in andere Sprachen.

Übersetzung durch die WordPress-Community

Wurde die Übersetzungsvorlage erstellt, beginnt die Lokalisierung (engl. Localization, abgekürzt L10N), d.h. die Übersetzung und Anpassung von Währungs- und Zahlenformaten und verwendeten Zeichensätzen. Die Übersetzung erfolgt mit Hilfe von GlotPress, einer eigens für WordPress entwickelten Webanwendung, die auf der Website translate.wordpress.org alle übersetzungsfähigen Textabschnitte in Listen aufführt.

Hier kann sich jeder Anwender mit WordPress-Benutzerkonto direkt an der Übersetzung beteiligen: Ein Doppelklick auf einen beliebigen Textabschnitt genügt, um ein Eingabefenster zu öffnen, in dem der Anwender seinen Übersetzung-Vorschlag eintragen kann. Fällt einem anderen Anwender ein Fehler in der Übersetzung auf oder ist er der Meinung, eine andere Formulierung sei treffender, kann er einen neuen Vorschlag einreichen.

Diese Vorschläge werden im nächsten Schritt von Redakteuren geprüft: Stimmen Rechtschreibung und Grammatik? Wurde der Sinn korrekt wiedergegeben?

Besonders für Einsteiger ist es wichtig, dass Begriffe durchgängig gleichbleibend übersetzt werden, damit aus Posts nicht an einer Stelle Artikel und an der nächsten Beiträge werden. Damit das Rad nicht laufend neu erfunden werden muss, wurde ein für alle Übersetzer verbindliches Glossar erstellt, das laufend ergänzt wird. Für einen konsistenten Stil sorgt zusätzlich der Translation Style Guide, den jeder Übersetzer kennen und beherrschen sollte. Die Einhaltung wird ebenfalls von den Redakteuren überwacht.

Project Translation Editor – Kontrollinstanz für gute Qualität

Ich würde die Arbeitsschritte gerne besser verstehen. Was genau passiert, nachdem beantragt wurde, jemanden als Redakteur freizuschalten? Macht jemand einen Sprachtest oder wird nur irgendwo ein Feld angeklickt? (Frage eines Plugin-Entwicklers im internationalen WordPress-Slack-Channel)

Entwickler haben ein berechtigtes Interesse, ihre Software in möglichst vielen Sprachen anzubieten. Dabei greifen allerdings manche Entwickler in die Trickkiste und verwenden automatisierte Übersetzungen von Google Translate oder der Übersetzungssoftware Poedit. Die Ergebnisse sind eher fragwürdig, etwa wenn Store a file (Datei Speichern) wörtlich mit Geschäft eine Datei übersetzt wird. Werden solche Übersetzungen automatisch geladen, hinterlassen sie beim Anwender einen negativen Eindruck, der sich auf die gesamte Nutzererfahrung mit WordPress auswirkt.

Zur Qualitätssicherung werden deshalb als Redakteur für ein einzelnes Projekt (Project Translation Editor, PTE) nur Anwender zugelassen, die bereits erste Übersetzungserfahrungen gemacht und sich mit Glossar und Translation Style Guide auseinandergesetzt haben.

Geben Entwickler hingegen an, selbst mindestens acht Sprachen perfekt zu beherrschen, wird ihr Antrag auf Freischaltung als PTE meistens abgelehnt. Viele Entwickler reagieren darauf zunächst enttäuscht und fühlen sich bevormundet. Ziel ist aber ein stimmiges Gesamtbild zu vermitteln und die bereits vorhandenen, ordentlichen Übersetzungen nicht durch mangelhafte Übersetzungen in Frage zu stellen.

Eine sehr erfreuliche Entwicklung ist, dass sich inzwischen viele Anwender mit großer Begeisterung an der Übersetzung beteiligen, weil sie endlich „ihr“ Lieblings-Plugin oder -Theme auf Deutsch sehen und sich gerne an der Entwicklung von WordPress beteiligen möchten, ohne zwangsläufig gut programmieren zu können.

Project Translation Editor – das kann auch eine Patenschaft für ein einzelnes Plugin oder Theme sein. Als „Belohnung“ lernt man das adoptierte Plugin sehr gut kennen. Dank der Übersetzung können mehr Anwender das Plugin ebenfalls nutzen, was wiederum den Entwickler motiviert, sein Plugin weiterzuentwickeln. Kleiner Aufwand, große Freude.

Genauigkeit in der Übersetzung

In der Mathematik ergibt 2 + 2 immer 4. Sprache bietet hingegen Raum für Interpretationen: Der abschließende Satz im Einführungs-Video zu WordPress 4.5 – for a more streamlined experience – lässt sich schlecht wörtlich ins Deutsche übertragen. Die Formulierung WordPress 4.5 – für eine noch stromlinienförmigere Erfahrung wirkt auf uns vermutlich eher unfreiwillig komisch. Im deutschsprachigen Slack-Channel für die Übersetzergruppe #polyglots haben wir uns auf einen noch flüssigeren Arbeitsablauf geeinigt, was etwas vom Original abweicht, aber den Sinn aus unserer Sicht am besten wiedergibt.

Dass möglichst nah am Original-Text übersetzt werden soll, macht ein Beispiel aus dem E-Commerce deutlich. Der Begriff Discount Coupon ist eben nicht nur ein Gutschein (mit dem man ein komplettes Produkt gratis erhält), sondern ein Rabatt-Gutschein (zum prozentualen Abzug eines Betrags vom eigentlichen Kaufpreis). – Für den Betreiber eines Webshops ein großer Unterschied.

General Translation Editor

Das Recht, alle Übersetzungen – also auch für WordPress Core, WordPress Meta (z.B. WordCamp) und einige weitere WordPress-nahe Anwendungen und Apps – bearbeiten und freigeben zu können, erhalten nur verdiente Anwender, die sich über einen langen Zeitraum mit gleichbleibend guten Übersetzungen qualifiziert haben.

Allerdings geht es hier weniger um einen schicken Titel als vielmehr die gemeinschaftliche Anstrengung, ein großartiges Projekt durch persönliches Engagement voranzubringen. Zu der Verantwortung bei der Übersetzung diverser Projekte kommen noch administrative Aufgaben (z.B. das Freischalten neuer Project Translation Editor) und die regelmäßige Teilnahme an strategischen Besprechungen im internationalen Slack-Channel.

Mitmachen!

Viele Aufgaben, wenige Schultern – es wäre toll, wenn wir noch viel mehr begeisterte WordPress-Nutzer für die Übersetzung von WordPress begeistern können. Programmierkenntnisse sind für den Einstieg nicht nötig, ein gutes Deutsch und ein grundsätzliches Verständnis auch für technische Begriffe in Englisch schon eher. Der Einstieg ist einfach und Aufgaben gibt es reichlich bei über 44.000 Plugins, über 2.000 Themes und der laufenden Weiterentwicklung von WordPress.

Der erste Global WordPress Translation Day am 24. April 2016 war eine tolle Gelegenheit mitzumachen. 448 Übersetzer hatten sich in 105 Ländern an der Übersetzung von 40.350 Textabschnitten beteiligt. Darunter waren 153 Teilnehmer, die für die allererste Übersetzung auf ihrer WordPress-Profilseite ein Polyglots-Badge erhalten haben. Bei solchen Erfolgen wird der Global WordPress Translation Day  ganz sicher wiederholt. Außerdem gibt es auch zahlreiche Contributor Days, z.B. auf dem WordCamp Frankfurt/M. im September 2016, die den perfekten Einstieg ermöglichen.

See you soon!