Sprachverknüpfungen nur aus Default-Sprache anlegen

Nutzbar ab: Version

Für mehrsprachige Projekte bietet es sich an, die Sprachverknüpfungen ausgehend von einer Sprache aus zu setzen.

Das Weblication® CMS Modul "Erweitertes Sprachmanagement" ermöglicht Ihnen die komfortable und schnelle Verwaltung von mehrsprachigen Projekten. Um eine konsistente Sprachknotenverwaltung zu gewährleisten, wird dringend empfohlen, eine Default-Sprache zu definieren, von der aus Sprachverknüpfungen bearbeitet und gelöscht werden.

Standard-Sprache für Sprachverknüpfungen definieren

Das Weblication® CMS Modul "Erweitertes Sprachmanagement" ermöglicht Ihnen die komfortable und schnelle Verwaltung von mehrsprachigen Projekten. Um eine konsistente Sprachknotenverwaltung zu gewährleisten, wird dringend empfohlen, eine Default-Sprache zu definieren, von der aus Sprachverknüpfungen bearbeitet und gelöscht werden.

Damit die Sprachverknüpfungen aus anderen Sprachen als der Default-Sprache verhindert werden, gibt es eine Einstellung, die manuell in den Projekteinstellungen des jeweiligen Sprachverzeichnisses eingestellt wird (z.B. /Inhaltsprojekt-en/weblication/project/wProject.php). EDIT: Ab aktueller CMS-Version 10.x kann dies auch über die Maske der Projekteinstellung direkt angegeben werden!

So kann beispielsweise über den Eintrag im Beispiel unten definiert werden, daß Sprachverknüpfungen im englischen Projekt (z.B. /firma-en) nur über das deutsche Projekt (z.B. /de) erfolgen dürfen.


Beispiel: Auszug aus den Projekteinstellungen (z.B.: /firma-en/weblication/project/wProject.php)

...
  <language projectConnect="/de">en</language>
...

Im Attribut projectConnect="" definieren Sie den Verzeichnispfad der Default-Sprache (z.B. /de oder /wDeutsch). Der Textknoten im language-Tag definiert in der Projekteinstellungsdatei das Sprachkürzel der aktuellen Sprache (z.B. en bei /firma-en).

Der Eintrag auf die Default-Sprache ist ab aktueller CMS-Version 10.x auch über die Maske der Projekteinstellung möglich. Auch für die Default-Sprache selber kann dies dann gesetzt werden, damit beim Kopieren bzw. neu erstellen einer Sprache auf Grundlage der Default-Sprache dieser Eintrag bereits gesetzt ist.

Ist der Einsatz eines Standard Sprachprojektes nicht gewünscht oder praktikabel, werden ab CMS-Version 15 bei Konflikten von Sprachverknüpfungen Warnungen ausgegeben.

Funktionsweise der Sprachverknüpfungen

Die Sprachverknüpfung zwischen Sprachen erfolgt auf Grundlage des wd:language nodeID-Wertes in den zusammengehörenden Dateien.
Dieser muss in jeder dieser Dateien (z.B. /de/unternehmen/geschichte.php, /en/company/history.php) den gleichen Wert haben. Der nodeID-Wert ist mit diesem Pfad im Global-Projekt abgelegt, worin die Dateien hinterlegt sind,  welche diesem nodeID-Wert entsprechen.

Gesetzt wird dieser Wert immer ausgehend von der Datei, welche die Verknüpfung anstösst. Wenn also von /de/unternehmen/geschichte.php (Quelle) die Sprachverknüpfung zu /en/company/history.php (Ziel) gesetzt wird, so wird der nodeID-Wert von Quelle in die Ziel-Datei eingetragen und im Global-Projekt so zu der Sprachknoten-Datei
hinterlegt.

Um eine konsistente Sprachknotenverwaltung zu gewährleisten, wird dringend empfohlen, eine Default-Sprache zu definieren, von der aus Sprachverknüpfungen bearbeitet und gelöscht werden.
Andernfalls kann es vorkommen, daß Sprachverknüpfungen in einer Sprache zwar gesetzt sind, in der anderen Sprache die eigentlich zugehörigen Dateien mit wiederum anderen verknüpft sind.

Protokollierung zu Sprachverknüpfungen

Ab Weblication® CMS Version 6 können Sie zu Sprachverknüpfungen eine Protokollierung aktivieren.

Durch folgende manuelle Konfigurationseinstellung können Sie für das Setzen und Lösen von Sprachverknüpfungen die Protokollierung einschalten.
Setzen Sie hierzu den Wert des setNodeId-Attributes innerhalb des languages-Tags (zu wDebug) auf den Wert "1". Mit dem weiteren Attribut setNodeIdIfNotEmpty="1" kann eine Protokollierung für die Fälle aktiviert werden, wenn bereits ein Sprachknoten vorhanden ist und geändert wird.

Sofern das Tag in der default.wConf.php noch nicht vorhanden sein sollte, setzen Sie dies XML-Konform.
Speichern Sie die Konfigurationsdatei UTF-8 kodiert ab.

Beispiel: Auszug aus der /weblication/grid5/conf/default.wConf.php zur Umwandlung in Kleinschreibweise

<wConf version="14">
  ...
  <wDebug>
    <languages setNodeId="1" setNodeIdIfNotEmpty="1"/>
  </wDebug>
  ...
</wConf>

Die Protokollierung wird im Verzeichnis /weblication/grid5/logs abgelegt und trägt als Text-Datei zum Dateinamen setLanguageNodeId das jeweilige aktuelle Tagesdatum. Die Zeilen werden wie folgt geschrieben:

Datum;IP-Adresse;Benutzername;Dateipfad;NodeID-bisher;NodeID-neu;aufgerufene URL

Beachten Sie, daß die Protokollierung fortlaufend täglich angelegt und somit im Laufe der Zeit ggf. viele Protokoll-Dateien angelegt werden können. Sie sollten daher entweder im Laufe der Zeit ältere und nicht mehr benötigter Dateien dort rauslöschen oder die Protokollierung wieder deaktivieren und die Protokoll-Dateien löschen.