Quelle est la différence entre <html lang = “en”> et <html lang = “en-US”>?

106

Quelle est la différence entre <html lang="en">et <html lang="en-US">? Quelles autres valeurs peuvent suivre le tiret?

Selon w3.org "Tout sous-code à deux lettres est considéré comme un code de pays [ISO3166]." cela signifie-t-il que toute valeur répertoriée sous le code alpha-2 est une valeur acceptée?

Céleritas
la source
Vous pouvez trouver plus de détails dans le RFC lié à dans la spécification .
James Allardice
1
Êtes-vous intéressé par les différences entre les navigateurs ou la théorie (spécification)?
Aprillion
@deathApril les deux. Je veux dire, est-ce que cela aide en quelque sorte le navigateur à afficher la page?
Celeritas

Réponses:

130

<html lang="en">
<html lang="en-US">

La première langbalise spécifie uniquement un code de langue. Le second spécifie un code de langue, suivi d'un code de pays.

Quelles autres valeurs peuvent suivre le tiret? Selon w3.org "Tout sous-code à deux lettres est considéré comme un code de pays [ISO3166]." cela signifie-t-il que toute valeur répertoriée sous le code alpha-2 est une valeur acceptée?

Oui, mais la valeur peut avoir ou non une signification réelle.

<html lang="en-US">signifie essentiellement "cette page est dans le style américain de l'anglais." De la même manière, <html lang="en-GB">cela signifierait «cette page est dans le style anglais britannique».

Si vous vouliez vraiment spécifier une combinaison invalide, vous pourriez. Cela ne voudrait pas dire grand-chose, mais <html lang="en-ES">est valide selon la spécification, si je comprends bien. Cependant, cette combinaison langue / pays ne fera pas grand-chose car l'anglais n'est pas couramment parlé en Espagne.

Je veux dire, est-ce que cela aide en quelque sorte le navigateur à afficher la page?

Cela n'aide pas le navigateur à afficher la page, mais il est utile pour les moteurs de recherche, les lecteurs d'écran et d'autres choses qui pourraient lire et essayer d'interpréter la page, en plus des êtres humains.

