locale_accept_from_http
- это базовая оболочка для API ICU uloc_acceptLanguageFromHTTP
, но реализация PHP / PECL кажется принципиально ошибочной, поскольку она использует весь набор языковых стандартов системы вместо того, чтобы принимать список в качестве параметра?
Например, скажем, у пользователя есть HTTP_ACCEPT_LANGUAGE = zh-HK;q=0.2, fr
, то есть пользователь читает традиционный китайский или французский, предпочитая последний. У вас есть, например, новостной сайт, который предлагает статьи, скажем, на традиционном китайском и упрощенном китайском. Использование API
Locale::acceptFromHttp
вернет только fr
.
<?php
var_dump (Locale::acceptFromHttp ("zh-HK;q=0.2,fr"));
?>
Выходы:
string(2) "fr"