javascript - 自动检测用户 IP 地址的语言并选择谷歌翻译

标签 javascript html

我在我的网站上使用谷歌网站翻译器,它允许用户从下拉列表中选择一个国家/地区。谷歌负责网页翻译。代码如下:

    <div id="google_translate_element"></div>

<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>

<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

但是,我想要一种方法让网站检测用户的IP并根据结果自动翻译。

例如,一位只懂法语的用户访问一个显示“Click ME to Translate to French”的网页。不幸的是,法国人无法知道文本内容。所以我非常感谢这里的帮助。

最佳答案

您想要的是地理定位。虽然您可以通过 IP 地址来完成此操作,但 HTML5 提供了 far simpler way :

if (navigator.geolocation) {
  navigator.geolocation.getCurrentPosition(function(position) {
    $.getJSON('http://ws.geonames.org/countryCode', {
      lat: position.coords.latitude,
      lng: position.coords.longitude,
      type: 'JSON'
    }, function(result) {
      alert(result.countryName);
    });
  });
}

然后您可以按照您的建议根据国家/地区名称进行翻译。另请查看评论中链接的一些帖子。

关于javascript - 自动检测用户 IP 地址的语言并选择谷歌翻译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53952999/

相关文章:

javascript - JSON.parse 结果为正确的对象数组

javascript - 使用这个 .charAt() 的任何替代方法?

javascript - Underscore JS 使用新对象的非空值扩展对象

c# - 找到包含特定子元素的父元素

html - Div 不会扩展到 100% 宽度(在另一个 div 中彼此重叠)

html - 为什么通过社交分享框会有一条线?

javascript - 如何使用引导日期选择器自动格式化日期

javascript - 进度条无法正常工作

html - 在多行文本周围绘制方括号

jquery - 单击选项卡时的 Div 动画