Mobirise

Sprach Erkennung

Mit diesen PHP Skripten von Werner-Zenk.de ist eine automatische Erkennung der Browser-Sprache möglich. Das kann sinnvoll sein, um z.B. englischsprachigen Besuchern Texte sogleich
 in ihrer Sprache anzuzeigen.
Funktioniert auch am mobilen Gerät.

Browser Sprache Einstellung

Ihr könnt bei Eurem Browser die Sprache einstellen. Zum Testen könnt Ihr z.B. anstelle von Deutsch dann Englisch nach oben setzen.
Der Screenshot ist ein Beispiel vom Firefox Browser.

> Einstellungen > Inhalt > Sprachen

Dann wird der rote Text unten in Englisch erscheinen.

Zum Einbau benötigt Ihr natürlich die kostenpflichtige Erweiterung "Code Editor".

Das Skript unten gehört bei Mobirise unter den "Pages" Einstellungen in den Bereich "Inside <head> code" und vergesst nicht die Seite, in der Ihr das einbaut, auf die Datei-Erweiterung .php umzustellen. Ich habe hier, um etwas Ordnung zu halten, alle anderen Skripte in ein Verzeichnis "sprache" kopiert. Passt das bei Euch entsprechend an.

  <script>

    window.addEventListener("load", function() {

     var xhr = new XMLHttpRequest();

     var lang = window.navigator.languages ? window.navigator.languages[0] : null;

     

     lang = lang ||

      window.navigator.language ||

      window.navigator.browserLanguage ||

      window.navigator.userLanguage;

     if (lang.indexOf('-') !== -1)

         lang = lang.split('-')[0];

     if (lang.indexOf('_') !== -1)

         lang = lang.split('_')[0];

     xhr.open("GET", "sprache/switch.php?lang=" + lang);

     xhr.send(null);

     xhr.onreadystatechange = function () {

      if (xhr.readyState == 4 && xhr.status == 200) {

       document.getElementById("ausgabe").innerHTML = xhr.responseText;

      }

     }

    });

  </script>

Fügt die Zeile unten, zur Anzeige der Texte, in den "HTML-Code" des Code-Editors eines beliebiges Blocks ein. Ich habe hier einen einfachen Textblock verwendet und den Default-Text mit dem Code unten ersetzt.

<div id="ausgabe"></div>

Kopiert folgende 3 Dateien mit einem FTP-Programm auf Euren Server. Ich habe hierfür im Server-Stammverzeichnis von meinem Mobirise-Projekt ein zusätzliches Verzeichnis mit dem Namen:


sprache


angelegt.


Die Datei "switch.php" mit folgendem Inhalt (abspeichern als Datei switch.php), die die unterschiedlichen Sprachen ermittelt und die entsprechenden Textdatei-Namen in eine Variable "$datei" schreibt:

<?php

    // Browser-Sprachumschaltung - switch.php

    if (isset($_GET["lang"])) {

     switch ($_GET["lang"]) {

      case "de":

        $datei = "deutsch.txt";

      break;

      case "en":

        $datei = "englisch.txt";

      break;

      default:

        $datei = "deutsch.txt";

     }

     readfile($datei);

    }

?>

Sowie Eure Textdateien - hier die deutsche und englische Textdatei, die Ihr mit einfachen HTML-Tags versehen könnt. Bei mir sehen diese Dateien so aus und wurden ebenfalls in mein Verzeichnis "sprache" kopiert. Diese Dateien wurden hier gespeichert als:


deutsch.txt

<p>Deutscher Text<br>

Dieser Text wird hier in Deutscher Sprache dargestellt, da das Skript von "Werner-Zenk.de" die eingestellte Browser-Sprache erkennt. Ihr könnt diese Skripte von der <a href="https://werner-zenk.de/scripte/browser-sprachumschaltung.php" target="_blank">Webseite von Werner-Zenk.de</a> kopieren.</p>

englisch.txt

<p>English Text<br>

This text is displayed here in English, since the script of "Werner-Zenk.de" recognizes the browser language. You may copy these <a href="https://werner-zenk.de/scripte/browser-sprachumschaltung.php" target="_blank">scripts from the website of Werner-Zenk.de</a>.</p>