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