PHP 以类似“en-US”、“en”、“de-AT”的格式返回 Accept-Languages ($_SERVER['HTTP_ACCEPT_LANGUAGE'])。我怎样才能将它们转换成更具可读性的格式?
"en-US" -> "English USA"
"de-AT" -> "Österreichisch"
是否有通用的方法/功能,或者我是否必须查找数据库(这种格式的名称是什么 - 它是带有可选区域的 ISO 639-1 吗?!)?
最佳答案
如果您使用的是 PHP 5.3.0 或更高版本并且安装了国际化扩展,那么您可以使用 Locale
类或相应的过程函数:
$dispname = Locale::getDisplayName('en-US');
echo $dispname;
会输出
English (United States)
(国际扩展名:http://pecl.php.net/package/intl)
关于php - 将 PHP Accept-Language 转换为更易读的格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9751613/