Wechsel zwischen Sprachversionen realisieren


Voraussetzungen



* [[webedition:build-multilingual-websites:single-set-of-templates-for-all-languages:create-folder-structure|Ordnerstruktur erstellen]]
* [[webedition:build-multilingual-websites:single-set-of-templates-for-all-languages:prepare-language-recognition|Spracherkennung erstellen]]

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 den 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.

Demo




* [[http://documentation-we.webedition.de/200808151523534174/de/index.html|Online-Demo öffnen]]


Quellcode


master.tmpl - Hauptvorlage
<code html>
<!DOCTYPE html PUBLIC "-W3CDTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<we:title></we:title>
<we:description/>
<we:keywords/>
<we:charset defined="UTF-8">UTF-8</we:charset>
<we:ifEditmode>
<!--
Dieses CSS-Definitionen dienen dazu, Formatierung innerhalb
der Ansicht "Bearbeiten" für den Redakteur durchzuführen.
-->
<style type="text/css">
table.editmode {
border-collapse: collapse;
border-spacing: 0;
background: #FFFFFF;
font: 12px "Trebuchet MS", Verdana, sans-serif;
color: #000000;
border: 1px solid #000000;
}

table.editmode > tbody > tr > th {
vertical-align: top;
text-align: left;
background: #C7D8EC;
border-right: 1px solid #000000;
border-top: 1px solid #000000;
}

table.editmode > tbody > tr > td {
border-top: 1px solid #000000;
}
</style>
</we:ifEditmode>
<we:ifNotEditmode>
<style type="text/css">
html {
font-family: arial;
font-size: .8em;
color: #000000;
}

a {
color: #000000;
}
</style>
</we:ifNotEditmode>
</head>
<body>

<!-- SPRACHERKENNUNG -->
<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>
<!-- /SPRACHERKENNUNG -->

<!-- Dieser Bereich ist nicht in der Ansicht Bearbeiten sichtbar. -->
<!-- Er dient nur der Ausgabe. -->
<we:ifNotEditmode>

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

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

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

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

<we:content/>

</body>
</html>
</code>

entry.tmpl - Vorlage der webEdition-Seiten "/de/index.html", "/en/index.html" und "/fr/index.html"; verwendet master.tmpl als Hauptvorlage
<code html><!--
Dieser Bereich ist nur für den Redakteur innerhalb
der Dokumentenansicht Bearbeiten sichtbar.
-->
<we:ifEditmode>
<!-- Eingabefelder für den Sprachwechsel -->
<we:include type="template" path="/template-includes/edit-languages.tmpl"/>
</we:ifEditmode>

<h1>
<we:input type="text" name="Headline" size="40"/>
</h1>
</code>

/template-includes/edit-languages.tmpl - Vorlagen-Include; wird von entry.tmpl verwendet
<code html>
<table class="editmode" cellpadding="5">
<!-- Nur wenn die webEdition-Seite sich nicht im deutschen Verzeichnis befindet... -->
<we:ifNotVar name="language" match="de" type="global">
<tr>
<th width="100">Deutsch</th>
<td><we:href name="GermanPageURL" type="int" size="40" rootdir="/de/"/></td>
</tr>
</we:ifNotVar>
<!-- Nur wenn die webEdition-Seite sich nicht im englischen Verzeichnis befindet... -->
<we:ifNotVar name="language" match="en" type="global">
<tr>
<th width="100">Englisch</th>
<td><we:href name="EnglishPageURL" type="int" size="40" rootdir="/en/"/></td>
</tr>
</we:ifNotVar>
<!-- Nur wenn die webEdition-Seite sich nicht im französischen Verzeichnis befindet... -->
<we:ifNotVar name="language" match="fr" type="global">
<tr>
<th width="100">Französisch</th>
<td><we:href name="FrenchPageURL" type="int" size="40" rootdir="/fr/"/></td>
</tr>
</we:ifNotVar>
</table>
</code>
powered by webEdition CMS