Redirection selon langue navigateur

WRInaute accro
Bonsoir,

Je souhaite diriger mes visiteurs sur la version correspondant à la langue de leur navigateur.
J'ai trouvé ça pour la détection : HTTP_ACCEPT_LANGUAGE
Et une redirection ensuite.

Mais si mon visiteur veut malgré tout consulter une version qui n'est pas celle de la langue de son navigateur, il ne pourra pas.

Comment contourner cette difficulté ?

Merci,

OTP
 
WRInaute accro
- Détection de la langue sur la homepage (sans paramètre de langue), si traduction correspondante de HTTP_ACCEPT_LANGUAGE (il peut il y avoir plusieurs accept language) => afficher cette langue sinon langue par défaut.
- Dans les autres pages, paramètre d'URL pour définir la langue.

Sinon pour ton problème (en forçant la redirection) tu peux mettre un cookie quand le visiteur change de langue à la mano.
 
WRInaute accro
Oui ça peut coincer. Alors il reste: si pas de cookie, ne pas rediriger.

Le script PHP de changement de langue doit envoyer le cookie ensuite rediriger vers la bonne langue. Puis dans la page de destination, si le cookie à une valeur définie ou pas de cookie => ne pas forcer la redirection.

C'est faisable aussi avec les sessions, mais faudra qd même passer par un cookie pr plus de persistance.
 
WRInaute discret
Bonjour,

Indépendamment de la détection automatique et de la redirection, tu peux également mettre en haut de tes pages un choix de langue. Ainsi , si un visiteur se retrouve sur une page d'une langue qu'il ne préfère pas, il peut toujours la choisir à la mano. Ensuite une fois passé sur la page dans la langue choisie, le paramètre d'URL va continuer à propager son choix.

Cela marche aussi si le visiteur arrive directement sur une page interne sans être passé par ta détection normalement placée en amont de la home (suite à une recherche par exemple).

Enfin cela place des liens entre pages des différentes langues, ce qui permet aux robots de trouver toutes les pages (la détection de langue ne marche pas sur un robot)

Voir mon www pour exemple.

A+
 
WRInaute accro
@OTP: oui en envoyant un cookie dès la première page vue, puis vérifier dans le changement de langue / redirection.
 
WRInaute passionné
Si tu tient a vérifier le cookies, tu peux aussi avoir un petit iframe (1px X 1px) en bas de ta page qui ouvre une autre page vide.

Si tu pose le cookies des l'ouverture de la première page, tu pourra le vérifier dans la 2eme ... Enfin, c'est un peu tordu ...mais possible.
 
Discussions similaires
Haut