WordPress: Übersetzungen erstellen

Kevin Pliester
Veröffentlicht am

WordPress bietet selbst keine Übersetzungsmöglichkeit an, zumindest nicht ohne Hilfe von Plugins, oder Programmen wie PoEdit. Du kannst einzelne Übersetzungen aber auch nachträglich mit ein paar Zeilen PHP überarbeiten und ändern.

Ohne Plugin übersetzen

In unserem Beispiel wollen wir den Text von ACF korrigieren, der den Nutzern angezeigt wird, wenn sie ein Pflichtfeld vergessen zu befüllen. ACF gibt dann die folgende Meldung aus:

%s Wert ist erforderlich

Ich wollte hier aber folgende Meldung ausgeben, die relativ neutral gehalten ist und mit Doppelpunkten deutlich macht, dass nachfolgend etwas zu erledigen ist:

Dieses Feld ist erforderlich:

Den folgenden Schnipsel fügst dann bspw. in deine functions.php ein, damit die Änderungen sofort wirksam sind:

/**
 * Übersetzungen nachträglich ändern.
 *
 * @param string $translation
 * @param string $text
 * @param string $domain
 *
 * @return string
 */
add_filter( 'gettext', function( $translation, $text, $domain ) {
    $strings = [
        '%s value is required' => 'Dieses Feld ist erforderlich:',
    ];
    foreach ( $strings as $key => $value ) :
        if ( $key === $text ) {
            $translation = $value;
        }
    endforeach;
    return $translation;
}, 10, 3 );

Hier haben wir einen Array mit den Übersetzungen. Wir haben uns für den Array entschieden, weil es für uns so einfacher nachzuvollziehen ist, welche Texte womit ersetzt werden.

Den Array $strings können wir so nach belieben erweitern. Wir könnten auch ein eigenes Übersetzungsplugin damit schreiben, da der Filter gettext alle Übersetzungen bzw. Strings für die Übersetzung durchläuft.


In größeren Projekten, bei den mehrere Wörter übersetzt werden müssen, lohnt sich die Verwendung eines Plugins. Hier sind zwei Empfehlungen von mir, die keine Programmierung benötigen aber nur funktionieren, wenn die Inhalte auch zu übersetzen sind.

Loco Translate

Mein persönlicher Favorit, auch wenn ich ihn nicht hier auf Pixelbart verwende. Mit Loco Translate kannst du so ziemlich alles übersetzen, was bei dir installiert. Dazu erstellt Loco Translate auch direkt die passenden Übersetzungsdateien, sodass du das Plugin nach der Übersetzung auch einfach deaktivieren kannst. Perfekt.

TranslatePress

Mit TranslatePress kannst du deine Website mit den Augen eines Übersetzers betrachten und so direkt „live“ auf deiner Website Texte übersetzen. TranslatePress erkennt die meisten Wörter, lässt sich aber auch „manuell“ in den Einstellungen etwas feinschleifen, falls es mal nicht so gut funktioniert.

Hat dir der Beitrag gefallen?