--- title: Accept-Language slug: Web/HTTP/Headers/Accept-Language translation_of: Web/HTTP/Headers/Accept-Language original_slug: Web/HTTP/Заголовки/Accept-Language ---
{{HTTPSidebar}}

Заголовок HTTP-запиту Accept-Language повідомляє про те, які мови клієнт може зрозуміти, і який варіант локалі є кращим. (За мовами ми маємо на увазі природні мови, такі як англійська, а не мови програмування.) Потім, використовуючи узгодження вмісту, сервер вибирає одну з пропозицій, використовує її та інформує клієнта про свій вибір за допомогою заголовку відповіді {{HTTPHeader("Content-Language")}}. Браузери встановлюють адекватні значення для цього заголовка відповідно до їхньої мови інтерфейсу користувача, і, навіть, якщо користувач може змінити її, це трапляється рідко (і не схвалюється, оскільки це призводить до fingerprinting).

Цей заголовок є рекомендацією, яку слід використовувати, коли сервер не має можливості визначити мову іншим способом, наприклад, через конкретну URL-адресу, яка керується явним рішенням користувача. Рекомендується, щоб сервер ніколи не перевизначав явне рішення. Зміст Accept-Language часто не керується користувачем (як, наприклад, під час подорожі та використання Інтернет-кафе в іншій країні); користувач може також захотіти відвідати сторінку іншою мовою, ніж локалі свого інтерфейсу користувача.

Якщо сервер не може обслуговувати будь-яку відповідну мову, він теоретично може відправити код помилки {{HTTPStatus("406")}} (Not Acceptable). Але, з кращого досвіду це робиться рідко, замість цього кращим способом є ігнорування у цьому випадку заголовка Accept-Language .

Тип заголовку {{Glossary("Request header")}}
{{Glossary("Forbidden header name")}} ні
{{Glossary("Simple header", "CORS-safelisted request-header")}} yes

Синтаксис

Accept-Language: <language>
Accept-Language: *

// Multiple types, weighted with the {{glossary("quality values", "quality value")}} syntax:
Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5

Директиви

<language>

Тег мови (який іноді називають "ідентифікатором локалі"). Він складається з тегу мови (2-3 літери), що представляє мову, за яким після символу  '-' можуть слідувати також додаткові літери підтегу. Найпоширенішою додатковою інформацією є варіант країни або регіону (наприклад, 'en-US' або 'fr-CA') або тип алфавіту (наприклад, 'sr-Latn'). Інші варіанти, такі як тип орфографії ('de-DE-1996'), зазвичай не використовуються в контексті цього заголовку.

*
Будь-яка мова; '*' використовується як шаблон заміни.
;q= (q-factor weighting)
Будь-яке значення, розміщене в порядку уподобань, виражене за допомогою відносного {{glossary("Quality values", "quality value")}} що називається вагою.

Приклади

Accept-Language: de

Accept-Language: de-CH

Accept-Language: en-US,en;q=0.5

Специфікації

Specification Title
{{RFC("7231", "Accept-Language", "5.3.5")}} Hypertext Transfer Protocol (HTTP/1.1): Semantics and Context
BCP 47 Tags for the Identification of Language

Сумісність з браузерами

{{Compat("http.headers.Accept-Language")}}

Див. також