我正在使用google translator
将我的网站翻译成多种语言。但出于某种原因,我想让selected language
触发一些function
。我在stack overflow
中已经基于此问题了解了一些问题,但这些问题对我没有帮助,例如this和this。
这是我用来翻译的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 :(得分: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();
}
希望这会对你有所帮助。