Browsersprache erkennen und auf die jeweilige Sprache umleiten (JS)?

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! ;)

Woher ich das weiß:Hobby
Webclon 
Fragesteller
 22.03.2019, 13:56

Vielen Dank!

1
Webclon 
Fragesteller
 22.03.2019, 14:00

Funktioniert leider nicht die Seite lädt andauernd neu?

0
RakonDark  22.03.2019, 14:18
@Webclon

der code darf natürlich nicht in der ziel seite vorhanden sein . das müsste man dann excludieren .

3
txchnoknd  24.03.2019, 19:01
@RakonDark

Ich verweise auf die Antwort von @RakonDark. Funktioniert es denn jetzt?:)

0

Dafür wird kein JS gebraucht:

Schau mal hier:
http://www.softwarehimmel.de/php-sprache.php

Webclon 
Fragesteller
 22.03.2019, 07:58

Super Danke!

0
Webclon 
Fragesteller
 22.03.2019, 08:00

Habe leider ein Html Code bereich wo ich was einfügen kann wie soll diesen PHP Code einbetten?

0
RakonDark  22.03.2019, 08:28
@Webclon

Dann musst Du uns erklären was du da benutzt. Normalerweise hat man ja irgendwo einen Server und macht aus dem ganzen eine PHP Datei und nicht HTML .

1
Webclon 
Fragesteller
 22.03.2019, 08:30
@RakonDark

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...

0
verreisterNutzer  22.03.2019, 08:33
@Webclon

Wenn es ne .html-Seite ist, schreib einfach statt html ein .php hin :-)
Schon isses ne PHP-Seite

0
RakonDark  22.03.2019, 08:34
@Webclon

du kannst das auch per javascript lösen . wie oben beschrieben und dann muss nur localtion.href gesetzt werden je nach sprache .

aber wer ein javascript blocker hat wird nicht dahin geleitet .

1
Webclon 
Fragesteller
 22.03.2019, 08:36
@verreisterNutzer

:) ne ist schon eine PHP-CMS aber im Backend gibt es nur ein Bereich wo ich ein html o. JS code einfügen kann

0
verreisterNutzer  22.03.2019, 08:38
@Webclon

je nach CMS gibts dafür aber plugins, oder es ist schon integriert.
Da musst oft nichts selbst bauen.

2
RakonDark  22.03.2019, 08:49
@verreisterNutzer

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 .

2
txchnoknd  22.03.2019, 13:14
@Webclon

PHP ist eine Server-Seitige Programmiersprache. Diese kannst du u.a. nur in einer PHP-Datei ausführen. In einer HTML-Datei sowie in einem als HTML-Code deklarierten Bereich kannst du PHP nicht ausführen.

0

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.

Webclon 
Fragesteller
 22.03.2019, 08:25

Ja aber das ist ja nur zum überprüfen der Browsersprache ich möchte die Sprache ermitteln und dementsprechend weiterleiten zwischen DE und EN!?

0
RakonDark  22.03.2019, 08:33
@Webclon

Ja dann kommt im zweiten schritt ...
if (sprache == "DE" ) {location.href="/DE/default.htm"}

if (sprache == "EN" ) {location.href="/EN/default.htm"}

.

.

kommt natürlich darauf an welche werte sprache hat.

0
Martin6466  22.03.2019, 08:33
@Webclon

Wenn du die Sprache erkennst, sollte es ja wohl das einfachste sein, mit einer if-Anweisung eine entsprechende Weiterleitung zu schreiben.

0
Webclon 
Fragesteller
 22.03.2019, 08:34
@RakonDark

Ah wunderbar dieses "DE" erkennt dann der Browser das oder muss das nochmal irgendwo hinterlegt werden?

0
RakonDark  22.03.2019, 08:40
@Webclon
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 .

0
Webclon 
Fragesteller
 22.03.2019, 08:41
@RakonDark
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>
0
RakonDark  22.03.2019, 08:41
@Webclon

kann es sein das du nur copy und paste machst und überhaupt keine ahnung hast von JavaScript ?

0
Webclon 
Fragesteller
 22.03.2019, 08:42
@RakonDark

LoL wer hat behauptet das ich bei diesem Code ahnung hab kann das sein das du mir falsche Infos gibst ?

0
Webclon 
Fragesteller
 22.03.2019, 08:43
@RakonDark

Einsteiger genau...den Rest krieg ich dann später mit Unterstützung hin!

0
RakonDark  22.03.2019, 08:45
@Webclon

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 .

0
Webclon 
Fragesteller
 22.03.2019, 08:47
@RakonDark

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.

1
RakonDark  22.03.2019, 08:52
@Webclon

Das freut mich . Dann machst Du also nur eine Landingpage die weiterleiten soll .

1