我正在尝试为我的网站添加一个小语言转换器。我希望用cookies保存语言。
如何修改此代码以实现此目标?
<script src="https://www.google.com/jsapi?key=ABQIAAAAMt9YZQaG_wbfmb2826e_wBTPUDO5TVHJS-HZdrhJpqnB5yZcfRQFObTd1-bPphEIY11228Z78VhA6A"></script>
<script src="http://davidwalsh.name/dw-content/mootools-1.3.js"></script>
<script>
// Set the original/default language
var lang = "en";
var currentClass = "currentLang";
// Load the language lib
google.load("language",1);
// When the DOM is ready....
window.addEvent("domready",function(){
// Retrieve the DIV to be translated.
var translateDiv = document.id("languageBlock");
// Define a function to switch from the currentlanguage to another
var callback = function(result) {
if(result.translation) {
translateDiv.set("html",result.translation);
}
};
// Add a click listener to update the DIV
$$("#languages a").addEvent("click",function(e) {
// Stop the event
if(e) e.stop();
// Get the "to" language
var toLang = this.get("rel");
// Set the translation into motion
google.language.translate(translateDiv.get("html"),lang,toLang,callback);
// Set the new language
lang = toLang;
// Add class to current
this.getSiblings().removeClass(currentClass);
this.addClass(currentClass);
});
});
</script>
<div id="languages"><p>
<a href="?lang=en" rel="en">English</a> / <a href="?lang=es" rel="es">Spanish</a>
</p></div>
<div id="languageBlock">
<p>Lights go out and I can't be saved <br />
Tides that I tried to swim against <br />
Brought me down upon my knees <br />
Oh I beg, I beg and plead </p>
<p>Singin', come out if things aren't said <br />
Shoot an apple off my head <br />
And a, trouble that can't be named <br />
Tigers waitin' to be tamed </p>
<p>Singing, yooooooooooooo ohhhhhh <br />
Yoooooooooooo ohhhhhh </p>
<p>Home, home, where I wanted to go <br />
Home, home, where I wanted to go <br />
Home, home, where I wanted to go <br />
Home, home, where I wanted to go</p>
</div>
答案 0 :(得分:0)
听起来你正在使用MooTools。考虑使用MooTools cookie functionality:
在您完成链接点击事件处理程序中的语言切换后,将其放置:
// Add class to current
this.getSiblings().removeClass(currentClass);
this.addClass(currentClass);
//now set the cookie
var myCookie = Cookie.write('userLang', toLang);
当您想要阅读cookie时,可能是在页面加载(或您喜欢的任何事件):
alert('This user has their language set to: ' + Cookie.read('userLang'));