和之间有什么区别?

时间:2012-07-03 20:49:58

标签: html html5 lang

<html lang="en"><html lang="en-US">之间有什么区别?破折号后面还有哪些其他值?

根据w3.org“任何双字母子代码被理解为[ISO3166]国家代码。”这是否意味着任何value listed under the alpha-2 code是可接受的值?

7 个答案:

答案 0 :(得分:117)

  

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

第一个lang标记仅指定语言代码。第二个指定语言代码,后跟国家/地区代码。

  

破折号后面还有哪些其他值?根据w3.org &#34;任何   双字母子代码被理解为[ISO3166]国家代码。&#34; 如此   这是否意味着在alpha-2代码下列出的任何值都是可接受的   值?

是的,但价值可能有也可能没有任何实际意义。

<html lang="en-US">本质上意味着&#34;此页面采用美式英语。&#34;以类似的方式,<html lang="en-GB">表示&#34;此页面采用英国英语风格。&#34;

如果你真的想指定一个无效的组合,你可以。它并不意味着很多,但根据规范,<html lang="en-ES">是有效的,正如我所理解的那样。然而,由于英语在西班牙并不常见,因此该语言/国家组合不会有太大作用。

  

我的意思是这会以某种方式进一步帮助浏览器显示页面吗?

它不会帮助浏览器显示页面,但它对于搜索引擎,屏幕阅读器以及可能阅读并试图解释页面的其他内容非常有用。

答案 1 :(得分:7)

您可以使用任何国家/地区代码,是的,但这并不意味着浏览器或其他软件会识别它或做任何不同的事情。例如,如果屏幕阅读器仅支持美式英语口音,则它可以处理“en-US”和“en-GB”。但是,另一款具有两种不同声音的软件可以根据国家代码进行调整。

答案 2 :(得分:4)

IETF语言标签的“最佳实践”在BCP 47(RFC 5646和RFC 4647)中定义。我建议给它一个阅读,因为它解释了很多关于语言子标签的信息,而不是你认为你需要知道的。 : - )

它指的是IANA Language SubtagLanguage Tag Extensions注册管理机构。

答案 3 :(得分:4)

这应该有所帮助: http://www.w3.org/International/articles/language-tags/

  

创建语言标签时的黄金法则是尽可能缩短标签。避免使用区域,脚本或其他子标签,除非它们添加有用的区分信息。例如,使用ja代表日语而不是ja-JP,除非有特殊原因需要说这是日语,而不是其他地方。

     

下面的列表显示了可用的各种类型的子标签。我们将通过这些以及如何在后续章节中使用它们。

     

<强> 语言extlang脚本区域变波及privateuse

答案 4 :(得分:2)

RFC 3066提供了允许值的详细信息(重点和添加的链接):

  

所有2个字母的子标签都被解释为 ISO 3166 alpha-2国家/地区代码   来自[ISO 3166] ,或随后由ISO 3166维护分配   代理或管理标准化机构,表示其所在的区域   这种语言变体涉及。

我认为这意味着任何有效的(根据ISO 3166)2字母代码作为子标签有效。 RFC继续说明:

  

可以注册带有3到8个字母的第二个子标签的标签   IANA,根据本文件第5章的规定。

顺便说一句,这看起来像是一个错字,因为第3章似乎与注册过程有关,而不是第5章。

快速搜索IANA注册表会显示所有可用语言子标签中的very long list。这是列表中的一个示例(将用作en-scouse):

  

输入:variant

     

子标签:scouse

     

描述:Scouse

     

已添加:2006-09-18

     

前缀:en

     

评论:英语Liverpudlian方言被称为'Scouse'

所有种类的子标签可用;快速卷轴已经显示fr-1694acad(17世纪法语)。


当涉及到设计用于在浏览器中显示的文档时,其中一些(我会说绝大多数这些)标签的用处是有限的。 W3C Internationalization specification只是声明:

  

浏览器和其他应用程序可以使用有关该语言的信息   向用户提供最合适的信息的内容,或者   以最恰当的方式向用户呈现信息。更多   内容被标记和标记正确,更有用和更普遍   这样的申请将成为。

我很难找到有关浏览器在遇到不同语言标签时的行为方式的详细信息,但它们很可能会为使用屏幕阅读器的用户提供一些好处,这些用户可以使用标签来确定语言/用于呈现内容的方言/口音。

答案 5 :(得分:0)

XML模式要求在使用xml:lang(和其他xml命名空间值)之前声明和导入xml命名空间。 RELAX NG与XML中一样预声明了xml名称空间,因此不需要其他声明。

答案 6 :(得分:-1)

嗯,第一个问题很简单。有许多en s(英语),但(大多数情况下)只有一个美国英语。可以猜测有en-CNen-GBen-AU。猜猜甚至可能有奥地利英语,但更多的是你可以,而不是有。