Querdenkender Webworker mit WordPress-Affinität

WordPress mehrsprachig mit WPML und Hindernissen

WordPress ist schon lange eine ernstzunehmende CMS-Alternative. Einige meiner Kunden müssen nicht mehr großartig überzeugt werden, wenn Sie den Wunsch an mich herantragen, ihre steinzeitliche CMS-Lösung gegen etwas moderneres einzutauschen, und ich ihnen dann WordPress vorschlage.

Zu lange schon konnten sie nur neidisch zuschauen, wie die Benutzer der beliebten Blog-Software einfach frei verfügbare Plugins herunterladen, aktivieren und ihre Website so oftmals mit komplexen Funktionalitäten anreichern, deren Nutzung in den meisten Fällen wiederum kinderleicht ist.

Neben so elementaren Dingen wie der XML-Sitemap, dem Backup der DB oder den von Hause aus verfügbaren RSS-Feeds, gibt es unzählige Erweiterungen für jeden nur vorstellbaren Zweck. Viele Kunden benötigen zudem eine Lösung für mehrsprachige Websites. Auch dafür gibt es inzwischen einige einsetzbare Möglichkeiten.

Bisher wollte ich mich für meine eigenen Projekte noch etwas in Geduld üben. Jedes dieser Plugins führt eine Website, die sich einmal darauf eingelassen hat, in eine Abhängigkeit, aus der es nur schwer ein Zurück gibt. Die Aussicht auf WordPress 3.0, das die für diesen Zweck möglicherweise interessanten MU-Funktionalitäten in sich aufnehmen soll, kam noch dazu.

Nun bin ich ja für alles mögliche bekannt. Allerdings wird mich vermutlich niemand, der mich kennt, für mein Geduld rühmen. Ich sollte hier auf dem italienischen Markt nun endlich mal damit anfangen, in der allgemeinen Landessprache zu punkten. Und meine Frau, die als freiberufliche Übersetzerin arbeitet, hatte sowieso dringenden Bedarf.

Nachdem ich mir so einige Möglichkeiten angesehen habe, WordPress mehrsprachig zu machen, ist mein Wahl dann schließlich auf WPML gefallen. Es ist keineswegs so, dass ich beim Abwägen der Vorteile und Nachteile, dieses Plugin als eindeutigen Sieger gesehen habe. Der ganzheitliche Ansatz hat mich jedoch interessiert.

Im Idealfall sollte auch jemand, der keinerlei Erfahrung mit Programmiersprachen hat, mit WPML klarkommen. Man aktiviert das Plugin, nimmt dann einige Einstellungen vor und freut sich über eine mehrsprachige Website. Das es den Idealfall in der freien Wildbahn nicht gibt, ist der Haken an der Sache; in meinem Fall glücklicherweise ein lösbares Problem.

Einer der Haken besteht darin, dass es schlichtweg nicht vorgesehen ist, dass man eine zweisprachige Blogroll (oder eben die Linksammlung in der Sidebar) hat. Ich kann mir nicht vorstellen, dass die deutschsprachigen Websites sehr interessant für ausländische Leser sind.  Hier ist es gut zu wissen, dass nach der Aktivierung von WPML die Konstante ICL_LANGUAGE_CODE zur Verfügung steht.

wp_list_bookmarks ("title_li=&categorize=0&category_name=" . ICL_LANGUAGE_CODE);

Den obigen Code habe ich in die sidebar.php gesetzt, nachdem ich meine beiden Linkkategorien in de und it umbenannt hatte. Ein weiteres Problem besteht darin, dass WPML unter Umständen den Inhalt von selbst erstellten Text-Widgets nicht erkennt und man deshalb auch keine Übersetzung machen kann. Hier hilft möglicherweise mein Ansatz, einfach eine weitere dynamische Sidebar zu definieren.

<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 404 (Not Found)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:[email protected] screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:[email protected] only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) [email protected] only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
 </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>404.</b> <ins>That’s an error.</ins>
  <p>The requested URL <code>/svn/trunk/examples/functions.sidebar.php</code> was not found on this server.  <ins>That’s all we know.</ins>

Obiger Code gehört in die functions.php (vermutlich müssen die HTML-Tags entsprechend angepasst werden). Der nächste Block muss dann in die sidebar.php

<!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 404 (Not Found)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:[email protected] screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:[email protected] only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) [email protected] only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
 </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>404.</b> <ins>That’s an error.</ins>
  <p>The requested URL <code>/svn/trunk/examples/sidebar.php</code> was not found on this server.  <ins>That’s all we know.</ins>

