获取选定的语言格式谷歌翻译

时间:2017-01-05 05:20:50

标签: javascript google-translate

我正在使用google translator将我的网站翻译成多种语言。但出于某种原因,我想让selected language触发一些function。我在stack overflow中已经基于此问题了解了一些问题,但这些问题对我没有帮助,例如thisthis

这是我用来翻译的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');
            }

你的建议会对我有所帮助。

1 个答案:

答案 0 :(得分:0)

当前选定的语言存储在名为googtrans的Cookie中。

这是一个从cookie中获取值的简单示例(基于此处的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();
}

希望这会对你有所帮助。