Wywoływanie tłumaczenia

0

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>
0

tylko zasadniczo po co? z punktu widzenia seo lepiej by było zrobić normalną podstronę lub z ajax podmienić tylko content, jeśli przewidujesz klienta zagranicznego który np. chciałby przekazać linka dla innej osoby

0

Nie przewiduję uruchamiania tego w ogólnodostępnym miejscu, ma być to na moje wewnętrzne potrzeby, więc "przyjazność" dla wyszukiwarki i pozycjonowanie mnie nie dotyczy.

Po co? Generalnie chodzi o aplikację, która w sposób automatyczny dokonuje tłumaczenia zadanego tekstu. Robiłem różne próby i teoretycznie kod przedstawiony w pierwszym poście ma szansę spełnić moje potrzeby. Ja to widzę tak, że aplikacja generuje stronę przedstawioną w pierwszym poście z zadanym tekstem, wczytuje do przeglądarki (osadzonej w aplikacji), dokonuje tłumaczenia, a potem pobiera przetłumaczony tekst (lub ewentualnie zdarzenie tłumaczenia powoduje wyzwolenie zdarzenia w mojej aplikacji). U siebie mam prawie wszystko, czyli również odbiór przetłumaczonego tekstu z Diva, ale oczywiście, z załączonego kodu usunąłem wszystko, co nie jest bezpośrednio związane z zapytaniem, żeby nie komplikować sprawy. To jest akurat ostatnia rzecz, której mi brakuje i już będę mieć 95% tego, co potrzebuję.

Przykłady z Internetu w C# lub w Javie wymagają Google Api Key, a w HTML/JS nie znalazłem (był jeden oparty na metodzie GET, ale jak przetestowałem, to był komunikat, że mam używać nowszej wersji).

W załączniku analiza przycisku "Pokaz oryginał". Jak widać, ani do samego przycisku, ani do jego z elementów nadrzędnych, nie jest przypisane zdarzenie JavaScript. W takim razie, skąd Firefox wie, co uruchomić po kliknięciu tego przycisku? Podobnie jest z listą języków. Skąd przeglądarka wie, jaką procedurę uruchomić po zmianie języka i jak to wyśledzić?

1 użytkowników online, w tym zalogowanych: 0, gości: 1