Content-Language

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

HTTP Content-Language 表示标头用来说明访问者希望采用的语言,这样的话用户就可以根据自己偏好的语言来定制不同的内容。

举个例子,Content-Language: de-DE 说明这份文件是为说德语的人提供的。这个文件可能是用英文写的,而非德语——它可能是为说德语的人开设的英语教程的一部分。要说明文档是用什么语言的,应该用 lang 属性。

如果没有指明 Content-Language,那么默认地,文件内容是提供给所有语言的访问者使用的。多个语言标签也是合法的。同样地,Content-Language 标头还适用于不同媒体类型的文件,而不单单局限于文本型文档。

标头类型 表示标头
禁止修改的标头
列入 CORS 白名单的响应标头
列入 CORS 白名单的请求标头 是*

* 值只能是 0-9A-Za-z、空格或字符 *,-.;=

语法

http
Content-Language: de-DE
Content-Language: en-US
Content-Language: de-DE, en-CA

指令

language-tag

多个语言标签需要用逗号隔开。每一个语言标签都是由一个或多个不区分大小写的子标签构成的,子标签之间用连字号(-)隔开。通常情况下,一个语言标签是由标识一个大的语言家族的主语言子标签(例如 en = English),以及后面可选的用来缩小语言范围使更确切的一系列子标签(en-CA 表示在加拿大范围使用的英语的变种)构成的。

备注: 语言标签在 BCP 47 中被正式定义,它使用的语言代码依赖于 ISO 639 标准(通常为 ISO 639-1 代码列表)。

示例

声明文档的书写语言

全局的 lang 属性使用在 HTML 元素去表达 HTML 文档整体或者部分的语言。

html
<html lang="de"></html>

不要使用这个 meta 元素去声明文档语言:

html
<meta http-equiv="content-language" content="de" />

为资源指定目标访问者

Content-Language 标头用于指定页面的目标受众,并且可以指定多种语言。

http
Content-Language: de, en

规范

Specification
HTTP Semantics
# field.content-language

浏览器兼容性

Report problems with this compatibility data on GitHub
desktopmobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
Content-Language

Legend

Tip: you can click/tap on a cell for more information.

Full support
Full support

参见