找到任何可以帮助我在线的零...
我正在使用多语言网站的当前功能:
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'en', includedLanguages: 'en,es', layout: google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element');
}
但是我不知道如何在用户更改后获取当前语言。 我不确定这是否可行。基本上我想更新到西班牙图像,如果 西班牙语被选为英语。任何帮助将不胜感激!
答案 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>