Wenn Ihre Widgets übersetzbare Strings enthalten, können Sie die Übersetzung mit WPML bearbeiten, es gibt aber keine Garantie, dass die Übersetzungen auf der Seite angezeigt werden.

Methode 1) Benutzung von WordPress-Filtern

WPML benutzt die Standard-WordPress-Filter und übersetzt Inhalte, die Sie filtern.

Alle Standard-WordPress-Widgets wenden automatisch Filter an. Wenn Sie Ihre eigenen Widgets erstellen, müssen Sie darauf achten, dass dies auch passiert.

Wenn Sie beispielsweise Filter auf einen Widget-Titel anwenden möchten, verwenden Sie dies:

$wtitle = apply_filters('widget_title', $wtitle);

WPML verbindet sich mit dem Befehl apply-filters und macht diesen String über die String-Übersetzungsseite übersetzbar.

Methode 2) Manuelle Registrierung von Strings

Alternativ können Sie die WPML-String-Übersetzungsfunktionen manuell benutzen. Sie können Strings zur Übersetzung registrieren und dann, wenn sie angezeigt werden, eine Übersetzung finden.

Um Strings zu registrieren, benutzen Sie den Befehl icl_register_string:

icl_register_string($context, $name, $value)
    • $context – der Name des Plugin, in einem für Menschen lesbaren Format
    • $name – der Name des String, der dem Benutzer (oder Übersetzer) hilft zu verstehen, was übersetzt wird.
    • $value – der String, der übersetzt werden muss.

Dann, wenn Sie die Texte anzeigen, benutzen Sie icl_t, um die Übersetzungen mit anzuzeigen:

icl_t($context, $name, $value)

Methode 3) Benutzung von GetText für hardcodierte Strings

Die zwei zuvor beschriebenen Methoden sind am besten für dynamisch generierte Texte. Diese Texte können von Benutzern über das WordPress-Admin-Panel bearbeitet werden.

Wenn Sie statische Texte haben, welche im PHP hardcodiert sind, können Sie einfach GetText-Befehle benutzen, wie zum Beispiel:

<?php __('Hello world','cool_theme'); ?>

WPML verbindet sich mit den GetText-Befehlen und macht diese Texte über die String-Übersetzungs-Oberfläche übersetzbar. Bitte beachten Sie, dass diese Methode nur bei Texten funktioniert, die nicht im Theme bearbeitet werden können und in diesem fest verankert sind.