我通常用这个:<html lang="en">.
但是,我正在开发一个使用两种语言的网站,有时会在同一个句子或标题中混合使用.
在这种情况下,上面的代码如何?我可以用<html lang="lang1 lang2">吗?
Jam*_*xon 78
据我所知,从阅读HTML5规范的lang属性:
value必须是有效的BCP 47语言标记或空字符串
资料来源:http://www.w3.org/TR/html5/dom.html#the-lang-and-xml : lang-attributes
规范中没有提及语言字符串数组,我发现的每个例子都使用单个语言字符串.
这是有道理的,因为除非我们正在创建一种新的混合语言,否则实际上给定的部分只能使用一种语言.
由于lang属性对所有HTML元素都有效,因此您可以将特定于语言的代码包装在新标记中以指示其语言.
<html lang="en">
[...]
<body>
<h1>I am a heading <span lang="de-DE">Eine Überschrift</span></h1>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
据我了解,您应该能够使用<html lang="mul">来表示多种语言。
从 IANA 语言子标签注册表中选择子标签。
来源; https://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20030112.224623362
列表中有一个名为Subtag的子标签:mul
来源:http : //www.iana.org/assignments/language-subtag-registry/language-subtag-registry
但是,我认为您无法在 html 元素中准确指定要混合的语言。但是,正如 Jamie 所写,您可以为页面上的不同元素指定不同的 lang 属性。
ISO 639-3 中确实存在四种特殊语言代码,并且所有这些代码在 IANA 子标签注册中也有效; https://en.wikipedia.org/wiki/ISO_639-3#Special_codes
但是,我怀疑这是否得到了 Google 等搜索引擎的良好支持。