在 IE 上通过 javascript 发送?
navigator.browserLanguage
: 浏览器语言
navigator.systemLanguage
: Windows 系统语言
navigator.userLanguage
: Windows 用户特定语言
感谢:有没有使用javascript检测操作系统语言?
除了您提到的获取客户端操作系统语言的方法之外,这是唯一的方法,PHP 由服务器运行,仅此而已。
构建一个 PHP 排序函数。
HTTP_ACCEPT_LANGUAGE: zh,en-US;q=0.8,en;q=0.6
zh
并en-US
共享相同的q=
值,这意味着您可以按最高的语言值排序,如果两种语言的质量相同,则默认为 en-US。
刚刚注意到@Quentin 在我编辑前一分钟在评论部分提到了这一点,干得好先生!
小样:
$languages = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
$default = 'en-US';
/*
* magic split and structure the language into a array sorted by quality
*
* $languages_sorted_by_quality = array(0.8 => ('zh', 'en-US'));
*/
$top_languages = max($languages_sorted_by_quality);
if (isset($top_languages[$default])) {
$language = $default;
else
$language = $top_languages[0];