OVH Cloud OVH Cloud

Site bilingue

13 réponses
Avatar
Denis Beauregard
Bonjour,

Suivant les conseils reçus via ce forum, j'ai ajouté à mon site
deux modules suivants inspirés d'un script reçu par courriel
et utilisant en gros:

ll$=getenv('HTTP_ACCEPT_LANGUAGE')


Cela répond parfaitement quand je teste, mais il y a des gens
qui tombent sur la mauvaise langue.

Pour le moment, j'utilise le concept sur 2 pages de mon site,
www.francogene.com/index.php et
www.francogene.com/fichier.origine/index.php


Mon script fait ceci:

si index.php?l=fr => affichage en français
si index.php?l=en => affichage en anglais

sinon index.php examine ll$ et choisit la langue dès que fr ou en
est détecté

sinon affichage en français



J'aimerais savoir si tous les navigateurs utilisent la variable
en question.

Sinon, quelle stratégie choisiriez-vous quand les gens tombent sur la
mauvaise langue. La page dans une langue a un lien avec la variable
l=fr ou l=en visant l'autre langue.

Serait-il mieux d'avoir disons l=frp et dire (à chaque fois) comment
configurer le navigateur, ou bien est-ce que de toutes façons, cela
ne servira à rien ?


Denis

10 réponses

1 2
Avatar
Laurent Seguin
"Denis Beauregard" avait soumis l'idée :

ll$=getenv('HTTP_ACCEPT_LANGUAGE')
Cela répond parfaitement quand je teste, mais il y a des gens
qui tombent sur la mauvaise langue.


Oui :) En fait cela vient d'une mauvaise (ou non) configuration du
navigateur.
Exemple avec Mozilla, si tu le télécharge par défaut c'est "en" et
"en-us", il faut ajouter les "fr" et "fr-fr" manuellement. Comme peu de
gens connaissent l'utilité (voir même l'existence de la possibilité)
d'annoncer ses langues par ordre de préférence cela reste avec les
paramètres par défaut.

J'aimerais savoir si tous les navigateurs utilisent la variable
en question.


Tous AMC sauf les très vieux.

Sinon, quelle stratégie choisiriez-vous quand les gens tombent sur la
mauvaise langue. La page dans une langue a un lien avec la variable
l=fr ou l=en visant l'autre langue.


Ca me semble être la seule chose "fiable", le choix du visiteur par un
clic.
Savoir aussi que parfois le visiteur préfère visiter le site dans une
autre langue que la sienne (exemple concret, je peste à chaque fois que
je tombe sur les page traduite du man de PHP) :-)


@++

Avatar
dbluno
Denis Beauregard wrote:
Bonjour,

Suivant les conseils reçus via ce forum, j'ai ajouté à mon site
deux modules suivants inspirés d'un script reçu par courriel
et utilisant en gros:

ll$=getenv('HTTP_ACCEPT_LANGUAGE')


Cela répond parfaitement quand je teste, mais il y a des gens
qui tombent sur la mauvaise langue.

Pour le moment, j'utilise le concept sur 2 pages de mon site,
www.francogene.com/index.php et
www.francogene.com/fichier.origine/index.php


Mon script fait ceci:

si index.php?l=fr => affichage en français
si index.php?l=en => affichage en anglais

sinon index.php examine ll$ et choisit la langue dès que fr ou en
est détecté

sinon affichage en français


un problème, si la variable HTTP_ACCEPT_LANGUAGE renseigne les deux
langues avec 'an' en premier alors que le visiteur est francophone.


J'aimerais savoir si tous les navigateurs utilisent la variable
en question.


j'ai entendu dire: 'pas toujours'. ce que tu peux faire, c'est à chaque
ouverture de la page, php éecrit un petit fichier avec la variable
HTTP_ACCEPT_LANGUAGE, tu verras que c'est pas toujours très clair. je
pense que beaucoup de gens ne changent pas la config de leur browser,
parce qu'il ne savent pas que l'on peut la changer.



Sinon, quelle stratégie choisiriez-vous quand les gens tombent sur la
mauvaise langue. La page dans une langue a un lien avec la variable
l=fr ou l=en visant l'autre langue.


perso, pour le site de la société où je travaille, la page index est
bilingue avec une preference pour une langue (comme chez toi) sauf si
detection de l'autre langue (comme chez toi aussi).

