<html lang="en">和 <html lang="en-US">的区别是什么? 破折号后面还有什么值?
<html lang="en">
<html lang="en-US">
根据 W3.org的说法,“任何两个字母的子代码都被理解为[ ISO3166]国家代码。”那么这是否意味着任何 在 alpha-2代码下列出的值都是可接受的值呢?
第一个问题很简单。有许多 en(英语) ,但(大多数)只有一个美国英语。人们会猜测有 en-CN,en-GB,en-AU。可能还有奥地利英语,但是你可以说“是”,而不是“是”。
en
en-CN
en-GB
en-AU
你可以使用任何国家的代码,是的,但是这并不意味着浏览器或者其他软件会因为它而识别它或者做任何不同的事情。例如,如果屏幕阅读器只支持英语中的美国口音,那么它们对“ en-US”和“ en-GB”的处理可能是相同的。不过,另一个有两种不同声音的软件可以根据国家代码进行调整。
RFC 3066 gives the details of the allowed values (emphasis and links added):
所有两个字母的子标签都被解释为 < strong > ISO3166alpha-2国家代码 从 [ISO 3166] ,或随后由 ISO3166维护指定 标准化机构或管理标准化机构,指标准化机构或管理标准化机构的范围 这种语言变体与。
我解释为意味着任何有效的(根据 ISO3166)2字母代码作为子标签是有效的。RFC 接着指出:
第二个子标签为3到8个字母的标签可以在 IANA,根据本文件第五章的规则。
顺便说一句,这看起来像是打印错误,因为第3章似乎与注册过程有关,而不是第5章。
快速搜索 IANA 注册表可以找到所有可用语言子标记的 很长的清单。下面是列表中的一个例子(将用作 en-scouse) :
en-scouse
类型: 变种 子标签: 利物浦人 描述: 利物浦人 新增: 2006-09-18 前缀: 嗯 点评: 英国利物浦方言,俗称“利物浦人”
类型: 变种
子标签: 利物浦人
描述: 利物浦人
新增: 2006-09-18
前缀: 嗯
点评: 英国利物浦方言,俗称“利物浦人”
有 各种各样的的子标签可用; 快速滚动已经显示了 fr-1694acad(17世纪法语)。
fr-1694acad
当涉及到为在浏览器中显示而设计的文档时,其中一些(我会说是绝大多数)标记的用处是有限的。W3C 国际化规范只是说:
浏览器和其他应用程序可以使用有关该语言的信息 向用户提供最适当的信息,或 present information to users in the most appropriate way. The more 内容被正确地标记和标记,更加有用和普及 这些申请将会成为。
我正在努力寻找关于浏览器在遇到不同语言标签时如何表现的详细信息,但是它们最有可能为那些使用屏幕阅读器的用户提供一些好处,屏幕阅读器可以使用标签来确定显示内容的语言/方言/口音。
<html lang="en"> <html lang="en-US">
第一个 lang标记只指定语言代码。第二个指定语言代码,后跟国家代码。
lang
What other values can follow the dash? According to w3.org "Any two-letter subcode is understood to be a [ISO3166] country code." so 这是否意味着在 alpha-2代码下列出的任何值都是可接受的 价值?
是的,但是这个价值可能有也可能没有任何实际意义。
<html lang="en-US">基本上意味着“这个页面是美国风格的英语。”类似地,<html lang="en-GB">意味着“这个页面是英国风格的英文。”
<html lang="en-GB">
如果您真的想指定一个无效的组合,那么您可以。这并不意味着什么,但按照我的理解,<html lang="en-ES">根据规范是有效的。然而,由于英语在西班牙并不常用,这种语言/国家的组合不会有太大作用。
<html lang="en-ES">
我的意思是,这是否会进一步帮助浏览器显示页面?
它不能帮助浏览器显示页面,但是对于搜索引擎、屏幕阅读器和其他可能阅读和尝试解释页面的东西来说,它是非常有用的。
这应该会有所帮助: Http://www.w3.org/international/articles/language-tags/
创建语言标记的黄金法则是尽可能保持标记的短小。避免使用区域、脚本或其他子标签,除非它们添加了有用的区别信息。例如,将 ja 用于日语而不是 ja-JP,除非有特殊原因,您需要说这是日语,而不是其他地方所说的日语。 下面的列表显示了可用的各种类型的子标记。我们将通过我们的方式通过这些以及如何使用它们在接下来的部分。 Language-extlang-script-region-Variant-ext.private-use
创建语言标记的黄金法则是尽可能保持标记的短小。避免使用区域、脚本或其他子标签,除非它们添加了有用的区别信息。例如,将 ja 用于日语而不是 ja-JP,除非有特殊原因,您需要说这是日语,而不是其他地方所说的日语。
下面的列表显示了可用的各种类型的子标记。我们将通过我们的方式通过这些以及如何使用它们在接下来的部分。
Language-extlang-script-region-Variant-ext.private-use
XML Schema 要求在使用 XML: lang (和其他 XML 命名空间值)之前声明和导入 XML 命名空间 RELAXNG 先于 XML 命名空间,与 XML 一样,因此不需要额外的声明。