Wechsel zwischen Sprachversionen realisieren

Das folgende Beispiel zeigt Ihnen, wie Sie für die Besucher Ihrer Website den Wechsel zwischen den verschiedenen Sprachversionen realisieren.

Hinweise:
Egal wie Sie bei der Erstellung einer mehrsprachigen Website vorgehen, sollten Sie als Zeichensatz immer UTF-8 verwenden. 

Von einem Ansatz, bei dem mehrere Sprachversionen auf einer webEdition-Seite beziehungsweise in einem Objekt verwaltet werden, raten wird dringend ab.

Die nachfolgend dargestellte Lösung zeigt nicht die standardisierte Vorgehensweise von webEdition, sondern ist eine eigengestrickte Lösung. 

 

Voraussetzungen

Es muss eine entsprechende Ordnerstruktur aufgebaut worden sein, das bedeutet für jede Sprache gibt es ein eigenes Verzeichnis. Außerdem muss eine Spracherkennung realisiert worden sein.

Das folgende Beispiel zeigt Ihnen, wie Sie für die Besucher Ihrer Website den Wechsel zwischen den verschiedenen Sprachversionen realisieren.

Dabei werden dem Redakteur Eingabemöglichkeiten (<we:href>) zur Angabe der URLs der anderen Sprachversionen zur aktuellen webEdition-Seite zur Verfügung gestellt.

Gibt es zu einer webEdition-Seite keine Entsprechung in einer anderen Sprache, kann der Redakteur die URL einer webEdition-Seite auswählen, die der aktuellen Seite am nächsten kommt. Wird zum Beispiel eine deutsche Pressemeldung nicht im englischen Bereich zur Verfügung gestellt, kann der Redakteur die Übersichts-Seite der englischen Pressemeldungen auswählen.


Quellcodes - Hauptvorlage

Die nachfolgenden Quellcodes werden in der Hauptvorlage (Master) eingesetzt. Es wird angenommen, wir haben drei Sprachen - deutsch, englisch und französisch. Die jeweiligen Seiten für die Sprachen befinden sich in den Ordnern de, en und fr.


Spracherkennung

<we:comment>SPRACHERKENNUNG</we:comment>
<we:ifWorkspace path="/de/" doc="top">
  <we:setVar to="global" nameto="language" value="de"/>
</we:ifWorkspace>
<we:ifWorkspace path="/en/" doc="top">
  <we:setVar to="global" nameto="language" value="en"/>
</we:ifWorkspace>
<we:ifWorkspace path="/fr/" doc="top">
  <we:setVar to="global" nameto="language" value="fr"/>
</we:ifWorkspace>

 

Sprachwechsel-Links
Wurde keine webEdition-Seite für eine Zielsprache definiert, zeigt der Link auf die Homepage (index-Seite - index.php) der Zielsprache.

<we:ifVar name="language" match="de" type="global" doc="top" comment="Sprachwechsel-Links für webEdition-Seiten im deutschen Verzeichnis">
<ul>
<li><a href="<we:ifNotEmpty match="EnglishPageURL" type="href"><we:href name="EnglishPageURL" /><we:else />/en/</we:ifNotEmpty>">English</a></li>
<li><a href="<we:ifNotEmpty match="FrenchPageURL" type="href"><we:href name="FrenchPageURL" /><we:else />/fr/</we:ifNotEmpty>">Français</a></li>
</ul>
</we:ifVar>

<we:ifVar name="language" match="en" type="global" doc="top" comment="Sprachwechsel-Links für webEdition-Seiten im englischen Verzeichnis">
<ul>
<li><a href="<we:ifNotEmpty match="GermanPageURL" type="href"><we:href name="GermanPageURL"/><we:else/>/de/</we:ifNotEmpty>">Deutsch</a></li>
<li><a href="<we:ifNotEmpty match="FrenchPageURL" type="href"><we:href name="FrenchPageURL"/><we:else/>/fr/</we:ifNotEmpty>">Français</a></li>
</ul>
</we:ifVar>

<we:ifVar name="language" match="fr" type="global" doc="top" comment="Sprachwechsel-Links für webEdition-Seiten im französischen Verzeichnis">
<ul>
<li><a href="<we:ifNotEmpty match="EnglishPageURL" type="href"><we:href name="EnglishPageURL"/><we:else/>/en/</we:ifNotEmpty>">English</a></li>
<li><a href="<we:ifNotEmpty match="GermanPageURL" type="href"><we:href name="GermanPageURL"/><we:else/>/de/</we:ifNotEmpty>">Deutsch</a></li>
</ul>
</we:ifVar>

 

Quellcodes - Vorlage einer Seite

Eingabefelder für den Sprachwechsel

<we:ifNotVar name="language" match="de" type="global" comment="Nur wenn die webEdition-Seite sich nicht im deutschen Verzeichnis befindet...">
Deutsch: <we:href name="GermanPageURL" type="int" size="40" rootdir="/de/"/>
</we:ifNotVar>
<we:ifNotVar name="language" match="en" type="global" comment="Nur wenn die webEdition-Seite sich nicht im englischen Verzeichnis befindet...">
Englisch: <we:href name="EnglishPageURL" type="int" size="40" rootdir="/en/"/>
</we:ifNotVar>
<we:ifNotVar name="language" match="fr" type="global" comment="Nur wenn die webEdition-Seite sich nicht im französischen Verzeichnis befindet...">
Französisch: <we:href name="FrenchPageURL" type="int" size="40" rootdir="/fr/"/>
</we:ifNotVar>
powered by webEdition CMS