2014-12-18 3 views
0

언어 선택기에서 러시아어 또는 프랑스어을 선택할 때 캘린더가 변경 될 예정이지만 다국어 웹 사이트를 만들고 있습니다. 그러나 그것은 나를 위해 작동하지 않습니다 .. 나는 아주 새로운 자바 스크립트입니다. 그리고 여기에 코드를 내 논리입니다 .. 도움이 필요합니다Datepicker 언어를 자동으로 변경하는 방법은 무엇입니까?

$(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']; 
     } 
    }); 
+0

내가 코드를 수정이 답변 http://stackoverflow.com/questions/1865091/jquery-datepicker-language – cakan

+0

한 번 봐 - 당신은 단지 $ .datepicker 대신를 잊어 버렸습니다 날짜 선택기. 이걸보세요 http://jsfiddle.net/tj6efxec/1/ –

답변

0

모드 FR 에서 당신은 날짜 선택기 대신 초기화 $의 .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

+0

이제 콘솔에서 알려줍니다. 유형 오류 : 정의되지 않은 '지역'속성을 읽을 수 없습니다 .. – programmer

+0

두 조건 모두에서 $ .datepicker.regional [...]을 반환합니다. http://jsfiddle.net/tj6efxec/4/의 코드를 참조하십시오. –

관련 문제