Rédiriger l'internaute par son pays d'origine

Soyez le premier à donner votre avis sur cette source.

Snippet vu 11 578 fois - Téléchargée 25 fois

Contenu du snippet

Permets de rediriger les internautes en fonctions de pays d'origine vers les dossiers langues correspondants, si les pays ne figure pas dans la liste, on choisis un pays par défaut, ici la France.

Source / Exemple :


<SCRIPT LANGUAGE="JavaScript1.2">
<!--
if (navigator.appName == 'Netscape')
var language = navigator.language;
else
var language = navigator.browserLanguage;

if (language.indexOf('zh-cn') > -1) document.location.href = 'ch/index.php';
else if (language.indexOf('zh') > -1) document.location.href = 'zh/index.php';
else if (language.indexOf('da') > -1) document.location.href = 'da/index.php';
else if (language.indexOf('nl') > -1) document.location.href = 'nl/index.php';
else if (language.indexOf('en') > -1) document.location.href = 'en/index.php';
else if (language.indexOf('es') > -1) document.location.href = 'es/index.php';
else if (language.indexOf('fr') > -1) document.location.href = 'fr/index.php';
else if (language.indexOf('de') > -1) document.location.href = 'de/index.php';
else if (language.indexOf('el') > -1) document.location.href = 'el/index.php';
else if (language.indexOf('it') > -1) document.location.href = 'it/index.php';
else if (language.indexOf('ja') > -1) document.location.href = 'ja/index.php';
else if (language.indexOf('ko') > -1) document.location.href = 'ko/index.php';
else if (language.indexOf('pt') > -1) document.location.href = 'pt/index.php';
else if (language.indexOf('sv') > -1) document.location.href = 'sv/index.php';
else if (language.indexOf('no') > -1) document.location.href = 'no/index.php';
else if (language.indexOf('he') > -1) document.location.href = 'he/index.php';
else 
document.location.href = 'fr/index.php';
//-->
</script>

A voir également

Ajouter un commentaire

Commentaires

PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Bonjour...
Il me semble que l'utilisation d'un tableau est plus approprié pour gérer ce genre de if...else if, par exemple :
<SCRIPT TYPE="text/javascript" LANGUAGE="JavaScript">
var T_Lang = new Array( 'zh-cn','zh','da'...etc...);
var language;
if( navigator.appName == 'Netscape')
language = navigator.language;
else
language = navigator.browserLanguage;
for( var i=0; i< T_Lang.length; i++){
if( language.indexOf( T_Lang[i])> -1)
Pays= T_Lang[i];
}
document.location.href = 'Pays' +'/index.php';
</SCRIPT>
Mais cela n'engage que moi...
;0)
PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
11
Navré j'ai oublié la déclaration et l'initialisation par défaut..
var Pays ="fr";
olasne
Messages postés
4
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
25 septembre 2006

faudrait peut etre enlever les '' a 'Pays' si ce dernier est une variable.. car la ce sera interprété comme un string.., et là ca n'engage pas Que moi :-P
Mais sinon très bonne optimisation..j'ai faillit proposer un switch ;-)
cs_santiago69
Messages postés
91
Date d'inscription
jeudi 18 novembre 2004
Statut
Membre
Dernière intervention
17 décembre 2008

Salut,
Je debute completement en javascript (ainsi qu'en html d'ailleurs) et je vais utiliser ce script pour mon site qui est dispo en anglais et francais.
Savez vous comment trouver la liste des codes 'language' utilises par les browser (fr, fr-fr, zh, zh-cn) ?
D'ailleurs a quoi servent les tirets (..-..) ?
Merci pour le script
Santiago

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.