Afficher un message
Vieux 12/08/2005, 20h09   #1
Nicolas Krebs
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: Changement automatique de la langue...

Bonjour,

Laurent Pointal écrivit dans l'article
news:ddi3ja$oa$1@upsn250.cri.u-psud.fr

Pour la compréhennsion de la discussion, je rajoute deux paragraphes
présents dans news:ddi2sq$vsu$1@upsn250.cri.u-psud.fr mais absents de
news:ddi3ja$oa$1@upsn250.cri.u-psud.fr .

(début citation supplémentaire)
>> Je travaille sur un site dont certaines pages auront des traductions en
>> anglais. Pour servir les pages, on utilise Apache et sa possibilité de
>> servir xxx.en.html ou xxx.fr.html en fonction des préférences réglées
>> dans le butineur client.
>> Là, ça marche bien, Apache cherche une page dans la langue adaptée au
>> client, et s'il ne trouve pas il sert l'autre langue.

(fin citation supplémentaire)

> Laurent Wacrenier wrote:
> > Laurent Pointal <laurent.pointal@limsi.fr> écrit:
> >
> >>Maintenant, il peut arriver des fois où mon butineur est réglé sur 'fr'
> >>mais je veux pour une page voir la version 'en'. Je peux bien sûr aller
> >>ouvrir mes préférences, modifier la langue, puis recharger la page -
> >>c'est long, tout le monde ne connaît pas.


(autre citation supplémentaire)
>> Donc, je voudrais pouvoir placer un petit script associé à un lien, qui
>> modifie - pour la session - la langue préférée de l'utilisateur... et là
>> ça semble impossible...

(fin citation supplémentaire)

> > En demandant explicitement xxx.en.html, non ?

>
> Ca sera éventuellement la solution "fallback", avec un lien généré par
> un script PHP côté serveur (il y a une partie commune sur toutes les
> pages).
> L'inconvénient est que ça n'est valide que pour la page en cours, dès
> que l'utilisateur va cliquer sur un lien, il va retourner dans la langue
> par défaut du butineur (il est demandé aux rédacteurs de ne pas
> spécifier les extensions des pages afin que Apache fasse la sélection
> selon ses règles de négociation avec le client - si une page n'existe
> pas en anglais, elle sera quand même servie mais en français - éviter
> les 404).


1
Si vous voulez que le document envoyé soit adapté à la langue de
l'utlisateur, vous pouvez mettre en place une systèmes de choix coté
serveur, en anglais /content negotiation/ et /language negotiation/.
Consultez la documentation existente :
http://www.w3.org/TR/cuap#cp-laneg-def
http://www.w3.org/International/ques...-when-lang-neg
http://www.la-grange.net/w3c/cuap/#cp-laneg-def
http://www.w3.org/Protocols/rfc2616/rfc2616-sec12.html
http://www.ietf.org/rfc/rfc2616.txt
http://www.w3.org/International/ques...pache-lang-neg
http://httpd.apache.org/docs/content-negotiation.html
news:fr.comp.infosystemes.www.serveurs
(Archive-Name: fr/chartes/comp.infosystemes.www.serveurs)
Ne pas oublier de remplir le champ Vary dans l'en-tête http de réponse,
avec au moins Accept-Language.
Lire aussi éventuellement
http://www.w3.org/International/ques...-http-and-lang
http://www.w3.org/International/ques...o-multilingual
http://www.la-grange.net/2004/06/03.html#negociation
(le logiciel SPIP pour sa part indique avec *(?|&)lang=code)
http://www.la-grange.net/w3c/cuap/#cp-bm-neg
http://www.w3.org/TR/cuap#cp-bm-neg .

2
Si vous voulez que les utilisateurs puissent accéder à une version d'une
ressource dans une autre langue, ajoutez un lien vers la ou les
traductions ou équivalences, comme dans les documents
http://www.w3.org/International/ques...en-lang-neg.en
http://www.w3.org/International/ques...en-lang-neg.fr et
http://www.w3.org/2004/11/sptour-pressrelease
(lire aussi http://www.w3.org/International/ques...igation-select )
et un champ d'en-tête html link rel="alternate"
( http://www.la-grange.net/w3c/html4.0...tml#type-links
http://www.w3.org/TR/html401/types.html#type-links )
<link rel="alternate" href="URL" hreflang="LANG" type="text/html" />
où LANG est le code de langue indiqué dans
http://www.w3.org/International/articles/language-tags/ et
http://www.ietf.org/rfc/rfc3066.txt .

3
Si vous voulez que les utilisateurs puissent choisir une autre langue
pour le reste de leur visite, établissez une... session (hé oui, vous
aviez la solution)
http://www.w3.org/International/ques...neg#stickyness
pour laquelle la langue du reste de la visite est modifiée.
Utilisez une méthode coté client ou (de préférence) coté serveur.
Consultez le forum fr.comp.lang.* correspondant à votre méthode de
session choisie (fr.comp.lang.javascript si javascript,
http://faqfclphp.free.fr/#7 et fr.comp.lang.php si php,
news:fr.comp.infosystemes.www.serveurs pour un module d'apache).
Vous pouvez évidement permettre à l'utilisateur de changer
plusieurs fois de langue au cours d'une même session.

4
Si vous voulez savoir comment régler un logiciel client web pour qu'il
envoi un champs http Accept-Language (seule question en-charte dans
fr.comp.infosystemes.www.navigateurs),
http://www.w3.org/International/ques...riorities.html
(pour mozilla firefox 1.0 fr : dans l'aide, Options (Préférences) de Mozilla
Firefox, Langues et Outils, Options, Général, Langues).


Note pour les particpants de fr.comp.infosystemes.www.auteurs :
J'ai lus vos arguments sur ce sujet des mois précédents, mais aucun ne
m'a fait changer d'avis.

Article publié dans fr.comp.infosystemes.www.auteurs,
fr.comp.infosystemes.www.navigateurs, fr.comp.infosystemes.www.serveurs,
répondre dans un seul forum de préférence.

--
L'important c'est le lecteur.©
  Réponse avec citation
 
Page generated in 0,08129 seconds with 9 queries