Weitere Probleme tauchen auf, wenn man den RSS-Feed über Feedburner ausliefert. Das Plugin Feedburner Feedsmith, dass den lokalen Feed zu Feedburner umleitet, wird von nun an nutzlos, weil von nun an mindestens so viele RSS-Feeds wie Sprachen zu Verfügung stehen. Hier hilft möglicherweise nur ein direkter Verweis auf den eigenen Feedburner-URL in der header.php.

Fazit: Noch gehört viel guter Wille dazu, wenn man seine WordPress-Installation mehrsprachig haben will. Nach einiger Arbeit wird man jedoch – dank WPML – von einer gut durchdachten und stabilen Lösung unterstützt.

Das könnte Dich auch interessieren:

Kommentare

  1. Barbara meint:

    Interessanter Artikel, vielen Dank 🙂 Ich habe mir gerade gestern Gedanken über dieses Thema gemacht und mir das Plugin WPML etwas genauer angeschaut. Letztes Jahr habe ich mal qTranslate ausprobiert, war aber nicht so begeistert davon. Schlussendlich habe ich die Mehrsprachigkeit bei dieser (einfachen) Website mit Kategorien gelöst. Bei meinem nächsten mehrsprachigen Projekt werde ich WPML sicher noch einmal genauer unter die Lupe nehmen.

  2. Dass man mit WordPress auch mehrsprachige Seiten erstellen kann, war mir ehrlich gesagt neu, aber es ist auf jeden Fall gut zu wissen. Das zeigt einmal mehr, dass es eben viel mehr ist als eine Blogsoftware, was ja immer noch einige vermuten, dabei bietet es viel mehr Funktionen als die meisten Homepage-Programme und ist auch ohne Porgrammierkenntnisse recht leicht zu bedienen.

  3. Notiz an mich selbst: W3 Total Cache funktioniert gar nicht gut mit WPML und ist ausserdem hässlich zu deinstallieren.

  4. Wow – habe das Tool gerade mal kurz angetestet und muss sagen, dass es Plugins wie qTranslate o.ä. bei weitem in den Schatten stellt. Vor allen Dingen, die Unterscheidung im Hauptmenü (Edit Pages) in die angelegten Sprachen ist perfekt gelöst, damit behält man den Überblick, anstatt alle Sprachen quasi einem Ordner unterbringen zu müssen. Dieses Tool sollte eigentlich von Haus in WordPress 3.0 integriert sein.

  5. Mal schauen, was 3.0 bringt. Theoretisch ließen sich viele der Features auch mit einer Multiuser-Blog-Lösung bewerkstelligen, indem man das gleiche Theme einfach in verschieden Sprachen nutzt. Wer seine Posts allerdings wirklich in mehreren Sprachen anbieten, braucht das Plugin ganz sicher.

  6. Ich habe mich schon länger über die Inline-Styles geärgert, die mir WPML immer in der Header geschmiert hat. Dagegen gibt es glücklicherweise eine Mittel:

    define(“ICL_DONT_LOAD_LANGUAGE_SELECTOR_CSS”, true);

    Einfach in die wp-config.php rein und der Spuk hat ein Ende.

  7. Ich habe erst vor kurzem eine sehr umfangreiche Page mit insgesamt 8 Sprachen mit WMPL online gestellt. Da waren auch so einige Hürden zu lösen 😉 http://dolphin-therapy.org … übrigens ist die Webseite eine Kombination aus Joomla und WordPress

  8. Ich hoffe, dass das stabil läuft, Steffen. Hast Du auch den Übersetzungsservice von WPML in Anspruch genommen?

  9. cippolinaa meint:

    Der Artikel hat mir sehr gefallen, da ich noch nicht so viel Erfahrung generell mit selbsterstellten Seiten habe kämpfe ich gerade mit 3 Problemen mit dem WPML.
    Erstes wäre ich habe nach dem Header und der Navi ein “sujet”-Bild welches auch im Englischen etc. gleich bleiben soll. Es wird leider nicht angezeigt! Zweitens wären da noch meine 3 “boxen” – Seiten die auf der home angezeigt werden werden auch nicht in der jeweiligen Sprache angezeigt (im Gegensatz zu den Kategorien!!)und drittens wär da noch meine Fußzeile die auch nicht übersetzt wird trotz angelegter Seiten. Vielleicht kann mir wer von Euch weiterhelfen?? Ihr habt da sicher ein bisschen mehr Erfahrung als ich! Danke!

    • @cippolinaa Ich nehme mal an, dass die entsprechenden Teile hardcodiert im Template stehen und in entsprechende Konstrukte verbaut werden sollten, wie beispielsweise
      __() …

  10. Weiss einer wie ich eine statische Sidebar übersetze? Gibt es dafür sowas wie eine if abfrage?

  11. cippolinaa meint:

    @realloc nein ich verwende für die 3 boxen featuredpage widget und für die fußzeile flexipage widget. das sujetbild welches im englischen nicht angezeigt wird, wird auf jeder seite über benutzerdefinierte felder eingefügt!

  12. Ah, also sind die Texte in den Widgets nicht entsprechend vorbereitet bzw. es sind keine Sprachdateien vorhanden.

  13. cippolinaa meint:

    @realloc. kannst du mir das genauer erklären was du meinst mit nicht entsprechend vorbereitet??? die übersetzungen existieren und sind in wp hinterlegt. ich arbeite mit wpml!

    • @cippolinaa Ich gehe davon aus, dass die Widgets nicht mit Sprachdateien arbeiten. Wenn ich aus dem Urlaub komme (in einer Woche etwa), kann ich mir das auch genauer anschauen, wenn Du da Hilfe brauchst.

  14. cippolinaa meint:

    @realloc hilfe kann ich ganz bestimmt brauchen! das wäre ganz suuuuppppperrrr!!! dankeschön!!

  15. cippolinaa meint:

    @realloc hab grad ein äusserst dringendes problem. ich hab in einer sprache alle artikel und seiten händisch gelöscht – funktinierten nicht richtig. danach die sprache deaktiviert, mich ausgeloggt, eingeloggt und die sprache wieder aktiviert. dabei wurde DEUTSCH ich denke mal inaktiv gesetzt die box ist grau und ich kann sie nicht mehr anklicken. Es ist aber meine hauptsprache! wie kann ich sie wieder aktivieren?????? bin am verzweifeln….

  16. cippolinaa meint:

    @realloc
    ps: es geht um die seite http://int2.sprachen-studio.at habe ich schon mit wp 3.0 gemacht!

    • @cippolinaa An sich sollte es möglich sein, WPML im erweiterten Modus unter Sprachen entsprechend einzustellen (Standardsprache festlegen, weitere Sprachen hinzufügen und so weiter). Ich nehme an, dort hast Du die Sprache auch wieder aktiviert, oder? Ich hatte so ein ähnliches Problem auch vor einiger Zeit. Das war sehr ärgerlich, allerdings konnte ich mir nur damit behelfen, dass Plugin komplett neu zu installieren.

  17. cippolinaa meint:

    @realloc das hab ich schon probiert (hoffe ich hab alles richtig gemacht) es hat sich nichts geändert, das ist ja das problem…

    • Hast Du das Plugin über die Verwaltungsoberfläche deinstalliert und dann wieder neu installiert? Das ist vermutlich wichtig, weil WPML auch eigene Tabellen in der Datenbank anlegt.

  18. cippolinaa meint:

    ich habs grad nochmal probiert es ändert absolut nichts! ich krieg die echt die krise. ich kann doch nicht zum 3. mal die seite neu machen…

    • @cippolinaa In diesem Fall ist es wohl besser, wenn Du Dich mit dem Problem an den WPML-Support wendest. Soweit ich das beurteilen kann, sind die dort recht schnell, was die Antwortzeiten betrifft.

  19. cippolinaa meint:

    hab ich schon vor 1 std. probier… leider nichts bis jetzt….

  20. cippolinaa meint:

    auch im wordpress-forum auch nichts….

  21. Ich kann mir gut vorstellen, dass nur ein Entwickler sich in das eigene Produkt und die möglichen Probleme hineindenken kann. Geht mir bei meinen Sachen auch nicht anders … 😉 Aus der Entfernung ist die Diagnose dann noch schwerer.

  22. Regina meint:

    Hallo,
    ist dieser Artikel noch aktuell?
    LG

  23. ch habe mir für meinen Blog wpml gekauft habe aber große Schwierigkeiten das Plugin zum laufen zu bringen entweder fehlen Blogbeiträge oder meine seite wird nicht gestartet. Wer kann mir da helfen? Danke

Ihre Meinung ist uns wichtig

*