Добавление файлов cookie в Language Changer - PullRequest
0 голосов
/ 27 августа 2011

Я пытаюсь добавить немного смены языка для моего сайта. Я хотел бы сохранить язык, используя куки.

Как этот код можно изменить для достижения этой цели?

<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>

1 Ответ

0 голосов
/ 27 августа 2011

Похоже, вы используете MooTools. Рассмотрите возможность использования функции MooTools cookie :

Поместите это, когда вы закончите переключение языка в обработчике событий щелчка по ссылке:

// 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'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...