Accept-Language

Accept-Language HTTP başlığı, istemcinin hangi dilleri anlayabildiğini ve hangi dil türünün tercih edildiğini bildirir. (Burada dil derken programlama dili değil, İngilizce gibi doğal dillerden bahsediyoruz.) Sunucu içerik görüşmesi kullanarak bu önerilerden birini seçip kullanır ve Content-Language yanıt başlığı aracılığıyla istemciye seçtiği dili bildirir. Tarayıcılar kullanıcı arayüzü diline bakarak bu başlığa uygun değerleri verir ve kullanıcı bunu değiştirebilse de bu pek sık olmaz (ve parmak izine neden olduğundan hoş karşılanmaz).

Bu başlık, sunucunun kullanıcı tarafından bilinçli olarak belirtilmiş bir URL gibi herhangi bir yoldan dil berlirleme imkanı olmadığında kullanması için verilen bir ipucudur. Sunucunun asla bilinçli bir seçimi geçersiz kılmaması önerilmektedir. Accept-Language içeriği genellikle kullanıcının kontrolünde değildir (örneğin seyahat ederken başka bir ülkede bir internet kafeyi kullanmak gibi); kullanıcı kendi kullanıcı arayüzünün dili dışında bir dilde de sayfayı görüntülemek isteyebilir.

Eğer sunucu eşleşen hiçbir dilde hizmet veremiyorsa, teoride bir 406 (Kabul edilemez) hata kodunu döndürebilir.  Ancak, daha iyi bir kullanıcı deneyimi sağlanması için bu nadiren yapılır ve bu durumda genellikle Accept-Language başlığı görmezden gelinir.

Başlık türü Request header
Forbidden header name hayır
CORS-safelisted request-header evet

Sözdizimi

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

// quality value sözdizimi ile ağırlıklandırılmış birden fazla dil var:
Accept-Language: fr-CH, fr;q=0.9, en;q=0.8, de;q=0.7, *;q=0.5

Direktifler

<language>

Bir dil etiketi (bazen "yerel ayar kimliği" olarak da adlandırılır). Bu direktif 2-3 harften oluşan ve dili demsil eden bir temel dil etiketidir, isteğe bağlı olarak ardından '-' ile ayrılan ek alt etiketler gelebilir. En sık kullanılan ek bilgi ülke veya bölge varyantı ('en-US' veya 'fr-CA' gibi) ya da  kullanılacak alfabe türüdür ('sr-Latn' gibi). Yazım türü ('de-DE-1996') gibi diğer varyantlar genellikle bu başlık kapsamında kullanılmaz.

*
Herhangi bir dil; '*' joker karakter olarak kullanılır.
;q= (q-faktör ağırlıklandırması)
Tercih sırasına göre yerleştirilen herhangi bir değer, ağırlık denilen göreceli bir quality value ile ifade edilir.

Örnekler

Accept-Language: de

Accept-Language: de-CH

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

Özellikler

Özellik Başlık
RFC 7231, section 5.3.5: Accept-Language Hypertext Transfer Protocol (HTTP/1.1): Anlambilim ve Bağlam
BCP 47 Dilin Belirlenmesi için Etiketler

Tarayıcı uyumluluğu

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung Internet
Accept-LanguageChrome Full support YesEdge Full support YesFirefox Full support YesIE Full support YesOpera Full support YesSafari Full support YesWebView Android Full support YesChrome Android Full support YesFirefox Android Full support YesOpera Android Full support YesSafari iOS Full support YesSamsung Internet Android Full support Yes

Legend

Full support  
Full support

Bakınız