自动翻译网页

时间:2013-05-14 11:15:56

标签: javascript php internationalization

当我输入网页时,如何自动翻译我的网页。

这是我的翻译,与我的下拉列表相关联。

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

我应该在哪里实施它?

6 个答案:

答案 0 :(得分:2)

您需要创建一个名为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>

答案 1 :(得分:0)

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

您需要在希望语言下拉框显示的位置为标记添加一行,例如:从现有<head>标记的末尾开始,这是<div> Claudio Kemp指出的标签在你的代码中缺失 -

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

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

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

<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');
}

答案 2 :(得分:-1)

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

答案 3 :(得分:-1)

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

答案 4 :(得分:-2)

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

答案 5 :(得分:-2)

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