i18n (für moziloCMS 1.12)
Das Plugin i18n ("Internationalization") erweitert moziloCMS um die Fähigkeit, mehrsprachige Inhalte zu verwalten. Der Website-Besucher kann zwischen den verschiedenen Sprachen auswählen.Download
Download: i18n
i18n.zip (14.27 KB)Funktion

Effekt des Plugins
Inhaltsseiten
Das Plugin zeigt Inhalte in einer angegebenen Sprache nur an, wenn der Website-Besucher diese Sprache ausgewählt hat.Beispiel für eine mehrsprachige Inhaltsseite (Sprachen rot markiert):
Oh, {i18n|de|hallo Welt!}{i18n|en|hello World!}
Hat der Benutzer "de" als Sprache ausgewählt, sieht er "Oh, hallo Welt". Bei "en" als ausgewählter Sprache wird hingegen "Oh, hello World" ausgegeben.
Der Text "Oh, " steht nicht unter der Verwaltung des Plugins und wird auf jeden Fall angezeigt.
Menüs und Website-Titel
i18n erlaubt es auch, die in Menüs und Website-Titel angezeigten Namen von Kategorien und Inhaltsseiten zu übersetzen. Das wirkt sich ausschließlich auf die Anzeige aus - an den tatsächlichen Datei- und Verzeichnisnamen im Dateisystem ändert sich nichts.Auswahl der anzuzeigenden Sprache
Die anzuzeigende Sprache muß als Parameter "i18n" am URL übergeben werden. Beispiele:- http://www.example.org/?i18n=de
- http://www.example.org/index.php?cat=Willkommen&page=Startseite&i18n=en
Standardsprache
Wurde die Seite ohne i18n-Parameter aufgerufen und ist auch noch keine Sprache in der Browser-Session gespeichert, wird die Standardsprache angezeigt. Das ist die, die in der Konfiguration als erste steht.Konfiguration
- Das Plugin kann beliebig viele Sprachen verwalten. Diese müssen kommasepariert als Verfügbare Sprachen angegeben werden. Die zuerst stehende Sprache gilt als Standardsprache (s.o.).
- Für jede angegebene Sprache wird in der Plugin-Konfiguration ein Textfeld Übersetzte Kategorie- und Seitennamen angezeigt. Darin sind alle Kategorien und Inhaltsseiten aufgelistet, zu denen man dann die passende Übersetzung angeben kann. Beispiel:
Willkommen = WelcomeDiese Übersetzungen werden - wenn die jeweilige Sprache vom Besucher ausgewählt wurde - dann anstelle der originalen Namen in Menü und/oder Website-Titel angezeigt. Bei Kategorien oder Inhaltsseiten, für die keine Übersetzung definiert wurde (hier bei "Impressum"), wird im Frontend einfach deren originaler Name ("Impressum") angezeigt.
Willkommen:Startseite = Homepage
Willkommen:Impressum = - Ist das Häkchen bei Kategorien und Inhaltsseiten neu einlesen gesetzt, werden beim nächsten Laden des Frontends alle Kategorien und Inhaltsseiten in alle Übersetzungs-Textfelder eingelesen. Bereits definierte Übersetzungen bleiben dabei unangetastet.
Bei Installation des Plugins ist diese Option aktiviert; es werden also initial alle Kategorien und Inhaltsseiten eingelesen.
Verfügbare Plugin-Platzhalter
i18n stellt die folgenden Plugin-Platzhalter zur Verfügung; diese können sowohl im Template als auch in Inhaltsseiten verwendet werden: {i18n|[Sprache]|[Inhalt]}
Beispiele:{i18n|de|Hallo Welt}
{i18n|en|Hello World} | Inhalt, der jeweils nur angezeigt wird, wenn im Frontend die übergebene Sprache ausgewählt ist. Der Inhalt kann natürlich moziloCMS-Syntax und andere Plugins beinhalten. |
{i18n|switch_[Sprache]|[Linktext]}
Beispiele:{i18n|switch_de|Linktext}
{i18n|switch_en|Linktext} | Erstellt einen Link auf den aktuellen URL, erweitert um den i18n-Parameter mit dem angegebenen Wert ("de" bei "switch_de"; "en" bei "switch_en" usw.). Der generierte HTML-Code des Links sieht so aus (Beispiel für Umschalten auf "de"): <a href="[URL]" class="i18n i18n_switch_de">[Linktext]</a>
Beispiel für Umschalten auf "en": <a href="[URL]" class="i18n i18n_switch_en">[Linktext]</a> Auf die Links kann also
|
{i18n|mainmenu} | Hauptmenü mit den übersetzten Namen von Kategorien (und, bei aktiviertem Submenü, auch Inhaltsseiten). Ersetzt im Template den Platzhalter {MAINMENU}. |
{i18n|detailmenu} | Detailmenü mit den übersetzten Namen der Inhaltsseiten. Ersetzt im Template den Platzhalter {DETAILMENU}. |
{i18n|title} | Website-Titel mit den übersetzten Namen von Kategorien und Inhaltsseiten. Ersetzt im Template den Platzhalter {WEBSITE_TITLE}. |
{i18n|sitemap} | Sitemap mit den übersetzten Namen von Kategorien und Inhaltsseiten. |
{i18n|currentlang} | Gibt die aktuell gesetzte Sprache zurück, z.B."de" oder "en". |