Перевести сайт на любой конкретный язык, при загрузке страницы

У кого-нибудь есть идеи, как перевести веб-страницу на любой язык с помощью Google translate при ее загрузке?

Я не хочу выпадающее меню, я просто хочу конвертировать сайт на определенный язык, когда он загружается. Я пробовал много вещей из http://code.google.com/p/jquery-translate/ но все тщетно. Любые хорошие предложения будут оценены.

5 ответов

<!--
  This code will translate page contents automatically (without user input)
  Settings located at line 9, current script will translate english to estonian
-->
<style>#google_translate_element,.skiptranslate{display:none;}body{top:0!important;}</style>
<div id="google_translate_element"></div>
<script>
    function googleTranslateElementInit() {
        new google.translate.TranslateElement({
            pageLanguage: 'en', 
            includedLanguages: 'et', 
            autoDisplay: false
        }, 'google_translate_element');
        var a = document.querySelector("#google_translate_element select");
        a.selectedIndex=1;
        a.dispatchEvent(new Event('change'));
    }
</script>
<script src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

Из этой сущности: https://gist.github.com/artturik/15bed885bcec6faa95eb73acb2e2ae54

Из справки Google Translate:

Чтобы создать ссылку, которая автоматически переводит страницу с поддержкой переводчика веб-сайта без запроса пользователей, используйте параметр #googtrans(en|TARGET_LANG_CODE),

Например, ссылка http://translate.google.com/support/ автоматически переводит страницу http://translate.google.com/support/ на французский язык.

Вы можете получить код переводчика Google с https://translate.google.com/, указав URL веб-сайта.

КАК ЭТО:

<div id="google_translate_element"></div><script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'ar', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script><script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

Проблема с Google Translate в том, что он работает с некоторой задержкой. Я пробовал это с 10100 и 1000 мс, но только 1000 мс (означает 1 секунду) работали идеально. Я надеюсь, что этот сделает работу за вас.

Оформите google_translate_element как display:none, чтобы скрыть его.

Это переведет страницу на испанский («es») при загрузке страницы.

Это рабочий код, в настоящее время он используется

<!DOCTYPE html>
<html lang="en-US">
<head>
<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
</script>

<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
<script type="text/javascript" src="//translate.google.com/#en/hi/Hello"></script>
</head>

<style>
body > .skiptranslate {
    //display: none;
}

.goog-te-banner-frame.skiptranslate {
    display: none !important;
    } 
body {
    top: 0px !important; 
    }

@media print {
  #google_translate_element {display: none;}
}
</style>

<body>
<div id="google_translate_element"></div>

<p>This example displays a simple translate button, with no text.</p>
<p>This example displays a simple translate button, with no text.</p>

<div class="notranslate">
<p >This is a paragraph.</p>
<p >
A particle is kept at rest at the top of a sphere of diameter \(42 m\). When disturbed slightly,
it slides down. At what height \( h \) from the bottom, the particle will leave the sphere <br\>
(a) \( 14m \)
(b) \( 16m \)
(c) \( 35m \)
(d) \( 70m \)

</p>
</div>

</body>
</html>

Он переведет вам содержимое веб-страницы. если вы не хотите переводить какой-либо конкретный контент div, просто используйте класс notranslate. тогда переводчик Google не будет переводить это содержимое div.