-1
このポスト Implementing Google Translate with custom flag iconsカスタマイズGoogleのページ
でほぼすべてのスクリプトを試してみましたが、しかし、それらのどれもが私のために働いていなかった翻訳します。 これは言語の切り替えには使用できますが、Google翻訳をデフォルトに戻す際には失敗します。 "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>