IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Les sites doivent-ils s'appuyer sur les adresses IP pour déterminer la langue à afficher
Ou alors s'intéresser à d'autres éléments ?

Le , par Stéphane le calme

42PARTAGES

9  0 
Doit-on se baser sur l'adresse IP pour définir la langue à afficher ?
Non, l'utilisateur pourrait ne pas comprendre cette langue
65 %
C'est relatif, il faut prendre en compte plusieurs éléments
30 %
je n'ai pas d'avis sur la question
5 %
Oui, cela semble être la meilleure idée
0 %
Voter 20 votants
« Récemment, j'ai fait un voyage en Europe. Quand je suis arrivé à Berlin, j'ai ouvert mon ordinateur portable et suis allé sur Google. À ma grande surprise, malgré ma connexion, les résultats m’ont été retournés en allemand », a remarqué le développeur McKenzie.

« D'autres sites populaires sur lesquels je me suis rendu m’ont soudainement renvoyé leur version allemande. J’ai été redirigé de .com à .de et je devais chercher un lien “Passer en anglais“ ou essayer d'exécuter un traducteur sur le site », a-t-il continué.

Il a été très étonné de voir les sites se comporter comme ça. D’autant plus que, comme il le rappelle, les navigateurs web demandent dès leur première configuration en quelle langue l’utilisateur souhaite voir afficher les textes. Pourtant, cette configuration est totalement ignorée et l’adresse IP est utilisée à la place.

Mais pour quelles raisons ? Selon le Mozilla Developer Network, l’en-tête HTTP Accept-Language, qui définit la langue que l’utilisateur souhaite voir afficher à son écran et donc qu’il est capable de comprendre, est un indice à utiliser lorsque le serveur n’a aucun moyen de déterminer la langue à afficher d’une autre manière.

Une discussion avait également été ouverte dans ce sens au sein de la W3C. L’organisme de standardisation avait alors avancé que « l'en-tête HTTP Accept-Language était à l'origine uniquement destiné à spécifier la langue de l'utilisateur. Cependant, étant donné que de nombreuses applications doivent connaître les paramètres régionaux de l'utilisateur, une pratique courante est d’utiliser Accept-Language pour déterminer cette information. Il n'est pas judicieux d'utiliser UNIQUEMENT l'en-tête HTTP Accept-Language pour déterminer les paramètres régionaux de l'utilisateur. Si vous utilisez Accept-Language exclusivement, vous pouvez confiner l'utilisateur dans un ensemble de choix qui ne lui conviennent pas ».

Comme le rappelle McKenzie, l’entête HTTP Accept-Language permet à un utilisateur d’énumérer les langues qu’il est capable de comprendre/dans lesquelles il est capable de s’exprimer et de préciser son degré de préférence. À ce propos, la W3C indique que « Chaque plage de langue PEUT être dotée d'une valeur de qualité associée qui représente une estimation de la préférence de l'utilisateur pour les langues spécifiées par cette plage. La valeur de qualité par défaut est "q = 1". Par exemple, Accept-Language: da, en-gb; q = 0.8, en; q = 0.7 Signifierait : "Je préfère le danois, mais accepterais l'anglais britannique et d'autres types d'anglais" ».

Dès lors, McKenzie propose déjà une amélioration de l’interface utilisateur pour marquer ces préférences.


« Puisque la connaissance et la préférence sont conceptuellement distinctes (vous pourriez connaître deux langues au même degré, mais en préférer une), on pourrait élaborer cette interface en demandant à l'utilisateur de choisir d'abord ses langues préférées, puis vous pouvez affiner les valeurs “q” basées sur cette commande. Une autre option serait de demander à l'utilisateur de choisir une langue favorite s'il prétendait être “nativement/excellent” dans plusieurs langues », propose McKenzie.
.
Mais quel problème voit-il avec le fait de se baser sur l’adresse IP pour définir la langue affichée ? « Dans un proche avenir, non seulement les migrations internationales devraient augmenter, mais en plus, dans de nombreuses régions, il existe une langue locale, une langue nationale et une langue internationale (exemple : gujarati, hindi et anglais pour les 60 millions de personnes du Gujarat, en Inde) », affirme-t-il.

« Dans d'autres endroits, comme le métro de New York, au moins 192 langues différentes sont parlées à la maison. À Los Angeles, 54 % des foyers utilisent des langues autres que l'anglais. Ces chiffres continueront d'augmenter. C'est pourquoi emmener les utilisateurs à indiquer leurs préférences est important », a-t-il continué.

