2017-01-05 4 views
0

私はgoogle translatorを使用して、私のウェブサイトを複数の言語に翻訳しています。しかし何らかの理由でselected languagefunctionをトリガーするようにしたいと思います。私はstack overflowでこれに基づいていくつかの質問をしましたが、それらは私を助けません、例えばthisthis選択した言語のフォームを取得するGoogle翻訳者

ここは私が翻訳に使用しているJavaScriptコードです。

function googleTranslateElementInit() { 
       new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'es,hi,th,vi,zh-CN', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); 
      } 

あなたの提案は私を大きく助けます。

答えて

0

現在選択されている言語は、googtransという名前のCookieに格納されています。

ここで(ここからクッキーのコードに基づいて:What is the shortest function for reading a cookie by name in JavaScript?):クッキーの値をつかむの簡単な例です

function readCookie(name) { 
    var c = document.cookie.split('; '), 
    cookies = {}, i, C; 

    for (i = c.length - 1; i >= 0; i--) { 
     C = c[i].split('='); 
     cookies[C[0]] = C[1]; 
    } 

    return cookies[name]; 
} 
console.log(readCookie('googtrans')); //eg. 'en/no' for Norwegian, '/en/hr' for Croatian, etc. 

を更新しました、私は変化に言語名を選択し取得する多くの機能をチェックしています私のために働いていないので、ここで私が試したことがあります。

あなたは

$(document).ready(function(){ 
    checkChange(); 
}); 
var currentLang = ""; 
function checkChange() 
{ 
    setTimeout(function(){ 
     readCookie('googtrans'); 
    },2000); 
} 

function readCookie(name) { 
    var c = document.cookie.split('; '), 
    cookies = {}, i, C; 

    for (i = c.length - 1; i >= 0; i--) { 
     C = c[i].split('='); 
     cookies[C[0]] = C[1]; 
    } 

    currentLang = cookies[name]; 
    console.log(currentLang); 
    checkChange(); 
} 

を機能を時間を設定し、最後に選択した言語の名前を毎回取得することができますが、これはあなたを助けることを願っています。

+0

これは動作しますが、言語を変更した直後は動作しません。ページのロード/リロード時に選択された言語が表示されます。私は選択された言語をすぐにドロップダウンでオンにしたい。 –

関連する問題