|
|
|
|
||||||
| fr.comp.info.serveurs Administration de serveurs WWW. |
![]() |
|
|
LinkBack | Outils de la discussion |
|
|
#1 |
|
Messages: n/a
Hébergeur: |
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.© |
|
|
|
#2 |
|
Messages: n/a
Hébergeur: |
Le Fri, 12 Aug 2005 21:09:25 +0200, Nicolas Krebs a écrit :
> Ne pas oublier de remplir le champ Vary dans l'en-tête http de réponse, > avec au moins Accept-Language. Cet en-tête (Accept-Language) est envoyé par le client, pas par le serveur. Le serveur doit renvoyer dans ce cas Content-Language avec la bonne valeur. -- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news> |
|
|
|
#3 |
|
Messages: n/a
Hébergeur: |
Patrick Mevzek écrivit dans l'article news:pan.2005.08.12.20.10.10.635074@nospam.dotandc o.com > Le Fri, 12 Aug 2005 21:09:25 +0200, Nicolas Krebs a écrit : > > Ne pas oublier de remplir le champ Vary dans l'en-tête http de réponse, > > avec au moins Accept-Language. > > Cet en-tête (Accept-Language) est envoyé par le client, pas par le > serveur. > Le serveur doit renvoyer dans ce cas Content-Language avec la bonne valeur. C'est de ma faute, je n'ai pas été assez précis. Je voulais parler du champs d'en-tête http envoyé par le serveur en réponse. Cf. la section 14.44 de la rfc 2616 http://www.w3.org/Protocols/rfc2616/....html#sec14.44 , vers laquelle il y a un lien à la fin de http://www.w3.org/Protocols/rfc2616/...2.html#sec12.1 ainsi que « Example: HTTP/1.1 200 OK [...] Content-Location: CSS2-REC.en.html Vary: negotiate,accept-language,accept-charset » dans http://www.w3.org/International/ques...ang#background D'ailleurs Content-Location: aussi peut être remplis dans les réponses. |
|
|
|
#4 |
|
Messages: n/a
Hébergeur: |
Le Fri, 12 Aug 2005 22:41:11 +0200, Nicolas Krebs a écrit :
>> Le Fri, 12 Aug 2005 21:09:25 +0200, Nicolas Krebs a écrit : >> > Ne pas oublier de remplir le champ Vary dans l'en-tête http de réponse, >> > avec au moins Accept-Language. >> >> Cet en-tête (Accept-Language) est envoyé par le client, pas par le >> serveur. >> Le serveur doit renvoyer dans ce cas Content-Language avec la bonne valeur. > > C'est de ma faute, je n'ai pas été assez précis. Non, on s'est mal compris, tout votre exposé était limpide :-) Quand on parle de la valeur, on a tendance à la mettre en minuscules (comme vous le signalez vous-même dans votre exemple), car avec les initiales en majuscules, on croit que c'est l'en-tête (et pas sa/une valeur) Par contre, il faut bien mettre le Content-Language, très important pour la négociation de contenu. > D'ailleurs Content-Location: aussi peut être remplis dans les réponses. Je mettrais même un doit plutôt qu'un peut. -- Patrick Mevzek . . . . . . Dot and Co (Paris, France) <http://www.dotandco.net/> <http://www.dotandco.com/> Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news> |
|
|
|
#5 |
|
Messages: n/a
Hébergeur: |
Patrick Mevzek écrivit dans l'article news:pan.2005.08.12.20.10.10.635074@nospam.dotandc o.com dans news:fr.comp.infosystemes.www.serveurs le 2005-08-12 [...] > Le serveur doit renvoyer dans ce cas Content-Language avec la bonne valeur. Tout à fait. Faut-il envoyer un champs d'en-tête Content-Language: dans les autres cas (1)? Peut-on l'utiliser (2) dans tous les documents ou messages de type rfc 822 (3)? Est-il nécessaire que le format l'autorise explicitement (pour pouvoir l'utiliser)? 1 Quelques raisons pour indiquer la langue du contenu: http://www.w3.org/International/ques...-http-and-lang http://www.w3.org/International/questions/qa-lang-why http://www.w3.org/International/tuto.../all#Slide0030 2: RFC 3282, «Content Language Headers», mai 2002, http://www.ietf.org/rfc/rfc3282.txt 3: RFC 2822, «Internet Message Format», avril 2001, http://www.ietf.org/rfc/rfc2822.txt |
|
![]() |
| Outils de la discussion | |
|
|