【问题标题】:Automatically translate web page自动翻译网页
【发布时间】:2013-05-14 11:15:55
【问题描述】:

如何在我输入网页时自动翻译网页。

这是我的翻译器,连接到我的下拉菜单。

<script type="text/javascript">
function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'da', includedLanguages: 'da,de,el,en,es,fi,fr,it,ja,ko,nl,no,pl,ru,sv,uk,zh-CN,zh-TW', layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT, gaTrack: true, gaId: 'UA-32978177-1'}, 'google_translate_element');
}
</script>
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit">
</script>

我希望它自动从丹麦语 (da) 翻译成英语 (en)。我已经阅读了有关此功能的信息:

http://www.blabla.com/#googtrans(da|en)

我应该在哪里实现它?

【问题讨论】:

    标签: javascript php internationalization


    【解决方案1】:

    您需要创建一个名为 google_translate_element 的 div,它在第一个脚本中提到,如下所示:

    <div id="google_translate_element">
    Here is the Area where Google fetches the part to be translated
    </div>
    
    <script type="text/javascript">
    function googleTranslateElementInit() {
      new google.translate.TranslateElement({pageLanguage: 'en', layout: google.translate.TranslateElement.FloatPosition.BOTTOM_RIGHT, multilanguagePage: true}, 'google_translate_element');
    }
    </script>
    

    第二个脚本生成了一个不错的小语言选择:

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

    如果您希望隐藏生成的 Google 翻译栏(第一个脚本):

    <style>
    .goog-te-banner-frame.skiptranslate {
        display: none !important;
    } body { top: 0px !important; }
    .goog-tooltip {
        display: none !important;
    }
    .goog-tooltip:hover {
        display: none !important;
    }
    .goog-text-highlight {
        background-color: transparent !important;
        border: none !important; 
        box-shadow: none !important;
    }
    </style>
    

    【讨论】:

      【解决方案2】:

      这两个脚本都可以放在&lt;head&gt; 部分,如果放在&lt;body&gt; 标记中它们会起作用,但是除非你把它们放在最后,否则这看起来很不整齐......这不是一个好主意,因为翻译选项应该是可用整个页面在浏览器中呈现。

      您需要在标签中您希望语言下拉框出现的位置添加一行,例如:从现有 &lt;head&gt; 标签的末尾,这是 Claudio Kemp 的 &lt;div&gt; 标签指出您的代码中缺少 -

      <script type="text/javascript">
      function googleTranslateElementInit() {
      new google.translate.TranslateElement({pageLanguage: 'da', includedLanguages: 'da,de,el,en,es,fi,fr,it,ja,ko,nl,no,pl,ru,sv,uk,zh-CN,zh-TW', 
      layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT, gaTrack: true, gaId: 'UA-32978177-1'}, 'google_translate_element');
       }
      </script>
      <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit">
      </script>
      </head>
      <body>
      <div id="google_translate_element"></div>
      </div>
      <h1>My heading</h1>
      

      上面的&lt;div&gt; 代码由 [google 的网站管理员翻译工具] (https://translate.google.com/manager/website/) 提供,有 3 种不同的显示选项仅影响 &lt;div&gt; 代码:选项卡式、内联式和自动式(似乎不起作用) - 每个都有垂直、水平和下拉显示选项。您的代码使用选项卡式选项。

      您可能希望更改包含的代码以翻译成任何语言,而不仅仅是列出的语言,并在页面顶部而不是底部显示语言选项,以便用户更快地看到它们。

      <div id="google_translate_element"></div>
      <script type="text/javascript">function googleTranslateElementInit() {
      new google.translate.TranslateElement({pageLanguage: 'da', layout: google.translate.TranslateElement.FloatPosition.TOP_RIGHT, autoDisplay: false}, 'google_translate_element');
      }
      

      【讨论】:

        【解决方案3】:
        <div id="google_translate_element"></div>
        <script type="text/javascript">
        function googleTranslateElementInit() {
          new google.translate.TranslateElement({pageLanguage: 'ur', layout: google.translate.TranslateElement.FloatPosition.BOTTOM_RIGHT, multilanguagePage: true}, 'google_translate_element');
        }
        </script>
        <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
        

        【讨论】:

          【解决方案4】:
          <div id="google_translate_element"></div>
          <script type="text/javascript">
          function googleTranslateElementInit() {
            new google.translate.TranslateElement({pageLanguage: 'it'}, 'google_translate_element');
          }
          </script>
          <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
          

          【讨论】:

            【解决方案5】:
            <meta name="google-translate-customization" content="50cedd4c399ba41-3cc63c25c261b71e-g03cc961129fb2947-10"></meta>
            
            <div id="google_translate_element"></div>
            
            <script type="text/javascript">
              function googleTranslateElementInit() {
                new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en', layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT, multilanguagePage: true}, 'google_translate_element');
              }
            </script>
            
            <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>
            

            【讨论】:

            • 此代码在顶部有一个唯一的内容 ID,不再需要它,我认为可能特定于使用它的网站
            【解决方案6】:
            <div id="google_translate_element"></div>
            <script type="text/javascript">
              function googleTranslateElementInit() {
                new google.translate.TranslateElement({
                  pageLanguage: 'en',
                  layout: google.translate.TranslateElement.FloatPosition.TOP_LEFT},
                  'google_translate_element'
                );
              }
            </script>
            <script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>            
            

            【讨论】:

              猜你喜欢
              • 2014-02-04
              • 1970-01-01
              • 2018-04-08
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-01-31
              相关资源
              最近更新 更多