Da ich es – durch meine privaten Projekte und durch Aufträge von Kunden – immer häufiger mit mehrsprachigen WordPress-Installationen zu tun habe, lag es nahe, dass zu genau diesem Thema etwas mehr von mir und ich dabei gleich alles aufarbeite, was mir nun schon seit einiger Zeit “auf den Fingern brennt”.
Ich hatte vor mehr als einem Jahr bereits angedeutet, dass ich langfristig auf das WPML-Plugin verzichten und auf das Multisite-Feature bauen wollte, welches mit WordPress 3.0 dann auch tatsächlich eingeführt wurde. Wer weiter auf das Plugin setzen wollte, wurde wohl spätestens im Februar von der Meldung “überrascht”, dass aus WPML nun ein Commercial-Plugin geworden ist.
Meine Interesse an dem Plugin beruhte letztlich aber nur auf dem gut gelösten Handling, wenn man die Verbindung zwischen den Übersetzungen herstellen wollte, was nun der Multisite Language Switcher übernehmen kann. Wer keine Multisite aufsetzen möchte oder kann, ist mit meinem Plugin nicht gut bedient und sollte sich eventuell qTranslate näher anschauen.
Das Plugin kann seine Aufgabe nur in einer Multisite mit mehreren Blogs in verschiedenen Sprachen korrekt verrichten. Diese spezielle WordPress-Installation wird in dem englischsprachigen Artikel Create A Network ausführlich beschrieben. Hier lassen sich auch eine Vielzahl an weiteren Informationen finden. Nach dem Download des Multisite Language Switcher muss die geladene Zip-Datei im Verzeichnis wp-content/plugins/ der WordPress-Installation entpackt werden. Bis hierher unterscheidet sich die Installation des Plugins nicht von der üblichen Vorgehensweise. Die Aktivierung des Plugins kann dann komfortabel durch den Network-Admin für alle Blogs oder vom Blog-Admin für jedes einzelne Blog vorgenommen werden.
Die Konfiguration des Plugin (in Einstellungen -> Multisite Language Switcher) ist in der aktuellen Version recht einfach gehalten. Allerdings müssen die Einstellungen für jedes Blog mindestens einmal durchgeführt werden. So kann beispielsweise für jeden Blog in der Beschreibung der native Sprachname festgehalten werden.
Mit der Konfiguration des Punktes Anzeige kann die Ausgabe gesteuert werden. Im Augenblick kann zwischen Flagge und Beschreibung, Nur Flagge und Nur Beschreibung gewählt werden. In den nächsten 4 Feldern kann nach Bedarf Text bzw. HTML-Code hinzufügt werden, um die Ausgabe noch weiter an die eigenen Bedürfnisse anzupassen (siehe auch Ausgabe im Template). Mit den beiden letzten Optionen kann man steuern, ob (und mit welcher Priorität) unter den Posts ein Hinweis angezeigt werden soll, der eventuell vorhandene Übersetzungen signalisiert
In der Bearbeitungsoberfläche der Artikel bzw. Seiten befindet sich nun in der Seitenleiste eines bestehenden Posts oder nach dem ersten Abspeichern eines neuen Posts eines neues Bedienelement, welches vom Multisite Language Switcher erzeugt wurde.
In der Auswahlbox gleich neben der entsprechenden Flagge (oder auch Flaggen, falls mehrere Sprachversionen erzeugt wurden) kann man – je nach Typ des Posts – Seiten oder Artikel aus dem jeweiligen “Nachbarblog” auswählen und so eine Verbindung zwischen den Posts herstellen. Dies muss nur in einem der Posts gemacht werden. Die anderen Blogs werden ebenfalls aktualisiert, wenn hier eine Veränderung stattfindet etwas ändern sollte.
Neben der Ausgabe einer Meldung unter den Posts, wie schon bei den Einstellungen beschrieben, gibt es ein Widget, welches sich in eine Sitebar integrieren läßt. Zudem gibt es die Möglichkeit die Ausgabe im Code des Themas selbst einzubauen. Ich habe dies hier im Blog so gelöst, indem ich in die Datei header.php folgenden Code-Schnipsel eingebaut habe:
<?php if (function_exists("the_msls")) the_msls(); ?>
In den nächsten Versionen wird sich hier sicher noch einiges tun.
Ich bin dankbar für jeden, der das Plugin testet und mir die Probleme mitteilt, die bei der Arbeit mit dem Multisite Language Switcher bestehen. Außerdem würde ich mich freuen, wenn sich der eine oder andere Übersetzer das Plugin vornimmt. Die Skripten sind schon so weit vorbereitet und die Ausgabe der Zeichenketten erfolgt bereits mit den entsprechenden Gettext-Funktionen.
Wer sich bemüßigt fühlt, mir für meine Arbeit danken zu wollen, kann dies auf vielerlei Art und Weise tun. Mir persönlich würde es gefallen, wenn ihr über das Plugin schreibt, verlinkt oder Vorschläge einbringt, die das ganze Projekt weiterbringen. Falls sich jemand nicht davon abhalten lassen will, Geld bezahlen zu wollen, schlage ich vor, bei Greenpeace zu spenden. Ansonsten gibt es auch noch meinen Wunschzettel bei Amazon.
Der Multisite Language Switcher wird unter der GNU General Public License Version 2 vertrieben, was bedeutet, dass die Software privat und kommerziell frei benutzt werden kann. Gleichzeitig bietet diese Lizenz auch einen Schutz für den Entwickler, weil sich keine Garantien ableiten lassen und keine Ansprüche wegen Fehlern geltend gemacht werden können, die durch die Installation oder die Nutzung der Software verursacht werden könnten.