Browser-Sprachumschaltung
![[Bildschirmfoto]
Browser-Sprachumschaltung [Bildschirmfoto]
Browser-Sprachumschaltung](img/browser-sprachumschaltung.png)
Manchmal soll bestimmter Inhalt in einer anderen Sprache angezeigt werden, zum Beispiel der Haftungsausschluss oder Besondere wichtige Hinweise.
Diese Sprachumschaltung zeigt je nach der verwendeten Sprache (deutsch, englisch, ...) im Browser unterschiedlichen Inhalt an.
Demo
Im folgenden JavaScript wird die Sprache
(über navigator.language
, navigator.browserLanguage
und navigator.userLanguage
) ermittelt.
Da der Wert je nach Browser unterschiedlich sein kann ("de", "de-DE", "de-CH", "en", "en-US", "en-AU" …), muss zuerst der korrekte (zweistellige) Wert festgestellt werden.
Siehe auch: JavaScript - Browser Infos
Nachdem der Wert ermittelt wurde, wird eine Anfrage über AJAX an ein PHP-Script („switch.php”) gesendet. Die Rückantwort wird dann auf der Seite (Zeile 37) ausgeben.
Quelltext: Ausblenden ❘ Kopieren ❘ Link ❘ Zeilen ❘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<!DOCTYPE html>
<html lang="de">
<head>
<meta charset="UTF-8">
<title>Browser-Sprachumschaltung</title>
<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", "switch.php?lang=" + lang);
xhr.send(null);
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200) {
document.getElementById("ausgabe").innerHTML = xhr.responseText;
}
}
});
</script>
</head>
<body>
<div id="ausgabe"></div>
</body>
</html>
In diesem PHP-Script werden dann je nach Sprache unterschiedliche Dateien geladen.
➤
Wichtig ist es, im Script einen Default-Wert anzugeben 12
denn der Benutzer könnte auch eine andere Sprache im Browser eingestellt haben.
Quelltext: switch.php Ausblenden ❘ Kopieren ❘ Link ❘ Zeilen ❘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?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: // Für alle anderen Sprachen
$datei = "deutsch.txt";
}
readfile($datei);
}
?>
Eine von diesen beiden Dateien wird geladen:
Quelltext: deutsch.txt
<p>Haftung für Inhalte<br>
Wir bemühen uns die Inhalte unserer Seite aktuell zu halten. Trotz sorgfältiger Bearbeitung bleibt eine Haftung ausgeschlossen.</p>
<p>Als Diensteanbieter sind wir gemäß § 7 Abs.1 TMG für eigene Inhalte auf diesen Seiten nach den allgemeinen Gesetzen verantwortlich.</p>
...
Quelltext: englisch.txt
<p>Liability for Content<br>
We make every effort to keep the information on our Web site current, but accept no liability whatsoever for the content provided.</p>
<p>Pursuant to §7 par. 1 of TMG (German Tele-Media Act), the law limits our responsibility as a service provider to our own content on these Web pages.</p>
...
Man kann den Text auch direkt in die PHP-Datei („switch.php”) eingeben, dann werden keine weiteren Dateien benötigt.
Quelltext: switch.php Ausblenden ❘ Kopieren ❘ Link ❘ Zeilen ❘
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
// Browser-Sprachumschaltung (2) - switch.php
if (isset($_GET["lang"])) {
switch ($_GET["lang"]) {
case "de":
$text = '<p>Haftung für Inhalte<br> ...';
break;
case "en":
$text = '<p>Liability for Content<br> ...';
break;
default: // Für alle anderen Sprachen
$text = '<p>Haftung für Inhalte<br> ...';
}
echo $text;
}
?>
Neben ganz normalen Text könnte man auch Bilder, Videos oder anderen Inhalt je nach Sprache anzeigen.
Testen!
Um das Beispiel zu testen, kann man z.B. im Browser Mozilla Firefox die bevorzugte Reihenfolge der Sprache umschalten.
![[Bildschirmfoto]
Mozilla Firefox (55) - Die bevorzugte Reihenfolge der Sprache umschalten. [Bildschirmfoto]
Mozilla Firefox (55) - Die bevorzugte Reihenfolge der Sprache umschalten.](img/ff54_sprachumschaltung.png)
Andere Sprachen
Soll eine andere Sprache als englisch verwendet werden z.B.: griechisch, spanisch oder russisch etc.
dann muss im Script nur der Wert en
angepasst werden. Die entsprechenden Kürzel der gewünschten Sprache finden Sie unter:
TLD-Länderkürzel.
Tipps
- Hinzufügen von Wasserzeichen beim hochladen eines Bildes
- Ein Wasserzeichen ist die beste Option, um das Bild vor Diebstahl oder der Wiederverwendung durch eine andere Person zu schützen. Sie können den Besitz anzeigen, indem Sie dem Bild Wasserzeichen hinzufügen. Das Wasserzeichen hilft, den Ersteller zu identifizieren.
- Audio-Player
- Mit diesem Audio-Player kann man Audio-Dateien über JavaScript steuern.
- Mit JSON Daten zwischen JavaScript und PHP austauschen
- JSON, ist ein kompaktes Datenformat in einer einfach lesbaren Textform zum Zweck des Datenaustauschs zwischen Anwendungen.
- Mit PHP schreiben und lesen
- Hier möchte ich an Beispielen zeigen, wie eine .txt-Datei mit PHP erstellt wird und wie diese ausgelesen werden kann.
Abonniere meinen RSS-Feed
um über aktuelle Seiten benachrichtigt zu werden.
Audio-Player Floodsperre Mauszeiger Datenschutz-Hinweis Sortierkasten Parallax Scrolling-Effekt Animierte Sternebewertung Counter Gästebuch Geolocation API Veranstaltungsliste Authentifizierung Operatoren Zeichnen Webseitenschutz Sicherheit Seitenformatierung Blätterfunktion PHPMailer Eselsohren Zugriffsrechte Affenformular Kalenderwoche localStorage Linkliste