Having opted for the \"Automatic\" version of Google Translate Widget, I expected not to see the \"Select Language\" dropdown if my browser was the same language as the site
Finally a fix for this (which is a long-standing bug in google). The code below hides the language selection drop-down box for English users on an English page. It copdes with locales like en-US
also and newer browsers.
<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
You can try this small jquery script:
var userLang = navigator.language || navigator.userLanguage;
if(userLang == "en"){
$("#google_translate_element").css(["display", "none"]);
}
Not sure if the if is right I'm using a dutch browser and it showed nl as userLang. I'm pretty sure the english one should be named en. Otherwise you have to alert userlang and change it to that.
alert(userLang);
Heres the jsfiddle: http://jsfiddle.net/u950mwom/1/