WordPress-Übersetzung ändern – und vor Überschreiben durch Updates schützen

24. Juni 2016 | Webdesign

Mit der vorhandenen Übersetzung von WordPress nicht zufrieden? Kein Problem. Auch die lässt sich anpassen. Allerdings haben viele Methoden den Nachteil, dass bei Updates die angepasste Übersetzung wieder verschwindet oder unvollständig ist. Mit einem Plugin und folgender Anleitung passiert das nicht.

Für das Ändern der Übersetzung von WordPress – egal ob in WordPress selbst, in einem Plugin oder Theme – gibt es jede Menge nützliche Werkzeuge, zum Beispiel das Plugin Loco Translate. Steht jedoch ein Update an, gibt es oft nur zwei Möglichkeiten: Entweder die Änderungen nach dem Update erneut vornehmen, was bei vielen individuellen Anpassungen sehr mühsam ist. Oder auf das Update verzichten, was aus Sicherheitsgründen generell nicht ratsam ist.

Übersetzung von WordPress – mit Risiken und Nebenwirkungen

Eine Alternative ist das Auslagern der Sprachdatei. Doch auch das hat einen entscheidenden Nachteil: Bringt ein Update neue Funktionen, sind meist neue (englischsprachige) Begriffe enthalten. Für diese fehlt dann in der ausgelagerten Sprachdatei die (deutsche) Übersetzung. Abgesehen davon ist das Auslagern mit Änderungen am WordPress-Code verbunden, die sich nicht jeder zutraut.

Eine weitere Alternative bietet das Plugin „Say what?“. Damit lassen sich Strings im Backend von WordPress übersetzen – Änderungen am Code oder an Sprachdateien sind nicht nötig. Wer die kostenlose Version nutzt, muss zwar einen Blick in den Code werfen. Aber das klingt schlimmer aus, als es ist.

WordPress übersetzen: Anleitung für Methode mit Update-Schreibschutz

Screenshot mit string und text domain

  1. Plugin „Say what?“ installieren und aktivieren.
  2. Im Code nach „Original string“ (hier „Oops! That page can’t be found.“) und „Text domain“ (hier „twentysixteen“) suchen.
  3. Werkzeuge > Text changes: „Add new“.
  4. „Original string“ und „Text domain“ sowie bei „Replacement string“ die individuelle Übersetzung eingeben. *
  5. Mit „Add“ speichern. **

Screenshot des Plugins "Say what?"

Sind „Original string“ und „Text domain“ nicht so leicht zu finden wie beispielsweise bei einer Fehlerseite (Design > Editor: meist „404.php“), können zwei weitere Werkzeuge genutzt werden: das bereits erwähnte Plugin „Loco Translate“ und ein Editor wie Notepad++.

  1. Mit „Loco Translate“ anhand der deutschen Übersetzung (zum Beispiel „Diese Seite konnte leider nicht gefunden werden.“) den „Original string“ suchen („Oops! That page can’t be found.“). Ggf. nach Anklicken von „Sync“ erneut suchen. ***
  2. Ggf. noch alle Dateien der WordPress-Installation (bzw. des Plugins oder Themes) auf den eigenen Rechner herunterladen.
  3. Über die Suchfunktion von Notepad++ (Suchen > In Dateien suchen) über den „Original string“ die „Text domain“ ausfindig machen („twentysixteen“).

Screenshot von Notepad++ mit dem "Original string"

 

* Enthält der „Original string“ ein „\“ (Beispiel: „Just fill in the fields and we\’ll get…“) muss dieses Zeichen beim Eintragen im Plugin „Say what?“ gelöscht werden. Ansonsten dürfen aber keine Zeichen ausgelassen werden, auch kein Punkt am Satzende oder ähnliches. Sonst wird die individuelle Übersetzung nicht angezeigt. Umlaute oder ähnliches in der individuellen Übersetzung sind dagegen kein Problem für das Plugin.

 

** Manche Übersetzungen verwenden zusätzlich „Text context“, um beispielsweise zwischen „Pound“ (Gewicht) und „Pound“ (Währung) zu unterscheiden. Dann muss das (hier „This text…“) noch bei den „Text changes“ eingetragen werden.

Screenshot aus Notepad++ mit "Text Context"

Screenshot des Plugins "Say what?"

 

*** Fehlt die deutsche Übersetzung und ist auch das (meist) englischsprachige Original nicht über „Loco Translate“ zu finden, dann ist es in der Sprachdatei (noch) nicht angelegt. In diesem Fall ist gleich mit dem Editor zu suchen, entweder nach dem englischsprachigen Original oder nach dem umgebenden Element (hier „goal-text“), das beispielsweise die Chrome Developer Tools anzeigen.

Screenshot Chrome Developer Tools

Danke fürs Ausprobieren an Jens Brehl!