WordPress – Mehrsprachigkeit mit qTranslate – Problem eigene Felder wie übersetzen?

Hier eine kurze Beschreibung um bei WordPress mit Hilfe von qTranslate „eigene Felder“ (custom fields) zu übersetzen.

Der Trick ist das man zunächst die „eigenen Felder“ dupliziert. Anschließend erweitert man das Template um ein Language Switch auf php Level

qtranslate eigene FelderSchritt 1: Eigene Feld duplizieren

Im Feld „eigene Felder“ die Felder die auch in anderen Sprachen verfügbar sein sollen anwählen und duplizieren. Ich habe diese einfach „(english)“ am Ende benannt.

Bei Kopieren wurde ein „(copy)“ erzeugt und das lässt sich schön einfach durch „(english)“ ersetzen

 

 

Schritt 2: Template anpassen

Hier der Code für eine einfache Weiche für eine statische Ausgabe

<?php if(qtrans_getLanguage() == „de“) : ?>
Schnelleinstieg
<?php endif ?>
<?php if(qtrans_getLanguage() == „en“) : ?>
Shortcut
<?php endif ?>

 

Hier der Code um eigene Felder entsprechend je nach Sprache auszugeben. Da in meinem Template mehre „eigene Felder“ für einen Bereich waren habe ich zunächst eine Abfrage eingebaut um alles in einem Rutsch zu machen

if(qtrans_getLanguage() == „de“){
$page_additional_title = „page_additional_title„;

// hier entsprechend weitere Variablen

[…]
}
else if(qtrans_getLanguage() == „en“) {
$page_additional_title = „page_additional_title_(english)„;

// hier entsprechend weitere Variablen

[…]
}
?>

Hier dann die eigentliche Ausgabe.

<?php

if(get_field($page_additional_title)) {

?>
<h2><?php echo get_field($page_additional_title); ?></h2>
<?php

}

?>

Wenn man nur ein eigenes Feld hat kann man die obere und untere auch einfach kombinieren

Man hätte dann

if(qtrans_getLanguage() == „de“){
echo get_field(page_additional_title);
}
else if(qtrans_getLanguage() == „en“) {
echo get_field(page_additional_title_(english));
}
?>

page_additional_title_“ bzw. „page_additional_title_(english)“ ist der Name des „eigenen Feldes“. Dieses muss identisch sein mit der Bezeichnung im Admin.

Mehr zu WordPress von Konvis.de gibt es hier.

 

Sie benötigen Hilfe bei der Umsetzung von Mehrsprachigkeit von WordPress?

Schicke Sie mir gerne eine Mail (martin.steudter@konvis.de) oder rufen Sie mich an.

Mehr über WordPress von KonVis finden Sie hier.

2 Antworten auf „WordPress – Mehrsprachigkeit mit qTranslate – Problem eigene Felder wie übersetzen?“

  1. Hallo Martin,

    ich würde generell nicht auf qtranslate mehr setzen. Das Plugin wird schon seit längerem nicht mehr weiterentwickelt und die Lösung ist aus Performancegründen und weiteren Gründen auch nicht optimal.

    Stattdessen würde ich dir eher https://wordpress.org/plugins/multilingual-press/

    Dort erscheint bald auch eine neue Version mit allen Pro Features, das Plugin wird komplett frei sein. Wenn du Interesse hast, kannst du auch gerne als Betatester die neue Version ausprobieren.

    Schönen Sonntag noch!

    Alex

  2. Hallo Alex,
    danke für dein Kommentar.

    Die aktuellste WP Version scheint auch nicht mehr kompatibel mit qtranslate zu sein und qTranslate ist für aktuelle Projekte eh keine Option mehr 😉

    Wenn ich es richtig sehe gibt es dort generell nur wenig Auswahl bei guten WP-Plugins für Mehrsprachigkeit. Werden uns Multilingual beim nächsten Projekt wo wir sowas brauchen auf jeden Fall näher anschauen.

    Grüße
    Martin

Schreibe einen Kommentar zu Martin Steudter Antworten abbrechen

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