2017-01-05 6 views
0

Я использую google translator, чтобы перевести мой сайт на несколько языков. Но по какой-то причине я хочу получить selected language, чтобы вызвать несколько function. Я затронул некоторые вопросы, основанные на этом в stack overflow, но это мне не помогает, например this и this.получить выбранный язык form google translator

Вот мой код 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

Текущий выбранный язык хранится в файле cookie с именем googtrans.

Вот простой пример захвата значения из печенья (на основе печенья кода здесь: 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

Это работает, но не сразу после смены языка. Он отображает выбранный язык, когда страница загружается/перезагружается. Я хочу, чтобы выбранный язык сразу же изменил выпадающее меню. –

 Смежные вопросы

  • Нет связанных вопросов^_^