【问题标题】:get selected language form google translator从谷歌翻译器中获取选定的语言
【发布时间】:2017-01-05 05:20:49
【问题描述】:

我正在使用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');
            }

你的建议对我很有帮助。

【问题讨论】:

    标签: javascript google-translate


    【解决方案1】:

    当前选择的语言存储在名为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();
    }
    

    希望这会对你有所帮助。

    【讨论】:

    • 这确实有效,但在更改语言后不会立即生效。它在页面加载/重新加载时显示所选语言。我希望在更改下拉菜单时立即选择所选语言。
    猜你喜欢
    • 1970-01-01
    • 2012-11-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-29
    • 1970-01-01
    相关资源
    最近更新 更多