Aller au contenu

Site Multilingue


Marie

Sujets conseillés

Bonjour

Je souhaite mettre en place un script javascript qui redirigerait l'internaute en fonction de la langue utilisée par son navigateur.

j'ai ce code là :

<script LANGUAGE="JavaScript"> 
<!--
if (top==self)
{
  if (navigator.appName == 'Netscape')
         var language= navigator.language;
  else
         var language= navigator.browserLanguage;

  bl = language.substring(0,2);

     if (bl == "en")
  {
        this.location = "http://www.monsite.com/index-us.html"

  }
  else if (bl == "es")
  {
           this.location = "http://www.monsite.com/index-es.htm"

  }
  else if (bl == "fr")
  {
           this.location = "http://www.monsite.com/index-fr.htm"

  }
 }
//-->
</script>

Mais j'ai beau changer la langue de mon navigateur, je suis TOUJOURS redirigée sur la partie FR du site.

Par contre, quand je vais sur google.com ça indique bien la langue utilisée par mon navigateur..

Quelqu'un a une idée?

Merci

Lien vers le commentaire
Partager sur d’autres sites

:huh: il faut développer une autre partie??

Laquelle :?:

le code ci-dessus ne suffit pas??

Moi je suis redirigée toujours sur la partie française et pas sur une 404...

Lien vers le commentaire
Partager sur d’autres sites

Essaies ceci :

<script LANGUAGE="JavaScript1.2"><!--
// The following only works in JavaScript 1.2 or greater:
function showpage(code) {
   var Y = (screen.height - 400)/2;
   var X = (screen.width - 600)/2;
   msgWindow = window.open('','targetName2','height=400,width=600,screenX='+X+',screenY='+Y+',left='+X+',top='+Y);
   msgWindow.location.href = 'index-' + code + '.htm';
}

if (navigator.appName == 'Netscape')
   var language = navigator.language;
else
   var language = navigator.browserLanguage;

var code = language.substring(0,2);

if (code == 'us' || code == 'es')
   showpage(code);
else
   showpage('fr');
//--></SCRIPT>

Pour ce qui est de la 404, je dis ca, parce que tu as des index qui se terminent par .html, et d'autres par .htm.

Anonymus

Lien vers le commentaire
Partager sur d’autres sites

ah ok!

non en fait pour les pages htm ou html c'est juste que j'ai copié ça à la va vite, sur ma page tout est ok

;)

Je ne comprends pas ton code, pourquoi définir une taille de fenêtre? Et puis où met-on l'adresse des pages sur lesquelles on redirige selon la langue??

Merci!

Lien vers le commentaire
Partager sur d’autres sites

Tu définis une taille de fenètre si tu veux, ca permet de dire au navigateur que tu veux une fenètre de telle ou telle taille.

Pour ce qui est des adresses des pages, elles se situent là :

msgWindow.location.href = 'index-' + code + '.htm';

Au lieu de lister toutes les pages, tu fais un petit morceau de script, pour dire :

si code= fr, je veux index-fr,

si code=en, je veux index-en,

etc..

Ca donne :

'index-' + code + '.htm';

Anonymus.

Lien vers le commentaire
Partager sur d’autres sites

Ben en fait mon premier code marche très bien

J'ai téléchargé netscape en anglais et ça fonctionne à merveille.. le fait de changer la langue dans les préférences ne suffit à priori pas..

fausse alerte donc!

Merci Nico Quand Même!

Lien vers le commentaire
Partager sur d’autres sites

Veuillez vous connecter pour commenter

Vous pourrez laisser un commentaire après vous êtes connecté.



Connectez-vous maintenant
×
×
  • Créer...