【问题标题】:Getting a user's language in PHP在 PHP 中获取用户的语言
【发布时间】:2018-08-31 11:25:11
【问题描述】:

我正在尝试为我目前正在开发的网站进行本地化,并且正在做这样的事情:

if(!isset($_SESSION['lang'])){
    $_SESSION['lang'] = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}else if(isset($_GET['lang']) && !empty($_GET['lang'])){
    $_SESSION['lang'] = $_GET['lang'];
}

这很好,可以按预期工作,但是,有时$_SERVER['HTTP_ACCEPT_LANGUAGE'] 没有价值,在对我们网站的访问者进行快速测试后,大约 20% 的访问者实际上有价值,而 80% 没有。

有没有更好的方法来检测用户的语言?

【问题讨论】:

  • 回退到en,在else 块中。
  • 您可以获取用户的IP地址并使用它来解析用户所在的国家/地区。
  • @Phiter 除非他们躲在洋葱里 :)
  • @LawrenceCherone 感谢您的评论,无论如何,我的翻译功能默认恢复为英语
  • @RiggsFolly 是的,如果我无法追踪 IP 地址,我会退回到古英语。

标签: php localization http-accept-language


【解决方案1】:

按照建议,如果我无法确定语言,我最终会在 else 语句中使用英语

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-14
    • 1970-01-01
    • 2012-11-15
    • 2016-01-27
    • 1970-01-01
    • 2010-11-08
    • 2013-05-01
    • 1970-01-01
    相关资源
    最近更新 更多