谷歌翻译不是隐藏的

时间:2014-11-13 12:17:39

标签: javascript html google-translate

选择"自动"谷歌翻译小工具的版本,我希望不会看到"选择语言"如果我的浏览器与网站的语言相同,则下拉列表。但是,无论我将html lang属性设置为什么,或者我将浏览器首选语言设置为什么,我都会一直看到它。我也注意到,对于meta" google-translate-customization"而言,它似乎没有任何区别。标签是否存在,小部件始终在视图中。

如果用户浏览器未设置为英语,我希望该网站可以翻译。

任何建议都将受到赞赏。

使用的代码: -

在头上: -

<meta name="google-translate-customization" content="6bb255d109276506-b73cb06230e6b6c0-gbb2acb9bc95b4a11-12"></meta>

身体: -

   <div id="google_translate_element"></div>
            <script>
            function googleTranslateElementInit() {
              new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT}, 'google_translate_element');
            }
            </script>
            <script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

2 个答案:

答案 0 :(得分:3)

你可以尝试这个小的jquery脚本:

var userLang = navigator.language || navigator.userLanguage; 
if(userLang == "en"){
    $("#google_translate_element").css(["display", "none"]);
}

不确定 if 是否正确我使用荷兰语浏览器并将nl显示为userLang。我很确定英文版应该命名为en。否则,您必须提醒userlang并将其更改为。

alert(userLang);

继承人jsfiddle:http://jsfiddle.net/u950mwom/1/

答案 1 :(得分:0)

最后解决了这个问题(这是google中一个长期存在的错误)。下面的代码隐藏了英文页面上英语用户的语言选择下拉框。它还与en-US和更新的浏览器等区域设置相关联。

<div id="google_translate_element"></div>
<script type="text/javascript">
var userLang = navigator.language || navigator.userLanguage || navigator.languages; 
if (userLang.substr(0,2) != "en"){
  function googleTranslateElementInit() {
    new google.translate.TranslateElement({pageLanguage: 'en', layout: 
    google.translate.TranslateElement.FloatPosition.TOP_LEFT}, 'google_translate_element');
   }
 }
else { 
  document.getElementById("google_translate_element").style.display="none";
  }
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

cross-browser compatibility explained