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.©