Hi Leute,
CC greift das Thema Mehrsprachigkeit etwas anders auf als Contao. Wie wir alle wissen managed Contao die Sprachen je Seitenzweig und sozusagen je Artikel / Element / Modul je Zweig. Generell keine schlechte, aber eine sehr mühsame Methode, besonders bei Modulen wie den News oder reinen Listen. CC ist ein listenähnliches Modul.
Wie macht CC das genau?
- Erstmal wähle man in der Konfiguration welche Sprachen generell bereitgestellt werden sollen. Einfach alle Sprachen, die CC unterstützen soll.
Hinweis: Sollen die Basis-Einträge auch gleich die Muttersprache darstellen (z.B. Deutsch) wähle man in den Systemeinstellungen > CustomCatalog Einstellungen > Die Basis-Spracheinträge Fallbacks. Das Hinzufügen von Deutsch als autarke Sprache ist in diesem Fall nicht nötig.
- Ab jetzt gibt es über der Liste mit Euren Einträgen einen Sprachenwechsler (strenggenommen ein Backend-Filter). Über diesen kann man die angelegten Einträge je Sprache anzeigen lassen.
Hier der Knackpunkt!
CC managed Sprachen innerhalb des Eintrags. Anders gesagt jeder Eintrag hat Sprachen-Geschwister (in der Datenbank völlig autark, CC unterscheidet für einen)
- Mit dem Sprachenwechsler im Eintrag (Editiermodus) wähle man zwischen den Sprachen-Geschwistern. Falls für die jeweilige Sprache noch keiner existiert, wird eine neue Kopie des aktuellen Eintrags angelegt.
Ohne eine Sprachauswahl hat man die Möglichkeit "Basis-"-Eintrage anzulegen (würde ich empfehlen) z.B. für zukünftige Übersetzungen oder wenn ein Übersetzer direkt Zugang zum CC haben soll. Damit dieser nicht wild neue Einträge anlegt, sondern sich auf seine Übersetzungen konzentrieren kann, kann man einen Basis-Eintrag anlegen.
--
Neues Feature ab 1.1.6 (danke an D23):
CC unterstützt gleiche Alias innerhalb von Sprachengeschistern.
Beispiel:
/en/product-A.html
/de/product-A.html
Existiert bereits ein Alias für einen Eintrag für die gewählte Sprache, wird ein entsprechender Hinweis ausgegeben. "Alias für Sprache XYZ existiert bereits."
---
Frontend:
Die CC-Liste ist hier sehr smart. Man kann direkt die aktive Sprache vorfiltern lassen. Dann schaut CC nach der Sprachvariablen des aktiven Zweigs. Fertig aus.
Alternative ist ein manueller Sprachenfilter. Damit kann die Liste manuell umgestellt werden (sehr komfortabel z.B. bei mehrsprachigen Glossars, wo man nicht je Sprache einen Seitenzweig bauen will)
Der Leser funktioniert ebenfalls mit dem Sprachenfilter. Auf den Detailseiten kann direkt (wie im Backend) zwischen den Sprachgeschwistern umgeschaltet werden. Dafür einen manuellen Sprachenfilter auf der Detailseite platzieren
Gut zu wissen:
Der Leser, als auch die Liste reagieren auch auf GET Parameter: xyz.html?language=en
CC greift das Thema Mehrsprachigkeit etwas anders auf als Contao. Wie wir alle wissen managed Contao die Sprachen je Seitenzweig und sozusagen je Artikel / Element / Modul je Zweig. Generell keine schlechte, aber eine sehr mühsame Methode, besonders bei Modulen wie den News oder reinen Listen. CC ist ein listenähnliches Modul.
Wie macht CC das genau?
- Erstmal wähle man in der Konfiguration welche Sprachen generell bereitgestellt werden sollen. Einfach alle Sprachen, die CC unterstützen soll.
Hinweis: Sollen die Basis-Einträge auch gleich die Muttersprache darstellen (z.B. Deutsch) wähle man in den Systemeinstellungen > CustomCatalog Einstellungen > Die Basis-Spracheinträge Fallbacks. Das Hinzufügen von Deutsch als autarke Sprache ist in diesem Fall nicht nötig.
- Ab jetzt gibt es über der Liste mit Euren Einträgen einen Sprachenwechsler (strenggenommen ein Backend-Filter). Über diesen kann man die angelegten Einträge je Sprache anzeigen lassen.
Hier der Knackpunkt!
CC managed Sprachen innerhalb des Eintrags. Anders gesagt jeder Eintrag hat Sprachen-Geschwister (in der Datenbank völlig autark, CC unterscheidet für einen)
- Mit dem Sprachenwechsler im Eintrag (Editiermodus) wähle man zwischen den Sprachen-Geschwistern. Falls für die jeweilige Sprache noch keiner existiert, wird eine neue Kopie des aktuellen Eintrags angelegt.
Ohne eine Sprachauswahl hat man die Möglichkeit "Basis-"-Eintrage anzulegen (würde ich empfehlen) z.B. für zukünftige Übersetzungen oder wenn ein Übersetzer direkt Zugang zum CC haben soll. Damit dieser nicht wild neue Einträge anlegt, sondern sich auf seine Übersetzungen konzentrieren kann, kann man einen Basis-Eintrag anlegen.
--
Neues Feature ab 1.1.6 (danke an D23):
CC unterstützt gleiche Alias innerhalb von Sprachengeschistern.
Beispiel:
/en/product-A.html
/de/product-A.html
Existiert bereits ein Alias für einen Eintrag für die gewählte Sprache, wird ein entsprechender Hinweis ausgegeben. "Alias für Sprache XYZ existiert bereits."
---
Frontend:
Die CC-Liste ist hier sehr smart. Man kann direkt die aktive Sprache vorfiltern lassen. Dann schaut CC nach der Sprachvariablen des aktiven Zweigs. Fertig aus.
Alternative ist ein manueller Sprachenfilter. Damit kann die Liste manuell umgestellt werden (sehr komfortabel z.B. bei mehrsprachigen Glossars, wo man nicht je Sprache einen Seitenzweig bauen will)
Der Leser funktioniert ebenfalls mit dem Sprachenfilter. Auf den Detailseiten kann direkt (wie im Backend) zwischen den Sprachgeschwistern umgeschaltet werden. Dafür einen manuellen Sprachenfilter auf der Detailseite platzieren
Gut zu wissen:
Der Leser, als auch die Liste reagieren auch auf GET Parameter: xyz.html?language=en
Kommentar