Die erste Webseite - Mehrsprachig

Aus Contao Community Documentation

Version vom 27. Februar 2012, 16:45 Uhr von Althoffc (Diskussion | Beiträge)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)


betrifft
Contao Version ab 2.9

Einleitung

Diese Anleitung zeigt, wie man mit Contao eine mehrsprachige Webseite erstellt. Es wird hierfür ausschliesslich die Corefunktionalität verwendet.

Das Ziel dieser Anleitung ist:

  • Das Erstellen einer Webseite in Deutsch und in Englisch. Webseiten-Besucher mit einem deutschen Browser sollen auf die deutsche Webseite geleitet werden; Besucher mit einem englischen Browser oder IRGENDEINEN anderessprachigen Browser sollen auf die englische Webseite geleitet werden.

In dieser Anleitung werden:

  • 2 Seitenbäume erstellt: Eine für die deutsche Webseite, eine für die englische.


C2g logo.png Contao2Go: Für diese Anleitung stehen ein oder mehrere Contao2Go-Pakete zum Download bereit:

Sicherheitshinweis: Es ist davon abzuraten, Contao2Go-Pakete aus unbekannten Quellen zu nutzen. Contao2Go-Pakete können so erstellt werden, dass damit Schadsoftware auf den Computer eingeschleust werden kann. Es sollten daher nur Pakete von der Projekthomepage contao2go.org verwendet werden. Diese werden vor der Veröffentlichung kontrolliert, sodass eine Kompromittierung ausgeschlossen werden kann.


Voraussetzung

Diese Anleitung baut auf der Anleitung Die erste Webseite auf.

Vorbereitung

Bevor man mit der eigentlichen Arbeit beginnt, ist eine kleine "kosmetische Anpassung" erforderlich, welche die Übersichtlichkeit erhöht:
Aktuell sieht die Seitenstruktur so aus:

Seitenstruktur

Nun bearbeitet man den Startpunkt der Webseite (bei dem erster Eintrag "My First Site" auf den Bleistift-Button klicken) und benennt ihn mit deutschen Bezeichnungen.

Umbenennung in deutsche Bezeichnungen

Anschliessend speichert und schliesst man. Nun sollte die Seitenstruktur so aussehen:

Seitenstruktur nach der Anpassung

Funktionsbeschreibung

Aktuell existiert eine Webseite in Deutsch. Im Startpunkt der Webseite wurde im Abschnitt DNS-Einstellungen unter Sprache de für Deutsch und ein Haken bei Sprachen-Fallback gesetzt. Durch diese Einstellungen werden ALLE Besucher auf diese Seite geleitet, egal welche Sprache sie eingestellt haben.

DNS-Einstellung

Nun, was bedeuten diese Einstellungen?
Die im Feld Sprache gesetzte Sprache definiert, in welcher Sprache die Webseite verfasst ist. Wird die Webseite nun durch einen Besucher aufgerufen, liest Contao die Sprache des Browsers aus und vergleicht sie mit der im Feld Sprache gesetzten Sprache. Stimmen die Sprachen überein, wird diese Webseite ausgegeben. Stimmt sie nicht überein, erhält der Besucher einen Fehlermeldung 404 - Seite nicht gefunden.

Hier kommt jetzt die Einstellung Sprachen-Fallback ins Spiel: Wird bei dieser Einstellung ein Haken gesetzt, wird diese Seite ausgegeben, sollte keine der verfügbaren Webseiten in der Sprache des Benutzers vorhanden sein. Somit wird verhindert, dass der Besucher die Fehlermeldung 404 - Seite nicht vorhanden bekommt. Es sollte mindestens eine Sprache einer Webseite einen Fallback bekommen.

Legt man diese Erkenntnis nun auf die in der Einleitung aufgeführten Vorgabe um, bedeutet dies:

  • Man benötigt eine Webseite in Deutsch (ohne Fallback)
  • Man benötigt eine Webseite in Englisch (mit Fallback)

Anpassen der existierenden Seite

Da die deutsche Seite ja schon existiert, besteht die einzige Aufgabe bei dieser nur darin, die richtigen Spracheinstellungen zu setzen. Dazu bearbeitet man wieder den Startpunkt der Webseite und setzt beim Abschnitt DNS-Einstellungen die Sprache auf de (sollte schon gesetzt sein) und entfernt den Haken bei Sprachen-Fallback. Anschliessend speichert und schliesst man.

Spracheinstellung der deutschen Webseite

Erstellen der neuen Seite

Die englische Seite muss komplett neu erstellt werden. Im Prinzip funktioniert dies genau gleich wie bei der deutschen Seite. Es muss nur auf die richtige "Verschachtelung" geachtet werden. Der Startpunkt der englischen Seite muss UNTERHALB der existierenden Seite eingefügt werden, NICHT INNERHALB. Die einzelnen Seiten der englischen Seite müssen INNERHALB des englischen Startpunktes sein.
Da hier immer wieder Fehler gemacht werden, nochmal die grafische Darstellung:
Seitenstruktur beider Seiten aufgeklappt:

Seitenstruktur beider Seiten aufgeklappt

Seitenstruktur beider Seiten (Startpunkte zugeklappt):

Seitenstruktur bei zugeklappen Startpunkten

Und noch einmal mit Textdarstellung:

- Startpunkt deutsche Webseite
---- Startseite
---- Über Mich
---- Meine Eltern
-------- Mein Vater
-------- Meine Mutter
---- Impressum / Kontakt
- Startpunkt englische Webseite
---- Home
---- About Me
---- My Parents
-------- My Father
-------- My Mother
---- Imprint / Contact

Im Startpunkt der englischen Webseite muss im Abschnitt DNS-Einstellungen bei Sprache en und ein Haken bei Sprachen-Fallback gesetzt werden. Anschliessend speichert und schliesst man.

Spracheinstellungen bei im englischen Startpunkt

Artikel

Abschliessend müssen wie in der deutschen Seite auch die Artikel in der englischen Seite erstellt werden.

Ergebnis

Alle Aufgaben wurden erfüllt. Ruft man nun die Startseite mit einem deutschen Browser auf, kommt die deutsche Webseite.

Die deutsche Webseite

Ruft man die Startseite mit einem englischen Browser oder einen Browser in irgendeiner anderen Sprache auf, wird die englische Webseite ausgegeben.

Die englische Webseite


Hinweis zum Testen

Einige Internet-Browser (z.B. Firefox) verwalten eine "Vorzugsliste" der vorrangig anzuzeigenden Sprachen. Beim Testen gerade des Sprachen-Fallbacks darauf achten, dass in dieser "Vorzugsliste" des Browsers keine der in der Homepage umgesetzten Sprachen enthalten ist. Sobald eine der Sprachen aus der "Vorzugsliste" in der Homepage enthalten ist, kommt der Sprachen-Fallback nicht zum Tragen.

Ansichten
Meine Werkzeuge

Contao Community Documentation

Toflar hat mich gestern entjungfert! ... er hat meinen ersten PR gemerged.

Kim Wormer
Navigation
Verstehen
Verwenden
Entwickeln
Verschiedenes
Werkzeuge