如何从PHP中的IP地址获取国家语言

时间:2013-07-03 08:52:45

标签: php api cakephp multilingual

我正在开发一个基于cakephp的网站,这是一个多语种网站。需要根据用户的IP地址在站点上设置默认语言。

我可以获得客户的IP地址和他/她的国家,但我怎样才能通过api或其他方式获得该国家的国家语言?

请帮帮我。

提前致谢。

2 个答案:

答案 0 :(得分:3)

坏主意

  

根据用户的IP地址在站点上设置默认语言。

除非这是没有accept language header的后备/默认值,否则你应该尊重the client gives you

或者 - 如何与具有多种语言的国家合作 - 例如瑞士(4 langauges)?

答案 1 :(得分:2)

您可以使用PHP的 GeoIP 功能实现此目的。请参阅此处的documentation,了解其运作方式。

以下示例使用Google.com的IP显示geoip_continent_code_by_name()功能:

<强>代码:

<?php
$continent = geoip_continent_code_by_name('74.125.227.180');
if ($continent) {
    echo 'This host is located in: ' . $continent;
}
?>

<强>输出:

  

该房东位于:NA