【问题标题】:Customize Google Page Translate自定义谷歌页面翻译
【发布时间】:2018-05-06 15:54:46
【问题描述】:

已经尝试了这篇文章中几乎所有的脚本 Implementing Google Translate with custom flag icons

但没有一个对我有用。 这个适用于在语言之间切换,但无法将谷歌翻译重置为默认值。单击“EN”,然后返回“DE”。再次单击“EN”不会翻译页面。

我错过了什么?

var _gto;

    // will be called after Google Translate SDK has been loaded successfully
    function googleTranslateElementInit() {
        _gto = new google.translate.TranslateElement({
            defaultLanguage: 'de',
            pageLanguage: 'de',
            includedLanguages: 'de,en',
            layout: google.translate.TranslateElement.InlineLayout.SIMPLE,
            autoDisplay: false
        }, 'google_translate_element');
    }

    $('.lang-item').on('click', function (e) {
        e.preventDefault();

        var $menuframe = $('.goog-te-menu-frame:first'),
            // Google iframe that will be invoked, after user has selected an language
            $bannerframe,
            // button reference to reset language to default
            $bannerframerestore,
            langcode = $(this).data('lang');

        // therefore it is neccassary to catch the element delayed
        setTimeout(function () {
            $bannerframe = $('.goog-te-banner-frame');
            $bannerframerestore = $bannerframe.contents().find('.goog-close-link');

            // restore to default
            if ($(e.currentTarget).hasClass('default')) {
                $bannerframerestore[0].click();
            }
        }, 500);

        $menuframe.contents().find('a span.text:contains("' + _gto.K[langcode] + '")').click();
    });
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="google_translate_element"></div>
<ul class="lang-list">
    <li><a href="#" class="lang-item default" data-lang="de">DE</a></li>
    <li><a href="#" class="lang-item" data-lang="en">EN</a></li>
</ul>

<h1>Verkauf</h1>
<h2>SALE</h2>

<script src="https://translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"></script>

【问题讨论】:

    标签: javascript jquery google-translate


    【解决方案1】:

    这样解决了:

    必须删除“includedLanguages”中的“defaultLanguage: 'de'”和“de”。 现在它可以正常工作了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-04
      • 2021-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多