Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: jQuery Timepicker - problem z "locale"
Forum PHP.pl > Forum > Po stronie przeglądarki
swiezak
Używam datepickera w połączeniu z timepickerem w wersji 1.6.1: http://trentrichardson.com/examples/timepicker/

Wszystko działa, oprócz tłumaczenia interfejsu w języku polskim.

Dołączam stosowne pliki js do nagłówka:
jquery-ui.min.js
jquery-ui-timepicker-addon.js
jquery-ui-timepicker-addon-i18n.min.js

W tym ostatnim są tłumaczenia, w tym polskie.

Skrypt wywołuję w ten sposób:
  1. $('.datetimepicker').datetimepicker({
  2. timeFormat: 'HH:mm:ss',
  3. dateFormat: 'dd-mm-yy'
  4. });


Próbuję wywołać metodę, która jest odpowiedzialna za aktywację tłumaczenia, ale nie działa - konsola w FF pokazuje błąd: TypeError: $.datetimepicker is undefined.
  1. $.datetimepicker.setDefaults($.datetimepicker.regional['pl']);



Będę wdzięczny za udzieloną pomoc w okiełznaniu tego pickera.
qbson69
Wygląda, że nie ma takiego obiektu, spróbuj tak:
  1. $.timepicker.setDefaults($.timepicker.regional['pl']);

lub
  1. $.datepicker.setDefaults($.datepicker.regional['pl']);
swiezak
Próbowałem wywyołać metody w takiej postaci, jak zasugerowałeś, ale... konsola w FF błędów co prawda nie pokazuje błędów, jednak tłumaczenie w dalszym ciągu nie jest aktywne.
qbson69
Nie masz tłumaczeń zarówno w przypadku kalendarza, jak i timepickera? Masz zaincludowany plik do tłumaczenia kalendarza (coś w stylu datepicker-pl.js)?
swiezak
Tłumaczenie znajduje się w pliku jquery-ui-timepicker-addon-i18n.min.js.
W nim jest m.in. metoda a.timepicker.regional.pl, ale to nie działa nie wiedzieć dlaczego.
qbson69
Ok, zaincluduj jeszcze plik jquery-ui-i18n.min.js (jeśli nie ma), aby mieć tłumaczenia oryginalne z datepickera, a następnie uruchom tłumaczenia, zarówno datepickera jak i timepickera w ten sposób:

  1. $('.datetimepicker').datetimepicker({
  2. timeFormat: 'HH:mm:ss',
  3. dateFormat: 'dd-mm-yy'
  4.  
  5. });
  6. $('.datetimepicker').datetimepicker("option", $.datepicker.regional['pl']);
  7. $('.datetimepicker').datetimepicker("option", $.timepicker.regional['pl']);


Musi działaćsmile.gif

Działający i kompletny kod wrzuciłem tu: https://jsfiddle.net/zbpz8hvk/
swiezak
W tej chwili już wszystko działa, ale musiałem dokonać następujących zabiegów:

  1. $('.datetimepicker').datetimepicker({
  2. timeFormat: 'HH:mm:ss',
  3. dateFormat: 'dd-mm-yy'
  4. });
  5.  
  6. $.datepicker.regional['pl'] = {
  7. closeText: 'Zamknij',
  8. prevText: '<Poprzedni',
  9. nextText: 'Następny>',
  10. currentText: 'Dziś',
  11. monthNames: ['Styczeń','Luty','Marzec','Kwiecień','Maj','Czerwiec','Lipiec','Sierpień','Wrzesień','Październik','Listopad','Grudzień'],
  12. monthNamesShort: ['Sty','Lu','Mar','Kw','Maj','Cze','Lip','Sie','Wrz','Pa','Lis','Gru'],
  13. dayNames: ['Niedziela','Poniedziałek','Wtorek','Środa','Czwartek','Piątek','Sobota'],
  14. dayNamesShort: ['Nie','Pn','Wt','Śr','Czw','Pt','So'],
  15. dayNamesMin: ['N','Pn','Wt','Śr','Cz','Pt','So'],
  16. weekHeader: 'Tydz',
  17. dateFormat: 'dd.mm.yy',
  18. firstDay: 1,
  19. isRTL: false,
  20. showMonthAfterYear: false,
  21. yearSuffix: ''
  22. };
  23. $.datepicker.setDefaults($.datepicker.regional['pl']);
  24.  
  25. $('.datetimepicker').datetimepicker("option", $.timepicker.regional['pl']);


Dziękuję za poświecony czas, cierpliwość i pomoc.

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.