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
", это говорит о том, что документ предназначен для носителей немецкого языка (однако это не означает, что документ написан на немецком языке). Это может быть документ на английском языке в рамках языкового курса для носителей немецкого языка).
Если заголовок Content-Language
не указан, по умолчанию предполагается, что содержимое предназначено для всех языковых аудиторий. Также допустимо использование в заголовке нескольких языковых тегов. Заголовок 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
" = вариант диалекта английского языка, использующегося в Канаде).
Примечание: Языковые теги формально описаны в RFC 5646, который в свою очередь опирается на стандарт ISO 639 (точнее на ISO 639-1 code list) в части перечня используемых language codes.
Примеры
Указание использованного языка документа
Глобальный атрибут lang
используется на HTML-элементах для указания языка всего HTML документа или его частей.
<html lang="de"></html>
Не используйте этот мета элемент как здесь для констатирования языка документа:
<!-- /!\ Это плохая практика -->
<meta http-equiv="content-language" content="de" />
Указание целевой аудитории для ресурса
Content-Language
заголовок используется для определения целевой аудитории страницы и может указывать на более чем 1 язык.
Content-Language: de, en
Спецификации
Спецификация | Заголовок |
---|---|
RFC 7231, раздел 3.1.3.2: Content-Language | Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content |
Совместимость с браузерами
BCD tables only load in the browser