如何正确使用HTML中的lang属性

6
我希望能向您请教如何在HTML代码中正确使用语言设置(lang)。 我正在尝试制作一个包含英文和波兰文两种语言的网站。
<html lang="en">
<html lang="pl">

这种方法正确吗?


1
你不能使用两个HTML元素。 - praveenraj
所以,正确的方式应该是这样的:<html lang="en"> <lang="pl"> 还是 <div>? - Martin Joe
https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang - Clive
2个回答

7
如果文档的主要语言是波兰语,但有很多部分是英语,那么应该在<html lang="pl">中使用<div lang="en">或类似的标记来标识英语部分。
<html lang="pl"><body>
[Polish content]
    <div lang="en">
        [English content]
    </div>
[more Polish content]
    <div lang="en">
        [more English content]
    </div>
[more Polish content]
…

无论如何,html元素应该尽可能地拥有一个lang值,根据HTML规范 per the HTML spec

鼓励作者在根html元素上指定一个lang属性,以表明文档的语言。这有助于语音合成工具确定使用什么发音,翻译工具确定使用什么规则等等。

但是,如果一个文档混合了多种语言,以至于无法被视为具有单一的主要语言,那么html元素仍然应该有一个lang属性,但其值为空

将属性设置为空字符串表示主要语言未知。

<html lang=""><body>
    <div lang="pl">
        [Polish content]
    </div>
    <div lang="en">
        [English content]
    </div>
    <div lang="pl">
        [Polish content]
    </div>
    <div lang="en">
        [English content]
    </div>

如需更详细的信息,请参阅以下W3C指南:


2
在同一文档中不能有两个<html>标签。应该使用一个没有lang属性的<html>标签,并在只包含一种语言的标签上使用lang属性。以下是一个示例:
<html>
<head>
    <!--some elements in the head-->
</head>
<body>
    <p lang="en">This is text</p>
    <p lang="fr">Ceci est du texte</p>
</body>
</html>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接