Jeremy Wiggins
la source
31
FWIW, les langues officielles de l'Ouganda sont en fait l'anglais et le swahili.
Muhammad Alkarouri
34
Ha, bon point. Comme je suis américain. :( J'ai mis à jour l'exemple en Espagne, et j'ai fait un petit travail cette fois pour m'assurer que l'anglais n'est pas une langue officielle là aussi. Merci pour le conseil.
Jeremy Wiggins
@JeremyWiggins, à propos de vos 2 dernières lignes dans votre réponse, en commençant par "ça n'aide pas le navigateur ....". Que faire si le site Web est international (internationalisé), la définition de la balise de langue serait-elle toujours nécessaire?
Yustme
4
Concernant les deux dernières lignes - si la page utilise la césure de CSS ( hyphens: auto), alors l' langattribut est requis pour permettre au navigateur de sélectionner un ensemble de règles approprié.
RobertT
1
Non seulement les paramètres de langue pour les moteurs de recherche ou les lecteurs d'écran sont aidés avec des paramètres de langue appropriés, mais il existe également un effet typographique. Par exemple, les simples guillemets <q> </q> ne sont correctement interprétés qu'avec les paramètres de langue corrects différents entre de-DE, de-CH, fr et fr-CH par exemple.
theking2
8

Vous pouvez utiliser n'importe quel code de pays, oui, mais cela ne signifie pas qu'un navigateur ou un autre logiciel le reconnaîtra ou fera autre chose à cause de lui. Par exemple, un lecteur d'écran peut traiter de la même manière "en-US" et "en-GB" s'il ne prend en charge qu'un accent américain en anglais. Un autre logiciel qui a deux voix distinctes, cependant, pourrait s'adapter en fonction du code du pays.

woz
la source
Le lien est mort, si vous trouvez un remplaçant, veuillez le signaler pour la suppression
Taryn
5

Cela devrait aider: http://www.w3.org/International/articles/language-tags/

La règle d'or lors de la création de balises de langue est de garder la balise aussi courte que possible. Évitez les régions, les scripts ou autres sous-étiquettes, sauf lorsqu'ils ajoutent des informations de distinction utiles. Par exemple, utilisez ja pour le japonais et non ja-JP, sauf s'il y a une raison particulière pour laquelle vous devez dire qu'il s'agit du japonais tel qu'il est parlé au Japon, plutôt qu'ailleurs.

La liste ci-dessous montre les différents types de sous-étiquettes disponibles. Nous allons travailler notre chemin à travers ces derniers et comment ils sont utilisés dans les sections qui suivent.

language-extlang-script-region-variant-extension-privateuse

Alfred D'Souza
la source
1
Certaines applications logicielles utilisent par défaut l'orthographe et la localisation aux États-Unis lorsque des options génériques en anglais sont choisies, par exemple, Windows le fait pour le module linguistique anglais. technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx Windows (inutile) a un seul module linguistique pour certains pays qui parlent plusieurs langues, comme les Pays-Bas (néerlandais, pas français) encore quatre pour l'Espagne (catalan, galicien, basque, espagnol). La Belgique obtient zéro, peut-être parce que les multiples langues nationales sont toutes deux des langues majoritaires dans d'autres pays.
Mousey
2

La RFC 3066 donne les détails des valeurs autorisées (accentuation et liens ajoutés):

Tous les sous-étiquettes à 2 lettres sont interprétés comme des codes de pays ISO 3166 alpha-2 de [ISO 3166] , ou attribués ultérieurement par l'agence de maintenance ISO 3166 ou les organismes de normalisation directeurs, indiquant le domaine auquel cette variante linguistique se rapporte.

J'interprète cela comme signifiant que tout code valide à 2 lettres (selon ISO 3166) est valide en tant que sous-étiquette. Le RFC poursuit en déclarant:

Les balises avec des sous-étiquettes secondaires de 3 à 8 lettres peuvent être enregistrées auprès de l'IANA, selon les règles du chapitre 5 de ce document.

En passant, cela ressemble à une faute de frappe, puisque le chapitre 3 semble se rapporter au processus d'enregistrement, pas au chapitre 5.

Une recherche rapide du registre IANA révèle une très longue liste de toutes les sous-étiquettes de langues disponibles. Voici un exemple de la liste (qui serait utilisé comme en-scouse):

Type: variante

Sous-étiquette: scouse

Description: Scouse

Ajouté: 18/09/2006

Préfixe: en

Commentaires: dialecte anglais Liverpudlian connu sous le nom de 'Scouse'

Il existe toutes sortes de sous-étiquettes disponibles; un parchemin rapide a déjà été révélé fr-1694acad(17e siècle français).


L'utilité de certaines de ces balises (je dirais la grande majorité de celles-ci), lorsqu'il s'agit de documents conçus pour être affichés dans le navigateur, est limitée. La spécification d'internationalisation du W3C indique simplement:

Les navigateurs et autres applications peuvent utiliser des informations sur la langue du contenu pour fournir aux utilisateurs les informations les plus appropriées ou pour présenter des informations aux utilisateurs de la manière la plus appropriée. Plus le contenu est étiqueté et correctement étiqueté, plus ces applications deviendront utiles et omniprésentes.

J'ai du mal à trouver des informations détaillées sur le comportement des navigateurs lorsqu'ils rencontrent différentes balises de langue, mais elles offriront probablement des avantages aux utilisateurs qui utilisent un lecteur d'écran, qui peuvent utiliser la balise pour déterminer la langue / le dialecte / l'accent dans lequel présenter le contenu.

James Allardice
la source
0

XML Schema nécessite que l'espace de noms xml soit déclaré et importé avant d'utiliser xml: lang (et d'autres valeurs d'espace de noms xml) RELAX NG prédéclare l'espace de noms xml, comme dans XML, donc aucune déclaration supplémentaire n'est nécessaire.

hellosi
la source
-1

Eh bien, la première question est facile. Il existe de nombreux ens (anglais) mais (principalement) un seul anglais américain. On pourrait deviner il y a en-CN, en-GB, en-AU. Je suppose qu'il y a peut-être même de l'anglais autrichien, mais c'est plus oui que oui.

Wes Miller
la source
6
EN-UK is en-gb ... voir ici pour une belle liste de 10 anglais andiamo.co.uk/language-resources/iso-language-codes.aspx
Codemwnci
1
mais il n'y a qu'un seul Zulu! : o)
Codemwnci