Source : billet McKenzie, W3C (Accept-Language pour les paramètres régionaux), W3C

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 24/04/2017 à 23:03
Ça m'énerve les sites qui ignorent l'en-tête Accept-Language... A la rigueur, utiliser l'adresse IP si le header n'est pas présent, je veux bien, mais le header indique clairement la préférence de l'utilisateur et devrait être utilisé en priorité.

D'ailleurs j'aimerais bien pouvoir définir mes préférences de langue différemment selon les sites... Quand c'est des sites français, je veux les voir en français, mais je veux pas voir de version française d'un site anglophone.
5  0 
Avatar de jopopmk
Membre expert https://www.developpez.com
Le 25/04/2017 à 7:51
Et si je ne comprends pas l'anglais, even slightly, je fais comment pour répondre à sa première dialogbox ?
4  0 
Avatar de e101mk2
Membre éclairé https://www.developpez.com
Le 25/04/2017 à 1:55
Alors je vais répondre simplement, un français a l'étrangers, disposants de son propre équipement (ordinateurs, smartphone)..., qui eux sont en français (et envoie donc l'entête).
Pourquoi doivent il chercher dans la moitié des sites internets la fonction française alors qu'elles sont disponible habituellement avec le même équipements chez eux?

Donc non, l'adresse IP ne permet pas de déterminer la langue préférer de son utilisateur, le navigateur lui le peux (si il est disponible dans la langue/ou qu'il ce base sur celle de l'os) !
3  0 
Avatar de LSMetag
Expert confirmé https://www.developpez.com
Le 25/04/2017 à 10:00
L'user-agent du navigateur serait suffisant voire préférable. Les Français à l'étranger n'auraient plus le problème de langue. Et puis c'est moins intrusif niveau vie privée. Après ceux qui changent cet User-Agent assument. Ils peuvent aussi en profiter pour s'exercer à des langues étrangères par ce biais et garder la langue qu'ils souhaitent malgré un VPN étranger.

Sans oublier que l'adresse IP est plus compliquée à capturer côté client (il faut utiliser un service tiers ce qui peut provoquer une faille de sécurité) et que côté serveur c'est une porte ouverte à leur interception. L'user-agent peut être facilement capturé côté client, et fourni en paramètre avec moins de risque sur une requête Ajax ou WebSocket. Au pire on apprends que tu utilises tel navigateur, de telle version, avec telle langue, mais on a aucune information sur l'identité de l'utilisateur.

Je réserve l'utilisation d'adresse IP seulement pour le bannissement de personnes indélicates, ou pour du métier pour certains types d'applications.
2  0 
Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 24/04/2017 à 21:59
Sur mes dev je me base déjà sur l'en-tête HTTP Accept-Language mais je laisse toujours ensuite la possibilité de choisir dans la liste de langage supportés
1  0 
Avatar de Excellion
Membre averti https://www.developpez.com
Le 25/04/2017 à 8:39
Bon courage à ceux qui utilisent Tor... 😂
1  0 
Avatar de CoderInTheDark
Membre émérite https://www.developpez.com
Le 27/04/2017 à 6:07
J'en profite pour ramener ma fraise sur l'accessibilité.
Ce n'est pas exactement le sujet, mais c'est important.

N'oubliez pas de préciser la langue du contenu avec
<html lang="fr">

Si ce n'est pas fait, le lecteur d'écran peut essayer de lire le document en anglais, et c'est super lourd de comprendre du français prononcé avec un accent anglais

En règle général je veux me caller sur la langue d'origine du site.
Mais je ne vais pas souvent à l'étranger avec mon ordinateur, alors je n'ai pass assez de recul
1  0 
Avatar de TiranusKBX
Expert confirmé https://www.developpez.com
Le 25/04/2017 à 4:05
L'usage de l'ip tel qu'utilisé actuellement est plus utilisé pour la segmentation des marchés, c'est la solution qui par exemple permet de localiser le droit à l'oublis uniquement en Europe pour Google
0  0 
Avatar de miaous
Membre averti https://www.developpez.com
Le 25/04/2017 à 9:09
Citation Envoyé par jopopmk Voir le message
Et si je ne comprends pas l'anglais, even slightly, je fais comment pour répondre à sa première dialogbox ?
je pense que l'exemple est un boite de dialogue d'un navigateur (donc elle sera dans ta langue ).
sinon si tu vois "English" avec un petit triangle tu peux penser à un menu et si tu changes la langue , tout le texte est traduit automatiquement.
au pire tu rajoute un drapeau à coté de "English".
0  0 
Avatar de Doksuri
Expert confirmé https://www.developpez.com
Le 27/04/2017 à 9:14
je pense que l'ip doit etre un complement

ip + entete + navigator.language

navigator.languages (array)

perso, l'ip serait la priorite la plus basse
0  0