我的主要目的是向不同国家(语言)的人展示不同的页面。我认为它应该基于用户地区/国家,我想可以从 IP 地址中获取?
例如:*对于 EN 国家的人,他们会看到这个。www.example.com
*对于日本人,他们会派人到这里。www.example.com/jp
另外我看到有人说要实现这些目的,最好的方法是基于web-browser语言,可以从http header中获取。我不知道哪个更好,常见的方式是什么,为什么..?
感谢您的建议!
我正在使用 Flex 和 Java。
我的主要目的是向不同国家(语言)的人展示不同的页面。我认为它应该基于用户地区/国家,我想可以从 IP 地址中获取?
例如:*对于 EN 国家的人,他们会看到这个。www.example.com
*对于日本人,他们会派人到这里。www.example.com/jp
另外我看到有人说要实现这些目的,最好的方法是基于web-browser语言,可以从http header中获取。我不知道哪个更好,常见的方式是什么,为什么..?
感谢您的建议!
我正在使用 Flex 和 Java。
Zolo,您可以使用 maxmind 的 geoip 数据库之类的东西从 IP 地址轻松找到地区/国家/省,但它有一些缺点:
通常首选浏览器的 Accept: 标头,因为在美国讲西班牙语的人可以将他们的语言设置设置为获取“es”而不是“en”,即使他们的 IP 会获取“en”。
当我过去不得不这样做时,我最终在语言选择逻辑中得到了一个有序的偏好列表,每个级别都会覆盖后续级别(如果存在):
目标当然是根据最准确反映用户偏好的事物进行选择。
IP2Location提供了几种不同的方法来获取此信息(它们具有进行 IP 地址查找所需的数据)。这包括每年花费 49 美元的网络服务,或者您可以以相同的价格直接从他们那里购买数据。
找出 Web 应用程序用户选择的语言是...
请参阅这个相关的 SO Question或this one。
另一个有用的提示是使用关键字GeoLocation
,尽管查找位置和选择的语言是两个相关但截然不同的问题。
例如,如果地理位置表明日内瓦市中心,则法语可能是首选语言,但德语、英语和其他几种语言几乎同样可能。
我从前面提到的 SO 问题中获得了以下 URL:
免费 IP 地理定位服务
商业IP地理定位服务
对于语言识别(而不是位置),使用 HTTP 标头的“ accept-language ”值更方便且通常更准确,但这也可能会产生误导。尽管有人可能安装了日文版浏览器,但他/她可能更喜欢用英文阅读...
无论您为用户提供哪种语言,默认情况下,请务必让他们轻松切换到网站的另一个版本(如果可能,请记住当他们返回您的网站时的选择)