【问题标题】:How can you see in which country your user is如何查看您的用户在哪个国家/地区
【发布时间】:2016-03-24 15:39:56
【问题描述】:

我正在制作一个 2 种语言的网站。是否可以检查用户在哪个国家/地区,以便我可以为用户自动切换语言?我的菜单中还有一个带有 _GET 的开关选项。我一开始就有这段代码:

if (isset($_GET['taal'])) {
    $taal = $_GET['taal'];
} else {
   $taal = 'ENG';
}
switch ($taal) {
    case 'NL':
        include('NL.php');
        break;
    case 'ENG':
        include('ENG.php');
        break;
    default:
        include('ENG.php');
        break;
}

【问题讨论】:

  • 您在问题中包含的代码是否有问题,或者问题真的只是“您如何找到用户的国家/地区”并且代码只是作为您的示例打算用它做吗?
  • 我想你要找的是this
  • 您最好使用他们的语言偏好,这可以从标题(接受语言)中获得,例如有人可能在西班牙,但实际上不会说西班牙语并且他们的浏览器设置为英语.
  • 不要进行 IP 查找,这对于不太准确的东西来说是很多开销。而是相信客户端的浏览器会告诉您它想要什么语言,您可以通过检查请求标头来做到这一点,例如,Accept-Language:en-US,en;q=0.8

标签: javascript php switch-statement


【解决方案1】:

首先你需要得到用户country by ip address:

$country = ip_info($_SERVER['REMOTE_ADDR'], 'Country');
if($country=='Netherlands'){
   $taal = 'NL';
}else{
   $taal = 'ENG';
}
switch ($taal) {
    case 'NL':
        include('NL.php');
        break;
    case 'ENG':
        include('ENG.php');
        break;
    default:
        include('ENG.php');
        break;
}

【讨论】:

    【解决方案2】:

    我想告诉你similar question with a relevant answer.

    从这个答案可以看出,识别用户位置/国家的第一步是读取他们的 IP 地址。由于代理,这有时会有点棘手。使用PHP识别用户IP的好方法可以找到here.

    此外,如果您希望创建一个多语言平台,您可能需要先阅读、理解并遵守基本的行业标准。如果你愿意,你可以use PHP for this 就像你已经在做的那样;或者您可以使用具有跨平台优势的通用语言文件(PHP、Java、C# 等)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-18
      • 2017-04-27
      • 2023-03-28
      • 2011-08-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多