我应该为混合语言页面使用什么<html lang =“”>属性值?

我通常使用这个: <html lang="en">

但是,我正在使用两种语言的网站,有时将它们混合在同一个句子或标题中。

上面的代码在这种情况下怎么看? 我可以使用<html lang="lang1 lang2">

据我所知,阅读HTML5规范的lang属性:

值必须是有效的BCP 47语言标记或空string

资料来源: http : //www.w3.org/TR/html5/dom.html#the-lang-and-xml : lang-attributes

在规范中没有提到一个语言string数组,我发现每个例子都使用一个单一的语言string。

这是有道理的,因为除非我们正在创build一个新的混合语言,否则真正的给定部分只能用一种语言。

由于lang属性在所有的HTML元素上都是有效的,所以你可以把你的语言特定的代码包装在一个新的标签中,以表示它的语言。

 <html lang="en"> [...] <body> <h1>I am a heading <span lang="de-DE">Eine Überschrift</span></h1> </body> </html> 

据我了解,你应该可以使用<html lang="mul">来表示多种语言

从IANA语言子标签registry中select子标签。

资源; 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子标签registry中也都是有效的。 https://en.wikipedia.org/wiki/ISO_639-3#Special_codes

不过,我怀疑这是否有像Google这样的search引擎的良好支持。

你可以这样使用

对于HTML 5使用:

有关字符编码的更多信息,请参阅“在HTML中声明字符编码”。