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.
The HTTP Content-Language
representation header is used to describe the language(s) intended for the audience, so users can differentiate it according to their own preferred language.
For example, Content-Language: de-DE
indicates that the document is intended for German language speakers. The document may be written in English, not German, as part of a language course for German speakers. To indicate the language the document is written in, use the lang
attribute instead.
If no Content-Language
is specified, the default is that the content is intended for all language audiences. Multiple language tags are also possible, as well as applying the Content-Language
header to various media types and not only to textual documents.
Header type | Representation header |
---|---|
Forbidden header name | No |
CORS-safelisted response header | Yes |
CORS-safelisted request header | Yes* |
* Values can only be 0-9
, A-Z
, a-z
, a space, or the characters *,-.;=
.
Syntax
Content-Language: de-DE
Content-Language: en-US
Content-Language: de-DE, en-CA
Directives
language-tag
-
Multiple language tags are separated by a comma. Each language tag is a sequence of one or more case-insensitive subtags, each separated by a hyphen character (
-
). In most cases, a language tag consists of a primary language subtag that identifies a broad family of related languages (e.g.,en
= English) and is optionally followed by a series of subtags that refine or narrow that language's range (e.g.,en-CA
= the variety of English as communicated in Canada).
Note: Language tags are formally defined in BCP 47, which rely on the ISO 639 standard (quite often the ISO 639-1 code list) for language codes to be used.
Examples
Indicating the language a document is written in
Indicating a target audience for a resource
The Content-Language
header is used to specify the page's intended audience and can indicate that this is more than one language.
Content-Language: de, en
Specifications
Specification |
---|
HTTP Semantics # field.content-language |
Browser compatibility
BCD tables only load in the browser