确定用户语言的最佳方法

时间:2013-09-09 22:12:27

标签: php location geoip

我想以哪种方式猜测用户的语言是什么,而不问他。以下是我发现的几个选项,但您可以随意添加您认为值得一提的其他选项。

  1. 通过PHP
  2. 使用$_SERVER['HTTP_ACCEPT_LANGUAGE']
  3. 使用任何Maps API(例如Google Maps或Bing Maps)来确定用户访问网站的国家/地区(如果他使用的是支持位置服务的现代浏览器),然后检测该国家/地区的官方语言。
  4. 让PHP执行一个简单的shell脚本(shell_exec()),向(http://geoip.s12.com.br或类似的)网站发送请求,以确定用户访问该网站的国家/地区,然后检测该国家/地区的内容官方语言。
  5. 我可能对此错了,因为我没有对此进行过大量研究:使用php的GeoIp函数来确定用户访问该网站的国家/地区,然后检测该国家/地区的官方语言。 (http://www.php.net/manual/en/book.geoip.php
  6. 我知道第一个几乎在任何情况下都会这样做,但是我想知道哪一个更准确(Facebook或谷歌用来设置你的语言的方式)。

2 个答案:

答案 0 :(得分:1)

我会选择$ _SERVER ['HTTP_ACCEPT_LANGUAGE']主要是因为它是用户可配置的。

地理定位的问题是,该语言确实不应该与位置搜索相关联。当然,它可以让你做出有根据的猜测,但我可以轻松地在中国度假,或者更喜欢我的互联网在“语言x”

无论您使用哪种方法进行有根据的猜测,我仍然可以选择使用他们的首选语言来覆盖您的猜测。

答案 1 :(得分:0)

有些国家/地区有多种语言,因此2,3和4根本不起作用,所以对我来说,最好的选择是使用HTT_ACCEPT_LANGUAGE。