Ja, es gibt WordPress schon lange und fast ebenso lange möchte man den Inhalt in verschiedenen Sprachen ausgeben und dem Leser den Inhalt entsprechend aufbereiten. Das Thema kann schnell vielschichtig und komplex werden, denn nicht nur das Darstellen von Inhalt in Form von Text in unterschiedlichen Sprachen ist ein Thema; es geht ebenfalls um die Meta Daten zum Inhalt, um Bilder, die je nach Sprache verschieden sein können und es geht um die Nutzung der Admin-Oberfläche in der bevorzugten Sprache. Damit ist nur ein Teil angedeckt und je nach Anforderungen (ein Bsp. bei StackExchange) wird dies schnell ein eigenes Projekt und WordPress ist nur ein "kleines" Framework im Hintergrund. Es gibt schon jetzt eine Reihe von Plugins, die verschiedenen Ansätze fahren - von neuen Tabellen im System oder de Trennung von Content nach Sprache in einem Tabelleneintrag zum Post bis hin zu Ablage in den Metadaten des Artikels.
Alle diese Lösungen haben ihre Grenzen, sind unflexibel und man begibt sich in eine Abhängigkeit, die man nur schwer wieder los wird und mit jedem Update von WordPress bekommt man es mit der Angst oder Minimum einem recht großen Aufwand im Testen zu tun. Darum möchte ich eine Lösung vorstellen, die wir im Team Inpsyde vielfach bei Kunden einsetzen und die ihre Stärke in der Flexibilität hat, in der Erweiterbarkeit und in der Eigenschaft, den WordPress Standard zu nutzen und nicht zu verbiegen. Ein Abschalten ist jederzeit möglich; das System bleibt in seinem Zustand.
Die Slides zum Thema sind eingebettet; dein Form des Lesens lässt dies nicht zu, daher schaue dir die Slides unter folgenden Link an: Mehrsprachigkeit mit WordPress.
Warum mehrsprachig?
- 2/3 der Weltbevölkerung sprechen mehr als eine Sprache
- Globale Aufstellung von Unternehmen
- Streuung von Inhalten
- Service am Kunden
- Suchmaschinenoptimierung
Die Lösung
WordPress Multisite liefert die Lösung am Standard.
Damit wird die Verwaltung verschiedener Instanzen, mit Gemeinsamkeiten und Unterschieden, mit Hilfe einer Installation möglich. Der Austausch von Daten ist via Core-Funktionen möglich, welche mittels Plugins gebündelt und vereinfacht werden.
Vorteile
- WordPress Core Funktionen
- Keine Abhängigkeiten von Plugins – überlebensfähig
- Unabhängig von WordPress Entwicklung*
- Themes, Plugins zentral steuern, dezentral nutzen
- Geringer Wartungsaufwand
- Trennung Sprachen in Backend/Frontend (Userabhänig)
- Komplett gespiegelt oder in jeder Inhaltsform getrennt
- Kulturelle Hintergründe getrennt umsetzbar
- Subdomains oder Subdirectories
- de.example.com, example.com/de
- Getrennte Domains via Domainmapping
- example.de, example.com
- Freiheit der Entwicklung in Design und Nutzeranforderung
- Optimierung nicht nur im sichtbaren Bereich, lang-Attribute, SEO
Weitere Ausführungen zu Frage, Ansatz und Lösung findet ihr den Slides zum WordCamp 2011.
Unterstützung via Plugin
Mit all diesen Anforderungen und Vorteilen nutzen wir eine Basis, die als Plugin im offiziellen Repository von WordPress zur Verfügung steht Multilingual Press. Das Plugin liefert einige Werkzeuge um Multisite komfortabel für den Einsatz in der Mehrsprachigkeit umzusetzen.

