Nachdem wir in Teil 1 dieser kleinen Reihe gesehen haben, wie wir ein frisch installiertes WordPress auf Deutsch einstellen können, geht es in Teil 2 weiter mit dem Thema «Plugins und Themes in deutscher Sprache».

Die noch neu riechende WP-Installation aus Teil 1 – bestehend aus WordPress-Core und Standard-Theme – präsentiert alle Steuerelemente, Texte, Buttons etc. auf Deutsch. Was aber, wenn Du ein zusätzliches Plugin oder Theme installiert hast und dieses seine Texte auf Englisch raushaut? Das kann unterschiedliche Ursachen haben und die naheliegendsten werden wir uns in diesem Beitrag anschauen:


Einschub

Das hier Gesagte bezieht sich sowohl auf Plugins als auch auf Themes – und zwar primär auf diejenigen, die im offiziellen repository unter https://wordpress.org/themes/ und https://wordpress.org/plugins/ zum Download bereitstehen. Bei «fremden» Quellen treffen die folgenden Aussagen unter Umständen nicht zu.


Einfachste Ursache: die Sprachdatei wurde nicht nachgeladen

Wenn ein Plugin oder Theme «gut» erstellt ist, liefert es keine vom Autor erstellten Sprachdateien mit, sondern bezieht diese von translate.wordpress.org. Auf dieser Plattform werden Übersetzungen für WordPress selber, die Apps (iOS/Android), Plugins, Themes und einiges andere gepflegt.
Nach der Aktivierung wird daher erst einmal der Originaltext ausgegeben – in den allermeisten Fällen Englisch.

Um die Texte dennoch auf Deutsch zu erhalten, muss Dein WordPress erkennen, dass in den Ordnern
/wp-content/languages/plugins/
bzw.
/wp-content/languages/themes/
die entsprechenden .po-/.mo-Dateien noch nicht vorhanden sind. Sobald dies erkannt ist, zeigt das Dashboard Dir an, dass Aktualisierungen zur Verfügung stehen, auf der Detailseite findest Du die Info, dass es sich um Übersetzungen handelt.

Führe diese Aktualisierung aus, lade Deine Website neu. Die Chancen stehen gut, dass Dein Plugin oder Theme nun Deutsch spricht.

Auch einfach: WordPress benutzt die falsche Sprachdatei

Du hast ein Plugin installiert, die aktuellen Sprachdateien wie oben beschrieben nachgeladen, aber die Textstellen ändern sich nicht wie erwartet?

Vor allem bei älteren, «gewachsenen» WP-Installationen kann es vorkommen, dass im Ordner des Plugins noch ein Unterordner /lang/ oder /languages/ oder ähnlich existiert. Dann hat das Plugin eventuell früher™ seine eigenen Sprachdateien mitgeliefert, diese wurden aber bei Updates nicht gelöscht und stehen nun in Konkurrenz zu den neuen (Standard-)Sprachdateien in /wp-content/languages/.

Auch hier ist Abhilfe ganz einfach. Lösche per FTP die mitgelieferten Sprachdateien (oder bewege sie erst einmal nur in einen anderen Ordner, für den Fall der Fälle). In hartnäckigen Fällen lösche auch die zum Plugin gehörenden Dateien in /wp-content/languages/plugins/.

Aktualisierungen aufrufen, Übersetzungen aktualisieren, fertig.

Ursache 3: WordPress verwendet die korrekten Sprachdateien – aber es kommt trotzdem eine Mischung aus Deutsch und Englisch zur Vorschein

Wenn ein Plugin oder Theme großteils auf Deutsch erscheint, aber trotzdem hier und da einige «Brocken» Englisch auftauchen, dann ist sicher:

  1. Grundsätzlich ist das Plugin schonmal für eine Übersetzung (Internationalisierung, «i18n») vorbereitet.
  2. Es gibt bereits eine Sprachdatei (language pack) – denn ansonsten käme gar kein deutscher Text via Aktualisierungen zu Dir ;-)

Die englischen Textstellen können nun zwei mögliche Ursachen haben:

  • Entweder sind bei einem Update neue Texte im Plugin/Theme hinzugekommen und diese wurden einfach noch nicht von einem der translation contributors übersetzt …
  • … oder die Textstellen wurden so in das Plugin/Theme eingebaut, dass sie gar nicht übersetzbar sind. Hierfür müssen Strings nämlich von den Entwicklern in bestimmte Funktionen «verpackt» werden. Wurde das nicht gemacht, erkennt die Software des Plugin-/Theme-Verzeichnisses den Text nicht als übersetzbar und bietet entsprechend auch kein Feld an, in das eine deutsche Übersetzung eingetragen werden könnte.
    Bei einigen Texten wurde es vielleicht einfach übersehen, bei anderen (z. B. JavaScript-Meldungen) ist eine entsprechende Markierung nicht trivial).

Je nach Grund unterscheidet sich dann auch die weitere Vorgehensweise, wenn man den Text aber doch gerne auf Deutsch haben möchte.

Um das Ganze mal anschaulich zu machen, folgen jetzt zwei Beispiele.

