Ist Contao das Tool für mehrsprachige Webseiten?
Sah man früher mehrsprachigen Webseiten meist nur bei international ausgerichteten Unternehmen, so scheint es, dass mittlerweile regionale Unternehmen Ihr Angebot auch als englische Version anbieten. Multikulti verändert das Business und die Ausrichtung. So stellt sich die Frage: Kann mein CMS die unterschiedlichen Anforderungen an regionale oder globale Mehrsprachigkeit erfüllen?
Oliver Reif hat sich dieser Frage gestellt und das CMS Contao analysiert.
Ist Contao das ideale Tool für mehrsprachige Webseiten? Das kommt darauf an.
Mir sind zwei prinzipiell unterschiedliche Wege bekannt, in Content-Management Systemen mehrsprachige Webseiten zu pflegen:
In Version 1 werden alle Felder multilingual verwaltet, d.h. habe ich ein Feld für “Titel der Seite” so bezieht sich das z.B. auf meine englische Version der Seite. “In der Nähe” (wie auch immer das im jeweiligen CMS organisiert ist) finde ich die Eingabemöglichkeit für die “Titel der Seite” in anderen Sprachen.
Version 2 verfolgt den Ansatz, mehrsprachige Webseiten im Prinzip wie getrennte Domains zu behandeln. Ich bin also völlig frei, jede Sprachvariante eigenständig mit Inhalten zu versorgen. In Version 1 bedeutet das letztendlich, dass die Struktur alle Einzelseiten weitgehend gleich ist und der Redakteur alle Sprachversionen auf einen Blick sieht.
Ob das die richtige Variante ist, hängt von vielen Faktoren ab: Will ich wirklich in jeder Sprachversion die gleiche Struktur haben? Wie viele Sprachen möchte ich unterstützen, denn bei vielen Sprachversionen kann dieser Weg schnell unübersichtlich werden. Auch Variante 2 birgt Risiken: Wenn ich die Seitenstruktur in allen Sprachversionen konsistent halten möchte, muss sich der Redakteur bei jeder Änderung selbst darum kümmern, bzw. seinen fremdsprachigen Kollegen Bescheid geben, dass diese die Änderungen nachziehen.
Erstes Fazit: Alle Felder multilingual verwalten kann dann sinnvoll sein, wenn ich wenige Sprachen habe und eine konsistente Seitenstruktur wünsche. Aus meiner Sicht ist sonst Version 2 vorzuziehen.
Welchen Weg geht nun das CMS Contao?
Natürlich die Variante 2, werden die meisten sagen: Ich lege für jede Sprachvariante einen eigenen Seitenbaum an. Diese können sich eine Domain teilen, eine Sprache wird als Sprachen-Fallback festgelegt, denn Contao leitet den Nutzer automatisch auf die Version mit der in seinem Browser eingestellten Sprache, bzw. auf das Sprachen-Fallback, wenn für diese Sprache keine eigene Version vorgesehen ist. Da Contao Multi-Domain fähig ist, ist das eine sehr komfortable Lösung.
Contao bietet auch an, die Sprachversionen gleich zu präfixen, d.h. es gibt z.B. keine “index.html”, sondern eine “de/index.html” und “en/index.html”, sodass ich auf einer Domain auch mehrere Sprachvarianten unabhängig voneinander pflegen kann. Das ist der Variante ohne Sprachpräfix vorzuziehen, weil der Redakteur sonst darauf achten muss, keine doppelten Aliasse zu erzeugen, bzw. immer die Sprache mit in den Seitenalias aufzunehmen, also “de-index.html” und “en-index.html”.
Aber hält sich Contao zu 100% an dieses Prinzip? Nein, und das ist auch völlig in Ordnung so. Wer in der Dateiverwaltung schon mal mit Metadaten von z.B. Bildern gearbeitet hat, weiß, dass diese in unterschiedlichen Sprachversionen direkt bei der Datei eingegeben werden können. Was wäre die Alternative? Jedes Bild in einer eigenen Sprachvariante hochladen? Das wäre nur sinnvoll, wenn Bilder viele Texte enthalten, sonst wäre es viel zu viel Aufwand. Dennoch wünsche ich mir manchmal, Contao hätte die Option, zu einem Bild auch anderssprachige Alternativen anzugeben. Ausgespielt wird das, was zur Sprachversion passt – oder eben die Defaultversion.
Übersetzen von Webseiten
Das sollte mit unserem Wissen über Seitenbäume jetzt ganz einfach sein: Seitenbaum auswählen, komplett duplizieren, richtige Sprache eintragen, alle Elemente sichtbar schalten und dann einfach alle Texte in Seiteneigenschaften und Inhaltselementen übersetzen. Ok, vorher sollten wir – je nach Sprache – noch Vorkehrungen dafür treffen, dass die Sprache auch richtig angezeigt wird, z.B. wird arabisch von rechts nach links geschrieben (dafür ist die Darstellung der Zahlen wieder einfach :-)). Diese Übersetzungsarbeit kann dann ein Redakteur in Contao vornehmen oder über Erweiterungen wie contao2xliff exportieren, sodass professionelle Übersetzer die Texte mit ihren gewohnten Werkzeugen übersetzen können, um sie danach wieder zu importieren.
Doch Vorsicht ist in jedem Fall geboten. Text ist nicht gleich Text. Da gibt es vieles, was wie reiner Text aussieht, aber eine tiefere Semantik hat. Mein Lieblingsbeispiel: InsertTags. Unproblematisch sind Tags wie {{user::firstname}}, die den Vornamen des Besuchers der Webseite anzeigen. Dieser ist ja sprachunabhängig. Das sieht man den InsertTags aber von außen nicht direkt an, da der Inhalt von der Programmierung abhängt. Auch darauf sollte die Präsenz vorher programmiertechnisch vorbereitet werden.
Warum übersetzen nicht gleich lokalisieren ist!
Darüber hinaus gibt es viele Textstellen, die sprach- oder gar länderabhängig sind: so sind 0°C im Englischen – je nach Land, z.B. in USA – dann 32°F, das lässt sich mit einer einfachen Formel umrechnen. Ebenso km/h in mph. Aber was sind denn 1.000 EUR gerade in US-Dollar?
Was ist mit Inhaltselementen, die nicht nur aus Text bestehen?
Beispiele dafür gibt es viele: Bilder mit Schrift “im Bild”, was sowieso ein Antipattern ist, wenn der Text von Suchmaschinen erfasst werden soll. Auch Links sind natürlich von Sprache zu Sprache verschieden und manchmal gibt es keine adäquaten Links in einer Sprache, wenn diese Seite im Seitenbaum der Übersetzung gar nicht existiert. Das betrifft natürlich auch Links innerhalb des eigenen Seitenbaums, wie z.B. Download-Links.
In Contao haben wir darüber hinaus viele weitere Elemente zur Verfügung, die uns das Leben normalerweise erleichtern, bei Übersetzungen aber gesondert behandelt werden müssen. Bestes Beispiel sind die Include-Elemente, mit denen der Redakteur z.B. andere Artikel oder besser Nodes referenzieren kann. Diese sorgen dafür, dass meine Inhalte innerhalb der Seitenblöcke konsistent bleiben. Bei einer Übersetzung muss ich aber alle finden und ändern.
Das können aber auch Inhaltselemente sein, bei denen der Text eine untergeordnete Rolle spielt, wie bei Google Maps, das ja erstmal dazu dient, die Lage eines beliebigen Ortes auf der Welt zu lokalisieren. Dabei gibt der Redakteur aber natürlich auch Texte an, wie den Namen des Ortes. Und schon die Städtenamen können abweichen. So heißt die Stadt Rom auf englisch Rome, auf italienisch Roma und so weiter. Es muss also gar nicht mal um die Beschreibung des Ortes gehen wie “Contaoptic – Fachinstitut für Contactlinsen”.
Hier stellt sich grundsätzlich die Frage: Objekte duplizieren oder mehrsprachig auslegen?
Objekte duplizieren ist einfach, erfordert aber viel Arbeit dabei, die Objekte konsistent zu halten. Mehrsprachig auslegen kann es der Entwickler eines Inhaltselementes oder der Redakteur behilft sich mit Insert Tags, z.B. {{city::rom}} wird im Deutschen zu Rom und im Italienischen zu “Roma”. In Contao hat der Redakteur ebenfalls die Möglichkeit mit iflng zu arbeiten, was auch nichts anderes ist als ein InsertTag, den Contao aber von Haus aus mitbringt. Das geht dann z.B. so {{iflng::de}}Rom{{iflng::it}}Roma{{iflng}}.
Für strukturierte Daten empfehle ich sowieso, ein Katalog-Tool zu nutzen wie Metamodels oder den Catalog Manager. Diese unterstützen Mehrsprachigkeit und selbst wenn nicht, kann der Entwickler diese durch die Struktur der Daten ermöglichen. Gleiches gilt natürlich für Shop-Systeme wie Isotope.
Klingt also alles machbar?
Dann noch ein “Klopper” zum Schluss: Die lieben Formulare. Auch hier können Redakteure und Entwickler mit InsertTags arbeiten, um sich so das Duplizieren zu ersparen. Doch leider unterstützt jedes Formular nur genau eine Weiterleitungsseite. Und da wird es knifflig. Man könnte jetzt eine Weiterleitungsseite für alle Sprachen eintragen und die Verzweigung dann dort erledigen. Wir haben uns für den Weg einer Erweiterung entschieden, in der man mehrere Weiterleitungsseiten und deren Sprachen angeben kann, sodass die Weiterleitungsseite direkt aufgerufen wird.
Fazit
Contao bietet eine großartige Unterstützung bei der Erstellung mehrsprachiger Webseiten an. Im Detail könnte es noch besser sein, aber das sind eben nur Details. Auch die Übersetzung von Texten in Erweiterungen ist normalerweise kein Problem. Manchmal ist der Redakteur aber gezwungen, Elemente zu duplizieren, was die Pflege erschwert. Es gibt aber auch tolle Erweiterungen, die Dir dabei helfen.
Voraussetzung ist allerdings, dass alle Beteiligten das Modell mit den verschiedenen Seitenbäumen verstanden haben und es zum Projekt passt. Für die meisten Projekte aus meiner Praxis trifft dies aber zu.
Daher kann ich meine eingangs gestellte Frage “Ist Contao das ideale Tool für mehrsprachige Webseiten?” für mich nur mit “Ja!” beantworten.
Noch mehr Inforamtionen findest du auf Contao.org, im ungekürzten Beitrag.
Informationen zum Autor:
Oliver Reif
“Vor über 20 Jahren hat er die Firma trilobit gegründet und vor 10 Jahren sich voll auf Contao ausgerichtet. Contao ist für Ihm das CMS und das Anwendungsframework für Webseiten und -anwendungen.”
Agentur: www.trilobit.de
Contao ist ein leistungsstarkes Open Source CMS, mit dem du professionelle Webseiten und skalierbare Webanwendungen erstellen kannst.
Firmenkontakt
Contao Open Source CMS
Leonhard Feyer
Eibenweg 42
42111 Wuppertal
+49 202 49579835
marketing@contao.org
https://contao.org/de/impressum.html
Pressekontakt
Contao CMS – Marketing
Manuel Mederer, Christian Röckl
Schleißheimer 151
80797 München
0049 89 215361480
marketing@contao.org
https://contao.org/de/team.html