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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 12 133 fois - Téléchargée 27 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
cs_santiago69 Messages postés 91 Date d'inscription jeudi 18 novembre 2004 Statut Membre Dernière intervention 17 décembre 2008
6 nov. 2006 à 12:12
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
olasne Messages postés 4 Date d'inscription mercredi 2 mars 2005 Statut Membre Dernière intervention 25 septembre 2006
25 sept. 2006 à 10:07
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 ;-)
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
22 sept. 2006 à 16:01
Navré j'ai oublié la déclaration et l'initialisation par défaut..
var Pays ="fr";
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
22 sept. 2006 à 15:58
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)

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.