Knowledgebase:Mehrsprachigkeit 4.0

From Cloudrexx Development Wiki
Jump to: navigation, search


Einführung

Contrexx ermöglicht es mehrsprachige Websites zu betreiben. Dabei wird jede Sprachversion der Website in einem virtuellen Sprachverzeichnis betrieben. Als Sprachverzeichnis wird der ISO 639-1 Code der jeweiligen Sprache verwendet. Die deutsche Sprachversion einer Website wird z.B. im virtuellen Sprachverzeichnis /de (www.example.com/de/) betrieben.

Hinweis: Diese Dokumentation bezieht sich auf die Version 4 oder älter. Für neuere Versionen von Cloudrexx, siehe Mehrsprachigkeit.

Template Integration

Sprachnavigation

Bei einer mehrsprachigen Website können die verschiedenen Sprachversionen der Website über eine Sprachnavigation verknüpft werden.
Sprachnavigation

Die Sprachnavigation kann entweder automatisch oder manuell generiert werden.

Automatische Generierung

Mit dem Platzhalter [[LANGUAGE_NAVBAR]] (siehe auch [[LANGUAGE_NAVBAR_SHORT]] weiter unten) kann eine automatisch generierte Sprachnavigation ins Website-Template (z.B. in der index.html des Templates) eingebunden werden.

Der Platzhalter erzeugt dabei für jede Sprachversion einer Website die folgenden HTML-Ausgabe:

<a class="CLASS" href="PATH" title="LANG_NAME">LANG_NAME</a>

Die Variablen haben dabei folgende Bedeutung:

Variable Beschreibung Beispiel
CLASS Der ISO 639-1 Code der jeweiligen Sprache. Bei der aktiven Sprache wird zusätzlich noch der Wert active (getrennt durch ein Leerzeichen) ausgegeben. de active en
PATH Der Pfad (Slug-Pfad) der Webseite. Bei der aktiven Sprache wird der Pfad der aktuell geladenen Webseite ausgegeben. Bei den anderen Sprachen wird der Pfad der jeweils korrespondierenden Sprache ausgegeben. /de/Willkommen /en/Welcome
LANG_NAME Der Name der jeweiligen Sprache, welche in der Administrationskonsole definiert wurde (Administration > Sprachen) Deutsch English

Die erzeugte Ausgabe einer zweisprachigen Website (Deutsch und Englisch) könnte wie folgt aussehen:

<a class="de active" href="/de/Willkommen" title="Deutsch">Deutsch</a>
<a class="en" href="/en/Welcome" title="English">English</a>

Bei diesem Beispiel ist die deutsche Sprachversion aktiv, daher beinhaltet der deutsche Link die CSS-Klasse active.


Zusätzlich besteht noch der Platzhalter [[LANGUAGE_NAVBAR_SHORT]], welcher genau gleich funktioniert wie der Platzhalter [[LANGUAGE_NAVBAR]], mit dem Unterschied, dass anstelle der Variable LANG_NAME, die Variable CODE verwendet wird. Wobei es sich bei letzterem um den ISO 639-1 Code der jeweiligen Sprache in Grossbuchstaben handelt:

<a class="CLASS" href="PATH" title="CODE">CODE</a>

Analoge Ausgabe zu obigem Beispiel würde somit wie folgt aussehen:

<a class="de active" href="/de/Willkommen" title="DE">DE</a>
<a class="en" href="/en/Welcome" title="EN">EN</a>

Manuelle Generierung

Je nach Situation, besteht der Bedarf die Verlinkung der einzelnen Sprachversionen einer Website manuell aufzubauen, da mit der Ausgabe der automatisch generierten Sprachnavigation ([[LANGUAGE_NAVBAR]]) nicht das gewünschte Ziel erreicht werden kann.

Eine Sprachnavigation kann manuell mit den Platzhaltern [[LANG_CHANGE_<CODE>]] und [[LANG_SELECTED_<CODE>]] erzeugt werden. Bei diesen Platzhaltern ist die Variable <CODE> jeweils mit dem ISO 639-1 Code der jeweiligen Sprache zu ersetzen.

Bei einer zweisprachigen Website, Deutsch und Englisch, kann z.B. mittels folgendem HTML-Konstrukt die nachfolgende Sprachnavigation erzeugt werden.

HTML-Konstrukt:

<ul>
    <li>
        <a class="[[LANG_SELECTED_DE]]" href="[[LANG_CHANGE_DE]]" title="Deutsch">DE</a>
    </li>
    <li>
        <a class="[[LANG_SELECTED_EN]]" href="[[LANG_CHANGE_EN]]" title="English">EN</a>
    </li>
</ul>

Erzeugte Sprachnavigation:

<ul>
    <li>
        <a class="selected" href="/de/Willkommen" title="Deutsch">DE</a>
    </li>
    <li>
        <a class="" href="/en/Welcome" title="English">EN</a>
    </li>
</ul>

Aktuelle Sprache

Mit dem Platzhalter [[ACTIVE_LANGUAGE_NAME]] kann der ISO 639-1 Code (z.B. de) der aktuellen Sprachversion (aktuelle Sprache) ausgegeben werden.

Übersicht Platzhalter

Platzhalter Beschreibung Beispiel
[[LANGUAGE_NAVBAR]] Automatisch generierte Sprachnavigation (Namen der Sprachen als Link)
<a class="de active" href="/de/Willkommen" title="Deutsch">Deutsch</a>
<a class="en" href="/en/Welcome" title="English">English</a>
[[LANGUAGE_NAVBAR_SHORT]] Automatisch generierte Sprachnavigation (ISO 639-1 Code der Sprachen als Link)
<a class="de active" href="/de/Willkommen" title="DE">DE</a>
<a class="en" href="/en/Welcome" title="EN">EN</a>
[[ACTIVE_LANGUAGE_NAME]] ISO 639-1 Code der aktiven Sprache de
[[LANG_CHANGE_<CODE>]] Der Pfad zur jeweiligen Sprachversion der aktuellen Webseite /de/Willkommen
[[LANG_SELECTED_<CODE>]] Status über die aktuell geladene Sprachversion selected

Weitere Sprache aktivieren

In der Administrationskonsole...

  1. aktivieren Sie unter Administration > Sprachen bei der gewünschten Sprache die Option Frontend
  2. integrieren Sie eine Sprachnavigation im Layout-Template, damit auf der Website zwischen den einzelnen Sprachversionen der Website navigiert werden kann
  3. wählen Sie für die neu aktivierte Sprache unter Administration > Layout das gewünschte Layout-Template

Weitere Sprachen hinzufügen

Weitere Sprachen können momentan nicht automatisch hinzugefügt werden. Wenden Sie sich an den Hersteller Support für eine unverbindliche Kostenanfrage für die Implementation einer weiteren Sprache.

Ältere Contrexx Versionen

Die folgenden Informationen beziehen sich auf die Contrexx Versionen 2.

Aufruf der Mehrsprachigkeit (manuell)

  • Mittels Hyperlink auf die entsprechende Sprache. Beispiel:
index.php?langId=1 // Zeigt die Seite in der Deutschen Sprache an (es wird kein Cookie gesetzt)
index.php?setLang=1 // Zeigt die Deutsche Sprache an und setzt ein Cookie

Platzhalter

  • [[LANGUAGE_NAVBAR]] Zeigt eine Sprachnavigation in der Form: [ Deutsch ] [ English ] an
  • [[ACTIVE_LANGUAGE_NAME]] Zeigt das Sprachkürzel der aktiven Sprache an. Beispielsweise de .