diff --git a/questions/qa-http-and-lang-data/translations.js b/questions/qa-http-and-lang-data/translations.js index 68a0d0e4..d236ca30 100644 --- a/questions/qa-http-and-lang-data/translations.js +++ b/questions/qa-http-and-lang-data/translations.js @@ -1,8 +1,8 @@ var trans = { } -trans.versions = ['de','en', 'fr'] +trans.versions = ['en', 'fr'] -trans.outofdatetranslations = [] +trans.outofdatetranslations = ['de'] trans.updatedtranslations = [] diff --git a/questions/qa-http-and-lang.fr.html b/questions/qa-http-and-lang.fr.html index d8dca516..fcf82438 100644 --- a/questions/qa-http-and-lang.fr.html +++ b/questions/qa-http-and-lang.fr.html @@ -98,7 +98,7 @@

En-têtes HTTP

Content-Language: en, hi, pa

L’en-tête Content-Language est associé à une page donnée grâce à un paramétrage du serveur ou à un script côté serveur. Il est par exemple courant de trouver un en-tête Content-Language dans les métadonnées HTTP quand le serveur héberge plus d’une version d’une ressource, chacune dans une langue différente. Si le serveur utilise l’information dont il dispose à votre sujet pour sélectionner automatiquement une version linguistique donnée (« négociation de contenu »), la version choisie sera identifiée dans l’en-tête HTTP.

-

L’en-tête HTTP Content-Language peut fournir des données linguistiques utiles relatives à la page où à la ressource que vous demandez, mais la spécification HTTP indique que la finalité de cette information est d’offrir des métadonnées au sujet du public visé, plutôt que d’indiquer la langue du document lui-même. Ces métadonnées peuvent être utilisées pour effectuer des recherches, offrir une version linguistique correcte, gérer l’écoulement des tâches, la classification, etc.

+

L’en-tête HTTP Content-Language peut fournir des données linguistiques utiles relatives à la page où à la ressource que vous demandez, mais la spécification HTTP indique que la finalité de cette information est d’offrir des métadonnées au sujet du public visé, plutôt que d’indiquer la langue du document lui-même. Ces métadonnées peuvent être utilisées pour effectuer des recherches, offrir une version linguistique correcte, gérer l’écoulement des tâches, la classification, etc. Voir aussi Déduire la langue d’un texte à partir d’un en-tête HTTP.

L’information linguistique dans l’en-tête HTTP étant envoyée par le serveur, celle-ci n’est simplement pas à disposition si vous accédez à votre page à partir d’un disque dur, d’une clé USB ou d’un autre système non doté de serveur. Il n’existe pas, à l’heure actuelle, de méthode globalement acceptée pour représenter dans une page ce type de données.

@@ -116,7 +116,7 @@

Spécifier la langue de traitement du

Déduire la langue d’un texte à partir d’un en-tête HTTP

-

Si aucune langue n’est déclarée dans le marqueur html, une partie des principaux navigateurs, mais pas tous, reconnaîtront la valeur déclarée dans l’en-tête HTTP et l’utiliseront pour spécifier la langue par défaut du texte de la page. Mais même dans un navigateur qui reconnaît cette valeur, l’information semble être appliquée à certaines fonctions qui ont une incidence sur la langue, mais pas à toutes. La spécification HTML5 indique que s’il n’y pas d’attribut lang dans le marqueur html, et s’il n’y a pas d’élément meta avec l’attribut http-equiv ayant pour valeur Content-Language, et s’il n’y a qu’un marqueur de langue dans la déclaration d’en-tête HTTP, alors un navigateur peut utiliser cette information pour tenter de deviner la langue par défaut du texte de la page.

+

Si aucune langue n’est déclarée dans le marqueur html, une partie des principaux navigateurs, mais pas tous, reconnaîtront la valeur déclarée dans l’en-tête HTTP et l’utiliseront pour spécifier la langue par défaut du texte de la page. Mais même dans un navigateur qui reconnaît cette valeur, l’information semble être appliquée à certaines fonctions qui ont une incidence sur la langue, mais pas à toutes. La spécification HTML5 indique que s’il n’y pas d’attribut lang dans le marqueur html, et s’il n’y a pas d’élément meta avec l’attribut http-equiv ayant pour valeur Content-Language, et s’il n’y a qu’un marqueur de langue dans la déclaration d’en-tête HTTP, alors un navigateur doit utiliser cette information pour tenter de deviner la langue par défaut du texte de la page.

Cependant il s’agit ici d’un point de détail puisque vous devriez toujours utiliser un attribut de langue dans le marqueur html et que ce marqueur l’emporte sur les informations des en-têtes HTTP. L’en-tête HTTP doit seulement être utilisé pour fournir des métadonnées au sujet du public visé par le document dans son entier, et l’attribut langue dans le marqueur html doit être utilisé pour déclarer la langue par défaut du contenu.

@@ -145,7 +145,7 @@

Pourquoi il est préférable de ne pas utiliser l

Si le nom de l’élément meta n’était pas suffisamment clair, le fait que la valeur accepte plusieurs langues indique que cet élément fournit vraiment des métadonnées au sujet du document. Il est nécessaire d’être spécifique si vous devez indiquer la langue d’une partie d’un texte. Il ne peut s’agir que d’une langue à la fois. L’élément meta est ainsi dans le document un lieu qui fournit des métadonnées au sujet de la langue du public visé par le document dans son ensemble.

Encore récemment, peu de navigateurs faisaient attention à cet élément meta. Plusieurs navigateurs importants ont alors commencé à l’utiliser pour spécifier la langue par défaut du texte du document s’il n’existait pas d’attribut langue dans le marqueur html (ce pour quoi cet attribut du marqueur html est fait). Chaque navigateur ayant sa propre implémentation, le système était peu fiable.

À cause de confusions et d’implémentations non homogènes de ce type de déclarations, le groupe de travail HTML prit la décision en 2011 de rendre non-conformes en HTML les éléments meta contenant un http-equiv dont la valeur était Content-Language. Ceci veut dire que vous ne devriez plus l’utiliser en HTML5 et que, bien que techniquement non illégal dans d’autres types de HTML, il est mieux de ne l’utiliser nulle part.

-

HTML5 a cependant fait une concession par souci de compatibilité descendante : s’il existe dans le code un élément meta avec un http-equiv ayant pour valeur Content-Language et s’il n’y a pas d’attributs de langue dans le marqueur html, et si l’élément meta a pour valeur un seul code de langue, alors un navigateur peut (sans y être forcé) utiliser cette information pour deviner la langue par défaut du texte de la page. Ceci étant dit, il ne s’agit que de compatibilité descendante et vous ne devriez plus avoir à utiliser cette approche. Utilisez tout simplement un attribut langue sur le marqueur html.

+

HTML5 a cependant fait une concession par souci de compatibilité descendante : s’il existe dans le code un élément meta avec un http-equiv ayant pour valeur Content-Language et s’il n’y a pas d’attributs de langue dans le marqueur html, et si l’élément meta a pour valeur un seul code de langue, alors un navigateur doit utiliser cette information pour deviner la langue par défaut du texte de la page. Ceci étant dit, il ne s’agit que de compatibilité descendante et vous ne devriez plus avoir à utiliser cette approche. Utilisez tout simplement un attribut langue sur le marqueur html.