header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > 2nd lang - Trick
Letzte Bearbeitung:

2nd lang - Trick

oder

wie man eine zweite (regionale) deutschsprachige Website baut

Was muss man tun, um eine weitere deutschsprachige Seite über die Landesflagge im Sprachen-Menü auswählbar zu machen, um diese zusätzliche Sprache als eine regionale "Zweitsprachen-"Seite zu verwenden?

Will man statt dieses Tricks eine ganz normale "reguläre" Fremdsprache einrichten gibt es seit Mai 2022 eine sehr kompfortable Lösung (PHP 7.4 auf dem Server notwendig): https://olaf.penschke.net.../LangMan_XH

Das System der zusätzlichen Sprachen basiert bei CMSimple_XH darauf, dass es für jede Sprache ein Verzeichniss gibt, dessen Namen aus genau zwei Buchstaben besteht. Diese beiden Buchstaben sollen aus der Liste länderspezifischer Top-Level-Domains entnommen sein, die nach der ISODie ISO 3166 ist ein Standard für die Kodierung von geografischen Einheiten, herausgegeben von der Internationalen Organisation für Normung (ISO).3166 aufgebaut ist. In der ISOISO 3166-2 ist der zweite Teil des ISO-Standards ISO 3166. Er definiert mehr als 4000 Kennungen (Codes) für subnationale Verwaltungseinheiten und von Staaten abhängige Gebiete. 3166-2 für Deutschland sind die einzelnen Bundesländer jedoch mit einem Bindestrich an das DE angehängt. Für das Saarland ist das also z.B. DE-SL. Das sind also 5 Buchstaben und können somit nicht für das System von CMSimple_XH genutzt werden.

Also bleibt nur eine Buchstabenkombination zu wählen, die in der ISO 3166 nicht schon verwendet wird. Am Beispiel des Saarlandes beschreibe ich mein weiters Vorgehen.

Ein Blick in die Liste länderspezifischer Top-Level-Domains hat schnell gezeigt, dass alle 2-Buchstaben-Kombinationen, die mit einem S beginnen schon verwendet werden.
Also fiel meine Wahl auf das doppel-A, das noch nicht verwendet wird und an Saarland erinnern kann.

Seit CMSimple_XH 1.5 gibt es das Konzept der Vorgabe-Sprachdateien. Wird im CMS eine Sprache aktiv, für die es bisher keine Sprachdateien gab, werden die Default-Sprachdateien kopiert und mit der Buchstabenkombination der neuen Sprache benannt.
Das führt dazu (wenn man keine anderen Vorkehrungen trifft), das die Sprachdateien für die saarländischen Seiten alle aus der englischen Vorlage erzeugt werden.
Zumindest die Sprachdatei des CMS (/cmsimple/languages/aa.php) muss jedoch deutsch sein, da darin befindliche Texte auch im Frontend der Webseite erscheinen.

Es gibt zwei Wege dies zu erreichen:

  1. Die neu erzeugten Sprachdateien (aa.php) durch die deutschen de.php ersetzen, also Kopie der de.php erstellen und dann in aa.php umbenennen. Siehe auch: https://wiki.cmsimple-xh.org/doku.php/de:other_languages#multilingual_websites
  2. Vor dem Erzeugen der neuen Sprache die default.php -Sprachdateien löschen und durch Kopien der de.php ersetzen. Wenn man dies auch bei den installierten Plugins tut, erhält mach in Zukunft beim Anlegen einer neuen Sprache, für die es keine Sprachdateien gibt, immer ein deutschsprachiges Backend und Frontend.

Im Verzeichnis /userfiles/images/flags befinden sich die Flaggen für das Sprachauswahlmenü. Dort muss eine Datei aa.gif mit der saarländischen Flagge gespeichert werden.
Eine Liste der Länderflaggen findet man bei Wikipedia. Die offiziellen Websites der Länder haben i.d.R. auch eine Datei, die man verwenden kann.
Aus dieser Vorlage kann man mit einem Bildbearbeitungsprogramm eine 32 * 24 Pixel große GIF-Datei erzeugen und nach 'aa.gif' umbenennen.

Damit beim Hovern der Flagge im Sprachen-Menü als Titel nicht 'aa', sondern der richtige/gewünschte Namen angezeigt wird, muss entweder in der config.php des CMS die Zeile 11 (siehe unten) um die Kombination von Buchstabenkombination und Sprachennamen erweitert werden:

$cf['language']['2nd_lang_names']="cs=Čeština;da=Dansk;de=Deutsch;en=English;es=Español;fi=Suomi;fr=Français;el=Ελληνικά;hu=Magyar;it=Italiano;nl=Nederlands;no=Norsk;pl=Polski;ru=Русский;sv=Svensk;sk=Slovenčina";

in

$cf['language']['2nd_lang_names']="cs=Čeština;da=Dansk;de=Deutsch;en=English;es=Español;fi=Suomi;fr=Français;el=Ελληνικά;hu=Magyar;it=Italiano;nl=Nederlands;no=Norsk;pl=Polski;ru=Русский;sv=Svensk;sk=Slovenčina;aa=Saarland";

oder im Template muss die Variable ergänzt werden:

<?php $cf['language']['2nd_lang_names'].=";aa=Saarland"; ?>

Schließlich müssen noch die Verzeichnisse für den zusätzlichen Content erstellt werden:

Das Verzeichnis /2lang kopieren und umbenennen in /aa.
Den darin enhaltenen Ordner /aa/content in /aa/aa umbenennen und in das Verzeichnis /content verschieben: /content/aa

Wenn jetzt der Browser-Cash gelöscht wird und die Seite neu geladen wird, sollte die Flagge des Saarlandes in der Sprach-Menü-Auswahl angezeigt werden.

Nun noch die Sprache 'Saarland' auswählen und in den Einstellungen des CMS die Sprachdatei bearbeiten und alle Saarland-relevanten Änderungen vornehmen.

Jetzt sollte die neue Sprache fertig angelegt sein.


| Seitenanfang |