Beispiel A

Schauen wir mal im Plugin-Verzeichnis nach Torro Forms, einem Formular-Plugin. Wir sehen, dass es (Stand heute, 2017-03-25, für Deutsch zu 98% übersetzt ist. Die User bekommen also eine Sprachdatei ausgeliefert.
https://translate.wordpress.org/projects/wp-plugins/torro-forms

torro-forms-98-prozent

Torro Forms am 25. März 2017: für 98% aller übersetzbaren Textstellen liegen deutsche Strings vor

Wenn man nun German anklickt, kommen vier weitere Einträge:

  • Development (trunk) – dies sind die Textstrings der nächsten Version
  • Stable (latest release) – die Textstrings der aktuellen Version
  • Development Readme (trunk) – die Readme-Datei der nächsten Version
  • Stable Readme (latest release) – die Readme-Datei der aktuellen Version
torro-forms-subprojects

Plugin-Strings und Readme-Strings, jeweils in der aktuellen und in der nächsten (=Entwicklungs-) Version

Uns interessiert die Zeile Stable (latest release); dahinter verbergen sich die Strings der aktuellen, aktiven Versionsnummer. Die Spalte Untranslated zeigt an, dass 8 Textstellen nicht übersetzt sind. Ein Klick, und wir sehen, welche Texte noch einzudeutschen sind (und demnach zurzeit noch englisch in Deinem WordPress-Backend auftauchen):

torro-forms-untranslated

Weiß hinterlegte Felder zeigen Texte an, die noch nicht übersetzt wurden

Wie das funktioniert, wie auch Du (ja! Du!) Übersetzungen zu WordPress beitragen kannst, klären wir in Teil 3 dieser Reihe.

Beispiel B

Als zweites Beispiel schauen wir nach Simple History – einem Plugin, das diverse User-Aktivitäten im Backend protokolliert.

Hier beginnen wir mit einem Screenshot direkt nach der Installation, also mit englischen Texten:

simple-history-englisch

Die Einstellungs-Seite von «Simple History»: erstmal alles auf Englisch

Im Pluginverzeichnis unter https://wordpress.org/plugins/simple-history/ können wir jedoch sehen, dass es dieses Plugin auf Deutsch zu geben scheint:

simple-history-deutsch-verfuegbar

Screenshot von https://wordpress.org/plugins/simple-history/ – scheinbar gibt es dieses Plugin auf Deutsch!

Die letzte Überschrift auf dieser Seite, ganz unten, lautet Mitwirkende & Entwickler. Dort unter Mehr lesen versteckt sich ein Link Übersetze Simple History in deine Sprache. Dahinter sehen wir den Übersetzungs-Status des Plugins. German und Stable 100% – das sieht doch sehr gut aus!

sh-german-stable-100percent

Die (übersetzbaren) Texte liegen zu 100% in Deutsch vor

Also im Dashboard unter Aktualisierungen fix die neuen Übersetzungen übertragen, Simple-History-Einstellungen aufgerufen, und … tadaa … Deutsch – aber nicht alles:

simple-history-einstellungen-deutsch

Trotz 100% kompletter Sprachdatei für Deutsch kommen noch englische Texte zum Vorschein

Die Überschrift Database size ist noch Englisch; in der Liste der übersetzbaren Strings taucht aber kein Eintrag mehr auf:

untranslated-empty

Der Filter auf «nicht-übersetzte Strings» liefert keine Fundstellen!

Diese Textstelle ist demnach nicht in eine der magic functions verpackt und kann von uns nicht übersetzt werden.

Ein Blick in den Quelltext des Plugins bestätigt diese Annahme:

string-nicht-uebersetzbar

Diese Überschrift ist nicht mit den Tools unter translate.wordpress.org übersetzbar.

An dieser Stelle bleibt dem Nicht-Entwickler lediglich die Möglichkeit, den Autor des Plugins zu kontaktieren, ihm für sein Plugin zu danken und ihn freundlich darauf hinzuweisen, dass es in seinem Plugin eine Textstelle gibt, die noch nicht übersetzbar ist.

Oft ist eine solche Aktualisierung schon beim nächsten Update eingearbeitet.

Ursache 4: es gibt gar keine Übersetzung ins Deutsche

Wenn nach der Installation eines Plugins oder Themes unter Aktualisierungen keine verfügbaren Übersetzungen angezeigt werden, dann ist das Plugin entweder gar nicht für die Übersetzung vorbereitet oder es wurden bisher nur weniger als 95% der übersetzbaren Textstellen übersetzt. Dies ist die Schwelle, bei der die Software GlotPress automatisch ein language pack generiert, was dann im Backend angezeigt wird.

Beide Fälle werden im Repository entsprechend ersichtlich und es gilt das bereits Gesagte: im ersten Falle muss der Entwickler ran und sein Plugin entsprechend der Richtlinien für eine Internationalisierung präparieren. Im anderen Falle muss jemand die noch offenen Texte übersetzen – und wie das funktioniert, wird das Thema von Teil 3 meiner Reihe sein.