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"