在 PHP 中检测客户端语言环境的最简单方法

phpserver side programmingprogramming更新于 2025/9/8 14:37:17

从 5.3.0 开始,PHP 提供了一个函数,用于将 ‘$_SERVER['HTTP_ACCEPT_LANGUAGE']’ 变量解析为语言环境 −

示例

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

‘$_SERVER['HTTP_ACCEPT_LANGUAGE']’函数通过将当前语言环境的语言作为参数来帮助检测语言环境。

输出

将产生以下输出 −

en_US

大多数浏览器会提交一个 Accept-Language HTTP 标头,如果它们来自美国,则指定 en-us。一些较旧的浏览器仅使用 en。

基于英语-英国的用户通常将其系统或用户语言环境设置为英语-英国,这是默认的浏览器配置。这将导致 en-gb 作为 Accept Language 标头。其他国家/地区使用 en 语言环境,例如 en-za(南非)等等。

基于地理 IP 的猜测在首选语言/语言环境上不太可能正确。


相关文章