mehrsprachiges WordPress mit xili-language Plugin

Anfangs war das Ziel meines Blogs hauptsächlich über meine privaten Technikspielereien zu schreiben. Als sich da aber doch VMware und Linux als weitere Themen anboten war der Gedanke an ein zweisprachiges Blog da und wartete auf Umsetzung.

Ich habe mich für das Plugin xili-language entschieden. Hier wird für jede Sprache ein Artikel geschrieben und die dann als jeweilige Übersetzung verlinkt.

Die Seite für die Beitragserstellung erweitert sich um ein zusätzliches Fenster in dem man die Artikelsprache auswählen kann:

beitrag-neu

Die Einstellungen in welcher Sprache das Blog erscheint kann man in den Einstellungen recht bequem einrichten und ich habe mich entschieden, das der Sprachpriorität des Browsers zu überlassen:

languages-front-end-settings

Hier war ich an dem Punkt, dass die passenden Artikel je nach Sprache angezeigt wurden, aber die Widgets auf der rechten Seite immer in deutsch waren.

Selbst nach der Umstellung der Sidebar auf die angepassten Widgets von xili-language war das immer noch der Fall:

Auf die Lösung kam ich durch den hervorragenden Support des dev Teams. Der Grund war die voreingestellte Sprache in wordpress selbst.

Änderung in der wp-config.de

[von]define('WPLANG', 'de_DE');

[zu]  define('WPLANG', '');

 

Damit und mit der Einstellung das xili-language die WP Default Domain ändern darf, war wieder ein Teilerfolg geschafft.

languages-expert-settings

Jetzt wechselten die angepassten Widgets die Sprache nur die WP eigenen waren jetzt englisch. Bei den Kategorien wurde nur die Überschrift übersetzt, die einzelnen Kategorien selbst allerdings nicht.

Diese Schritte gehen dann zusammen. Man braucht hierzu eine passende Sprachdatei ähnlich wie die von WP selbst. In meinem Theme liegen die Sprachdateien unter themes/zeesynergie/includes/lang

Dort habe ich mir eine eigene local-de_DE.po mit folgendem Inhalt erstellt. Im nachhinein habe ich gelesen, dass man dafür ein Child Theme erstellen sollte. Dazu später mehr.

msgid "Hardware"
msgstr "Hardware"

msgid "PC"
msgstr "PC"

msgid "Private"
msgstr "Privat"

msgid "Software"
msgstr "Software"

msgid "Linux"
msgstr "Linux"

msgid "VMware"
msgstr "VMware"

msgid "Recent Comments"
msgstr "Letzte Kommentare"

msgid "Recent Posts"
msgstr "Letzte Beiträge"

msgid "Search"
msgstr "Suchen"

msgid "Log out"
msgstr "Ausloggen"

msgid "Site Admin"
msgstr "Administration"

msgid "Login"
msgstr "Einloggen"

msgid "Entries"
msgstr "Beiträge"

msgid "Comments"
msgstr "Kommentare"

Danach noch die .mo Datei mit folgendem Befehl erstellen lassen:

msgfmt -o local-de_DE.mo local-de_DE.po

Und fast alles wird passend übersetzt. Für diese beiden Schritte gibt es auch noch ein Zusatzplugin, allerdings kam ich damit nicht zurecht. Für mich ist eine Konfigdatei und ein Texteditor irgendwie einfacher zu bedienen.

Lediglich der Button Search und die beiden Links zu dem Feed wehren sich noch.Bevor ich diese Punkte angehe wollte ich noch ein Menü um manuell die Sprache wechseln zu können.

Das geht in den Einstellungen des Designs unter Menüs:

nav-menu

In diesem Stand befindet sich auch derzeit mein Blog. Die Thematik mit dem Child Theme um die im Menu ausgeschriebenen Sprachen durch Bilder zu ersetzen und die Sprachdateien dort abzulegen ist bisher gescheitert, deshalb:

TODOs:

  • Sprachen als Text durch Bilder der Landesflaggen ersetzen
  • eigene Sprachdateien in einem Child Theme unterbringen, damit ich auf Updates gewappnet bin.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.