Version complète: sur le forum Webmaster Hub : affichage la langue en fonction du navigateur
Webmaster Hub > Création et exploitation de Sites Internet > Systèmes de publication
scarface7
Bonjour,
Je voudrais vous demander un renseignement:
Comment faites vous, en PHP / MySQl pour détecter automatiquement la langue du navigateur et par la suite, de redirectionner l'internaute vers la page acceuil de sa langue préférence?
www.monsite.com/fr/
www.monsite/com/en/

Si la langue n'est pas idetifié sur le navigateur de l'internaute, la page d'accueil par défaut sera affichée : -www.monsite.com/fr/

Est ce qui vous connaissez un script tout fait qui permettra de faire cela?
Merci d'avance!
Dan
Cela ne se fait pas en php, mais directement sous Apache avec l'option MultiViews

Je te suggère de lire cette page qui t'apprendra comment cela fonctionne : http://httpd.apache.org/docs/2.0/fr/content-negotiation.html
jcaron
En PHP, tu peux tester le contenu de la variable d'environnement HTTP_ACCEPT_LANGUAGE (qui correspond au header Accept-Language envoyé par le browser). Voir RFC2616 pour le détail du contenu du header.

Jacques.
iNCiTE Web
Dans certaines sociétés, le système d'exploitation et les logiciels sont en version US, mais c'est pas pour autant que les lecteurs le lisent ou le pratiquent (en tous cas pour surfer) ! donc je sais pas si c'est vraiment les aider ?
cébé
Bonjour,

Pour ma part, je n'utilise pas les multiviews de Apache pour deux raisons :

- je préfère gérer ça en PHP laissant une totale liberté à l'utilisateur (c'est également possible avec multiviews, mais ça oblige à utiliser multiviews + php)
- comme je sens qu'un jour ou l'autre, je passerai sur lighttpd, je préfère ne pas trop abuser des fonctionnalités Apache smile.gif

Pour le traitement en php, je lis le HTTP_ACCEPT_LANGUAGE puis, en fonction de ça, tous les liens de la page sont réécrit (simple fonction php). Ainsi, si l'utilisateur veut être en une autre langue que celle de son navigateur, cela reste en place tout au long de sa navigation et cela sans avoir à utiliser un très pénible GET.
J'ajoute à cela une mémorisation de la langue en base de données s'il s'agit d'un site avec session utilisateur loggué.
jcaron
CITATION(iNCiTE Web @ dimanche 24 août 2008 à 00:36) *
Dans certaines sociétés, le système d'exploitation et les logiciels sont en version US, mais c'est pas pour autant que les lecteurs le lisent ou le pratiquent (en tous cas pour surfer) ! donc je sais pas si c'est vraiment les aider ?


Je pense que ça reste très minoritaire, et bien entendu il faut laisser le choix à l'utilisateur de pouvoir changer de langue (et stocker ça dans un cookie par exemple). C'est l'un des autres intérêts de le faire en PHP (ou autre language) plutôt que de laisser Apache le faire.

Jacques.
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.