web-dev-qa-db-fra.com

Quelle <html lang = ""> valeur d'attribut dois-je utiliser pour une page en plusieurs langues?

J'utilise habituellement ceci: <html lang="en">.

Cependant, je travaille sur un site Web qui utilisera deux langues et les mélangera parfois dans la même phrase ou le même titre.

À quoi ressemblerait le code ci-dessus dans ce cas? Puis-je utiliser <html lang="lang1 lang2">?

48
Francisc

Autant que je sache à la lecture de la spécification HTML5, l'attribut lang:

la valeur doit être une balise de langue BCP 47 valide ou la chaîne vide

Source: http://www.w3.org/TR/html5/dom.html#the-lang-and-xml:lang-attributes

Il n'y a aucune mention dans la spécification d'un tableau de chaînes de langue et chaque exemple que j'ai trouvé utilise une seule chaîne de langue.

Cela a du sens car vraiment une section donnée ne peut être que dans une seule langue à moins que nous ne créons un nouveau langage hybride.

Étant donné que l'attribut lang est valide sur tous les éléments HTML, vous pouvez encapsuler le code spécifique à votre langue dans une nouvelle balise afin d'indiquer sa langue.

<html lang="en">
[...]
<body>
<h1>I am a heading <span lang="de-DE">Eine Überschrift</span></h1>
</body>
</html>
78
Jamie Dixon

Si je comprends bien, vous devriez pouvoir utiliser <html lang="mul"> pour indiquer Plusieurs langues.

Choisissez des sous-étiquettes dans le registre des sous-étiquettes de langue IANA.

La source; https://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20030112.224623362

Il y a une sous-étiquette dans la liste nommée Sous-étiquette: mul

Source: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry

Cependant, je ne pense pas que vous serez en mesure de spécifier exactement les langues que vous mélangez dans l'élément html. Cependant, comme Jamie l'a écrit, vous pouvez spécifier différents attributs lang pour différents éléments sur la page.

Il existe quatre codes de langue spéciaux dans l'ISO 639-3 et tous sont également valides dans le registre des sous-étiquettes IANA; https://en.wikipedia.org/wiki/ISO_639-3#Special_codes

Cependant, je doute que cela ait un bon support des moteurs de recherche comme Google.

4
user11448