Locale::acceptFromHttp

locale_accept_from_http

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL intl >= 1.0.0)

Locale::acceptFromHttp -- locale_accept_from_httpHTTP "Accept-Language" başlığıyla en iyi eşleşen yereli bulmaya çalışır

Açıklama

Nesne yönelimli kullanım

public static Locale::acceptFromHttp(string $başlık): string

Yordamsal kullanım

locale_accept_from_http(string $başlık): string

HTTP "Accept-Language" başlığında talep edilen dillerle en uyumlu yereli bulmaya çalışır.

Değiştirgeler

başlık

"Accept-Language" başlığını RFC 2616'daki biçeme uygun olarak içeren dizge .

Dönen Değerler

Başlıkla eşleşen yerel.

Örnekler

Örnek 1 - locale_accept_from_http() örneği

<?php
$locale 
locale_accept_from_http($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo 
$locale;
?>

Örnek 2 - Nesne yönelimli kullanım örneği

<?php
$locale 
Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);
echo 
$locale;
?>

Yukarıdaki örneğin çıktısı:

tr_TR

Ayrıca Bakınız

  • locale_lookup() - En iyi eşleşen dili bulmak için dil yaftası listesini araştırır

add a note add a note

User Contributed Notes 3 notes

up
36
Adam Lange
11 years ago
It's good to mention that if user browser will not send HTTP_ACCEPT_LANGUAGE, the output from:

Locale::acceptFromHttp($_SERVER['HTTP_ACCEPT_LANGUAGE']);

Will be null.

So remember to set up a fail over scenario!
up
5
rasmus at mindplay dot dk
6 years ago
If you're struggling to figure out how to use this function in a project that only supports certain languages, move along.

Unfortunately, this function doesn't let you specify languages supported by your project - and since the internal header parsing and negotiation logic isn't exposed in any other way, you'll most likely want to ditch this function and go for a custom implementation of the same thing:

https://github.com/willdurand/Negotiation
up
0
mollasadra at g dot com
6 years ago
Didn't see this being documented anywhere and the bug hasn't been addressed yet, so to save headache for otherS, this method does a little weird thing with these different locales:

php > echo locale_accept_from_http("zh_TW");
zh
php > echo locale_accept_from_http("zh_CN");
zh
To Top