【问题标题】:Display website in a user's native language based on the IP address根据 IP 地址以用户的母语显示网站
【发布时间】:2015-04-22 04:37:24
【问题描述】:

我希望以访问者的母语打开我的网站,这取决于用户登录的 IP 地址。

默认情况下,该页面以英语打开,但我希望我的法国客户以法语阅读该网站。我已经通过www.ipinfo.io获取信息,但我仍然有点困惑,想知道json格式。

【问题讨论】:

标签: json geolocation ip ip-geolocation


【解决方案1】:

您应该使用用户浏览器传递到您网站的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/找到国家代码与姓名、货币代码、拨号代码等内容的完整映射

【讨论】:

    【解决方案2】:

    我建议不要单独使用 IP 来确定显示语言。 使用 Accept-Language 标头更可靠。

    考虑以下相对常见的场景: 一个只会说英语的人前往俄罗斯并打开您的网站。然后俄文登陆页面以西里尔文显示。

    【讨论】:

      【解决方案3】:

      这并不能回答您的最后一个问题,但它是解决您问题的更好方法。

      不要使用 IP 地址来确定区域设置,而是使用基于浏览器的“Accept-Language”标头的本地化。在安装基于操作系统的本地化设置的浏览器时,通常会默认设置此标头。

      大多数现代 UI 框架(无论是网页、移动还是桌面)都有本地化/国际化库。

      【讨论】:

        猜你喜欢
        • 2018-09-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多