Content-Language

HTTP-заголовок Content-Language используется для описания языков контента доступных для аудитории, позволяя таким образом пользователю выбрать язык в соответствии со своими предпочтениями.

Например, если установлен заголовок "Content-Language: de-DE", это говорит о том, что документ предназначен для носителей немецкого языка (однако это не означает, что документ написан на немецком языке). Это может быть документ на английском языке в рамках языкового курса для носителей немецкого языка).

Если заголовок Content-Language не указан, по умолчанию предполагается, что содержимое предназначено для всех языковых аудиторий. Также допустимо использование в заголовке нескольких языковых тегов. Заголовок Content-Language может применяться не только к текстовым документам но и другим типам контента.

Header type Entity header
Forbidden header name no
CORS-safelisted response-header (en-US) 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
<html lang="de"></html>

Не используйте этот мета элемент как здесь для констатирования языка документа:

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

Смотрите также