我希望我的网站以访问者的母语打开,这取决于用户登录的IP地址。
默认情况下,页面以英语打开,但我希望我的法国客户阅读法语网站。我已经浏览了www.ipinfo.io以获取信息,但我仍然有点困惑,我想知道json格式。
您应该使用用户浏览器传递到您的网站的accept-language
标头来确定语言,而不是用户的当前国家/地区。
如果您确实希望根据国家/地区自定义网站内容http://ipinfo.io你使用的代码看起来像这样:
$.get("http://ipinfo.io", function(response) {
if(response.country == 'US') {
// User is in the USA
} else {
// User is elsewhere
}
}, "jsonp");
您可以在上找到国家代码与姓名、货币代码、拨号代码等的完整映射http://country.io/data/
我建议不要单独使用IP来确定显示语言。使用Accept-Language标头要可靠得多。
考虑以下相对常见的场景:一个唯一会说英语的人前往俄罗斯并打开你的网站。然后,俄语登录页以西里尔字母显示。
这并不能回答您的最后一个问题,但它是解决问题的更好方案。
与其使用IP地址来确定区域设置,不如使用基于浏览器"Accept Language"标头的本地化。当根据操作系统的本地化设置安装浏览器时,通常会默认设置此标头。
大多数现代UI框架(无论是web、移动还是桌面)都有本地化/国际化库。