Détecter le pays du visiteur et mettre la rédirection adéquate - PHP - Programmation
Marsh Posté le 18-08-2006 à 16:48:36
si c'est en PHP tu peux récupérer la locale du navigateur (normalement il y a peu de chance que tu te tromps)
Marsh Posté le 18-08-2006 à 19:19:16
tu as deux moyens de le faire
- le premier en detectant la langue du navigateur.
Cette methode est pas geniale, par exemple dans mon cas je suis en indonesie avec un firefox en langue US, je suis donc considere comme un internaute US, bien que je sois francais
- le second en utilisant le service ip2country (ip2country.com), qui te fournit une table MySQL en telechargement gratuit, te permettant facilement de faire le lien IP-> pays du visiteur. Ce service est fiable aux alentours de 95%, le tout est de bien mettre a jour ta base regulierement.
En tout cas pour moi cela a toujours bien marche, il me reconnait bien comme vivant a Jakarta (indonesie). J ai fait tester par pas mal de gens un peu partout dans le monde, jamais eu d'erreur.
Marsh Posté le 18-08-2006 à 22:10:47
ip2country ne semble plus proposer de base de données. De plus je ne crois pas que c'était gratuit d'après ce qu'ils disent.
Donc tu peux utiliser $_SERVER['ACCEPT_LANGUAGE'] ...
Marsh Posté le 18-08-2006 à 23:33:44
ok merci pour vos réponse. Sur le site ip2country, il y a un lien vers MaxMind.com, qui lui propose le service gratuit que proposat ip2country... j vais essayer
Marsh Posté le 20-08-2006 à 21:34:43
$_SERVER['ACCEPT_LANGUAGE'] n'est pas du tout le critère principal utilisé par les grands sites (google, yahoo, ...)
Il suffit de naviguer avec l'anglais en langue par défaut pour s'apercevoir que tous ces sites te reconnaitront français.
Il est évident qu'ils se basent sur l'IP, et pas sur un truc aussi peu fiable que $_SERVER['ACCEPT_LANGUAGE'] (beaucoup de gens téléchargent un navigateur en anglais sans être anglais, et sans savoir qu'ils peuvent modifier la langue par défaut)
Marsh Posté le 20-08-2006 à 23:03:04
Djebel1 a écrit : $_SERVER['ACCEPT_LANGUAGE'] n'est pas du tout le critère principal utilisé par les grands sites (google, yahoo, ...) |
"Beaucoup" je ne pense pas non... et si c'est le cas c'est leur problème Ils sont assez grand pour cliquer sur le drapeau les concernant ... faut pas déconner.
Dans ce cas on peu prendre le cas inverse, un français qui utilise un navigateur français, mais qui vit aux Etats-Unis sera detecté comme anglais ... on retourne juste le problème c'est tout
Marsh Posté le 20-08-2006 à 23:41:24
Dj YeLL a écrit : "Beaucoup" je ne pense pas non... et si c'est le cas c'est leur problème Ils sont assez grand pour cliquer sur le drapeau les concernant ... faut pas déconner. |
Donc autant partir sur la langue du navigateur si elle est différente de celle du pays avec l'IP
Marsh Posté le 20-08-2006 à 23:45:06
leflos5 a écrit : Donc autant partir sur la langue du navigateur si elle est différente de celle du pays avec l'IP |
Euh, ben dans ce cas on repart à zéro non ?
Marsh Posté le 21-08-2006 à 00:27:57
Dj YeLL a écrit : Euh, ben dans ce cas on repart à zéro non ? |
Oui mais non parce que je parlais de se servir des deux
Après bien évidement que ça résout pas tous les cas
Si authentification, autant se servir de la langue déclarée
Marsh Posté le 21-08-2006 à 11:38:29
leflos5 a écrit : Oui mais non parce que je parlais de se servir des deux |
Ben je sais.
Tu dis que si la langue du navigateur diffère de celle de l'ip, on prend celle du navigateur ...
Pour NAV = Langue du navigateur, et IP = langue detectée à partir de l'IP, tu dis que :
Si NAV = IP, on prend IP (qui vaut NAV), et si NAV != IP, on prend NAV ... donc en gros on prend toujours NAV ... Donc ça sert à rien ?
Non ?
Marsh Posté le 21-08-2006 à 18:23:23
Dj YeLL a écrit : Dans ce cas on peu prendre le cas inverse, un français qui utilise un navigateur français, mais qui vit aux Etats-Unis sera detecté comme anglais ... on retourne juste le problème c'est tout |
Oui oui c'est exactement ça, et dans ce cas tu dois modifier la langue dans tes préférences sur le site.
Il y a beaucoup plus de gens utilisant un navigateur avec la langue mal config que d'expatriés voulant le site dans leur langue d'origine et ne sachant pas parler la langue de leur pays d'accueil d'après moi (avis subjectif et purement personnel).
Mais suffit de voir ce que font les sites de référence en ce domaine hein. Change la langue de ton navigateur, vire les cookies, change d'IP au cas où, tu verras bien que ça ne change pas ta langue sur les sites en question. Y a surement une raison.
Ils se disent ptet qu'un mec qui sait pas config la langue de son navigateur, vaut mieux pas le balancer sur un site en anglais, alors qu'un expatrié qui sait config la langue de son navigateur, il sait surement parler la langue du pays où il est, et il sait surement cliquer sur un drapeau.
En tout cas s'ils le font comme ça, ils doivent avoir étudier le problème.
Marsh Posté le 21-08-2006 à 21:27:47
Djebel1 a écrit : Oui oui c'est exactement ça, et dans ce cas tu dois modifier la langue dans tes préférences sur le site. |
Je comprends parfaitement ce que tu veux dire. Mais je pense qu'après c'est à chacun de voir
(#1) : Pas toujours, moi si je vais sur Amazon.com (qu'on peut aisément classer dans les sites de reference ) il me redirige pas vers la FR ... Et ça ne doit pas être le seul dans ce cas.
Enfin, en ce qui me concerne, ça fait partie des "gadgets" donc bon. Si un français arrive sur mon site, que ça lui affiche une page en anglais, il réussira bien à cliquer sur le drapeau français.
(#2) : Je ne suis pas spécialement d'accord sur ce point par contre. Un mec qui touche pas une bille en anglais, je vois pas comment il aurait un navigateur en anglais (soit il utilise l'Internet Explorer de son OS, donc certainement en français, soit il a téléchargé Firefox ou Opera ... en français (s'il a réussi à le télécharger, installer et utiliser en anglais, ça ne craint rien s'il tombe sur une page anglaise)
Mais ce n'est que mon avis
Marsh Posté le 22-08-2006 à 01:26:44
Dj YeLL a écrit : Ben je sais. |
Oui en effet
Il manque une alternative: si IP=anglais et NAV!=anglais alors NAV
Sérieusement, j'éliminerais le côté NAV=anglais si l'IP ne l'est pas Mettre à part le côté anglophone du navigateur si l'IP correspond pas à un pays anglophone, parce que y'a plus de chance d'avoir un navigateur anglophone sans que ça gène trop sans pour autant être anglophone
Exemple moi, j'ai des OS anglais parce que j'avais rien d'autre sous la main quand j'ai installé, donc IE en anglais mais je m'en fous, ça me gêne pas, de là à lire tout un truc en anglais que je pourrais lire en français Mais en effet si je vois un petit drapeau, je cliquouillerais dessus
Marsh Posté le 22-08-2006 à 14:05:09
Dj YeLL a écrit : |
Ha ouais marrant, j'avais testé que sur les moteurs de recherche.
Enfin au final, je trouve ça plus "pro" de faire ça par IP, mais dans mes applis je fais comme toi, pas envie de me souler avec une base d'adresses IP
Le fait que des grands sites fassent pareil me rassurent, t'imagines pas à quel point
Marsh Posté le 22-08-2006 à 17:54:41
Pour trouver la nationalité d'un gars : adresse IP only, et encore... (aol sux)
Juste pour avoir un avis supplémentaire (même si osef, je le donne ) :
selon moi la langue du navigateur ne veut absolument rien dire, un américain peut (par le + grand des hasards certes) utiliser un navigateur avec la langue FR (par défaut ou pas). Et biensûr il est impossible de se lancer dans des hypothèses qui n'ont aucun sens (cf. ci-dessus avec le cas du Français qui vit aux USA^^)
Le plus simple : tu fais ta page d'acceuil en Anglais par défaut, et tu laisses le choix avec les petits drapeaux
(car difficile voire impossible d'atteindre les 100% de détection de la nationalité de l'utilisateur, celui-ci est donc obligé d'agir pour informer le système)
Marsh Posté le 18-08-2006 à 16:39:42
Bonjour, je souhaite réaliser un site en plusieurs langues.
Je souhaite utiliser un script qui permet de détecter le pays ou la langue de l'utilisateur et de le rédiriger sur différentes pages selon cette origine.
Est difficile à faire ?
Merci