Próbuję zrobić skrypt w Javascript, który umożliwia zmianę języka i pobranie przetłumaczonego tekstu. Próbuję bez klucza Google, zakładam, że to da się zrobić.
Już prawie wszystko mam, ale nie udało mi się zrobić rzeczy najważniejszej, czyli zmiany języka. Jak ręcznie zmieniam język, to wszystko działa poprawnie. Natomiast, jak JS zmienia język na liście, to nic się nie dzieje, tak, jakby nie było uruchamiane zdarzenie, ale język na liście się zmienia. Co dziwne, do listy języków od Google nie jest bezpośrednio przypięte żadne zdarzenie (patrzyłam na "Zbadaj element" w Firefox). Jaki kod się uruchamia przy ręcznej zmianie języka i z czego wynika fakt jego uruchomienia i jak spowodować, żeby jakiś kod JS (np. procedura przycisku) zmieniła język?
Przykład okrojony do minimum, żeby przedstawić problem. Jest jakiś tekst, są 3 przyciski. Przyciski mają zmienić język strony. Obecnie na liście zmieniają język, ale nie wywołują przetłumaczenia.
<!DOCTYPE html>
<html>
<body>
<div id="google_translate_element"></div>
<script type="text/javascript">
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="http://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<span id="TransText">You can translate the <b>content</b> of <a href="www.wp.pl">this</a> page by selecting a language in the select box.</span>
<script type="text/javascript">
function Func(N)
{
var LangList = document.getElementById("google_translate_element");;
LangList = LangList.getElementsByTagName("select")[0];
LangList.selectedIndex = N;
LangList.options[N].selected = true;
LangList.options[N].selected = false;
LangList.options[N].selected = true;
}
</script>
<input type="button" onClick="Func(50)" value="Lang1" />
<input type="button" onClick="Func(60)" value="Lang2" />
<input type="button" onClick="Func(70)" value="Lang3" />
</body>
</html>