scarface7 Posté 22 Août 2008 Posté 22 Août 2008 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 Posté 22 Août 2008 Posté 22 Août 2008 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 Posté 23 Août 2008 Posté 23 Août 2008 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 Posté 23 Août 2008 Posté 23 Août 2008 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é Posté 25 Août 2008 Posté 25 Août 2008 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 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 Posté 25 Août 2008 Posté 25 Août 2008 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.
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant