Wenn du ein WordPress Child-Theme einsetzt und die Übersetzung des Themes auch anpassen möchtest, dann brauchst du nur eine functions.php in deinem Child-Theme und schon kann es los gehen.

In der functions.php kannst du Code für dein Child-Theme unterbringen, der den Code im Parent-Theme aber nicht überschreibt, sondern tatsächlich vor dem Laden der functions.php des Parent-Themes ausgeführt wird. Hier musst du also etwas Vorsicht walten lassen, sonst passiert es ganz schnell, das du fatale PHP-Fehler produzierst und dein Blog dadurch nicht mehr erreichbar ist.

Um jetzt WordPress mitzuteilen, das dein Child-Theme eigene Übersetzungen benutzen möchte, rufst du nach dem Setup des Parent-Themes die Funktion load_child_theme_textdomain auf. Das sieht bei mir wie folgt aus:

<?php
function contango_child_setup() {
	load_child_theme_textdomain( 'contango', get_stylesheet_directory().'/languages' );
}
add_action( 'after_setup_theme', 'contango_child_setup' );

Dementsprechend erwartet WordPress jetzt einen Ordner namens languages/ in deinem Child-Theme-Ordner, der die notwendigen .mo-Dateien enthalten sollte.

Wenn du nicht mit einem externen Po-Editor hantieren möchtest, dann kann ich dir das Plugin Codestyling Localization von Heiko Rabe empfehlen. Dieses erkennt dein Child-Theme problemlos, wenn die functions.php die richtigen Zeilen enthählt und bietet dir einfache Möglichkeiten um direkt im WordPress-Backend neue Sprachen hinzuzufügen, vorhandene Sprachen komfortabel zu editieren und sogar um die Übersetzung aus dem Parent-Theme in das Child-Theme zu synchronisieren.

Ein Tipp zum Schluss: Es lohnt sich, wenn man mit der Anpassung der Übersetzung fertig ist, alle nicht geänderten Zeilen aus der .po-Datei vor der Compilierung zu entfernen, um die zu ladende .mo-Datei so klein wie möglich zu halten, denn diese wird mit jeder einzelnen PI zusätzlich zur .mo-Datei vom Parent-Theme geladen und geparst.

Und nun wünsche ich dir erfolgreiches Übersetzen. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Post Navigation