MDN wants to learn about developers like you: https://qsurvey.mozilla.com/s3/MDN-dev-survey

这篇翻译不完整。请帮忙从英语翻译这篇文章

Content-Language 是一个 entity header (实体消息首部),用来说明访问者希望采用的语言或语言组合,这样的话用户就可以根据自己偏好的语言来定制不同的内容。

举个例子,假如设置了这样一条消息首部( "Content-Language: de-DE" ),那么说明这份文件是为说德语的人提供的(当然这并不意味着文件本身就是用德语写的。比如,它可能是为说德语的人开设的英语教程的一部分,也就是用英语写的)。

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

Header type Entity header
Forbidden header name no
CORS-safelisted response-header yes
CORS-safelisted request-header yes

语法

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

指令

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

注意: Language tags are formaly defined in RFC 5646, which relay on the ISO 639 standard (quite often the ISO 639-1 code list) for language codes to be used.

示例

声明文档的书写语言

The global lang attribute is used on HTML elements to indicate the language of an entire HTML document or parts of it.

<html lang="de">

Do not use this meta element like this for stating a document language:

<!-- /!\ This is bad practice -->
<meta http-equiv="content-language" content="de">

为资源指定目标访问者

The Content-Language header is used to specify the intended audience of the page, and can indicate that this is more than one language.

Content-Language: de, en

规范

Specification Title
RFC 7231, section 3.1.3.2: Content-Language Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content

浏览器兼容性

FeatureChromeFirefoxEdgeInternet ExplorerOperaSafari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)
FeatureAndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic Support(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)(Yes)

相关内容

文档标签和贡献者

 此页面的贡献者: WayneCui
 最后编辑者: WayneCui,