在页面加载时将网站翻译成任何特定语言

问题描述 投票:0回答:5

有人知道如何在网页加载时使用谷歌翻译将网页翻译成任何语言吗?

我不想要下拉菜单,我只想在加载时将网站转换为特定语言。我尝试了很多东西 http://code.google.com/p/jquery-translate/ 但一切都是徒劳的。任何好的建议将不胜感激。

javascript jquery dom-events google-translate google-translator-toolkit
5个回答
14
投票
<!--
  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


7
投票

来自谷歌翻译帮助

创建一个自动翻译您网站的链接 在不提示用户的情况下启用翻译器的页面,请使用 参数

#googtrans(en|TARGET_LANG_CODE)
.

例如链接 http://translate.google.com/support/#googtrans(en|fr) 自动 将页面 http://translate.google.com/support/ 翻译成法语。


5
投票

您可以通过给您网站 URL 从 https://translate.google.com 获取谷歌翻译代码。

像这样:

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

0
投票

它是目前正在使用的工作代码

<!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。那么谷歌翻译器将不会翻译该 div 内容。


0
投票

谷歌翻译的问题是它有一些时间滞后。我尝试了 10,100 和 1000 毫秒,但只有 1000 毫秒(意味着 1 秒)工作得很好。我希望这个能帮到你。

将 google_translate_element 设置为 display:none 以隐藏它。

<script type="text/javascript">
    function googleTranslateElementInit() {
      new google.translate.TranslateElement({
        pageLanguage: 'en',
        includedLanguages: 'en,es',
      }, 'google_translate_element');
      
      setTimeout(function() {
        // Set the default language to Spanish
        var selectElement = document.querySelector('#google_translate_element select');
        selectElement.value = 'es';
        selectElement.dispatchEvent(new Event('change'));
      }, 1000);
    }
  </script>

这将在页面加载时将页面翻译成西班牙语(“es”)。

© www.soinside.com 2019 - 2024. All rights reserved.