以下两个HTML meta标签在指定西班牙语网页内容方面有何区别:
<meta name="language" content="Spanish">
和
<meta http-equiv="content-language" content="es">
以下两个HTML meta标签在指定西班牙语网页内容方面有何区别:
<meta name="language" content="Spanish">
和
<meta http-equiv="content-language" content="es">
<meta name="language" content="Spanish">
这并没有在任何规范中定义(包括HTML5草案)。
<meta http-equiv="content-language" content="es">
这是真正的HTTP标题的简化版本,应该在标题中表达。例如:
Content-language: es
Content-type: text/html;charset=UTF-8
它表明该文档是为西班牙语使用者而设计的(但这并不意味着该文档是用西班牙语写的;例如,它可以作为面向西班牙语使用者的语言课程的一部分用英语编写)。
来自规范:
Content-Language实体头字段描述了预期受众的自然语言。请注意,这可能不等同于实体正文中使用的所有语言。
如果您想说明一个文档是用西班牙语编写的,则使用:
<html lang="es">
meta http-equiv
存在,并且应该与HTTP头一起设置。不幸的是,有两个地方可以指定语言/编码,并且W3C/IETF没有明确的解决方案。 - mip你要求了比较,但是这两个并不能完全相比。
请注意,<meta http-equiv="content-language" content="es">
已经过时,在HTML5中已被删除。它用于指定“文档范围的默认语言”,其 http-equiv
属性使其成为一个 pragma directive(模拟未从服务器发送的 Content-Language
HTTP响应头,因为它无法覆盖真实的响应头)。
关于 <meta name="language" content="Spanish">
,几乎找不到任何可靠的信息。它是非标准的,可能是作为 SEO makeshift 发明的。
html
根元素上使用 lang
属性(属性值必须是有效的 BCP 47 语言标签):<!DOCTYPE html>
<html lang="es-ES">
<head>
…
lang
属性。”谷歌推荐使用hreflang,详见更多信息
示例:
<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />
en-ca
的页面和一个带有nl-nl
的页面,en-ca
将包含在加拿大的搜索结果中,具有替代nl-nl
的页面可以在荷兰的搜索结果中找到。 - jagbHtml5建议使用<html lang="es-ES">
标签。
小写的lang标签只指定了语言代码,大写的则指定了国家代码。
这对于ie.Chrome非常有用,当浏览器建议翻译网页内容(例如Google翻译)时。
另一个语言的元标签是 og:locale,您可以为社交媒体定义 og:locale 元标签。
<meta property="og:locale" content="en" />
你可以在 https://ogp.me/ 阅读关于 Open Graph 标签的内容。
lang
属性。例如,为了向拼写检查器提供输入文本应该是英语的提示:
<input ... spellcheck="true" lang="en"> ...
请参见:https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/lang
http-equiv
变体是不良实践:https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Language - Christophe Roussy