--- title: Accept-Language slug: Web/HTTP/Headers/Accept-Language tags: - Cabeçalho HTTP - HTTP translation_of: Web/HTTP/Headers/Accept-Language ---
O cabeçalho HTTP Accept-Language
anuncia quais linguas o cliente é capaz de entender, e qual é a preferência do variante do Locale. (Por Linguas, queremos dizer linguas como Inglês e portugues) Usando content negotiation, o servidor seleciona uma das propostas, usa ela e informa o cliente da sua escolha com o {{HTTPHeader("Content-Language")}} cabeçalho de responsta. Navegadores configuram valores adequados para este cabeçalhos de acordo com a língua configurada pelo usuario.
Este cabeçalho é uma dica a ser usada pelo servicor quando ele não possui outra forma de determinar a lingua do cliente, como uma URL específica, que é controlada por uma decisão explicita do usuário. É recomendado que o servidor nunca sobreescreva uma decisão explícita. O conteúdo de Accept-Language
está comumente fora do controle do usuário (em uma viagem a outro país por exemplo); O usuário pode querer acessar a pagina em outra lingua diferente da decidida pelo navegador.
Se o servicor não encontrar uma língua correspondente, ele pode, teóricamente responder com o código de erro{{HTTPStatus("406")}} (Not Acceptable) . Mas, para uma melhor experiencia de usuário, iss o raramente é feito. Mais comumente, quando isso ocorre, o cabeçalho é ignorado.
Tipo de Cabeçalho | {{Glossary("Request header")}} |
---|---|
{{Glossary("Forbidden header name")}} | no |
{{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>
A tag language (a qual pode ser chamada de "identificador de Locale") consiste de uma tag de 2 a 3 letras representando a lingua, opcionalmente pode ser seguida de um '-'
separa outras informações extras. A mais comum informação extra é a região do país (como'pt-BR'
ou 'pt-PT'
) ou o tipo do alfabeto a ser usado (como'sr-Latn'
). Outras variantes como o tipo de ortografia ('de-DE-1996'
) normalmente não são utilizadas no contexto deste cabeçalho.
*
'*'
é utilizado como curinga.;q=
(q-factor weighting)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 |
The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
{{Compat("http.headers.Accept-Language")}}