On a site I tried adding the Google Translate dropdown using the following code:
function googleTranslateElementInit() {
new google.translate.TranslateElement({
pageLanguage: 'en'
}, 'google_translate_element');
}
<script src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
When you select from the dropdown that the google script inserts, a Google Translate bar appears at the top of the page, and all text is translated in to the selected language.
However if I try and trigger the dropdown change using JavaScript, it doesn't work:
$('.goog-te-combo').val('fr')
'French' is selected from the dropdown, however Google Translate is not triggered.
Why o why does it not work? I've also tried:
$('.goog-te-combo').trigger('click')
$('.goog-te-combo').change()
UPDATE: FYI this is not my site. I was using the Chrome console to load jQuery and execute the jQuery methods.
<div id="google_translate_element"></div>
prior to loading the script so Google can populate it with additional UI, you get aselect
that isn't part of aniframe
. Unfortunately, even calling the event triggers on these elements doesn't trigger the translation either (but the selected item does change). – patridge