javascript - 自动检测用户的首选语言和谷歌翻译

标签 javascript internationalization google-translate

我在我的站点中使用这个脚本进行翻译

<div id="google_translate_element" align="center"></div>  
<script type="text/javascript">
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({
        pageLanguage: 'auto',
        autoDisplay: false,
        layout: google.translate.TranslateElement.InlineLayout.SIMPLE
        }, 'google_translate_element');
    }
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

它工作得很好 :) 但是有没有办法在用户进入我的网站时检测用户 ip 并自动翻译?

最佳答案

虽然您可以使用基于 IP 的位置检测(请参阅 this answer ),但它既不可靠也不会让您更了解用户的首选语言(例如出国旅行的用户等)。

具有大量国际流量的网站使用各种参数来决定应以何种语言呈现内容。其中一些参数:

  • Accept-Language详细讨论的 HTTP header here .
  • window.navigator.languagewindow.navigator.userLanguage 属性的值(对于 IE)
  • 根据 CLDR 检查基于 IP 的位置检测数据,为您提供该地区的通用语言。

MediaWiki 扩展,UniversalLanguageSelector,使用这些因素以及存储的用户首选项为每个用户提供常用语言列表。参见 getFrequentLanguageList() .

W3C 也有一些 recommendations .

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

相关文章:

javascript - 获取列表格式中的值表单输入?

javascript - 使用 JavaScript 计算字符串中字符出现的频率

javascript - Ajax 调用成功后 JQuery 调用不工作

javascript - Javascript 中的 RTL 确认和警报

.net - 使用 mstest,我可以针对每种支持的语言运行我的单元测试套件吗?

javascript - 将 Revit 文件添加到 html

android - 限制对 Google API 的 Android key 的使用

translation - 支持 ngettext 样式复数形式的 GNU gettext PO 文件的 Google 翻译服务

java - Google Translation API 在 List 上的性能不佳。如何提高?

android - 我如何强制 Android 不使用已用库项目中的某些语言文件?