Code ist Poesie

Uku & WPML: Das Datumsformat übersetzen

Ein Mockup des Uku-Themes von der Elmastudio-Website

Als ich das Uku-Theme von Elmastudio auf einer mehrsprachigen Website eingesetzt habe, musste ich feststellen, dass sich das Datumsformat beim Sprachwechsel nicht ändert. Die Mehrsprachigkeit auf der Website wurde übrigens über das weitverbreitete Plugin WPML ermöglicht.

In meinem Fall war Englisch die Hauptsprache und im WordPress Dashboard war unter Settings – General als Datumsformat F j, Y eingestellt, mit dem Output als January 22, 2019.

In meiner Zweitsprache Deutsch jedoch sollte das Datum der Blog-Beiträge im Format j. F Y, also als 22. Januar 2019 dargestellt werden.

In den Einstellungen von WPML wurde ich hierzu nicht fündig, und ich vermute, dass es eigentlich Aufgabe der Theme-Autoren sein sollte, diese Funktionalität bereitzustellen. Im WPML-Supportforum stieß ich jedoch auf eine Lösung.

Diese Lösung ist nicht wirklich nutzerfreundlich, aber dennoch schnell gemacht. Zunächst musste ich das WPML-Modul String Translations installieren. Dann war es erforderlich, in der functions.php des Child-Themes oder – besser noch – in einem Custom Functionality Plugin (Erklärung bei CSS-Tricks.com) folgenden Code-Schnipsel hinzuzufügen:

function translate_date_format($format) {
	if (function_exists('icl_translate'))
	  $format = icl_translate('Formats', $format, $format);
return $format;
}
add_filter('option_date_format', 'translate_date_format');

Dieser Code registriert offensichtlich das Datumsformat bei den zu übersetzenden Formats.

Screenshot aus dem Modul String translation von WPML

Im Anschluss konnte ich die Übersetzung über WPML – String Translation vornehmen. Hierfür wählte ich bei den Domains die Domain Formats aus und fügte die Übersetzung hinzu. Mit einem Häkchen bei Translation is complete und einem Klick auf Save war das Problem erledigt.

(Das Mockup-Foto oben stammt von der Elmastudio-Website.)

0 Kommentare zu “Uku & WPML: Das Datumsformat übersetzen

Schreibe einen Kommentar

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