Answers:
<html lang="en">
<html lang="en-US">
第一个lang
标签仅指定语言代码。第二个指定语言代码,然后是国家/地区代码。
破折号后面还有哪些其他值?根据w3.org,“任何两个字母的子代码都应理解为[ISO3166]国家/地区代码。” 那么这是否意味着在alpha-2代码下列出的任何值都是可接受的值?
是的,但是该值可能具有也可能没有任何实际含义。
<html lang="en-US">
本质上是指“此页面为美国英语风格”。以类似的方式,<html lang="en-GB">
将表示“此页面为英国英语风格”。
如果您确实想指定无效的组合,则可以。<html lang="en-ES">
按照我的理解,这并不重要,但是根据规范是有效的。但是,由于西班牙不常用英语,因此该语言/国家/地区组合的用处不大。
我的意思是,这是否会以某种方式进一步帮助浏览器显示页面?
它无助于浏览器显示页面,但对搜索引擎,屏幕阅读器以及其他可能会读取并试图解释页面的事物(人类除外)很有用。
hyphens: auto
)中的连字符,则lang
必须提供属性,以允许浏览器选择适当的规则集。
这应该有所帮助:http : //www.w3.org/International/articles/language-tags/
创建语言标签时的黄金法则是使标签尽可能短。避免使用区域,脚本或其他子标记,除非它们在标记中添加了有用的区别信息。例如,对于日语,请使用ja,而不要对ja-JP进行使用,除非出于特殊原因,您需要说这是日语,而不是其他地方的日语。
以下列表显示了可用的各种子标记。我们将逐步解决这些问题,并在接下来的部分中将如何使用它们。
语言扩展脚本区域变量扩展专用
RFC 3066给出了允许值的详细信息(强调和添加的链接):
所有的2个字母的子标记都被解释为[ISO 3166]的 ISO 3166 alpha-2国家/地区代码,或随后由ISO 3166维护机构或主管的标准化机构分配,表示此语言变量涉及的领域。
我认为这意味着任何有效的(根据ISO 3166)2字母代码都可以作为子标签有效。RFC继续声明:
根据本文档第5章的规定,可以向IANA注册带有3到8个字母的第二子标签的标签。
顺便说一句,这看起来像是一个错字,因为第3章似乎与注册过程有关,而不是第5章。
快速搜索IANA注册中心会发现很长的清单,其中列出了所有可用的语言子标记。这是列表中的一个示例(将用作en-scouse
):
类型:变体
子标签:scouse
说明:Scouse
添加:2006-09-18
前缀:zh
评论:英文Liverpudlian方言被称为“ Scouse”
有各种各样的子标签可用。快速滚动已经显示出来fr-1694acad
(17世纪的法语)。
当涉及到设计用于在浏览器中显示的文档时,其中一些(我想说其中的绝大多数)标签的用途是有限的。在W3C国际规范只是说:
浏览器和其他应用程序可以使用有关内容语言的信息来向用户提供最合适的信息,或以最合适的方式向用户展示信息。正确标记和标记的内容越多,此类应用程序将变得越有用和普遍。
我正在努力寻找有关浏览器在遇到不同语言标签时的行为的详细信息,但是它们很可能会给那些使用屏幕阅读器的用户带来一些好处,这些用户可以使用标签来确定语言/方言/重音在其中呈现内容。
好吧,第一个问题很简单。有很多en
(英语),但(大多数)只有一种美国英语。人们会想有en-CN
,en-GB
,en-AU
。猜猜甚至可能会有奥地利英语,但是比起是,您能做到的更多。