locale_accept_from_http
是 ICU API 的基本包装器,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"