Browsersprache erkennen und auf die jeweilige Sprache umleiten (JS)?
Hallo habt ihr ein Javascript Code der das tun kann?
3 Antworten
Hier ein Code mit welchem du eine Weiterleitung einrichten kannst, mit einer Hauptsache (Deutsch) und einer Alternativsprache (Englisch):
<script type="text/javascript">
var language = navigator.language || navigator.browserLanguage;
if (language.indexOf('de') > -1) {
document.location.href = 'http://deine-seite/deutschsprachige_version/';
// falls nichts passieren soll, also keine Weiterleitung erfolgen und der User auf der aktuellen Seite bleiben soll, sofern die Browsersprache "deutsch" ist, lösche einfach die darüberliegende Zeile
} else {
document.location.href = 'http://deine-seite/anderssprachige_version-zb_englisch/';
}
</script>
Hier noch ein anderer Code, mit dem du eine Länderspezifische Weiterleitung für mehrere Fälle einrichten kannst:
<script type="text/javascript">
var language = navigator.language || navigator.browserLanguage;
var languageFistTwo = language.substr(0,1);
switch (languageFistTwo) {
case "de":
window.location.href = 'http://deine-seite/deutschsprachige_version/';
break;
case "en":
window.location.href = 'http://deine-seite/englischsprachige_version/';
break;
case "fr":
window.location.href = 'http://deine-seite/franzoesichsprachige_version/';
break;
case "es":
window.location.href = 'http://deine-seite/spanischsprachige_version/';
break;
// hier könnte es noch mit weiteren Ländern weitergehen...
default:
window.location.href = 'http://deine-seite/deutschsprachige_version/';
}
</script>
Die entsprechenden Ländercodes dazu findest du hier: https://www.laenderdaten.info/laendercodes.php
Bitte beachte, diese in Kleinbuchstaben zu schreiben! ;)
Ich verweise auf die Antwort von @RakonDark. Funktioniert es denn jetzt?:)
Dafür wird kein JS gebraucht:
Schau mal hier:
http://www.softwarehimmel.de/php-sprache.php
Habe leider ein Html Code bereich wo ich was einfügen kann wie soll diesen PHP Code einbetten?
Hmm verstehe ich schau mal was ich da dir zeigen kann trotzdem danke anonsten erstell ich eine seprate php datei und füge es ein...
Wenn es ne .html-Seite ist, schreib einfach statt html ein .php hin :-)
Schon isses ne PHP-Seite
:) ne ist schon eine PHP-CMS aber im Backend gibt es nur ein Bereich wo ich ein html o. JS code einfügen kann
je nach CMS gibts dafür aber plugins, oder es ist schon integriert.
Da musst oft nichts selbst bauen.
das sehe ich genauso , @Webclon lerne dein CMS kennen und suche in den Settings die Funktion oder ein PlugIn , sollte es das nicht geben , musst du wohl Programmieren lernen den das ist nicht mehr trivial zu lösen .
Ich gebe dir hier mal einen Link zu StackOverflow:
https://stackoverflow.com/questions/8199760/how-to-get-the-browser-language-using-javascript
Vielleicht hilft es dir was.
T.
Ja aber das ist ja nur zum überprüfen der Browsersprache ich möchte die Sprache ermitteln und dementsprechend weiterleiten zwischen DE und EN!?
Wenn du die Sprache erkennst, sollte es ja wohl das einfachste sein, mit einer if-Anweisung eine entsprechende Weiterleitung zu schreiben.
Ah wunderbar dieses "DE" erkennt dann der Browser das oder muss das nochmal irgendwo hinterlegt werden?
var userLang = navigator.language || navigator.userLanguage;
also ist in userLang jetzt der Wert den der Browser als baissprache hat .
if (userLang == "de") {location.href="der pfad zu deiner DE seite";}
soll das irgendwie überall sein , ist natürlich die javascript version blöd , den bei jeder unterurl würde erst die seite aufgerufen werden und dann nochmal die eigentliche sprachseite .
muss man mehr wissen was es eigentlich werden soll . also wie weit willst du das haben , am besten wäre es natürlich wenn man das gleich auf dem server regelt und die entsprechende seite ausliefert . ist halt wirklich die frage wie weit du auf sprache reagieren willst, oder soll es nur bei der einstiegsseite sein die auf die sprache leitet .
Hey Meister dieser Code tut's leider nicht ich krieg nur ein Alert:
<script type="text/javascript">
var userLang = navigator.language || navigator.userLanguage;
alert ("The language is: " + userLang);
if (sprache == "de" ) {location.href="/de/"}
if (sprache == "en" ) {location.href="/en/"}
</script>
LoL wer hat behauptet das ich bei diesem Code ahnung hab kann das sein das du mir falsche Infos gibst ?
Einsteiger genau...den Rest krieg ich dann später mit Unterstützung hin!
ne , wir können dir nur die generelle vorgehensweise geben , weder hab ich irgendwo in meinem code ein alert befehl der dir diese popup anzeigt , noch weiss ich wie deine URL ist wo die DE oder EN seite ist . Sorry gäbe es nur eine Lösung bräuchte man keine Menschen . Du musst entweder komplette angaben machen , wie deine struktur ist, welche seite auf welche seite leiten soll etc . Das liegt doch nicht in unserem ermessen das dich da jemand an eine aufgabe packt die viel zu hoch ist für dich .
Ah diese 1. Antwort da hab ich das vermischt soory du warst das gar nicht apropro habs gelöst mit Rambaldi1988 PHP-Code vielen Dank nochmal das mit JS ist nicht so stabil.
Japp ;) Hey da du dich gut auskennst hatte auch eine andere Frage gestellt kannst du mir da auch helfen die Frage: https://www.gutefrage.net/frage/jquery-countdown-erweitern
Funktioniert leider nicht die Seite lädt andauernd neu?