我选择了Google Translate Widget的“自动”版本,如果我的浏览器与网站的语言相同,我希望看不到"Select Language“下拉列表。但是,无论我将html lang属性设置为什么,或者将浏览器首选语言设置为什么,我都会看到它。我还注意到,元"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>发布于 2014-11-13 20:27:25
你可以试试这个小的jquery脚本:
var userLang = navigator.language || navigator.userLanguage;
if(userLang == "en"){
$("#google_translate_element").css(["display", "none"]);
}如果正确,我不确定是否正确,我使用的是荷兰浏览器,它显示nl为userLang。我很确定英文的应该叫en。否则,您必须警告userlang并将其更改为该值。
alert(userLang);这是jsfiddle:http://jsfiddle.net/u950mwom/1/
发布于 2015-08-15 10:25:24
最后解决了这个问题(这是谷歌的一个长期缺陷)。下面的代码为英语页面上的英语用户隐藏了语言选择下拉框。它还可以应对像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>https://stackoverflow.com/questions/26908721
复制相似问题