le visiteur ne peut rentrer dans le site qu'en cliquant sur un drapeau
(avec un onMouseOver pour changer la langue de la petite phrase d'accroche)

ce que tu peux voir sur http:/www.cecstone.com

autre chose, avec un cookie, le visiteur retombera toujours lors d'autre
visites, sur la bonne langue une fois qu'il l'a choisie



Serait-il mieux d'avoir disons l=frp et dire (à chaque fois) comment
configurer le navigateur, ou bien est-ce que de toutes façons, cela
ne servira à rien ?


je ne pense pas, j'ai toujours le sentiment que les les gens s'en
foutent. et puis, avec xp, ca parrait tellement compliqué de configurer
quelque chose, que la plupart vont abandonner.

par contre si ton site s'adresse à des gens sensible à l'informatique,
le accept language est deja configuré.



Denis


Avatar
Ariase
Denis Beauregard wrote:
Bonjour,

Suivant les conseils reçus via ce forum, j'ai ajouté à mon site
deux modules suivants inspirés d'un script reçu par courriel
et utilisant en gros:

ll$=getenv('HTTP_ACCEPT_LANGUAGE')




Bonjour,

Tous les navigateurs ne renseignent pas HTTP_ACCEPT_LANGUAGE. Mais c'est
vrai qu'il est intéressant pour l'utilisateur d'arriver directement sur une
page avec la langue qu'il a définit dans son navigateur. Le problème que tu
peux rencontrer est que le format de HTTP_ACCEPT_LANGUAGE peut ne pas être
directement exploitable. Tu peux avoir des formats du genre 'fr-FR q=0.66,
zh, en-US q=0.33'.

La langue la plus importante pour l'utilisateur se trouve en premier dans la
chaine transmise par le navigateur..
Voici la fonction que j'utilise pour retrouver la langue du navigateur :
function chercheLangue()
{
$langues = split("[-,]", $_SERVER['HTTP_ACCEPT_LANGUAGE'],-1);
return $langues[0];
}
$langue = chercheLangue();
Je ne sais pas si ma réponse peut t'aider car ton code actuel doit être très
proche de celui-ci.

Avatar
dbluno
Ariase a écrit:

La langue la plus importante pour l'utilisateur se trouve
en premier dans la
chaine transmise par le navigateur..


le problème est que si tu tombe sur un norvégien (par hasard ;-)), il
faudra voir ses langues secondaires...

--
Article posté sur http://web2news.com
Pour répondre en privé, enlevez nnoos9p+9a5mm

Avatar
Damien Accorsi
et un moldave, tu y as pensé au moldave ;)

dbluno wrote:
Ariase a écrit:

La langue la plus importante pour l'utilisateur se trouve
en premier dans la
chaine transmise par le navigateur..



le problème est que si tu tombe sur un norvégien (par hasard ;-)), il
faudra voir ses langues secondaires...




Avatar
Guillaume Bouchard
Damien Accorsi wrote:

et un moldave, tu y as pensé au moldave ;)


Le probleme c'est un moldave slovaco novegien a tendance russe parlant
français...

Ce qu'il ne faut pas faire c'est prendre la deuxieme chaine... Cela peut
tombé sur du slovaque ( pardon pour cette orthographe ) Mais plutot
recuperer la premier langue que l'on peut proposer.

--
Guillaume.

Avatar
CrazyCat
dbluno wrote:
le problème est que si tu tombe sur un norvégien (par hasard ;-)), il
faudra voir ses langues secondaires...


Entièrement d'accord avec cette remarque. M'étant trouvé confronté à ce problème, je l'avais résolu très simplement en définissant par défaut l'anglais comme langue utilisée, et si le français faisait partie des HTTP_ACCEPT_LANGUAGE, alors je passais sur la version française.
Evidemment, ceci ne fonctionne bien qu'avec 2 langues...

--
CrazyCat from C-P-F.org

Avatar
dbluno
CrazyCat a écrit:
dbluno wrote:
le problème est que si tu tombe sur un norvégien (par
hasard ;-)), il
faudra voir ses langues secondaires...


Entièrement d'accord avec cette remarque. M'étant trouvé
confronté à ce problème, je l'avais résolu
Evidemment, ceci ne fonctionne bien qu'avec 2 langues...


meuhnon, pourquoi ?

il suffit l'occurence de chaque langue dans laquelle est écrit le site,
avec une sorte de hierarchie de priorité.

--
Article posté sur http://web2news.com
Pour répondre en privé, enlevez no-2s6pp+6a6m


Avatar
Denis Beauregard
Le 01 Jul 2003 11:19:22 GMT, "dbluno"
écrivait dans fr.comp.lang.php:

Ariase a écrit:

La langue la plus importante pour l'utilisateur se trouve
en premier dans la
chaine transmise par le navigateur..


le problème est que si tu tombe sur un norvégien (par hasard ;-)), il
faudra voir ses langues secondaires...


Le script que j'utilise est basé sur un script qui examine les
langues une à une. Ma modification a consisté à ne garder que les
langues prévues et pas les autres.

Donc, si c'est no, sw, zz, fr, en, je trouverai fr seulement. Si
c'est aa, bb, vv, cc, xx, zz, je ne trouverai rien, donc fr.


Denis


Avatar
Ariase
Guillaume Bouchard wrote:
Damien Accorsi wrote:

et un moldave, tu y as pensé au moldave ;)


Le probleme c'est un moldave slovaco novegien a tendance russe parlant
français...

Ce qu'il ne faut pas faire c'est prendre la deuxieme chaine... Cela
peut tombé sur du slovaque ( pardon pour cette orthographe ) Mais
plutot recuperer la premier langue que l'on peut proposer.


Je suis d'accord avec Guillaume. C'est l'idée du script que j'ai proposé
(pardon pour les moldaves et norvégiens) : Récupération de la première
chaine.


1 2