检测用户的首选语言和Google自动翻译

Pet*_*nov 9 javascript google-translate internationalization

我在我的网站上使用此脚本进行翻译

<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>
Run Code Online (Sandbox Code Playgroud)

它工作得很好:)但有没有办法检测用户IP和自动翻译当用户进入我的网站?

She*_*vin 4

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

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

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

MediaWiki 扩展UniversalLanguageSelector使用这些因素以及存储的用户偏好来为每个用户提供通用语言列表。看getFrequentLanguageList()

W3C 也有一些建议