Page 1 sur 1
[javascript] navigator.language donne pas la bonne langue
Publié : 16 déc. 2006, 15:34
par cassy
bonjour,
je souhaite accéder au paramètre langue du navigateur.
le soucis c'est que navigator.language donne fr (la langue des menus de FF) mais pas 'en-us' , la langue mise dans les préférences.
Comment faire pour accéder à la valeur de la langue mise dans les préférences?
merci!
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Publié : 16 déc. 2006, 15:49
par myahoo
Ça doit dépendre de l'ordre des langues, quand même : d'accord
navigator.language ne semble fait que pour les navigateurs de la famille Mozilla, mais s'il y a plusieurs langues dans la liste, il ne doit prendre que la première. Ou bien il n'est pas du tout en rapport avec les langues de cette liste, et ne prend que celle fournie par le
about:
Car apparemment, ce n'est qu'elle qui apparaît avec un script de ce genre-là :
Code : Tout sélectionner
<SCRIPT language=javascript>
document.write(navigator.language);
</SCRIPT>
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Publié : 16 déc. 2006, 16:00
par calimo
- C'est un sujet de développement web.
- C'est du DOM niveau 0, donc forcément non standardisé. S'y fier pour quoi que ce soit est une hérésie (en terme de développement web de qualité, en tous cas). Exactement comme pour n'importe quoi de non standardisé, faut pas s'étonner si ça marche pas comme on s'y attendait.
- Navigator est un objet de window, même si on n'as pas besoin de l'écrire parce que c'est justement window, en fait c'est window.navigator qu'on devrait indiquer. Forcément ça te donne la langue de la fenêtre. Dit comme ça, ça semble tout de suite parfaitement logique, non ?

Maintenant, si tu veux parler des langues disponibles dans l'entête HTTP Accept-language
un traitement serveur serait certainement plus simple. Est-ce qu'il ne serait pas plus adapté ? Que veux-tu en faire au juste ?
http://developer.mozilla.org/en/docs/DO ... r.language
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firemarsupilami Firefox/2.0
Publié : 16 déc. 2006, 16:02
par cassy
pour un test en-US est en 1er dans les préférences.
J'ai bien redemarrer FF.
en tapant about:config et en cherchant language on tombe sur la clé:
"intl.accept_languages" qui vaut "en-us,fr-fr,fr,en"
j'ai essayé :
intl.accept_languages
intl.accept_languages.value
navigator.intl.accept_languages
navigator.intl.accept_languages.value
sans succès.
Comment accéder à cette valeur en javascript?
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Publié : 16 déc. 2006, 16:28
par cassy
Que veux-tu en faire au juste ?
Le but était de précharger en javascript certaines images en fonction de la langue.
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Publié : 16 déc. 2006, 16:45
par cassy
bon b'hein si on peut pas le faire directement en javascript...tant pis je le ferais en ajax.
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firefox/2.0
Publié : 16 déc. 2006, 16:57
par myahoo
À mon humble avis, comme on l'a déjà dit ce n'est pas sur ce forum que la meilleure réponse arrivera si vite

Mais la solution la plus simple semble quand même de faire en script la détection du navigateur utilisé, puis pour chacune des trois familles, mettre les bonnes commandes pour détecter la langue dans laquelle le navigateur a été installé.
Et puis quand même, laisser un mini menu dans un coin permettant le choix de la langue est une autre commande vraiment simple, rapide, et pratique elle aussi

(d'ailleurs je viens de voir que les sites officiels de Mozilla le font).
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Publié : 16 déc. 2006, 17:44
par calimo
cassy a écrit :en tapant about:config et en cherchant language on tombe sur la clé:
"intl.accept_languages" qui vaut "en-us,fr-fr,fr,en"
Les préférences du navigateur sont purement internes.
Il y a toutes sortes de choses passablement confidentielles là dedans (à commencer par toutes tes préférences)
myahoo a écrit :À mon humble avis, comme on l'a déjà dit ce n'est pas sur ce forum que la meilleure réponse arrivera si vite

Mais la solution la plus simple semble quand même de faire en script la détection du navigateur utilisé, puis pour chacune des trois familles, mettre les bonnes commandes pour détecter la langue dans laquelle le navigateur a été installé.
Hum
soignez la peste, inoculez le choléra
Non, sérieusement, c'est le genre de choses à faire du côté serveur, ça s'appelle la négociation de contenu
Plus d'infos :
http://www.opquast.org/atelier/index.ph ... t-language
Voir sous le titre "solutions techniques", en particulier le deuxième lien qui propose un code "clé en main"
Message envoyé avec : Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.8.1) Gecko/20061010 Firedragon Firefox/2.0