Dieses Plugin erleichtert die Zuordnung der unterschiedlichen Blogs im Netzwerk zu einer Sprache und der Verknüpfung zu anderen Blogs, so dass beim Publizieren in Blog A der Inhalt in anderen Blogs als Draft abgelegt wird. So stehen die Artikel in Relation, das System kennt ihre Zugehörigkeit und mit Hilfe einiger Funktionen kann dies im Frontend und Backend genutzt werden.
Das Plugin liefert die Möglichkeit, dass am Artikel und Seite eine Meta Box mit dem Inhalt der verlinkten Daten zu sehen ist; im einfachsten Fall als Übersetzungshilfe. Ebenso gibt es ein Widget, welches im Frontend die Umschaltung erleichtert. Je Blog können einige Einstellungen vorgenommen werden, so dass eine Sprache, Flagge zugeordnet ist.
Ausblick
Wir haben eine weitere Version in Arbeit, die zusätzliche Hilfe mitbringt; z.B. ein Dashboardwidget mit der Übersicht alles Artikel und Verknüpfungen, einer Erweiterungen der Mediathek um globale Inhalte über alle Blogs und eigenständige Inhalte pro Blog zu trennen, in den Rechten und der Bedienung. Ebenso gibt es Helfer für das Updaten von bestehenden Installationen. Im weiteren besteht die Möglichkeit die Sprachpakete direkt im Backend zu laden, ohne via FTP/SSH auf den Server zu greifen und die Sprachen zuzuordnen. Unterstützen können wir auch, wenn ein Blog neu im Netzwerk angelegt wird, in dem bestehende Blogs als Vorlage dienen und Optionen u.a. kopiert werden. Dies aber nur ein kleiner Ausblick.
Fazit
WordPress Multisite liefert die Basis und mit einigen Anpassungen ensteht eine saubere, kontrollierte Lösung für die Nutzung von WordPress im mehrsprachigen Umfeld. Nun liegt es an euch - Multisite nutzen, Plugin testen und Rückmeldungen sehen wir gern am Repo auf Github.
super arbeit jungs
wünsche euch ein frohes Fest
Hallo Frank,
auch nach mehreren Versuchen verursacht das Plugin bei mir:
Fatal error: Call to undefined function format_code_lang() in /var/www/...wp-content/plugins/multilingual-press/inpsyde-multilingualpress.php on line 938
@Gunnar: welche WP Version, ist es ein Multisite? Seit WP 3.0 ist die Funktion im Core, daher frage ich. Danke!
Lange erwartet, nun ist es endlich da! Danke an alle!
Hallo Frank,
ich hatte heute die selbe Fehlermeldung wie Gunnar!
Des Rätsels-Lösung ist recht einfach - ich hatte "Multilingual Press" in ein "frisch" aufgesetztes WP3.3 installiert ohne vorher die Mulitisite einzurichten.
Nachdem ich das plugin wieder gelöscht hatte und dann erst die MS eingerichtet habe konnte dann "Multilingual Press" auch problemlos ohne die Fehlermeldung installiert werden.
Danke für die tollen Erklärungen (und das zum 24.
), wir planen für unsere Seite um nächsten Jahr das WP mehrsprachig aufzusetzen und haben hier gute Impulse gefunden.
Wünsch frohe Weihnachten und einen guten Rutsch ins neue Jahr.
Wir sind neugierig auf das kostenpflichtige Plugin. Wo kann man dies bei Inpsyde erwerben ?
@Cornelia: aktuell kann man es nicht erwerben, ich werde gern hier einen Hinweis ablegen bzw. ist die Frage in einigen Wochen bei Inpsyde an der richtigen Adresse.
Hallo Frank,
ich hatte das selbe Problem bzw. die selbe Fehlermeldung wie Gunnar.
Der Fehler war ganz einfach, dass ich "Multilingual Press" in ein frisches WP3.3 installiert habe ohne vorher die Multisite Funktion (wpconfig) freizuschalten.
Sehe ich das richtig, dass einige der Screeshots von der angekündigten "PRO Version" sind?
@Andreas: die Screenshorts sind von der Free-Version; alles im Repo von WP.org sind von der Free-Version; lediglich auf G+ habe ich mal einen Screenshot der Pro-Version gezeigt, wobei dies nur den Download der Sprachdateien im Backend betraf.
Hey Männer´s
super Idee, dachte das man es bei WordPress so nit hinbekommt.
Guten Rutsch und auf ein neues Jahr in der Blogger Welt
Bislang habe ich das immer mit GoogleTranslate gemacht also den Link zum Übersetzungsservice. So ist das natürlich richtig schön, denn jetzt kann ich bei vielen Blogs die Texte endlich RICHTIG übersetzen lassen und einfügen. Danke!!!!!
Hallo Frank,
super, danke!
Aber gleich eine Frage dazu: lässt sich das Plugin auch nachträglich noch für eine mehrsprachige WordPress-Site basierend auf Multisite verwenden, um es in Zukunft einfacher zu haben, oder ist es dann zu spät?
Viele Grüße und Alles Gute für 2012!
Bernhard
@Bernhard: nein, es kann auch später genutzt werden. Aktuell gibt es aber kein Modul, was das Verknüpfen von bestehenden Artikeln erlaubt, was wir aber in Arbeit haben.
Hallo Frank,
bei mir verursacht die Aktivierung des Plugins auch die Fehlermeldung:
Fatal error: Call to undefined function format_code_lang() in . . . /wp-content/plugins/multilingual-press/inpsyde-multilingualpress.php on line 938
Ich habe WP 3.3 installiert, und die Multisite Funktion aktiviert.
Guten Rutsch ins Neue Jahr!
@Micha: du hast kein Multisite aktiv, daher kommt dies. Ohne Multisite kannst du aber das Plugin nicht nutzen; das Update wird eine Abfrage dazu mitbringen.
Ich habe es jetzt hinbekommen. Hatte die Installation für die Multisite Funktion nicht richtig abgeschlossen. Habe die Multisite Funktion zum ersten Mal ausprobiert.
Jetzt funktioniert es.:-)
Tipp:
Um aus dem Fehler-Modus wieder herauszukommen, deaktiviert einfach in der Datenbank alle Plugins per SQL.
update wp_options set option_value='' where option_name='active_plugins'
Vielen Dank, für die Anleitung. Besonders für paar meiner eigenen Blogs wäre eine Mehrsprachigkeit dringend von Nöten.
Ansonsten noch ein schönes neues und weiterhin viel Erfolg mit dem informativen Blog.
Habe das Plugin installiert und angetestet. Funktioniert gut! Was mir auffällt, ist, dass die Parallelverlinkung der Archiv-, Kategorie- und User-Pages untereinander noch ganz zu fehlen scheint. Du hast ja geschrieben, welche Features Ihr so auf der Todo-Liste habt: - dies steht schlicht nicht drauf und frage mich, ob ich da vielleicht bei der Kofiguration was übersehen habe?!
Freuen würde ich mich persönlich über eine Anmerkung, wie Ihr dieses Modul gegenüber dem bestehenden GPL-Plugin Multisite Language Switcher positioniert, denn die Lösungsansätze sind ja ausgesprochen verwandt. Was macht MultilingualPress besser?
Schöne Grüße,
Frank
@Frank: aktuell sehe ich die Stärke in wenigen Punkten: wir sind ein Team was supportet, entwickelt und die Lösung bei "großen" Kunden aktiv nutzt; parallel haben wir viele Schnittstellen vorgesehen, wo jeder Entwickler einhaken kann und so auf Bedürfnisse eingehen kann. Ebenso wird es eine Pro-Version geben, die für recht wenig Geld viele Lösungen bietet, die uns durch unsere Kunden unter kommen.
Ich kenne das Plugin pers. nicht; habe also keinen Vergleich in Qualität und Möglichkeiten. Der Ansatz wird von mir und dem Team seit Jahren öffentlich dargestellt; ist auch in zig Sites und Foren zu finden.
Hallo zusammen,
sehr guter Artikel! Ich habe in der Vergangenheit immer die Sprache "von Hand", also direkt im Core angepasst. Das es dann zu Update-Problemen kommt, habe ich dann ziemlich schnell herausgefunden
Danke für die Anleitung!
Das ist genau das was ich für meinen WordPress-Blog gesucht habe! Vielen Dank!!
Ab wann kann man mit der Pro-Version rechnen?
@gutu: wir hoffen, dass wir Ende Februar eine recht umfangreiche Lösung stellen; aktuell ist sie auch da, aber nur in interner Verwendung und wir ziehen noch einiges grade um die Nutzung sauber abzubilden.
Genau danach habe ich gesucht - mehrsprachige Blogs, wow. wird in Kürze angetestet. Danke!
Sehr guter interessanter Artikel. Für einige Seiten haben wir uns überlegt diese mehrsprachig zu gestalten. Ich werde dann mit Sicherheit auf diesen Artikel zugreifen
Ist es möglich die kostenlose Version auf eine Pro-Version upzugraden?
@gutu: ja, kein Problem.
Hallo Frank,
Toller Lösungsvorschlag in Verbindung mit dem Plug-In.
Lassen sich die Flaggen (die interne Verlinkung) auch ohne Widget einbauen. Würde die Flaggen gerne in den Content Bereich einbauen.
qfunkygog: ja, dazu steht eine Funktion bereit, siehe Wiki dazu.
Ich habe das Plugin erfolgreich installiert und es ist ziemlich fein! Ich habe jedoch das gleiche Problem wie funkygog. Ich würde auch gerne im Theme direkt die interne Verlinkung einbauen und nicht über das Widget. Ist das möglich?
Oder kann man beim Widget wenigstens die Verlinkung zu der Sprache, die gerade ausgewählt ist, entfernen? Hier wird immer auf die Hauptseite gelinkt...
@gutu: wir dazu einen Issue laufen und bringen einen Template Tag die Tage rein, der genau dies tut.
@gutu: es gibt nun eine Funktion für die Aufgabe, ziehe aber bitte von Github, da es im SVN noch nicht neu.
In dem Wiki, siehe Link, findest du dann auch die Funktion.
Intersseante Sache, aber wenn ich die Kommentare so lese: Wäre bei vielen nicht das - wirklich hervoragende - qTranslate Plugin (http://www.qianqin.de/qtranslate/) eine Lösung?
Dort gibt es die Möglichkeit mit dem Template-Tag schon. Ich setze das auch auf einer Seite ein - funktioniert Prima!
Einzige Schwachstelle: Blog-Titel und Description lassen sich nicht mehrsprachig angeben.- das scheint ja hier mit Multisite zu funktionieren.
@Jens: nein, definitiv nicht; wenn du die die Slides meines Vortrages ansiehst, dann sollte man auch erkennen warum. Ansonsten ist man damit zufrieden und dann gerne nutzen.
@Frank: Vielen Dank! Klappt perfekt
Bin froh wenn ich WordPress auf Deutsch bedeinen und füllen kann
Trotzdem muss ich diesen Artikel bookmarken wer weiß wann es dazu kommt.
Hi,
Ich habe Multisite auf einer Seite installiert und ausprobiert und bin im Großen und Ganzen damit zufrieden und kann es weiterempfehlen.
Gruß
Thorsten
Teste das Plugin gerade in einer Multisite auf USB-Stick mit Domain Mapping aus. Dazu kommt noch der hier bereits erwähnte Language Switcher - In dieser Kombination klappt es bisher gut.
Wenn die Seiten, so wie sie jetzt sind, in den Produktionsstatus gehen und weiterhin erfolgreich und stabil laufen, setze ich dazu mal ein Tutorial ab.
Was genau kaufe ich mir eigentlich an Funktionalität bei der Pro-Version ein?
qLars: sobald Pro da ist, werden wir die Features vorstellen; es sind einige Sachen, nicht schnell erklärt. Ein Bsp. Man kann alle Sprachen in einem Artikel pflegen, also div. Editoren untereinander, die die Daten aber trotzdem in die versch. Blogs mappen. Damit muss man nur in einem Blog arbeiten.
Ich habe es mir auch überlegt es mit einem Plugin zu lösen aber da gibt es einfach zu viele Nachteile. Ich habe mich dann dafür entschieden für zwei Webseiten zu erstellen. Das ist zwar wesentlich mehr Arbeit aber ich finde das lohnt sich.
Ich bekomme leider auch den Fehler
Fatal error: Call to undefined function format_code_lang() in /var/www/...wp-content/plugins/multilingual-press/inpsyde-multilingualpress.php on line 938
kann mir jemand helfen?
@jens: hast du die letzte Version im Einsatz und WP Multisite aktiv?
Ich hab das Plugin mittlerweile im Einsatz und es so eine riesige Zeitersparnis und Arbeitsersparnis, grandios. Unsere Übersetzer können die Texte jetzt deutlich schneller einpflegen und online stellen. Der Arbeitsprozess wurde damit deutlich produktiver.
Sehr sehr sinnvolles Plugin. Ich habe mich schon immer mal überlegt wie ich auch meinen Content auch mehrsprachig nutzen kann. Ist ja schon schlimm genug das einem Irgendwelche Übersetzer oftgenug alle die harte Arbeit Mopsen. Werde das mal an einem Testblog durch testen und mir die Ergbenisse etwas genauer anschauen. Falls Kritik / Anmerkungen werde ich dir hier posten
Vielleicht eine doofe Frage, aber wie gehe ich vor, wenn ich die Ausgabe des Multilanguage Press Wigets mittels css stylen möchte? Ich möchte die Flaggen zum Beispiel nebeneinander positionieren, statt untereinander, wie es die Voreinstellung ist.
Bin dankbar für jeden Hinweis.
@Alexandra: dazu das Stylesheet deines Themes erweitern; die Klasse des Widget nutzen und via
.mlp_language_box ul li { display: inline; }die Horizontale Optik erreichen.Herzlichen Dank Frank! Das hat mich auf die richtige Spur gebracht.
Klasse Frank ! Guter Artikel und das Plugin ist sehr hilfreich.
Muss ich echt mal testen. Wollte schon lange mal die besseren Artikel meiner Seite zweisprachig auflegen. Vor allem die Lösung mit zwei Domains finde ich klasse. Derzeit schreckt mich nur der teils doppelte Arbeitsaufwand ab. Mal schaun ob es die liebe Zeit zu Ostern zulässt. Danke auf jeden Fall für die Bemühungen an Frank und Team
Hallo Frank,
ich weiß, dass Du im Moment in einer Trauerphase steckst. Ich bräuchte dennoch von Dir eine ungefähren Zeitrahmen, ab wann man mit eurem multilingual Pro Plugin rechnen kann. Sonst müssen wir doch zu WPML zurückgreifen.
Vielen Dank schon mal
HG
Henryk
@Henryk: wenn nun nichts mehr schief geht, dann sollte ich am Mo den 2.04.2012 eine Version versenden können, die die Pro wird.
@Frank -> Pro-Preview: wo wird die veröffentlicht?
Ich habe seit einigen Tage das Plugin im Betrieb - super! Aber wie das bei den meisten Verbesserungen ist, werden gleich wieder neue Begehrlichkeiten geweckt
Ich brauche _unbedingt_ die Netzwerk-Mediathek.
Danke & Gruß,
Jochen
@Jochen: in der Pro-Version gibt es dieses Feature als Addon.
Wunderbar!
Ich vermisse irgendwie zwei Dinge oder hab sie noch nicht gefunden:
Wie lautet der PHP-Code den man bei neuen THemes einbauen müsste, wenn man das Widget nicht verwenden kann? Bspw: Bei Twentyeleven kann ich das Widget ja nur für Posts eintragen, nicht aber für Pages.
Daher muss ich da an das Theme ran.
In der Doku oder der Installanleitung finden ich den Code nicht. (Ich kann den zwar raussuchen, ich denke aber ich melde es trotzdem hier auch mal, damit ihr es in die Doku ergänzt, da es auch andere suchen werden).
Das zweite was mir aufgefallen ist, wäre eine /Barrierefreiheits/Usability-Verbesserung:
Es wäre besser, wenn die Flagge auf die aktive Website entweder nicht klickbar oder nicht da ist.
Momentan bekomme ich bei zwei Domains beide Flaggen zu sehen und kann beide anklicken. Wenn ich auf die Flagge klicke von der Site wo ich schon bin, läd die Site nochmal. Also etwas was man aus Usabilitygründen nicht tun sollte.
Also eigentlich braucht es zwei Optionen:
1. Flagge der eigenen Site anzeigen: aus/an.
2. Link auf eigene Site verlinken: aus/an
Ciao,
Wolfgang
@xwolf: schaue mal in das Wiki, du findest dann sicher deine Funktion. Alternativ könntest du Pages auch um Widgets erweitern. Zu deinen Hinweisen - vielen Dank!; besser ist aber immer dies via Issue einzukippen, dann geht es nicht verloren und wir arbeiten es ab. Ich übernehme es direkt und wir lassen es einfließen.