如何自动更改Datepicker语言?

时间:2014-12-18 09:32:49

标签: javascript jquery

我正在制作一个多语种网站,所以当用户在语言选择器中选择俄语法语时,日历应该更改..但它不适用于我...我是Javascript中的新手..需要帮助..这是我的代码逻辑:

  $(document).ready(function () {
            var pathname = $(location).attr('pathname');

        if (pathname.substring(1, 3) == "ru") {
            $.datepicker.regional['ru'] = {
                closeText: 'Закрыть',
                prevText: '<Пред',
                nextText: 'След>',
                currentText: 'Сегодня',
                monthNames: [
                    'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
                    'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
                ],
                monthNamesShort: [
                    'Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь',
                    'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь'
                ],
                dayNames: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'],
                dayNamesShort: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'сбт'],
                dayNamesMin: ['Вс', 'Пн', 'Вт', 'Ср', 'Чт', 'Пт', 'Сб'],
                weekHeader: 'Нед',
                dateFormat: 'dd.mm.yy',
                firstDay: 1,
                isRTL: false,
                showMonthAfterYear: false,
                yearSuffix: '',
                changeYear: true,
                changeMonth: true
            };
            $.datepicker.setDefaults($.datepicker.regional['ru']);
            $("#datepicker").datepicker($.datepicker.regional["ru"]);
            return datepicker.regional['ru'];

        } else if (pathname.substring(1, 3) == "fr") {

            datepicker.regional['fr'] = {
                closeText: 'Fermer',
                prevText: 'Précédent',
                nextText: 'Suivant',
                currentText: 'Aujourd\'hui',
                monthNames: ['janvier', 'février', 'mars', 'avril', 'mai', 'juin',
                    'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre'],
                monthNamesShort: ['janv.', 'févr.', 'mars', 'avr.', 'mai', 'juin',
                    'juil.', 'août', 'sept.', 'oct.', 'nov.', 'déc.'],
                dayNames: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
                dayNamesShort: ['dim.', 'lun.', 'mar.', 'mer.', 'jeu.', 'ven.', 'sam.'],
                dayNamesMin: ['D', 'L', 'M', 'M', 'J', 'V', 'S'],
                weekHeader: 'Sem.',
                dateFormat: 'dd/mm/yy',
                firstDay: 1,
                isRTL: false,
                showMonthAfterYear: false,
                yearSuffix: ''
            };
            datepicker.setDefaults(datepicker.regional['fr']);
            $("#datepicker").datepicker($.datepicker.regional["fr"]);
            return datepicker.regional['fr'];
        }
    });

1 个答案:

答案 0 :(得分:0)

fr 模式下,您只需忘记init $ .datepicker而不是datepicker。但是为此更好地使用jquery的本地化。

$(document).ready(function () {
     if (pathname.substring(1, 3) == "ru") {
         ...

     } else if (pathname.substring(1, 3) == "fr") {

         $.datepicker.regional['fr'] = {
             ...
         };
         $.datepicker.setDefaults($.datepicker.regional['fr']);
         $("#datepicker").datepicker($.datepicker.regional["fr"]);

         return $.datepicker.regional['fr'];
     }
 });

fiddle