我应该将什么<html lang ="">属性值用于混合语言页面?

Fra*_*isc 48 html html5 lang

我通常用这个:<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)

  • 仅供参考 - 您的w3.org链接已损坏.试图找到一个替代品,但不能...希望他们遵循[他们自己的建议](http://www.w3.org/Provider/Style/URI.html)并且没有破坏他们的URI. (5认同)
  • BCP代表"最佳实践",BCP 47 Track是互联网工程任务组(IETF)概述其IETF语言标签的地方.您可以在http://en.wikipedia.org/wiki/IETF_language_tag上阅读更多相关信息 (4认同)
  • 新链接:http://www.w3.org/TR/html5/dom.html#the-lang-and-xml:lang-attributes它可能已经改变,因为它的工作草案,@ Zach L (4认同)

use*_*448 6

据我了解,您应该能够使用<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 等搜索引擎的良好支持。

  • 虽然“mul”的存在,但它可能不仅会对机器人产生负面影响,还会对辅助技术产生负面影响。想象一下屏幕阅读器软件试图提供正确发音的语音。`mul` 可能会像空值一样处理?! (2认同)