什么<;html lang="&引用&燃气轮机;混合语言页面应使用的属性值?

什么<;html lang="&引用&燃气轮机;混合语言页面应使用的属性值?,html,lang,Html,Lang,我通常用这个: 然而,我在一个网站上工作,该网站将使用两种语言,有时会在同一个句子或标题中混淆它们 在这种情况下,上面的代码看起来如何?我可以使用吗?从阅读HTML5规范中可以看出,lang属性: 值必须是有效的BCP 47语言标记或空字符串 资料来源: 规范中没有提到语言字符串数组,我发现的每个示例都使用单个语言字符串 这是有意义的,因为除非我们创建一种新的混合语言,否则给定的部分只能使用一种语言 <html lang="en"> [...] <body> <h1

我通常用这个:

然而,我在一个网站上工作,该网站将使用两种语言,有时会在同一个句子或标题中混淆它们


在这种情况下,上面的代码看起来如何?我可以使用
吗?

从阅读HTML5规范中可以看出,
lang
属性:

值必须是有效的BCP 47语言标记或空字符串

资料来源:

规范中没有提到语言字符串数组,我发现的每个示例都使用单个语言字符串

这是有意义的,因为除非我们创建一种新的混合语言,否则给定的部分只能使用一种语言

<html lang="en">
[...]
<body>
<h1>I am a heading <span lang="de-DE">Eine Überschrift</span></h1>
</body>
</html>
由于lang属性对所有HTML元素都有效,因此可以将特定于语言的代码包装在新标记中,以指示其语言

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

[...]
我是一个正在走向天堂的人

据我所知,您应该能够使用
来表示多种语言

从IANA语言子标记注册表中选择子标记

来源

列表中有一个子标签名为subtag:mul

资料来源:

但是,我认为您无法指定在html元素中混合哪些语言。但是,正如Jamie所写,您可以在页面上为不同的元素指定不同的lang属性

ISO 639-3中确实存在四种特殊语言代码,并且所有这些代码在IANA子标签注册中心内也有效;


然而,我怀疑这是否能得到谷歌等搜索引擎的良好支持。

在2020年4月添加此答案,以提供W3C()的最新指导

首先,不可以,您不能使用
,因为它无法正确验证。这是通过在
html
标记的language属性中使用多种语言(英语和斯瓦希里语)进行验证时的结果。此错误将导致使用或不使用逗号:

错误:元素
html
上属性
lang
的值
en-fr
不正确:语言 子标签
en swh
不是有效的语言子标签

如果您想使用多种语言声明polyglot网页的语言,以下是基于W3C的最新版本:

快速回答 始终在
html
标记上使用语言属性来声明默认值 页面中文本的语言。当页面包含另一个页面中的内容时 语言,将语言属性添加到围绕该内容的元素中

对于作为HTML的页面,使用
lang
属性;对于作为xml的页面,使用
xml:lang
属性>。对于XHTML1.x和HTML5多语言文档,请同时使用这两种语言 一起

使用中的语言标记。您可以使用>非官方工具查找子标签

使用嵌套元素来处理同一块上的内容和属性值 使用不同语言的元素

如果元素内容和属性值使用不同的语言怎么办? 在W3C网站的下图中,链接文本使用目标页面的语言(“Español”)显示目标页面的语言(西班牙语),但相关的标题属性包含当前页面语言的提示(“西班牙语”为英语):

上面的标记应该如下所示,其中
span
元素继承
html
元素的默认
en
设置:

<span title="Spanish"><a lang="es" href="qa-html-language-declarations.es">Español</a></span>
如何为多种受众语言指定元数据? 让服务器发送HTTP内容语言标头中的信息。如果您的目标受众讲多种语言,HTTP头允许您使用逗号分隔的语言列表

下面是一个HTTP头的示例,它声明资源是英语、印地语和旁遮普语的混合体:

Content-Language: en, hi, pa
请注意,如果从硬盘、磁盘或其他非服务器位置访问页面,则此方法无效。目前还没有公认的在页面内使用此类元数据的方法

过去,许多人使用
meta
元素,并将
httpequiv
属性设置为
contentlanguage
。由于长期以来对该元素的混淆和不一致的实现,HTML5规范使得该元素在HTML中不一致,因此您不应该再使用它

有关详细信息,请参见以下链接:


+1,wtf是BCP 47语言标签吗?它就像Posix语言环境(lang_ISOCC)?BCP代表“最佳当前实践”,BCP 47轨道是互联网工程任务组(IETF)概述其IETF语言标签的地方。您可以在这里阅读更多信息,仅供参考-您的w3.org链接已断开。曾短暂尝试寻找替代者,但未能。。。新链接:它可能改变了,因为它是一个工作草案,@Zach LYou是对的。此外,BCP47()中提到了语言列表,但它被定义为“多个语言标记”的关联。尽管
mul
的存在,它可能不仅对机器人产生负面影响,而且对辅助技术也有负面影响。想象一下,一个屏幕阅读器软件试图为语音提供正确的发音
mul
可能会像处理空值一样处理?!是的,但是还有什么标签可以用于混合语言的内容呢?如果您将多语言内容标记为其中一种语言,这也无助于辅助技术。。。我希望,如果你有一个混合语言的内容,你也可以将该内容翻译成干净的“一种语言版本”,一个点rel=“alternate”hreflang=“”)到它看来,最好的选择是,你没有!使用文档中的主导语言作为根语言