$_SERVER['HTTP_ACCEPT_LANGUAGE'] [regle]

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

$_SERVER['HTTP_ACCEPT_LANGUAGE'] [regle]

Message par arno. »

bonjour.
dans ma variable d'environnement php $_SERVER['HTTP_ACCEPT_LANGUAGE'] . j'ai, avec Firefox :
fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3

alors qu'avec d'autres navigateurs, (lynx et konqueror), j'obtiens des choses moins surprenantes comme fr,en

quelqu'un sait-il a quoi correspondent ces variables q=
merci.
Dernière modification par arno. le 16 nov. 2005, 10:30, modifié 1 fois.
Avatar de l’utilisateur
Mori
Animal mythique
Messages : 13311
Inscription : 30 avr. 2004, 19:17

Message par Mori »

salut
visiblement des variables identifiant les langues ... mais je ne connais pas le tableau ... donc pour l'amharique, je ne sais pas.
Variable http_accept_charset
Donne le code du jeu de caractères accepté par votre navigateur. C'est le contenu de l'en-tête Accept-Charset: de la requête courante, si elle existe. Par exemple, le jeu de caractères accentués de notre alphabet français : 'iso-8859-1,*,utf-8'.
ISO-8859-1,utf-8;q=0.7,*;q=0.7

Variable http_accept_language
Donne la langue reconnue par votre navigateur (qui n'est pas forcément la même que celle dans laquelle il s'affiche. C'est le contenu de l'en-tête Accept-Language de la requête courante, si elle existe: Par exemple : 'fr'. Sert, par exemple, aux Webmasters qui développent des sites multilingues. Sert également aux statistiques car on en déduit l'origine géographique et la langue favorite du visiteur. Ce n'est pas fiable à 100% (par exemple, j'utilise un navigateur en langue anglaise US alors que je suis français né à l'étranger) mais cela donne une tendance certaine. L'analyse de cette chaîne de caractères permet donc de déduire, avec de fortes probabilités d'exactitude, quels sont votre langue maternelle et votre pays d'origine (pas le pays où vous êtes installé actuellement - celui-ci est calculé à partir de l'adresse IP)
fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
http://assiste.free.fr/p/qui_etes_vous/qui.php

Linux Salix OS 15.0 / Xfce 4.16

arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

merci Mori.
Effectivement, ca a a voir avec les langues acceptees pour le navigateur.
Cela correspond a ma preference (ou peut y acceder aussi par le menu des options) intl.accept_languages avec les q= en plus.
Pour voir ce que cela fait chez vous, en fonction de vos reglages ou de votre navigateur, vous pouvez voir ici :
http://ffsearchplugins.free.fr/essai.php
pourquoi diable firefox rajoute-t-il ces signes cabbalistiques :?:
bobo
Iguane
Messages : 764
Inscription : 18 août 2003, 11:04

Message par bobo »

Les paramètres q= servent à indiquer la priorité. Le niveau le plus élevé est q=1, qui est la valeur par défaut.
Ta chaîne fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3 signifie donc que tu préfère le français classique à 100%, le français de france à 80%, l'anglais d'amérique à 50% et l'anglais quelconque à 30%.
Normalement le serveur pourrait combiner cette information avec la qualité de la traduction des pages dont il dispose. Si les pages en français ont une qualité de 20% (traduction automatique à partir du russe par exemple), mais les pages en anglais US une qualité de 90% (traduction à partir du russe, mais par quelqu'un comprenant très bien les 2 langues), on en déduirait qu'il vaut mieux proposer la version anglaise (résultante à 45%) plutôt que la version française (résultante à 20%).
Mais tout ça est rarement utilisé dans la pratique.
Les standards c'est bon, mangez en !
Flore & Sébastien
Unité dans la diversité.
arno.
Varan
Messages : 1347
Inscription : 19 août 2004, 12:26

Message par arno. »

merci beaucoup
Avatar de l’utilisateur
Mori
Animal mythique
Messages : 13311
Inscription : 30 avr. 2004, 19:17

Message par Mori »

j'en connais un qui va se trouver moins bête cette journée. :D merci bobo, pour cette explication précise.

Linux Salix OS 15.0 / Xfce 4.16

calimo
Animal mythique
Messages : 14118
Inscription : 26 déc. 2003, 11:51

Message par calimo »

Bon, moi j'ai toujours un peu de peine à piger la syntaxe du truc et à quoi s'appliquent les q=.

Prenons l'exemple du HTTP-ACCEPT qui est un peu plus compliqué :

Code : Tout sélectionner

text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Sur quoi s'applique le 0.9 ? Sur ce qui est juste avant ? Ou tout ce qui est avant ? Est-ce qu'il y a une explication claire quelque part de la syntaxe exacte ?
chBok
Iguane
Messages : 991
Inscription : 17 oct. 2003, 19:17

Message par chBok »

J'ai traduit cette page sur le site d'Apache, je pense qu'elle répond plus précisement à la question posée.

Bonne lecture :D
arno. sans ses cookies

Message par arno. sans ses cookies »

il est interessant cet article chBok
mais concetement, je n'ai pas acces a la config d'apache, c'est pour un compte free, et ma negociation de langue, je dois la faire avec php, et eventuellement .htacess

Du coup, je pensais parcourir la variable, regarder pour chaque entree, si elle correspond a une de mes langues, sinon prendre une valeur par defaut (l'anglais), et ensuite, faire les include qui vont bien.

Est-ce qu'il y aurait une maniere de faire ?
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité