2016-01-13 2 views
1

Я использую Gtranslate plugin для перевода на моем сайте Wordpress. Плагин сгенерировал скрипт, который я прикреплял в header.php. Когда я попытался перезагрузить страницу по умолчанию, она отображается на английском языке (без перевода). Когда я нажал Finnish наверху, он переключился на финский. Я хочу, чтобы мой сайт был только на финском языке, поэтому кто-то помогает мне в преобразовании события onclick на событие pageload.Преобразование Onclick Событие на страницу Загрузка события

<!-- GTranslate: http://gtranslate.net/ --> 
<div class="switcher notranslate"> 
    <div class="selected"> 
    <a href="#" onclick="return false;"> 
     <span class="gflag" style="background-position:-100px -100px;"> 
     <img src="/gtranslate/blank.png" height="16" width="16" alt="fi" /> 
     </span>Finnish 
    </a> 
    </div> 
    <div class="option"> 
    <a href="#" onclick="doGTranslate('fi|fi');jQuery(this).parent().parent().find('div.selected a').html(jQuery(this).html());return false;" title="Finnish" class="nturl selected"> 
     <span class="gflag" style="background-position:-100px -100px;"> 
     <img src="/gtranslate/blank.png" height="16" width="16" alt="fi" /> 
     </span>Finnish 
    </a> 
    </div> 
</div> 
<script type="text/javascript"> 
    jQuery('.switcher .selected').click(function() { 
    if (!(jQuery('.switcher .option').is(':visible'))) { 
     jQuery('.switcher .option') 
     .stop(true, true) 
     .delay(50) 
     .slideDown(800); 
    } 
    }); 
    jQuery('body').not('.switcher .selected').mousedown(function() { 
    if (jQuery('.switcher .option').is(':visible')) { 
     jQuery('.switcher .option') 
     .stop(true, true) 
     .delay(300) 
     .slideUp(800); 
    } 
    }); 
</script> 
<div id="google_translate_element2"></div> 
<script type="text/javascript"> 
    function googleTranslateElementInit2() { 
    new google.translate.TranslateElement({ 
     pageLanguage: 'fi', 
     autoDisplay: false 
    }, 'google_translate_element2'); 
    } 
</script> 
<script type="text/javascript" src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit2"></script> 


<script type="text/javascript"> 
    /* <![CDATA[ */ 
    function GTranslateFireEvent(element, event) { 
    try { 
     if (document.createEventObject) { 
     var evt = document.createEventObject(); 
     element.fireEvent('on' + event, evt) 
     } else { 
     var evt = document.createEvent('HTMLEvents'); 
     evt.initEvent(event, true, true); 
     element.dispatchEvent(evt) 
     } 
    } catch (e) {} 
    } 

    function doGTranslate(lang_pair) { 
    if (lang_pair.value) lang_pair = lang_pair.value; 
    if (lang_pair == '') return; 
    var lang = lang_pair.split('|')[1]; 
    var teCombo; 
    var sel = document.getElementsByTagName('select'); 
    for (var i = 0; i < sel.length; i++) 
     if (sel[i].className == 'goog-te-combo') teCombo = sel[i]; 
    if (document.getElementById('google_translate_element2') == null || 
     document.getElementById('google_translate_element2').innerHTML.length == 0 || 
     teCombo.length == 0 || 
     teCombo.innerHTML.length == 0) { 
     setTimeout(function() { 
     doGTranslate(lang_pair) 
     }, 500) 
    } else { 
     teCombo.value = lang; 
     GTranslateFireEvent(teCombo, 'change'); 
     GTranslateFireEvent(teCombo, 'change') 
    } 
    } 

    function GTranslateGetCurrentLang() { 
    var keyValue = document.cookie.match('(^|;) ?googtrans=([^;]*)(;|$)'); 
    return keyValue ? keyValue[2].split('/')[2] : null; 
    } 
    if (GTranslateGetCurrentLang() != null) jQuery(document).ready(function() { 
    jQuery('div.switcher div.selected a').html(jQuery('div.switcher div.option').find('span.gflag img[alt="' + GTranslateGetCurrentLang() + '"]').parent().parent().html()); 
    }); 
    /* ]]> */ 
</script> 

ответ

0

За мое понимание, следующий код переводит страницу Finnish:

doGTranslate('fi|fi'); 
jQuery(this) 
    .parent() 
    .parent() 
    .find('div.selected a') 
    .html(jQuery(this).html()); 
return false; 

Вы просто должны назвать этот код на $(document).ready(function(){...})

0

использовать этот скрипт:

<script> 
    $(document).ready(function(){ 
     doGTranslate('fi|fi');jQuery(this).parent().parent().find('div.selected a').html(jQuery(this).html());return false; 
    } 
</script> 

jusy добавьте его в свой заголовок (я думаю, что он работает, если вы наберете его после все сценарии в заголовке.)

0

Вместо вызова doGTranslate() загрузки страницы .. код сценария щелкнуть <a> метки на oage нагрузки ..

<a href="#" id="load_clicked" onclick="doGTranslate('fi|fi');jQuery(this).parent().parent().find('div.selected a').html(jQuery(this).html());return false;" title="Finnish" class="nturl selected"><span class="gflag" style="background-position:-100px -100px;"><img src="/gtranslate/blank.png" height="16" width="16" alt="fi" /></span>Finnish</a> 

    <script type="text/javascript"> 
    $(window).load(function() { 
     $('#load_clicked').click(); 
    }); 
    </script>