7

オンラインで私を助けるものを何も見つけなかった後....

多言語サイトに現在の関数を使用しています:

function googleTranslateElementInit() {
  new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en,es',     layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}

ただし、ユーザーが変更した現在の言語を取得する方法がわかりません。これが可能かどうかはわかりません。基本的に、英語よりもスペイン語を選択した場合は、スペイン語の画像に更新したいと考えています。どんな助けでも大歓迎です!

4

6 に答える 6

4

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

Cookie から値を取得する簡単な例を次に示します (ここからの Cookie コードに基づく: JavaScript で名前で Cookie を読み取るための最短関数は何ですか? ):

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.
于 2014-12-15T16:11:38.690 に答える
4

あなたはそれを信じるつもりはありません:

window.setInterval(function(){
     var lang = $(".goog-te-menu-value span:first").text();
     alert(lang);
},5000);

Firebug でコンテナを探して、最初のスパン要素から値を取得する必要がありました。これが誰かに役立つことを願っています。

于 2012-11-20T20:08:27.320 に答える
2

を呼び出すgoogle.translate.TranslateElement().cと、現在の言語のコードが得られます。たとえば、フランス語は「fr」、英語は「en」、ドイツ語は「de」です。

google.translate一般に、グローバル オブジェクトを検査すると、有益な情報が得られます。少し難しいb/c Googleが明らかにコードをコンパイルして、TranslateElement.c人間が読める名前を持たないようにしましたが、少し努力すれば、いくつかのパラメーターを理解できます。

于 2013-09-22T20:43:53.540 に答える
2

呼び出すgoogle.translate.TranslateElement().a.sdと、現在の言語の識別子が得られます。

例: フランス語は「fr」、英語は「en」、ドイツ語は「de」、イタリア語は「it」


呼び出しgoogle.translate.TranslateElement().aは、Google アナリティクス トラッキング コードなど、他の現在のパラメーターのオブジェクトです。

コンソールで確認して、そこにあるものを確認してください。コンソールにアクセスするにはどうすればよいですか?

google.translate一般に、グローバル オブジェクトを検査すると、有益な情報が得られます。google.translate.TranslateElement()Google は常にコードを更新し、パラメーターの割り当てを変更しており、明らかに人間が読める名前を持たないようにコードをコンパイルしているため、少し難しいです。ただし、少し努力すれば、いくつかのパラメーターを理解することができます。

于 2014-11-07T14:17:18.083 に答える
0

I am using google translate module in my joomla site. My requirement was that we have one language button at the top. Default the site will be in English. So the button to display on top will be Spanish. When user clicks on the button the page translates to Spanish and the button changes to English and vice versa. This works fine as long you don't refresh the page. Now say the translated page is in Spanish and the button at the top is English. Now when you refresh the page the button changes back to Spanish (javascript hide show function, default is Spanish). As I was enable to trace the current language, the language button at the top were not according to the language selected. After to much digging I found this script which helped me resolve my problem. I hope it helps someone else too.

<script>
 //to get currently selected language
window.setInterval(function(){
     lang = $("select.goog-te-combo option:selected").text();
    alert(lang);
},5000);
 </script>
于 2013-03-22T06:40:46.423 に答える