谷歌翻译获得当前语言

时间:2012-11-20 19:44:28

标签: javascript google-translate

找到任何可以帮助我在线的零...

我正在使用多语言网站的当前功能:

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

但是我不知道如何在用户更改后获取当前语言。 我不确定这是否可行。基本上我想更新到西班牙图像,如果 西班牙语被选为英语。任何帮助将不胜感激!

6 个答案:

答案 0 :(得分:3)

你不会相信它:

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

我只需要挖掘在Firebug中找到容器并从第一个中获取值 跨度元素。希望这有助于某人。

答案 1 :(得分:2)

调用google.translate.TranslateElement().c会提供当前语言的代码。例如,“fr”代表法语,“en”代表英语,“de”代表德语。

检查google.translate全局对象通常是提供信息的。这有点困难b / c谷歌显然编译了代码,像TranslateElement.c这样的东西没有人类可读的名字,但只需稍加努力就可以理解一些参数。

答案 2 :(得分:2)

调用google.translate.TranslateElement().a.sd会给出当前语言的标识符。

  

实施例:   " fr" 代表法语," en" 代表英语," de" 对于德语,"它" 用于意大利语


调用google.translate.TranslateElement().a是其他当前参数的对象,例如Google Analytics跟踪代码。

在控制台中查看它,看看有什么。 How do I access the console?

检查google.translate全局对象通常是提供信息的。这有点困难,因为谷歌不断更新代码,更改参数分配,并且显然编译代码的方式使google.translate.TranslateElement()之类的东西没有人类可读的名字;尽管如此,你可以理解一些参数。

答案 3 :(得分:2)

当前选定的语言存储在名为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.

答案 4 :(得分:0)

您可以从网址获取语言。

    function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
        vars[key] = value;
    });
    return vars;
}

然后

var selected_lang = getUrlVars()['lang'];

答案 5 :(得分:0)

我在我的joomla网站上使用谷歌翻译模块。我的要求是我们顶部有一个语言按钮。默认网站将使用英文。因此,显示在顶部的按钮将是西班牙语。当用户点击按钮时,页面将转换为西班牙语,按钮将更改为英语,反之亦然。只要不刷新页面,这就可以正常工作。 现在说翻译的页面是西班牙语,顶部的按钮是英语。现在,当您刷新页面时,按钮会变回西班牙语(javascript隐藏显示功能,默认为西班牙语)。当我启用跟踪当前语言时,顶部的语言按钮不符合所选语言。经过多次挖掘,我发现这个脚本帮助我解决了我的问题。我希望它也可以帮助其他人。

<script>
 //to get currently selected language
window.setInterval(function(){
     lang = $("select.goog-te-combo option:selected").text();
    alert(lang);
},5000);
 </script>