From 5131984d4a51f8aab1d1a366ca1d6afab937da39 Mon Sep 17 00:00:00 2001 From: Daniel Berteaud Date: Wed, 8 Jul 2015 23:11:55 +0200 Subject: [PATCH] Import bootstrap-datepicker --- public/js/bootstrap-datepicker.js | 1906 ++++++++++++++++++++ .../datepicker-locales/bootstrap-datepicker.ar.js | 15 + .../datepicker-locales/bootstrap-datepicker.az.js | 12 + .../datepicker-locales/bootstrap-datepicker.bg.js | 14 + .../datepicker-locales/bootstrap-datepicker.bs.js | 15 + .../datepicker-locales/bootstrap-datepicker.ca.js | 17 + .../datepicker-locales/bootstrap-datepicker.cs.js | 18 + .../datepicker-locales/bootstrap-datepicker.cy.js | 14 + .../datepicker-locales/bootstrap-datepicker.da.js | 16 + .../datepicker-locales/bootstrap-datepicker.de.js | 17 + .../datepicker-locales/bootstrap-datepicker.el.js | 16 + .../bootstrap-datepicker.en-GB.js | 17 + .../datepicker-locales/bootstrap-datepicker.eo.js | 17 + .../datepicker-locales/bootstrap-datepicker.es.js | 17 + .../datepicker-locales/bootstrap-datepicker.et.js | 18 + .../datepicker-locales/bootstrap-datepicker.eu.js | 15 + .../datepicker-locales/bootstrap-datepicker.fa.js | 17 + .../datepicker-locales/bootstrap-datepicker.fi.js | 17 + .../datepicker-locales/bootstrap-datepicker.fo.js | 15 + .../bootstrap-datepicker.fr-CH.js | 20 + .../datepicker-locales/bootstrap-datepicker.fr.js | 17 + .../datepicker-locales/bootstrap-datepicker.gl.js | 13 + .../datepicker-locales/bootstrap-datepicker.he.js | 15 + .../datepicker-locales/bootstrap-datepicker.hr.js | 13 + .../datepicker-locales/bootstrap-datepicker.hu.js | 16 + .../datepicker-locales/bootstrap-datepicker.hy.js | 17 + .../datepicker-locales/bootstrap-datepicker.id.js | 15 + .../datepicker-locales/bootstrap-datepicker.is.js | 14 + .../bootstrap-datepicker.it-CH.js | 20 + .../datepicker-locales/bootstrap-datepicker.it.js | 17 + .../datepicker-locales/bootstrap-datepicker.ja.js | 17 + .../datepicker-locales/bootstrap-datepicker.ka.js | 17 + .../datepicker-locales/bootstrap-datepicker.kh.js | 15 + .../datepicker-locales/bootstrap-datepicker.kk.js | 15 + .../datepicker-locales/bootstrap-datepicker.ko.js | 18 + .../datepicker-locales/bootstrap-datepicker.kr.js | 17 + .../datepicker-locales/bootstrap-datepicker.lt.js | 16 + .../datepicker-locales/bootstrap-datepicker.lv.js | 16 + .../datepicker-locales/bootstrap-datepicker.me.js | 17 + .../datepicker-locales/bootstrap-datepicker.mk.js | 15 + .../datepicker-locales/bootstrap-datepicker.mn.js | 17 + .../datepicker-locales/bootstrap-datepicker.ms.js | 14 + .../datepicker-locales/bootstrap-datepicker.nb.js | 14 + .../bootstrap-datepicker.nl-BE.js | 17 + .../datepicker-locales/bootstrap-datepicker.nl.js | 17 + .../datepicker-locales/bootstrap-datepicker.no.js | 16 + .../datepicker-locales/bootstrap-datepicker.pl.js | 17 + .../bootstrap-datepicker.pt-BR.js | 15 + .../datepicker-locales/bootstrap-datepicker.pt.js | 16 + .../datepicker-locales/bootstrap-datepicker.ro.js | 16 + .../bootstrap-datepicker.rs-latin.js | 16 + .../datepicker-locales/bootstrap-datepicker.rs.js | 16 + .../datepicker-locales/bootstrap-datepicker.ru.js | 17 + .../datepicker-locales/bootstrap-datepicker.sk.js | 15 + .../datepicker-locales/bootstrap-datepicker.sl.js | 14 + .../datepicker-locales/bootstrap-datepicker.sq.js | 15 + .../bootstrap-datepicker.sr-latin.js | 16 + .../datepicker-locales/bootstrap-datepicker.sr.js | 16 + .../datepicker-locales/bootstrap-datepicker.sv.js | 17 + .../datepicker-locales/bootstrap-datepicker.sw.js | 15 + .../datepicker-locales/bootstrap-datepicker.th.js | 14 + .../datepicker-locales/bootstrap-datepicker.tr.js | 18 + .../datepicker-locales/bootstrap-datepicker.uk.js | 17 + .../datepicker-locales/bootstrap-datepicker.vi.js | 16 + .../bootstrap-datepicker.zh-CN.js | 18 + .../bootstrap-datepicker.zh-TW.js | 18 + 66 files changed, 2950 insertions(+) create mode 100644 public/js/bootstrap-datepicker.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ar.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.az.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.bg.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.bs.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ca.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.cs.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.cy.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.da.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.de.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.el.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.en-GB.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.eo.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.es.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.et.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.eu.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.fa.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.fi.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.fo.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.fr-CH.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.fr.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.gl.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.he.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.hr.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.hu.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.hy.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.id.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.is.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.it-CH.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.it.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ja.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ka.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.kh.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.kk.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ko.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.kr.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.lt.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.lv.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.me.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.mk.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.mn.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ms.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.nb.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.nl-BE.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.nl.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.no.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.pl.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.pt-BR.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.pt.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ro.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.rs-latin.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.rs.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.ru.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sk.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sl.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sq.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sr-latin.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sr.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sv.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.sw.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.th.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.tr.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.uk.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.vi.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.zh-CN.js create mode 100644 public/js/datepicker-locales/bootstrap-datepicker.zh-TW.js diff --git a/public/js/bootstrap-datepicker.js b/public/js/bootstrap-datepicker.js new file mode 100644 index 0000000..e127d7c --- /dev/null +++ b/public/js/bootstrap-datepicker.js @@ -0,0 +1,1906 @@ +/* ========================================================= + * bootstrap-datepicker.js + * Repo: https://github.com/eternicode/bootstrap-datepicker/ + * Demo: http://eternicode.github.io/bootstrap-datepicker/ + * Docs: http://bootstrap-datepicker.readthedocs.org/ + * Forked from http://www.eyecon.ro/bootstrap-datepicker + * ========================================================= + * Started by Stefan Petre; improvements by Andrew Rowls + contributors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ========================================================= */ + +(function(factory){ + if (typeof define === "function" && define.amd) { + define(["jquery"], factory); + } else if (typeof exports === 'object') { + factory(require('jquery')); + } else { + factory(jQuery); + } +}(function($, undefined){ + + function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); + } + function UTCToday(){ + var today = new Date(); + return UTCDate(today.getFullYear(), today.getMonth(), today.getDate()); + } + function isUTCEquals(date1, date2) { + return ( + date1.getUTCFullYear() === date2.getUTCFullYear() && + date1.getUTCMonth() === date2.getUTCMonth() && + date1.getUTCDate() === date2.getUTCDate() + ); + } + function alias(method){ + return function(){ + return this[method].apply(this, arguments); + }; + } + + var DateArray = (function(){ + var extras = { + get: function(i){ + return this.slice(i)[0]; + }, + contains: function(d){ + // Array.indexOf is not cross-browser; + // $.inArray doesn't work with Dates + var val = d && d.valueOf(); + for (var i=0, l=this.length; i < l; i++) + if (this[i].valueOf() === val) + return i; + return -1; + }, + remove: function(i){ + this.splice(i,1); + }, + replace: function(new_array){ + if (!new_array) + return; + if (!$.isArray(new_array)) + new_array = [new_array]; + this.clear(); + this.push.apply(this, new_array); + }, + clear: function(){ + this.length = 0; + }, + copy: function(){ + var a = new DateArray(); + a.replace(this); + return a; + } + }; + + return function(){ + var a = []; + a.push.apply(a, arguments); + $.extend(a, extras); + return a; + }; + })(); + + + // Picker object + + var Datepicker = function(element, options){ + this._process_options(options); + + this.dates = new DateArray(); + this.viewDate = this.o.defaultViewDate; + this.focusDate = null; + + this.element = $(element); + this.isInline = false; + this.isInput = this.element.is('input'); + this.component = this.element.hasClass('date') ? this.element.find('.add-on, .input-group-addon, .btn') : false; + this.hasInput = this.component && this.element.find('input').length; + if (this.component && this.component.length === 0) + this.component = false; + + this.picker = $(DPGlobal.template); + this._buildEvents(); + this._attachEvents(); + + if (this.isInline){ + this.picker.addClass('datepicker-inline').appendTo(this.element); + } + else { + this.picker.addClass('datepicker-dropdown dropdown-menu'); + } + + if (this.o.rtl){ + this.picker.addClass('datepicker-rtl'); + } + + this.viewMode = this.o.startView; + + if (this.o.calendarWeeks) + this.picker.find('tfoot .today, tfoot .clear') + .attr('colspan', function(i, val){ + return parseInt(val) + 1; + }); + + this._allow_update = false; + + this.setStartDate(this._o.startDate); + this.setEndDate(this._o.endDate); + this.setDaysOfWeekDisabled(this.o.daysOfWeekDisabled); + this.setDaysOfWeekHighlighted(this.o.daysOfWeekHighlighted); + this.setDatesDisabled(this.o.datesDisabled); + + this.fillDow(); + this.fillMonths(); + + this._allow_update = true; + + this.update(); + this.showMode(); + + if (this.isInline){ + this.show(); + } + }; + + Datepicker.prototype = { + constructor: Datepicker, + + _process_options: function(opts){ + // Store raw options for reference + this._o = $.extend({}, this._o, opts); + // Processed options + var o = this.o = $.extend({}, this._o); + + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + var lang = o.language; + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + lang = defaults.language; + } + o.language = lang; + + switch (o.startView){ + case 2: + case 'decade': + o.startView = 2; + break; + case 1: + case 'year': + o.startView = 1; + break; + default: + o.startView = 0; + } + + switch (o.minViewMode){ + case 1: + case 'months': + o.minViewMode = 1; + break; + case 2: + case 'years': + o.minViewMode = 2; + break; + default: + o.minViewMode = 0; + } + + switch (o.maxViewMode) { + case 0: + case 'days': + o.maxViewMode = 0; + break; + case 1: + case 'months': + o.maxViewMode = 1; + break; + default: + o.maxViewMode = 2; + } + + o.startView = Math.min(o.startView, o.maxViewMode); + o.startView = Math.max(o.startView, o.minViewMode); + + // true, false, or Number > 0 + if (o.multidate !== true){ + o.multidate = Number(o.multidate) || false; + if (o.multidate !== false) + o.multidate = Math.max(0, o.multidate); + } + o.multidateSeparator = String(o.multidateSeparator); + + o.weekStart %= 7; + o.weekEnd = ((o.weekStart + 6) % 7); + + var format = DPGlobal.parseFormat(o.format); + if (o.startDate !== -Infinity){ + if (!!o.startDate){ + if (o.startDate instanceof Date) + o.startDate = this._local_to_utc(this._zero_time(o.startDate)); + else + o.startDate = DPGlobal.parseDate(o.startDate, format, o.language); + } + else { + o.startDate = -Infinity; + } + } + if (o.endDate !== Infinity){ + if (!!o.endDate){ + if (o.endDate instanceof Date) + o.endDate = this._local_to_utc(this._zero_time(o.endDate)); + else + o.endDate = DPGlobal.parseDate(o.endDate, format, o.language); + } + else { + o.endDate = Infinity; + } + } + + o.daysOfWeekDisabled = o.daysOfWeekDisabled||[]; + if (!$.isArray(o.daysOfWeekDisabled)) + o.daysOfWeekDisabled = o.daysOfWeekDisabled.split(/[,\s]*/); + o.daysOfWeekDisabled = $.map(o.daysOfWeekDisabled, function(d){ + return parseInt(d, 10); + }); + + o.daysOfWeekHighlighted = o.daysOfWeekHighlighted||[]; + if (!$.isArray(o.daysOfWeekHighlighted)) + o.daysOfWeekHighlighted = o.daysOfWeekHighlighted.split(/[,\s]*/); + o.daysOfWeekHighlighted = $.map(o.daysOfWeekHighlighted, function(d){ + return parseInt(d, 10); + }); + + o.datesDisabled = o.datesDisabled||[]; + if (!$.isArray(o.datesDisabled)) { + var datesDisabled = []; + datesDisabled.push(DPGlobal.parseDate(o.datesDisabled, format, o.language)); + o.datesDisabled = datesDisabled; + } + o.datesDisabled = $.map(o.datesDisabled,function(d){ + return DPGlobal.parseDate(d, format, o.language); + }); + + var plc = String(o.orientation).toLowerCase().split(/\s+/g), + _plc = o.orientation.toLowerCase(); + plc = $.grep(plc, function(word){ + return /^auto|left|right|top|bottom$/.test(word); + }); + o.orientation = {x: 'auto', y: 'auto'}; + if (!_plc || _plc === 'auto') + ; // no action + else if (plc.length === 1){ + switch (plc[0]){ + case 'top': + case 'bottom': + o.orientation.y = plc[0]; + break; + case 'left': + case 'right': + o.orientation.x = plc[0]; + break; + } + } + else { + _plc = $.grep(plc, function(word){ + return /^left|right$/.test(word); + }); + o.orientation.x = _plc[0] || 'auto'; + + _plc = $.grep(plc, function(word){ + return /^top|bottom$/.test(word); + }); + o.orientation.y = _plc[0] || 'auto'; + } + if (o.defaultViewDate) { + var year = o.defaultViewDate.year || new Date().getFullYear(); + var month = o.defaultViewDate.month || 0; + var day = o.defaultViewDate.day || 1; + o.defaultViewDate = UTCDate(year, month, day); + } else { + o.defaultViewDate = UTCToday(); + } + o.showOnFocus = o.showOnFocus !== undefined ? o.showOnFocus : true; + }, + _events: [], + _secondaryEvents: [], + _applyEvents: function(evs){ + for (var i=0, el, ch, ev; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } + else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.on(ev, ch); + } + }, + _unapplyEvents: function(evs){ + for (var i=0, el, ev, ch; i < evs.length; i++){ + el = evs[i][0]; + if (evs[i].length === 2){ + ch = undefined; + ev = evs[i][1]; + } + else if (evs[i].length === 3){ + ch = evs[i][1]; + ev = evs[i][2]; + } + el.off(ev, ch); + } + }, + _buildEvents: function(){ + var events = { + keyup: $.proxy(function(e){ + if ($.inArray(e.keyCode, [27, 37, 39, 38, 40, 32, 13, 9]) === -1) + this.update(); + }, this), + keydown: $.proxy(this.keydown, this), + paste: $.proxy(this.paste, this) + }; + + if (this.o.showOnFocus === true) { + events.focus = $.proxy(this.show, this); + } + + if (this.isInput) { // single input + this._events = [ + [this.element, events] + ]; + } + else if (this.component && this.hasInput) { // component: input + button + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.element.find('input'), events], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + } + else if (this.element.is('div')){ // inline datepicker + this.isInline = true; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this) + }] + ]; + } + this._events.push( + // Component: listen for blur on element descendants + [this.element, '*', { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }], + // Input: listen for blur on element + [this.element, { + blur: $.proxy(function(e){ + this._focused_from = e.target; + }, this) + }] + ); + + if (this.o.immediateUpdates) { + // Trigger input updates immediately on changed year/month + this._events.push([this.element, { + 'changeYear changeMonth': $.proxy(function(e){ + this.update(e.date); + }, this) + }]); + } + + this._secondaryEvents = [ + [this.picker, { + click: $.proxy(this.click, this) + }], + [$(window), { + resize: $.proxy(this.place, this) + }], + [$(document), { + mousedown: $.proxy(function(e){ + // Clicked outside the datepicker, hide it + if (!( + this.element.is(e.target) || + this.element.find(e.target).length || + this.picker.is(e.target) || + this.picker.find(e.target).length || + this.picker.hasClass('datepicker-inline') + )){ + $(this.picker).hide(); + this._trigger('hide'); + } + }, this) + }] + ]; + }, + _attachEvents: function(){ + this._detachEvents(); + this._applyEvents(this._events); + }, + _detachEvents: function(){ + this._unapplyEvents(this._events); + }, + _attachSecondaryEvents: function(){ + this._detachSecondaryEvents(); + this._applyEvents(this._secondaryEvents); + }, + _detachSecondaryEvents: function(){ + this._unapplyEvents(this._secondaryEvents); + }, + _trigger: function(event, altdate){ + var date = altdate || this.dates.get(-1), + local_date = this._utc_to_local(date); + + this.element.trigger({ + type: event, + date: local_date, + dates: $.map(this.dates, this._utc_to_local), + format: $.proxy(function(ix, format){ + if (arguments.length === 0){ + ix = this.dates.length - 1; + format = this.o.format; + } + else if (typeof ix === 'string'){ + format = ix; + ix = this.dates.length - 1; + } + format = format || this.o.format; + var date = this.dates.get(ix); + return DPGlobal.formatDate(date, format, this.o.language); + }, this) + }); + }, + + show: function(){ + if (this.element.attr('readonly') && this.o.enableOnReadonly === false) + return; + if (!this.isInline) + this.picker.appendTo(this.o.container); + this.place(); + this.picker.show(); + this._attachSecondaryEvents(); + this._trigger('show'); + if ((window.navigator.msMaxTouchPoints || 'ontouchstart' in document) && this.o.disableTouchKeyboard) { + $(this.element).blur(); + } + return this; + }, + + hide: function(){ + if (this.isInline) + return this; + if (!this.picker.is(':visible')) + return this; + this.focusDate = null; + this.picker.hide().detach(); + this._detachSecondaryEvents(); + this.viewMode = this.o.startView; + this.showMode(); + + if ( + this.o.forceParse && + ( + this.isInput && this.element.val() || + this.hasInput && this.element.find('input').val() + ) + ) + this.setValue(); + this._trigger('hide'); + return this; + }, + + remove: function(){ + this.hide(); + this._detachEvents(); + this._detachSecondaryEvents(); + this.picker.remove(); + delete this.element.data().datepicker; + if (!this.isInput){ + delete this.element.data().date; + } + return this; + }, + + paste: function(evt){ + var dateString; + if (evt.originalEvent.clipboardData && evt.originalEvent.clipboardData.types + && $.inArray('text/plain', evt.originalEvent.clipboardData.types) !== -1) { + dateString = evt.originalEvent.clipboardData.getData('text/plain'); + } + else if (window.clipboardData) { + dateString = window.clipboardData.getData('Text'); + } + else { + return; + } + this.setDate(dateString); + this.update(); + evt.preventDefault(); + }, + + _utc_to_local: function(utc){ + return utc && new Date(utc.getTime() + (utc.getTimezoneOffset()*60000)); + }, + _local_to_utc: function(local){ + return local && new Date(local.getTime() - (local.getTimezoneOffset()*60000)); + }, + _zero_time: function(local){ + return local && new Date(local.getFullYear(), local.getMonth(), local.getDate()); + }, + _zero_utc_time: function(utc){ + return utc && new Date(Date.UTC(utc.getUTCFullYear(), utc.getUTCMonth(), utc.getUTCDate())); + }, + + getDates: function(){ + return $.map(this.dates, this._utc_to_local); + }, + + getUTCDates: function(){ + return $.map(this.dates, function(d){ + return new Date(d); + }); + }, + + getDate: function(){ + return this._utc_to_local(this.getUTCDate()); + }, + + getUTCDate: function(){ + var selected_date = this.dates.get(-1); + if (typeof selected_date !== 'undefined') { + return new Date(selected_date); + } else { + return null; + } + }, + + clearDates: function(){ + var element; + if (this.isInput) { + element = this.element; + } else if (this.component) { + element = this.element.find('input'); + } + + if (element) { + element.val(''); + } + + this.update(); + this._trigger('changeDate'); + + if (this.o.autoclose) { + this.hide(); + } + }, + setDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, args); + this._trigger('changeDate'); + this.setValue(); + return this; + }, + + setUTCDates: function(){ + var args = $.isArray(arguments[0]) ? arguments[0] : arguments; + this.update.apply(this, $.map(args, this._utc_to_local)); + this._trigger('changeDate'); + this.setValue(); + return this; + }, + + setDate: alias('setDates'), + setUTCDate: alias('setUTCDates'), + + setValue: function(){ + var formatted = this.getFormattedDate(); + if (!this.isInput){ + if (this.component){ + this.element.find('input').val(formatted); + } + } + else { + this.element.val(formatted); + } + return this; + }, + + getFormattedDate: function(format){ + if (format === undefined) + format = this.o.format; + + var lang = this.o.language; + return $.map(this.dates, function(d){ + return DPGlobal.formatDate(d, format, lang); + }).join(this.o.multidateSeparator); + }, + + setStartDate: function(startDate){ + this._process_options({startDate: startDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + setEndDate: function(endDate){ + this._process_options({endDate: endDate}); + this.update(); + this.updateNavArrows(); + return this; + }, + + setDaysOfWeekDisabled: function(daysOfWeekDisabled){ + this._process_options({daysOfWeekDisabled: daysOfWeekDisabled}); + this.update(); + this.updateNavArrows(); + return this; + }, + + setDaysOfWeekHighlighted: function(daysOfWeekHighlighted){ + this._process_options({daysOfWeekHighlighted: daysOfWeekHighlighted}); + this.update(); + return this; + }, + + setDatesDisabled: function(datesDisabled){ + this._process_options({datesDisabled: datesDisabled}); + this.update(); + this.updateNavArrows(); + }, + + place: function(){ + if (this.isInline) + return this; + var calendarWidth = this.picker.outerWidth(), + calendarHeight = this.picker.outerHeight(), + visualPadding = 10, + container = $(this.o.container), + windowWidth = container.width(), + windowHeight = container.height(), + scrollTop = container.scrollTop(), + appendOffset = container.offset(); + + var parentsZindex = []; + this.element.parents().each(function(){ + var itemZIndex = $(this).css('z-index'); + if (itemZIndex !== 'auto' && itemZIndex !== 0) parentsZindex.push(parseInt(itemZIndex)); + }); + var zIndex = Math.max.apply(Math, parentsZindex) + 10; + var offset = this.component ? this.component.parent().offset() : this.element.offset(); + var height = this.component ? this.component.outerHeight(true) : this.element.outerHeight(false); + var width = this.component ? this.component.outerWidth(true) : this.element.outerWidth(false); + var left = offset.left - appendOffset.left, + top = offset.top - appendOffset.top; + + this.picker.removeClass( + 'datepicker-orient-top datepicker-orient-bottom '+ + 'datepicker-orient-right datepicker-orient-left' + ); + + if (this.o.orientation.x !== 'auto'){ + this.picker.addClass('datepicker-orient-' + this.o.orientation.x); + if (this.o.orientation.x === 'right') + left -= calendarWidth - width; + } + // auto x orientation is best-placement: if it crosses a window + // edge, fudge it sideways + else { + if (offset.left < 0) { + // component is outside the window on the left side. Move it into visible range + this.picker.addClass('datepicker-orient-left'); + left -= offset.left - visualPadding; + } else if (left + calendarWidth > windowWidth) { + // the calendar passes the widow right edge. Align it to component right side + this.picker.addClass('datepicker-orient-right'); + left = offset.left + width - calendarWidth; + } else { + // Default to left + this.picker.addClass('datepicker-orient-left'); + } + } + + // auto y orientation is best-situation: top or bottom, no fudging, + // decision based on which shows more of the calendar + var yorient = this.o.orientation.y, + top_overflow, bottom_overflow; + if (yorient === 'auto'){ + top_overflow = -scrollTop + top - calendarHeight; + bottom_overflow = scrollTop + windowHeight - (top + height + calendarHeight); + if (Math.max(top_overflow, bottom_overflow) === bottom_overflow) + yorient = 'top'; + else + yorient = 'bottom'; + } + this.picker.addClass('datepicker-orient-' + yorient); + if (yorient === 'top') + top -= calendarHeight + parseInt(this.picker.css('padding-top')); + else + top += height; + + if (this.o.rtl) { + var right = windowWidth - (left + width); + this.picker.css({ + top: top, + right: right, + zIndex: zIndex + }); + } else { + this.picker.css({ + top: top, + left: left, + zIndex: zIndex + }); + } + return this; + }, + + _allow_update: true, + update: function(){ + if (!this._allow_update) + return this; + + var oldDates = this.dates.copy(), + dates = [], + fromArgs = false; + if (arguments.length){ + $.each(arguments, $.proxy(function(i, date){ + if (date instanceof Date) + date = this._local_to_utc(date); + dates.push(date); + }, this)); + fromArgs = true; + } + else { + dates = this.isInput + ? this.element.val() + : this.element.data('date') || this.element.find('input').val(); + if (dates && this.o.multidate) + dates = dates.split(this.o.multidateSeparator); + else + dates = [dates]; + delete this.element.data().date; + } + + dates = $.map(dates, $.proxy(function(date){ + return DPGlobal.parseDate(date, this.o.format, this.o.language); + }, this)); + dates = $.grep(dates, $.proxy(function(date){ + return ( + date < this.o.startDate || + date > this.o.endDate || + !date + ); + }, this), true); + this.dates.replace(dates); + + if (this.dates.length) + this.viewDate = new Date(this.dates.get(-1)); + else if (this.viewDate < this.o.startDate) + this.viewDate = new Date(this.o.startDate); + else if (this.viewDate > this.o.endDate) + this.viewDate = new Date(this.o.endDate); + else + this.viewDate = this.o.defaultViewDate; + + if (fromArgs){ + // setting date by clicking + this.setValue(); + } + else if (dates.length){ + // setting date by typing + if (String(oldDates) !== String(this.dates)) + this._trigger('changeDate'); + } + if (!this.dates.length && oldDates.length) + this._trigger('clearDate'); + + this.fill(); + this.element.change(); + return this; + }, + + fillDow: function(){ + var dowCnt = this.o.weekStart, + html = ''; + if (this.o.calendarWeeks){ + this.picker.find('.datepicker-days .datepicker-switch') + .attr('colspan', function(i, val){ + return parseInt(val) + 1; + }); + html += ' '; + } + while (dowCnt < this.o.weekStart + 7){ + html += ''+dates[this.o.language].daysMin[(dowCnt++)%7]+''; + } + html += ''; + this.picker.find('.datepicker-days thead').append(html); + }, + + fillMonths: function(){ + var html = '', + i = 0; + while (i < 12){ + html += ''+dates[this.o.language].monthsShort[i++]+''; + } + this.picker.find('.datepicker-months td').html(html); + }, + + setRange: function(range){ + if (!range || !range.length) + delete this.range; + else + this.range = $.map(range, function(d){ + return d.valueOf(); + }); + this.fill(); + }, + + getClassNames: function(date){ + var cls = [], + year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(), + today = new Date(); + if (date.getUTCFullYear() < year || (date.getUTCFullYear() === year && date.getUTCMonth() < month)){ + cls.push('old'); + } + else if (date.getUTCFullYear() > year || (date.getUTCFullYear() === year && date.getUTCMonth() > month)){ + cls.push('new'); + } + if (this.focusDate && date.valueOf() === this.focusDate.valueOf()) + cls.push('focused'); + // Compare internal UTC date with local today, not UTC today + if (this.o.todayHighlight && + date.getUTCFullYear() === today.getFullYear() && + date.getUTCMonth() === today.getMonth() && + date.getUTCDate() === today.getDate()){ + cls.push('today'); + } + if (this.dates.contains(date) !== -1) + cls.push('active'); + if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || + $.inArray(date.getUTCDay(), this.o.daysOfWeekDisabled) !== -1){ + cls.push('disabled'); + } + if (date.valueOf() < this.o.startDate || date.valueOf() > this.o.endDate || + $.inArray(date.getUTCDay(), this.o.daysOfWeekHighlighted) !== -1){ + cls.push('highlighted'); + } + if (this.o.datesDisabled.length > 0 && + $.grep(this.o.datesDisabled, function(d){ + return isUTCEquals(date, d); }).length > 0) { + cls.push('disabled', 'disabled-date'); + } + + if (this.range){ + if (date > this.range[0] && date < this.range[this.range.length-1]){ + cls.push('range'); + } + if ($.inArray(date.valueOf(), this.range) !== -1){ + cls.push('selected'); + } + } + return cls; + }, + + fill: function(){ + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(), + startYear = this.o.startDate !== -Infinity ? this.o.startDate.getUTCFullYear() : -Infinity, + startMonth = this.o.startDate !== -Infinity ? this.o.startDate.getUTCMonth() : -Infinity, + endYear = this.o.endDate !== Infinity ? this.o.endDate.getUTCFullYear() : Infinity, + endMonth = this.o.endDate !== Infinity ? this.o.endDate.getUTCMonth() : Infinity, + todaytxt = dates[this.o.language].today || dates['en'].today || '', + cleartxt = dates[this.o.language].clear || dates['en'].clear || '', + titleFormat = dates[this.o.language].titleFormat || dates['en'].titleFormat, + tooltip; + if (isNaN(year) || isNaN(month)) + return; + this.picker.find('.datepicker-days thead .datepicker-switch') + .text(DPGlobal.formatDate(new Date(year, month), titleFormat, this.o.language)); + this.picker.find('tfoot .today') + .text(todaytxt) + .toggle(this.o.todayBtn !== false); + this.picker.find('tfoot .clear') + .text(cleartxt) + .toggle(this.o.clearBtn !== false); + this.picker.find('thead .datepicker-title') + .text(this.o.title) + .toggle(this.o.title !== ''); + this.updateNavArrows(); + this.fillMonths(); + var prevMonth = UTCDate(year, month-1, 28), + day = DPGlobal.getDaysInMonth(prevMonth.getUTCFullYear(), prevMonth.getUTCMonth()); + prevMonth.setUTCDate(day); + prevMonth.setUTCDate(day - (prevMonth.getUTCDay() - this.o.weekStart + 7)%7); + var nextMonth = new Date(prevMonth); + nextMonth.setUTCDate(nextMonth.getUTCDate() + 42); + nextMonth = nextMonth.valueOf(); + var html = []; + var clsName; + while (prevMonth.valueOf() < nextMonth){ + if (prevMonth.getUTCDay() === this.o.weekStart){ + html.push(''); + if (this.o.calendarWeeks){ + // ISO 8601: First week contains first thursday. + // ISO also states week starts on Monday, but we can be more abstract here. + var + // Start of current week: based on weekstart/current date + ws = new Date(+prevMonth + (this.o.weekStart - prevMonth.getUTCDay() - 7) % 7 * 864e5), + // Thursday of this week + th = new Date(Number(ws) + (7 + 4 - ws.getUTCDay()) % 7 * 864e5), + // First Thursday of year, year from thursday + yth = new Date(Number(yth = UTCDate(th.getUTCFullYear(), 0, 1)) + (7 + 4 - yth.getUTCDay())%7*864e5), + // Calendar week: ms between thursdays, div ms per day, div 7 days + calWeek = (th - yth) / 864e5 / 7 + 1; + html.push(''+ calWeek +''); + + } + } + clsName = this.getClassNames(prevMonth); + clsName.push('day'); + + if (this.o.beforeShowDay !== $.noop){ + var before = this.o.beforeShowDay(this._utc_to_local(prevMonth)); + if (before === undefined) + before = {}; + else if (typeof(before) === 'boolean') + before = {enabled: before}; + else if (typeof(before) === 'string') + before = {classes: before}; + if (before.enabled === false) + clsName.push('disabled'); + if (before.classes) + clsName = clsName.concat(before.classes.split(/\s+/)); + if (before.tooltip) + tooltip = before.tooltip; + } + + clsName = $.unique(clsName); + html.push(''+prevMonth.getUTCDate() + ''); + tooltip = null; + if (prevMonth.getUTCDay() === this.o.weekEnd){ + html.push(''); + } + prevMonth.setUTCDate(prevMonth.getUTCDate()+1); + } + this.picker.find('.datepicker-days tbody').empty().append(html.join('')); + + var months = this.picker.find('.datepicker-months') + .find('.datepicker-switch') + .text(this.o.maxViewMode < 2 ? 'Months' : year) + .end() + .find('span').removeClass('active'); + + $.each(this.dates, function(i, d){ + if (d.getUTCFullYear() === year) + months.eq(d.getUTCMonth()).addClass('active'); + }); + + if (year < startYear || year > endYear){ + months.addClass('disabled'); + } + if (year === startYear){ + months.slice(0, startMonth).addClass('disabled'); + } + if (year === endYear){ + months.slice(endMonth+1).addClass('disabled'); + } + + if (this.o.beforeShowMonth !== $.noop){ + var that = this; + $.each(months, function(i, month){ + if (!$(month).hasClass('disabled')) { + var moDate = new Date(year, i, 1); + var before = that.o.beforeShowMonth(moDate); + if (before === false) + $(month).addClass('disabled'); + } + }); + } + + html = ''; + year = parseInt(year/10, 10) * 10; + var yearCont = this.picker.find('.datepicker-years') + .find('.datepicker-switch') + .text(year + '-' + (year + 9)) + .end() + .find('td'); + year -= 1; + var years = $.map(this.dates, function(d){ + return d.getUTCFullYear(); + }), + classes; + for (var i = -1; i < 11; i++){ + classes = ['year']; + tooltip = null; + + if (i === -1) + classes.push('old'); + else if (i === 10) + classes.push('new'); + if ($.inArray(year, years) !== -1) + classes.push('active'); + if (year < startYear || year > endYear) + classes.push('disabled'); + + if (this.o.beforeShowYear !== $.noop) { + var yrBefore = this.o.beforeShowYear(new Date(year, 0, 1)); + if (yrBefore === undefined) + yrBefore = {}; + else if (typeof(yrBefore) === 'boolean') + yrBefore = {enabled: yrBefore}; + else if (typeof(yrBefore) === 'string') + yrBefore = {classes: yrBefore}; + if (yrBefore.enabled === false) + classes.push('disabled'); + if (yrBefore.classes) + classes = classes.concat(yrBefore.classes.split(/\s+/)); + if (yrBefore.tooltip) + tooltip = yrBefore.tooltip; + } + + html += '' + year + ''; + year += 1; + } + yearCont.html(html); + }, + + updateNavArrows: function(){ + if (!this._allow_update) + return; + + var d = new Date(this.viewDate), + year = d.getUTCFullYear(), + month = d.getUTCMonth(); + switch (this.viewMode){ + case 0: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() && month <= this.o.startDate.getUTCMonth()){ + this.picker.find('.prev').css({visibility: 'hidden'}); + } + else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() && month >= this.o.endDate.getUTCMonth()){ + this.picker.find('.next').css({visibility: 'hidden'}); + } + else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + case 1: + case 2: + if (this.o.startDate !== -Infinity && year <= this.o.startDate.getUTCFullYear() || this.o.maxViewMode < 2){ + this.picker.find('.prev').css({visibility: 'hidden'}); + } + else { + this.picker.find('.prev').css({visibility: 'visible'}); + } + if (this.o.endDate !== Infinity && year >= this.o.endDate.getUTCFullYear() || this.o.maxViewMode < 2){ + this.picker.find('.next').css({visibility: 'hidden'}); + } + else { + this.picker.find('.next').css({visibility: 'visible'}); + } + break; + } + }, + + click: function(e){ + e.preventDefault(); + e.stopPropagation(); + var target = $(e.target).closest('span, td, th'), + year, month, day; + if (target.length === 1){ + switch (target[0].nodeName.toLowerCase()){ + case 'th': + switch (target[0].className){ + case 'datepicker-switch': + this.showMode(1); + break; + case 'prev': + case 'next': + var dir = DPGlobal.modes[this.viewMode].navStep * (target[0].className === 'prev' ? -1 : 1); + switch (this.viewMode){ + case 0: + this.viewDate = this.moveMonth(this.viewDate, dir); + this._trigger('changeMonth', this.viewDate); + break; + case 1: + case 2: + this.viewDate = this.moveYear(this.viewDate, dir); + if (this.viewMode === 1) + this._trigger('changeYear', this.viewDate); + break; + } + this.fill(); + break; + case 'today': + var date = new Date(); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + + this.showMode(-2); + var which = this.o.todayBtn === 'linked' ? null : 'view'; + this._setDate(date, which); + break; + case 'clear': + this.clearDates(); + break; + } + break; + case 'span': + if (!target.hasClass('disabled')){ + this.viewDate.setUTCDate(1); + if (target.hasClass('month')){ + day = 1; + month = target.parent().find('span').index(target); + year = this.viewDate.getUTCFullYear(); + this.viewDate.setUTCMonth(month); + this._trigger('changeMonth', this.viewDate); + if (this.o.minViewMode === 1){ + this._setDate(UTCDate(year, month, day)); + this.showMode(); + } else { + this.showMode(-1); + } + } + else { + day = 1; + month = 0; + year = parseInt(target.text(), 10)||0; + this.viewDate.setUTCFullYear(year); + this._trigger('changeYear', this.viewDate); + if (this.o.minViewMode === 2){ + this._setDate(UTCDate(year, month, day)); + } + this.showMode(-1); + } + this.fill(); + } + break; + case 'td': + if (target.hasClass('day') && !target.hasClass('disabled')){ + day = parseInt(target.text(), 10)||1; + year = this.viewDate.getUTCFullYear(); + month = this.viewDate.getUTCMonth(); + if (target.hasClass('old')){ + if (month === 0){ + month = 11; + year -= 1; + } + else { + month -= 1; + } + } + else if (target.hasClass('new')){ + if (month === 11){ + month = 0; + year += 1; + } + else { + month += 1; + } + } + this._setDate(UTCDate(year, month, day)); + } + break; + } + } + if (this.picker.is(':visible') && this._focused_from){ + $(this._focused_from).focus(); + } + delete this._focused_from; + }, + + _toggle_multidate: function(date){ + var ix = this.dates.contains(date); + if (!date){ + this.dates.clear(); + } + + if (ix !== -1){ + if (this.o.multidate === true || this.o.multidate > 1 || this.o.toggleActive){ + this.dates.remove(ix); + } + } else if (this.o.multidate === false) { + this.dates.clear(); + this.dates.push(date); + } + else { + this.dates.push(date); + } + + if (typeof this.o.multidate === 'number') + while (this.dates.length > this.o.multidate) + this.dates.remove(0); + }, + + _setDate: function(date, which){ + if (!which || which === 'date') + this._toggle_multidate(date && new Date(date)); + if (!which || which === 'view') + this.viewDate = date && new Date(date); + + this.fill(); + this.setValue(); + if (!which || which !== 'view') { + this._trigger('changeDate'); + } + var element; + if (this.isInput){ + element = this.element; + } + else if (this.component){ + element = this.element.find('input'); + } + if (element){ + element.change(); + } + if (this.o.autoclose && (!which || which === 'date')){ + this.hide(); + } + }, + + moveMonth: function(date, dir){ + if (!date) + return undefined; + if (!dir) + return date; + var new_date = new Date(date.valueOf()), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), + mag = Math.abs(dir), + new_month, test; + dir = dir > 0 ? 1 : -1; + if (mag === 1){ + test = dir === -1 + // If going back one month, make sure month is not current month + // (eg, Mar 31 -> Feb 31 == Feb 28, not Mar 02) + ? function(){ + return new_date.getUTCMonth() === month; + } + // If going forward one month, make sure month is as expected + // (eg, Jan 31 -> Feb 31 == Feb 28, not Mar 02) + : function(){ + return new_date.getUTCMonth() !== new_month; + }; + new_month = month + dir; + new_date.setUTCMonth(new_month); + // Dec -> Jan (12) or Jan -> Dec (-1) -- limit expected date to 0-11 + if (new_month < 0 || new_month > 11) + new_month = (new_month + 12) % 12; + } + else { + // For magnitudes >1, move one month at a time... + for (var i=0; i < mag; i++) + // ...which might decrease the day (eg, Jan 31 to Feb 28, etc)... + new_date = this.moveMonth(new_date, dir); + // ...then reset the day, keeping it in the new month + new_month = new_date.getUTCMonth(); + new_date.setUTCDate(day); + test = function(){ + return new_month !== new_date.getUTCMonth(); + }; + } + // Common date-resetting loop -- if date is beyond end of month, make it + // end of month + while (test()){ + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); + } + return new_date; + }, + + moveYear: function(date, dir){ + return this.moveMonth(date, dir*12); + }, + + dateWithinRange: function(date){ + return date >= this.o.startDate && date <= this.o.endDate; + }, + + keydown: function(e){ + if (!this.picker.is(':visible')){ + if (e.keyCode === 40 || e.keyCode === 27) // allow down to re-show picker + this.show(); + return; + } + var dateChanged = false, + dir, newDate, newViewDate, + focusDate = this.focusDate || this.viewDate; + switch (e.keyCode){ + case 27: // escape + if (this.focusDate){ + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + } + else + this.hide(); + e.preventDefault(); + break; + case 37: // left + case 39: // right + if (!this.o.keyboardNavigation) + break; + dir = e.keyCode === 37 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveYear(focusDate, dir); + this._trigger('changeYear', this.viewDate); + } + else if (e.shiftKey){ + newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveMonth(focusDate, dir); + this._trigger('changeMonth', this.viewDate); + } + else { + newDate = new Date(this.dates.get(-1) || UTCToday()); + newDate.setUTCDate(newDate.getUTCDate() + dir); + newViewDate = new Date(focusDate); + newViewDate.setUTCDate(focusDate.getUTCDate() + dir); + } + if (this.dateWithinRange(newViewDate)){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 38: // up + case 40: // down + if (!this.o.keyboardNavigation) + break; + dir = e.keyCode === 38 ? -1 : 1; + if (e.ctrlKey){ + newDate = this.moveYear(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveYear(focusDate, dir); + this._trigger('changeYear', this.viewDate); + } + else if (e.shiftKey){ + newDate = this.moveMonth(this.dates.get(-1) || UTCToday(), dir); + newViewDate = this.moveMonth(focusDate, dir); + this._trigger('changeMonth', this.viewDate); + } + else { + newDate = new Date(this.dates.get(-1) || UTCToday()); + newDate.setUTCDate(newDate.getUTCDate() + dir * 7); + newViewDate = new Date(focusDate); + newViewDate.setUTCDate(focusDate.getUTCDate() + dir * 7); + } + if (this.dateWithinRange(newViewDate)){ + this.focusDate = this.viewDate = newViewDate; + this.setValue(); + this.fill(); + e.preventDefault(); + } + break; + case 32: // spacebar + // Spacebar is used in manually typing dates in some formats. + // As such, its behavior should not be hijacked. + break; + case 13: // enter + focusDate = this.focusDate || this.dates.get(-1) || this.viewDate; + if (this.o.keyboardNavigation) { + this._toggle_multidate(focusDate); + dateChanged = true; + } + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.setValue(); + this.fill(); + if (this.picker.is(':visible')){ + e.preventDefault(); + if (typeof e.stopPropagation === 'function') { + e.stopPropagation(); // All modern browsers, IE9+ + } else { + e.cancelBubble = true; // IE6,7,8 ignore "stopPropagation" + } + if (this.o.autoclose) + this.hide(); + } + break; + case 9: // tab + this.focusDate = null; + this.viewDate = this.dates.get(-1) || this.viewDate; + this.fill(); + this.hide(); + break; + } + if (dateChanged){ + if (this.dates.length) + this._trigger('changeDate'); + else + this._trigger('clearDate'); + var element; + if (this.isInput){ + element = this.element; + } + else if (this.component){ + element = this.element.find('input'); + } + if (element){ + element.change(); + } + } + }, + + showMode: function(dir){ + if (dir){ + this.viewMode = Math.max(this.o.minViewMode, Math.min(this.o.maxViewMode, this.viewMode + dir)); + } + this.picker + .children('div') + .hide() + .filter('.datepicker-' + DPGlobal.modes[this.viewMode].clsName) + .show(); + this.updateNavArrows(); + } + }; + + var DateRangePicker = function(element, options){ + this.element = $(element); + this.inputs = $.map(options.inputs, function(i){ + return i.jquery ? i[0] : i; + }); + delete options.inputs; + + datepickerPlugin.call($(this.inputs), options) + .on('changeDate', $.proxy(this.dateUpdated, this)); + + this.pickers = $.map(this.inputs, function(i){ + return $(i).data('datepicker'); + }); + this.updateDates(); + }; + DateRangePicker.prototype = { + updateDates: function(){ + this.dates = $.map(this.pickers, function(i){ + return i.getUTCDate(); + }); + this.updateRanges(); + }, + updateRanges: function(){ + var range = $.map(this.dates, function(d){ + return d.valueOf(); + }); + $.each(this.pickers, function(i, p){ + p.setRange(range); + }); + }, + dateUpdated: function(e){ + // `this.updating` is a workaround for preventing infinite recursion + // between `changeDate` triggering and `setUTCDate` calling. Until + // there is a better mechanism. + if (this.updating) + return; + this.updating = true; + + var dp = $(e.target).data('datepicker'), + new_date = dp.getUTCDate(), + i = $.inArray(e.target, this.inputs), + j = i - 1, + k = i + 1, + l = this.inputs.length; + if (i === -1) + return; + + $.each(this.pickers, function(i, p){ + if (!p.getUTCDate()) + p.setUTCDate(new_date); + }); + + if (new_date < this.dates[j]){ + // Date being moved earlier/left + while (j >= 0 && new_date < this.dates[j]){ + this.pickers[j--].setUTCDate(new_date); + } + } + else if (new_date > this.dates[k]){ + // Date being moved later/right + while (k < l && new_date > this.dates[k]){ + this.pickers[k++].setUTCDate(new_date); + } + } + this.updateDates(); + + delete this.updating; + }, + remove: function(){ + $.map(this.pickers, function(p){ p.remove(); }); + delete this.element.data().datepicker; + } + }; + + function opts_from_el(el, prefix){ + // Derive options from element data-attrs + var data = $(el).data(), + out = {}, inkey, + replace = new RegExp('^' + prefix.toLowerCase() + '([A-Z])'); + prefix = new RegExp('^' + prefix.toLowerCase()); + function re_lower(_,a){ + return a.toLowerCase(); + } + for (var key in data) + if (prefix.test(key)){ + inkey = key.replace(replace, re_lower); + out[inkey] = data[key]; + } + return out; + } + + function opts_from_locale(lang){ + // Derive options from locale plugins + var out = {}; + // Check if "de-DE" style date is available, if not language should + // fallback to 2 letter code eg "de" + if (!dates[lang]){ + lang = lang.split('-')[0]; + if (!dates[lang]) + return; + } + var d = dates[lang]; + $.each(locale_opts, function(i,k){ + if (k in d) + out[k] = d[k]; + }); + return out; + } + + var old = $.fn.datepicker; + var datepickerPlugin = function(option){ + var args = Array.apply(null, arguments); + args.shift(); + var internal_return; + this.each(function(){ + var $this = $(this), + data = $this.data('datepicker'), + options = typeof option === 'object' && option; + if (!data){ + var elopts = opts_from_el(this, 'date'), + // Preliminary otions + xopts = $.extend({}, defaults, elopts, options), + locopts = opts_from_locale(xopts.language), + // Options priority: js args, data-attrs, locales, defaults + opts = $.extend({}, defaults, locopts, elopts, options); + if ($this.hasClass('input-daterange') || opts.inputs){ + var ropts = { + inputs: opts.inputs || $this.find('input').toArray() + }; + $this.data('datepicker', (data = new DateRangePicker(this, $.extend(opts, ropts)))); + } + else { + $this.data('datepicker', (data = new Datepicker(this, opts))); + } + } + if (typeof option === 'string' && typeof data[option] === 'function'){ + internal_return = data[option].apply(data, args); + if (internal_return !== undefined) + return false; + } + }); + if (internal_return !== undefined) + return internal_return; + else + return this; + }; + $.fn.datepicker = datepickerPlugin; + + var defaults = $.fn.datepicker.defaults = { + autoclose: false, + beforeShowDay: $.noop, + beforeShowMonth: $.noop, + beforeShowYear: $.noop, + calendarWeeks: false, + clearBtn: false, + toggleActive: false, + daysOfWeekDisabled: [], + daysOfWeekHighlighted: [], + datesDisabled: [], + endDate: Infinity, + forceParse: true, + format: 'mm/dd/yyyy', + keyboardNavigation: true, + language: 'en', + minViewMode: 0, + maxViewMode: 2, + multidate: false, + multidateSeparator: ',', + orientation: "auto", + rtl: false, + startDate: -Infinity, + startView: 0, + todayBtn: false, + todayHighlight: false, + weekStart: 0, + disableTouchKeyboard: false, + enableOnReadonly: true, + container: 'body', + immediateUpdates: false, + title: '' + }; + var locale_opts = $.fn.datepicker.locale_opts = [ + 'format', + 'rtl', + 'weekStart' + ]; + $.fn.datepicker.Constructor = Datepicker; + var dates = $.fn.datepicker.dates = { + en: { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear", + titleFormat: "MM yyyy" + } + }; + + var DPGlobal = { + modes: [ + { + clsName: 'days', + navFnc: 'Month', + navStep: 1 + }, + { + clsName: 'months', + navFnc: 'FullYear', + navStep: 1 + }, + { + clsName: 'years', + navFnc: 'FullYear', + navStep: 10 + }], + isLeapYear: function(year){ + return (((year % 4 === 0) && (year % 100 !== 0)) || (year % 400 === 0)); + }, + getDaysInMonth: function(year, month){ + return [31, (DPGlobal.isLeapYear(year) ? 29 : 28), 31, 30, 31, 30, 31, 31, 30, 31, 30, 31][month]; + }, + validParts: /dd?|DD?|mm?|MM?|yy(?:yy)?/g, + nonpunctuation: /[^ -\/:-@\[\u3400-\u9fff-`{-~\t\n\r]+/g, + parseFormat: function(format){ + // IE treats \0 as a string end in inputs (truncating the value), + // so it's a bad format delimiter, anyway + var separators = format.replace(this.validParts, '\0').split('\0'), + parts = format.match(this.validParts); + if (!separators || !separators.length || !parts || parts.length === 0){ + throw new Error("Invalid date format."); + } + return {separators: separators, parts: parts}; + }, + parseDate: function(date, format, language){ + if (!date) + return undefined; + if (date instanceof Date) + return date; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + var part_re = /([\-+]\d+)([dmwy])/, + parts = date.match(/([\-+]\d+)([dmwy])/g), + part, dir, i; + if (/^[\-+]\d+[dmwy]([\s,]+[\-+]\d+[dmwy])*$/.test(date)){ + date = new Date(); + for (i=0; i < parts.length; i++){ + part = part_re.exec(parts[i]); + dir = parseInt(part[1]); + switch (part[2]){ + case 'd': + date.setUTCDate(date.getUTCDate() + dir); + break; + case 'm': + date = Datepicker.prototype.moveMonth.call(Datepicker.prototype, date, dir); + break; + case 'w': + date.setUTCDate(date.getUTCDate() + dir * 7); + break; + case 'y': + date = Datepicker.prototype.moveYear.call(Datepicker.prototype, date, dir); + break; + } + } + return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0); + } + parts = date && date.match(this.nonpunctuation) || []; + date = new Date(); + var parsed = {}, + setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], + setters_map = { + yyyy: function(d,v){ + return d.setUTCFullYear(v); + }, + yy: function(d,v){ + return d.setUTCFullYear(2000+v); + }, + m: function(d,v){ + if (isNaN(d)) + return d; + v -= 1; + while (v < 0) v += 12; + v %= 12; + d.setUTCMonth(v); + while (d.getUTCMonth() !== v) + d.setUTCDate(d.getUTCDate()-1); + return d; + }, + d: function(d,v){ + return d.setUTCDate(v); + } + }, + val, filtered; + setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; + setters_map['dd'] = setters_map['d']; + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + var fparts = format.parts.slice(); + // Remove noop parts + if (parts.length !== fparts.length){ + fparts = $(fparts).filter(function(i,p){ + return $.inArray(p, setters_order) !== -1; + }).toArray(); + } + // Process remainder + function match_part(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m.toLowerCase() === p.toLowerCase(); + } + if (parts.length === fparts.length){ + var cnt; + for (i=0, cnt = fparts.length; i < cnt; i++){ + val = parseInt(parts[i], 10); + part = fparts[i]; + if (isNaN(val)){ + switch (part){ + case 'MM': + filtered = $(dates[language].months).filter(match_part); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(match_part); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + } + } + parsed[part] = val; + } + var _date, s; + for (i=0; i < setters_order.length; i++){ + s = setters_order[i]; + if (s in parsed && !isNaN(parsed[s])){ + _date = new Date(date); + setters_map[s](_date, parsed[s]); + if (!isNaN(_date)) + date = _date; + } + } + } + return date; + }, + formatDate: function(date, format, language){ + if (!date) + return ''; + if (typeof format === 'string') + format = DPGlobal.parseFormat(format); + var val = { + d: date.getUTCDate(), + D: dates[language].daysShort[date.getUTCDay()], + DD: dates[language].days[date.getUTCDay()], + m: date.getUTCMonth() + 1, + M: dates[language].monthsShort[date.getUTCMonth()], + MM: dates[language].months[date.getUTCMonth()], + yy: date.getUTCFullYear().toString().substring(2), + yyyy: date.getUTCFullYear() + }; + val.dd = (val.d < 10 ? '0' : '') + val.d; + val.mm = (val.m < 10 ? '0' : '') + val.m; + date = []; + var seps = $.extend([], format.separators); + for (var i=0, cnt = format.parts.length; i <= cnt; i++){ + if (seps.length) + date.push(seps.shift()); + date.push(val[format.parts[i]]); + } + return date.join(''); + }, + headTemplate: ''+ + ''+ + ''+ + ''+ + ''+ + '«'+ + ''+ + '»'+ + ''+ + '', + contTemplate: '', + footTemplate: ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + ''+ + '' + }; + DPGlobal.template = '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + ''+ + DPGlobal.footTemplate+ + '
'+ + '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
'+ + '
'+ + '
'+ + ''+ + DPGlobal.headTemplate+ + DPGlobal.contTemplate+ + DPGlobal.footTemplate+ + '
'+ + '
'+ + '
'; + + $.fn.datepicker.DPGlobal = DPGlobal; + + + /* DATEPICKER NO CONFLICT + * =================== */ + + $.fn.datepicker.noConflict = function(){ + $.fn.datepicker = old; + return this; + }; + + /* DATEPICKER VERSION + * =================== */ + $.fn.datepicker.version = "1.4.1-dev"; + + /* DATEPICKER DATA-API + * ================== */ + + $(document).on( + 'focus.datepicker.data-api click.datepicker.data-api', + '[data-provide="datepicker"]', + function(e){ + var $this = $(this); + if ($this.data('datepicker')) + return; + e.preventDefault(); + // component click requires us to explicitly show it + datepickerPlugin.call($this, 'show'); + } + ); + $(function(){ + datepickerPlugin.call($('[data-provide="datepicker-inline"]')); + }); + +})); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ar.js b/public/js/datepicker-locales/bootstrap-datepicker.ar.js new file mode 100644 index 0000000..12ae182 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ar.js @@ -0,0 +1,15 @@ +/** + * Arabic translation for bootstrap-datepicker + * Mohammed Alshehri + */ +;(function($){ + $.fn.datepicker.dates['ar'] = { + days: ["الأحد", "الاثنين", "الثلاثاء", "الأربعاء", "الخميس", "الجمعة", "السبت", "الأحد"], + daysShort: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت", "أحد"], + daysMin: ["ح", "ن", "ث", "ع", "خ", "ج", "س", "ح"], + months: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + monthsShort: ["يناير", "فبراير", "مارس", "أبريل", "مايو", "يونيو", "يوليو", "أغسطس", "سبتمبر", "أكتوبر", "نوفمبر", "ديسمبر"], + today: "هذا اليوم", + rtl: true + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.az.js b/public/js/datepicker-locales/bootstrap-datepicker.az.js new file mode 100644 index 0000000..460bfd4 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.az.js @@ -0,0 +1,12 @@ +// Azerbaijani +;(function($){ + $.fn.datepicker.dates['az'] = { + days: ["Bazar", "Bazar ertəsi", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"], + daysShort: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], + daysMin: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."], + months: ["Yanvar", "Fevral", "Mart", "Aprel", "May", "İyun", "İyul", "Avqust", "Sentyabr", "Oktyabr", "Noyabr", "Dekabr"], + monthsShort: ["Yan", "Fev", "Mar", "Apr", "May", "İyun", "İyul", "Avq", "Sen", "Okt", "Noy", "Dek"], + today: "Bu gün", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.bg.js b/public/js/datepicker-locales/bootstrap-datepicker.bg.js new file mode 100644 index 0000000..3193e19 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.bg.js @@ -0,0 +1,14 @@ +/** + * Bulgarian translation for bootstrap-datepicker + * Apostol Apostolov + */ +;(function($){ + $.fn.datepicker.dates['bg'] = { + days: ["Неделя", "Понеделник", "Вторник", "Сряда", "Четвъртък", "Петък", "Събота"], + daysShort: ["Нед", "Пон", "Вто", "Сря", "Чет", "Пет", "Съб"], + daysMin: ["Н", "П", "В", "С", "Ч", "П", "С"], + months: ["Януари", "Февруари", "Март", "Април", "Май", "Юни", "Юли", "Август", "Септември", "Октомври", "Ноември", "Декември"], + monthsShort: ["Ян", "Фев", "Мар", "Апр", "Май", "Юни", "Юли", "Авг", "Сеп", "Окт", "Ное", "Дек"], + today: "днес" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.bs.js b/public/js/datepicker-locales/bootstrap-datepicker.bs.js new file mode 100644 index 0000000..4a76529 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.bs.js @@ -0,0 +1,15 @@ +/** + * Bosnian translation for bootstrap-datepicker + */ +;(function($){ + $.fn.datepicker.dates['bs'] = { + days: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Juni", "Juli", "August", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ca.js b/public/js/datepicker-locales/bootstrap-datepicker.ca.js new file mode 100644 index 0000000..d4e7e9a --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ca.js @@ -0,0 +1,17 @@ +/** + * Catalan translation for bootstrap-datepicker + * J. Garcia + */ +;(function($){ + $.fn.datepicker.dates['ca'] = { + days: ["Diumenge", "Dilluns", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"], + daysShort: ["Diu", "Dil", "Dmt", "Dmc", "Dij", "Div", "Dis"], + daysMin: ["dg", "dl", "dt", "dc", "dj", "dv", "ds"], + months: ["Gener", "Febrer", "Març", "Abril", "Maig", "Juny", "Juliol", "Agost", "Setembre", "Octubre", "Novembre", "Desembre"], + monthsShort: ["Gen", "Feb", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Oct", "Nov", "Des"], + today: "Avui", + clear: "Esborrar", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.cs.js b/public/js/datepicker-locales/bootstrap-datepicker.cs.js new file mode 100644 index 0000000..0fbe6c7 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.cs.js @@ -0,0 +1,18 @@ +/** + * Czech translation for bootstrap-datepicker + * Matěj Koubík + * Fixes by Michal Remiš + */ +;(function($){ + $.fn.datepicker.dates['cs'] = { + days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"], + daysShort: ["Ned", "Pon", "Úte", "Stř", "Čtv", "Pát", "Sob"], + daysMin: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So"], + months: ["Leden", "Únor", "Březen", "Duben", "Květen", "Červen", "Červenec", "Srpen", "Září", "Říjen", "Listopad", "Prosinec"], + monthsShort: ["Led", "Úno", "Bře", "Dub", "Kvě", "Čer", "Čnc", "Srp", "Zář", "Říj", "Lis", "Pro"], + today: "Dnes", + clear: "Vymazat", + weekStart: 1, + format: "d.m.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.cy.js b/public/js/datepicker-locales/bootstrap-datepicker.cy.js new file mode 100644 index 0000000..553933b --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.cy.js @@ -0,0 +1,14 @@ +/** + * Welsh translation for bootstrap-datepicker + * S. Morris + */ +;(function($){ + $.fn.datepicker.dates['cy'] = { + days: ["Sul", "Llun", "Mawrth", "Mercher", "Iau", "Gwener", "Sadwrn"], + daysShort: ["Sul", "Llu", "Maw", "Mer", "Iau", "Gwe", "Sad"], + daysMin: ["Su", "Ll", "Ma", "Me", "Ia", "Gwe", "Sa"], + months: ["Ionawr", "Chewfror", "Mawrth", "Ebrill", "Mai", "Mehefin", "Gorfennaf", "Awst", "Medi", "Hydref", "Tachwedd", "Rhagfyr"], + monthsShort: ["Ion", "Chw", "Maw", "Ebr", "Mai", "Meh", "Gor", "Aws", "Med", "Hyd", "Tach", "Rha"], + today: "Heddiw" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.da.js b/public/js/datepicker-locales/bootstrap-datepicker.da.js new file mode 100644 index 0000000..540dd6d --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.da.js @@ -0,0 +1,16 @@ +/** + * Danish translation for bootstrap-datepicker + * Christian Pedersen + * Ivan Mylyanyk + */ +;(function($){ + $.fn.datepicker.dates['da'] = { + days: ["søndag", "mandag", "tirsdag", "onsdag", "torsdag", "fredag", "lørdag"], + daysShort: ["søn", "man", "tir", "ons", "tor", "fre", "lør"], + daysMin: ["sø", "ma", "ti", "on", "to", "fr", "lø"], + months: ["januar", "februar", "marts", "april", "maj", "juni", "juli", "august", "september", "oktober", "november", "december"], + monthsShort: ["jan", "feb", "mar", "apr", "maj", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], + today: "I Dag", + clear: "Nulstil" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.de.js b/public/js/datepicker-locales/bootstrap-datepicker.de.js new file mode 100644 index 0000000..a04d8f1 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.de.js @@ -0,0 +1,17 @@ +/** + * German translation for bootstrap-datepicker + * Sam Zurcher + */ +;(function($){ + $.fn.datepicker.dates['de'] = { + days: ["Sonntag", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag"], + daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam"], + daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa"], + months: ["Januar", "Februar", "März", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Dezember"], + monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute", + clear: "Löschen", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.el.js b/public/js/datepicker-locales/bootstrap-datepicker.el.js new file mode 100644 index 0000000..5e00c7d --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.el.js @@ -0,0 +1,16 @@ +/** + * Greek translation for bootstrap-datepicker + */ +;(function($){ + $.fn.datepicker.dates['el'] = { + days: ["Κυριακή", "Δευτέρα", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"], + daysShort: ["Κυρ", "Δευ", "Τρι", "Τετ", "Πεμ", "Παρ", "Σαβ"], + daysMin: ["Κυ", "Δε", "Τρ", "Τε", "Πε", "Πα", "Σα"], + months: ["Ιανουάριος", "Φεβρουάριος", "Μάρτιος", "Απρίλιος", "Μάιος", "Ιούνιος", "Ιούλιος", "Αύγουστος", "Σεπτέμβριος", "Οκτώβριος", "Νοέμβριος", "Δεκέμβριος"], + monthsShort: ["Ιαν", "Φεβ", "Μαρ", "Απρ", "Μάι", "Ιουν", "Ιουλ", "Αυγ", "Σεπ", "Οκτ", "Νοε", "Δεκ"], + today: "Σήμερα", + clear: "Καθαρισμός", + weekStart: 1, + format: "d/m/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.en-GB.js b/public/js/datepicker-locales/bootstrap-datepicker.en-GB.js new file mode 100644 index 0000000..4e0e57d --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.en-GB.js @@ -0,0 +1,17 @@ +/** + * British English translation for bootstrap-datepicker + * Xavier Dutreilh + */ +;(function($){ + $.fn.datepicker.dates['en-GB'] = { + days: ["Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"], + daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"], + daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa"], + months: ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today", + clear: "Clear", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.eo.js b/public/js/datepicker-locales/bootstrap-datepicker.eo.js new file mode 100644 index 0000000..98e4988 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.eo.js @@ -0,0 +1,17 @@ +/** + * Esperanto translation for bootstrap-datepicker + * Emmanuel Debanne + */ +;(function($){ + $.fn.datepicker.dates['eo'] = { + days: ["dimanĉo", "lundo", "mardo", "merkredo", "ĵaŭdo", "vendredo", "sabato"], + daysShort: ["dim.", "lun.", "mar.", "mer.", "ĵaŭ.", "ven.", "sam."], + daysMin: ["d", "l", "ma", "me", "ĵ", "v", "s"], + months: ["januaro", "februaro", "marto", "aprilo", "majo", "junio", "julio", "aŭgusto", "septembro", "oktobro", "novembro", "decembro"], + monthsShort: ["jan.", "feb.", "mar.", "apr.", "majo", "jun.", "jul.", "aŭg.", "sep.", "okt.", "nov.", "dec."], + today: "Hodiaŭ", + clear: "Nuligi", + weekStart: 1, + format: "yyyy-mm-dd" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.es.js b/public/js/datepicker-locales/bootstrap-datepicker.es.js new file mode 100644 index 0000000..12b729c --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.es.js @@ -0,0 +1,17 @@ +/** + * Spanish translation for bootstrap-datepicker + * Bruno Bonamin + */ +;(function($){ + $.fn.datepicker.dates['es'] = { + days: ["Domingo", "Lunes", "Martes", "Miércoles", "Jueves", "Viernes", "Sábado"], + daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb"], + daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa"], + months: ["Enero", "Febrero", "Marzo", "Abril", "Mayo", "Junio", "Julio", "Agosto", "Septiembre", "Octubre", "Noviembre", "Diciembre"], + monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], + today: "Hoy", + clear: "Borrar", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.et.js b/public/js/datepicker-locales/bootstrap-datepicker.et.js new file mode 100644 index 0000000..7f7100d --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.et.js @@ -0,0 +1,18 @@ +/** + * Estonian translation for bootstrap-datepicker + * Ando Roots + * Fixes by Illimar Tambek < + */ +;(function($){ + $.fn.datepicker.dates['et'] = { + days: ["Pühapäev", "Esmaspäev", "Teisipäev", "Kolmapäev", "Neljapäev", "Reede", "Laupäev"], + daysShort: ["Pühap", "Esmasp", "Teisip", "Kolmap", "Neljap", "Reede", "Laup"], + daysMin: ["P", "E", "T", "K", "N", "R", "L"], + months: ["Jaanuar", "Veebruar", "Märts", "Aprill", "Mai", "Juuni", "Juuli", "August", "September", "Oktoober", "November", "Detsember"], + monthsShort: ["Jaan", "Veebr", "Märts", "Apr", "Mai", "Juuni", "Juuli", "Aug", "Sept", "Okt", "Nov", "Dets"], + today: "Täna", + clear: "Tühjenda", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.eu.js b/public/js/datepicker-locales/bootstrap-datepicker.eu.js new file mode 100644 index 0000000..e727cc3 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.eu.js @@ -0,0 +1,15 @@ +/** + * Basque translation for bootstrap-datepicker + * Arkaitz Etxeberria + */ +;(function($){ + $.fn.datepicker.dates['eu'] = { + days: ['Igandea', 'Astelehena', 'Asteartea', 'Asteazkena', 'Osteguna', 'Ostirala', 'Larunbata'], + daysShort: ['Ig', 'Al', 'Ar', 'Az', 'Og', 'Ol', 'Lr'], + daysMin: ['Ig', 'Al', 'Ar', 'Az', 'Og', 'Ol', 'Lr'], + months: ['Urtarrila', 'Otsaila', 'Martxoa', 'Apirila', 'Maiatza', 'Ekaina', 'Uztaila', 'Abuztua', 'Iraila', 'Urria', 'Azaroa', 'Abendua'], + monthsShort: ['Urt', 'Ots', 'Mar', 'Api', 'Mai', 'Eka', 'Uzt', 'Abu', 'Ira', 'Urr', 'Aza', 'Abe'], + today: "Gaur" + }; +}(jQuery)); + diff --git a/public/js/datepicker-locales/bootstrap-datepicker.fa.js b/public/js/datepicker-locales/bootstrap-datepicker.fa.js new file mode 100644 index 0000000..6503c85 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.fa.js @@ -0,0 +1,17 @@ +/** + * Persian translation for bootstrap-datepicker + * Mostafa Rokooie + */ +;(function($){ + $.fn.datepicker.dates['fa'] = { + days: ["یک‌شنبه", "دوشنبه", "سه‌شنبه", "چهارشنبه", "پنج‌شنبه", "جمعه", "شنبه", "یک‌شنبه"], + daysShort: ["یک", "دو", "سه", "چهار", "پنج", "جمعه", "شنبه", "یک"], + daysMin: ["ی", "د", "س", "چ", "پ", "ج", "ش", "ی"], + months: ["ژانویه", "فوریه", "مارس", "آوریل", "مه", "ژوئن", "ژوئیه", "اوت", "سپتامبر", "اکتبر", "نوامبر", "دسامبر"], + monthsShort: ["ژان", "فور", "مار", "آور", "مه", "ژون", "ژوی", "اوت", "سپت", "اکت", "نوا", "دسا"], + today: "امروز", + clear: "پاک کن", + weekStart: 1, + format: "yyyy/mm/dd" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.fi.js b/public/js/datepicker-locales/bootstrap-datepicker.fi.js new file mode 100644 index 0000000..220f6b2 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.fi.js @@ -0,0 +1,17 @@ +/** + * Finnish translation for bootstrap-datepicker + * Jaakko Salonen + */ +;(function($){ + $.fn.datepicker.dates['fi'] = { + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai"], + daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau"], + daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la"], + months: ["tammikuu", "helmikuu", "maaliskuu", "huhtikuu", "toukokuu", "kesäkuu", "heinäkuu", "elokuu", "syyskuu", "lokakuu", "marraskuu", "joulukuu"], + monthsShort: ["tam", "hel", "maa", "huh", "tou", "kes", "hei", "elo", "syy", "lok", "mar", "jou"], + today: "tänään", + clear: "Tyhjennä", + weekStart: 1, + format: "d.m.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.fo.js b/public/js/datepicker-locales/bootstrap-datepicker.fo.js new file mode 100644 index 0000000..eaada07 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.fo.js @@ -0,0 +1,15 @@ +/** + * Faroese translation for bootstrap-datepicker + * Theodor Johannesen + */ +;(function($){ + $.fn.datepicker.dates['fo'] = { + days: ["Sunnudagur", "Mánadagur", "Týsdagur", "Mikudagur", "Hósdagur", "Fríggjadagur", "Leygardagur"], + daysShort: ["Sun", "Mán", "Týs", "Mik", "Hós", "Frí", "Ley"], + daysMin: ["Su", "Má", "Tý", "Mi", "Hó", "Fr", "Le"], + months: ["Januar", "Februar", "Marts", "Apríl", "Mei", "Juni", "Juli", "August", "Septembur", "Oktobur", "Novembur", "Desembur"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "Í Dag", + clear: "Reinsa" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.fr-CH.js b/public/js/datepicker-locales/bootstrap-datepicker.fr-CH.js new file mode 100644 index 0000000..c1fb27b --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.fr-CH.js @@ -0,0 +1,20 @@ +/** + * French (Switzerland) translation for bootstrap-datepicker + * Christoph Jossi + * Based on + * French translation for bootstrap-datepicker + * Nico Mollet + */ +;(function($){ + $.fn.datepicker.dates['fr'] = { + days: ["Dimanche", "Lundi", "Mardi", "Mercredi", "Jeudi", "Vendredi", "Samedi"], + daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam"], + daysMin: ["D", "L", "Ma", "Me", "J", "V", "S"], + months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], + monthsShort: ["Jan", "Fév", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Déc"], + today: "Aujourd'hui", + clear: "Effacer", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.fr.js b/public/js/datepicker-locales/bootstrap-datepicker.fr.js new file mode 100644 index 0000000..ef430a0 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.fr.js @@ -0,0 +1,17 @@ +/** + * French translation for bootstrap-datepicker + * Nico Mollet + */ +;(function($){ + $.fn.datepicker.dates['fr'] = { + days: ["dimanche", "lundi", "mardi", "mercredi", "jeudi", "vendredi", "samedi"], + daysShort: ["dim.", "lun.", "mar.", "mer.", "jeu.", "ven.", "sam."], + daysMin: ["d", "l", "ma", "me", "j", "v", "s"], + months: ["janvier", "février", "mars", "avril", "mai", "juin", "juillet", "août", "septembre", "octobre", "novembre", "décembre"], + monthsShort: ["janv.", "févr.", "mars", "avril", "mai", "juin", "juil.", "août", "sept.", "oct.", "nov.", "déc."], + today: "Aujourd'hui", + clear: "Effacer", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.gl.js b/public/js/datepicker-locales/bootstrap-datepicker.gl.js new file mode 100644 index 0000000..592ce00 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.gl.js @@ -0,0 +1,13 @@ +;(function($){ + $.fn.datepicker.dates['gl'] = { + days: ["Domingo", "Luns", "Martes", "Mércores", "Xoves", "Venres", "Sábado"], + daysShort: ["Dom", "Lun", "Mar", "Mér", "Xov", "Ven", "Sáb"], + daysMin: ["Do", "Lu", "Ma", "Me", "Xo", "Ve", "Sa"], + months: ["Xaneiro", "Febreiro", "Marzo", "Abril", "Maio", "Xuño", "Xullo", "Agosto", "Setembro", "Outubro", "Novembro", "Decembro"], + monthsShort: ["Xan", "Feb", "Mar", "Abr", "Mai", "Xun", "Xul", "Ago", "Sep", "Out", "Nov", "Dec"], + today: "Hoxe", + clear: "Limpar", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.he.js b/public/js/datepicker-locales/bootstrap-datepicker.he.js new file mode 100644 index 0000000..2e17393 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.he.js @@ -0,0 +1,15 @@ +/** + * Hebrew translation for bootstrap-datepicker + * Sagie Maoz + */ +;(function($){ + $.fn.datepicker.dates['he'] = { + days: ["ראשון", "שני", "שלישי", "רביעי", "חמישי", "שישי", "שבת", "ראשון"], + daysShort: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + daysMin: ["א", "ב", "ג", "ד", "ה", "ו", "ש", "א"], + months: ["ינואר", "פברואר", "מרץ", "אפריל", "מאי", "יוני", "יולי", "אוגוסט", "ספטמבר", "אוקטובר", "נובמבר", "דצמבר"], + monthsShort: ["ינו", "פבר", "מרץ", "אפר", "מאי", "יונ", "יול", "אוג", "ספט", "אוק", "נוב", "דצמ"], + today: "היום", + rtl: true + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.hr.js b/public/js/datepicker-locales/bootstrap-datepicker.hr.js new file mode 100644 index 0000000..ec72952 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.hr.js @@ -0,0 +1,13 @@ +/** + * Croatian localisation + */ +;(function($){ + $.fn.datepicker.dates['hr'] = { + days: ["Nedjelja", "Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"], + daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su"], + months: ["Siječanj", "Veljača", "Ožujak", "Travanj", "Svibanj", "Lipanj", "Srpanj", "Kolovoz", "Rujan", "Listopad", "Studeni", "Prosinac"], + monthsShort: ["Sij", "Velj", "Ožu", "Tra", "Svi", "Lip", "Srp", "Kol", "Ruj", "Lis", "Stu", "Pro"], + today: "Danas" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.hu.js b/public/js/datepicker-locales/bootstrap-datepicker.hu.js new file mode 100644 index 0000000..1051973 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.hu.js @@ -0,0 +1,16 @@ +/** + * Hungarian translation for bootstrap-datepicker + * Sotus László + */ +;(function($){ + $.fn.datepicker.dates['hu'] = { + days: ["Vasárnap", "Hétfő", "Kedd", "Szerda", "Csütörtök", "Péntek", "Szombat"], + daysShort: ["Vas", "Hét", "Ked", "Sze", "Csü", "Pén", "Szo"], + daysMin: ["Va", "Hé", "Ke", "Sz", "Cs", "Pé", "Sz"], + months: ["Január", "Február", "Március", "Április", "Május", "Június", "Július", "Augusztus", "Szeptember", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Már", "Ápr", "Máj", "Jún", "Júl", "Aug", "Sze", "Okt", "Nov", "Dec"], + today: "Ma", + weekStart: 1, + format: "yyyy.mm.dd" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.hy.js b/public/js/datepicker-locales/bootstrap-datepicker.hy.js new file mode 100644 index 0000000..a923c05 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.hy.js @@ -0,0 +1,17 @@ +/** + * Armenian translation for bootstrap-datepicker + * Hayk Chamyan + */ +;(function($){ + $.fn.datepicker.dates['hy'] = { + days: ["Կիրակի", "Երկուշաբթի", "Երեքշաբթի", "Չորեքշաբթի", "Հինգշաբթի", "Ուրբաթ", "Շաբաթ"], + daysShort: ["Կիր", "Երկ", "Երք", "Չոր", "Հնգ", "Ուր", "Շաբ"], + daysMin: ["Կի", "Եկ", "Եք", "Չո", "Հի", "Ու", "Շա"], + months: ["Հունվար", "Փետրվար", "Մարտ", "Ապրիլ", "Մայիս", "Հունիս", "Հուլիս", "Օգոստոս", "Սեպտեմբեր", "Հոկտեմբեր", "Նոյեմբեր", "Դեկտեմբեր"], + monthsShort: ["Հնվ", "Փետ", "Մար", "Ապր", "Մայ", "Հուն", "Հուլ", "Օգս", "Սեպ", "Հոկ", "Նոյ", "Դեկ"], + today: "Այսօր", + clear: "Ջնջել", + format: "dd.mm.yyyy", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.id.js b/public/js/datepicker-locales/bootstrap-datepicker.id.js new file mode 100644 index 0000000..832045a --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.id.js @@ -0,0 +1,15 @@ +/** + * Bahasa translation for bootstrap-datepicker + * Azwar Akbar + */ +;(function($){ + $.fn.datepicker.dates['id'] = { + days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu"], + daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab"], + daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa"], + months: ["Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ags", "Sep", "Okt", "Nov", "Des"], + today: "Hari Ini", + clear: "Kosongkan" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.is.js b/public/js/datepicker-locales/bootstrap-datepicker.is.js new file mode 100644 index 0000000..2eef5e1 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.is.js @@ -0,0 +1,14 @@ +/** + * Icelandic translation for bootstrap-datepicker + * Hinrik Örn Sigurðsson + */ +;(function($){ + $.fn.datepicker.dates['is'] = { + days: ["Sunnudagur", "Mánudagur", "Þriðjudagur", "Miðvikudagur", "Fimmtudagur", "Föstudagur", "Laugardagur"], + daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau"], + daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La"], + months: ["Janúar", "Febrúar", "Mars", "Apríl", "Maí", "Júní", "Júlí", "Ágúst", "September", "Október", "Nóvember", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], + today: "Í Dag" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.it-CH.js b/public/js/datepicker-locales/bootstrap-datepicker.it-CH.js new file mode 100644 index 0000000..b4496aa --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.it-CH.js @@ -0,0 +1,20 @@ +/** + * Italian (Switzerland) translation for bootstrap-datepicker + * Christoph Jossi + * Based on + * Italian translation for bootstrap-datepicker + * Enrico Rubboli + */ +;(function($){ + $.fn.datepicker.dates['it'] = { + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + clear: "Cancella", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.it.js b/public/js/datepicker-locales/bootstrap-datepicker.it.js new file mode 100644 index 0000000..e97e2cd --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.it.js @@ -0,0 +1,17 @@ +/** + * Italian translation for bootstrap-datepicker + * Enrico Rubboli + */ +;(function($){ + $.fn.datepicker.dates['it'] = { + days: ["Domenica", "Lunedì", "Martedì", "Mercoledì", "Giovedì", "Venerdì", "Sabato"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa"], + months: ["Gennaio", "Febbraio", "Marzo", "Aprile", "Maggio", "Giugno", "Luglio", "Agosto", "Settembre", "Ottobre", "Novembre", "Dicembre"], + monthsShort: ["Gen", "Feb", "Mar", "Apr", "Mag", "Giu", "Lug", "Ago", "Set", "Ott", "Nov", "Dic"], + today: "Oggi", + clear: "Cancella", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ja.js b/public/js/datepicker-locales/bootstrap-datepicker.ja.js new file mode 100644 index 0000000..c64a614 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ja.js @@ -0,0 +1,17 @@ +/** + * Japanese translation for bootstrap-datepicker + * Norio Suzuki + */ +;(function($){ + $.fn.datepicker.dates['ja'] = { + days: ["日曜", "月曜", "火曜", "水曜", "木曜", "金曜", "土曜"], + daysShort: ["日", "月", "火", "水", "木", "金", "土"], + daysMin: ["日", "月", "火", "水", "木", "金", "土"], + months: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今日", + format: "yyyy/mm/dd", + titleFormat: "yyyy年mm月", + clear: "クリア" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ka.js b/public/js/datepicker-locales/bootstrap-datepicker.ka.js new file mode 100644 index 0000000..003f537 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ka.js @@ -0,0 +1,17 @@ +/** + * Georgian translation for bootstrap-datepicker + * Levan Melikishvili + */ +;(function($){ + $.fn.datepicker.dates['ka'] = { + days: ["კვირა", "ორშაბათი", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"], + daysShort: ["კვი", "ორშ", "სამ", "ოთხ", "ხუთ", "პარ", "შაბ"], + daysMin: ["კვ", "ორ", "სა", "ოთ", "ხუ", "პა", "შა"], + months: ["იანვარი", "თებერვალი", "მარტი", "აპრილი", "მაისი", "ივნისი", "ივლისი", "აგვისტო", "სექტემბერი", "ოქტომები", "ნოემბერი", "დეკემბერი"], + monthsShort: ["იან", "თებ", "მარ", "აპრ", "მაი", "ივნ", "ივლ", "აგვ", "სექ", "ოქტ", "ნოე", "დეკ"], + today: "დღეს", + clear: "გასუფთავება", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.kh.js b/public/js/datepicker-locales/bootstrap-datepicker.kh.js new file mode 100644 index 0000000..681ae87 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.kh.js @@ -0,0 +1,15 @@ +/** + * Cambodia (Khmer) translation for bootstrap-datepicker + * Lytay TOUCH + */ +;(function($){ + $.fn.datepicker.dates['kh'] = { + days: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍", "អាទិត្យ"], + daysShort: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អា.ទិ"], + daysMin: ["អា.ទិ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រ.ហ", "សុក្រ", "សៅរ៍", "អា.ទិ"], + months: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], + monthsShort: ["មករា", "កុម្ភះ", "មិនា", "មេសា", "ឧសភា", "មិថុនា", "កក្កដា", "សីហា", "កញ្ញា", "តុលា", "វិច្ឆិកា", "ធ្នូ"], + today: "ថ្ងៃនេះ", + clear: "សំអាត" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.kk.js b/public/js/datepicker-locales/bootstrap-datepicker.kk.js new file mode 100644 index 0000000..e301ecf --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.kk.js @@ -0,0 +1,15 @@ +/** + * Kazakh translation for bootstrap-datepicker + * Yerzhan Tolekov + */ +;(function($){ + $.fn.datepicker.dates['kk'] = { + days: ["Жексенбі", "Дүйсенбі", "Сейсенбі", "Сәрсенбі", "Бейсенбі", "Жұма", "Сенбі"], + daysShort: ["Жек", "Дүй", "Сей", "Сәр", "Бей", "Жұм", "Сен"], + daysMin: ["Жк", "Дс", "Сс", "Ср", "Бс", "Жм", "Сн"], + months: ["Қаңтар", "Ақпан", "Наурыз", "Сәуір", "Мамыр", "Маусым", "Шілде", "Тамыз", "Қыркүйек", "Қазан", "Қараша", "Желтоқсан"], + monthsShort: ["Қаң", "Ақп", "Нау", "Сәу", "Мамыр", "Мау", "Шлд", "Тмз", "Қыр", "Қзн", "Қар", "Жел"], + today: "Бүгін", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ko.js b/public/js/datepicker-locales/bootstrap-datepicker.ko.js new file mode 100644 index 0000000..d6e097d --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ko.js @@ -0,0 +1,18 @@ +/** + * Korean translation for bootstrap-datepicker + * This is a port from https://github.com/moment/moment/blob/develop/src/locale/ko.js + */ +;(function($){ + $.fn.datepicker.dates['ko'] = { + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], + daysShort: ["일", "월", "화", "수", "목", "금", "토"], + daysMin: ["일", "월", "화", "수", "목", "금", "토"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + today: "오늘", + clear: "투명", + format: "YYYY-MM-DD", + titleFormat: "yyyy년mm월", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.kr.js b/public/js/datepicker-locales/bootstrap-datepicker.kr.js new file mode 100644 index 0000000..3ccea64 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.kr.js @@ -0,0 +1,17 @@ +/** + * Korean translation for bootstrap-datepicker + * Gu Youn + * + * DEPRECATED: This language code 'kr' is deprecated and will be removed in 2.0. + * Korean support is now in a 'ko' translation file to follow the ISO language + * code - http://en.wikipedia.org/wiki/List_of_ISO_639-1_codes + */ +;(function($){ + $.fn.datepicker.dates['kr'] = { + days: ["일요일", "월요일", "화요일", "수요일", "목요일", "금요일", "토요일"], + daysShort: ["일", "월", "화", "수", "목", "금", "토"], + daysMin: ["일", "월", "화", "수", "목", "금", "토"], + months: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"], + monthsShort: ["1월", "2월", "3월", "4월", "5월", "6월", "7월", "8월", "9월", "10월", "11월", "12월"] + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.lt.js b/public/js/datepicker-locales/bootstrap-datepicker.lt.js new file mode 100644 index 0000000..41e378f --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.lt.js @@ -0,0 +1,16 @@ +/** + * Lithuanian translation for bootstrap-datepicker + * Šarūnas Gliebus + */ + +;(function($){ + $.fn.datepicker.dates['lt'] = { + days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis"], + daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š"], + daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št"], + months: ["Sausis", "Vasaris", "Kovas", "Balandis", "Gegužė", "Birželis", "Liepa", "Rugpjūtis", "Rugsėjis", "Spalis", "Lapkritis", "Gruodis"], + monthsShort: ["Sau", "Vas", "Kov", "Bal", "Geg", "Bir", "Lie", "Rugp", "Rugs", "Spa", "Lap", "Gru"], + today: "Šiandien", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.lv.js b/public/js/datepicker-locales/bootstrap-datepicker.lv.js new file mode 100644 index 0000000..8433f7f --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.lv.js @@ -0,0 +1,16 @@ +/** + * Latvian translation for bootstrap-datepicker + * Artis Avotins + */ + +;(function($){ + $.fn.datepicker.dates['lv'] = { + days: ["Svētdiena", "Pirmdiena", "Otrdiena", "Trešdiena", "Ceturtdiena", "Piektdiena", "Sestdiena"], + daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S"], + daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "Se"], + months: ["Janvāris", "Februāris", "Marts", "Aprīlis", "Maijs", "Jūnijs", "Jūlijs", "Augusts", "Septembris", "Oktobris", "Novembris", "Decembris"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jūn", "Jūl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Šodien", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.me.js b/public/js/datepicker-locales/bootstrap-datepicker.me.js new file mode 100644 index 0000000..e581325 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.me.js @@ -0,0 +1,17 @@ +/** + * Montenegrin translation for bootstrap-datepicker + * Miodrag Nikač + */ +;(function($){ + $.fn.datepicker.dates['me'] = { + days: ["Nedjelja","Ponedjeljak", "Utorak", "Srijeda", "Četvrtak", "Petak", "Subota"], + daysShort: ["Ned", "Pon", "Uto", "Sri", "Čet", "Pet", "Sub"], + daysMin: ["Ne", "Po", "Ut", "Sr", "Če", "Pe", "Su"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + clear: "Izbriši", + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.mk.js b/public/js/datepicker-locales/bootstrap-datepicker.mk.js new file mode 100644 index 0000000..2f041ba --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.mk.js @@ -0,0 +1,15 @@ +/** + * Macedonian translation for bootstrap-datepicker + * Marko Aleksic + */ +;(function($){ + $.fn.datepicker.dates['mk'] = { + days: ["Недела", "Понеделник", "Вторник", "Среда", "Четврток", "Петок", "Сабота"], + daysShort: ["Нед", "Пон", "Вто", "Сре", "Чет", "Пет", "Саб"], + daysMin: ["Не", "По", "Вт", "Ср", "Че", "Пе", "Са"], + months: ["Јануари", "Февруари", "Март", "Април", "Мај", "Јуни", "Јули", "Август", "Септември", "Октомври", "Ноември", "Декември"], + monthsShort: ["Јан", "Фев", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Ное", "Дек"], + today: "Денес", + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.mn.js b/public/js/datepicker-locales/bootstrap-datepicker.mn.js new file mode 100644 index 0000000..b3a66e8 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.mn.js @@ -0,0 +1,17 @@ +/** + * Mongolian translation for bootstrap-datepicker + * Andrey Torsunov + */ +;(function($){ + $.fn.datepicker.dates['mn'] = { + days: ["Ням", "Даваа", "Мягмар", "Лхагва", "Пүрэв", "Баасан", "Бямба"], + daysShort: ["Ням", "Дав", "Мяг", "Лха", "Пүр", "Баа", "Бям"], + daysMin: ["Ня", "Да", "Мя", "Лх", "Пү", "Ба", "Бя"], + months: ["Хулгана", "Үхэр", "Бар", "Туулай", "Луу", "Могой", "Морь", "Хонь", "Бич", "Тахиа", "Нохой", "Гахай"], + monthsShort: ["Хул", "Үхэ", "Бар", "Туу", "Луу", "Мог", "Мор", "Хон", "Бич", "Тах", "Нох", "Гах"], + today: "Өнөөдөр", + clear: "Тодорхой", + format: "yyyy.mm.dd", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ms.js b/public/js/datepicker-locales/bootstrap-datepicker.ms.js new file mode 100644 index 0000000..808462c --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ms.js @@ -0,0 +1,14 @@ +/** + * Malay translation for bootstrap-datepicker + * Ateman Faiz + */ +;(function($){ + $.fn.datepicker.dates['ms'] = { + days: ["Ahad", "Isnin", "Selasa", "Rabu", "Khamis", "Jumaat", "Sabtu"], + daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab"], + daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa"], + months: ["Januari", "Februari", "Mac", "April", "Mei", "Jun", "Julai", "Ogos", "September", "Oktober", "November", "Disember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mei", "Jun", "Jul", "Ogo", "Sep", "Okt", "Nov", "Dis"], + today: "Hari Ini" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.nb.js b/public/js/datepicker-locales/bootstrap-datepicker.nb.js new file mode 100644 index 0000000..9d138c1 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.nb.js @@ -0,0 +1,14 @@ +/** + * Norwegian (bokmål) translation for bootstrap-datepicker + * Fredrik Sundmyhr + */ +;(function($){ + $.fn.datepicker.dates['nb'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø"], + months: ["Januar", "Februar", "Mars", "April", "Mai", "Juni", "Juli", "August", "September", "Oktober", "November", "Desember"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Des"], + today: "I Dag" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.nl-BE.js b/public/js/datepicker-locales/bootstrap-datepicker.nl-BE.js new file mode 100644 index 0000000..5bd5c70 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.nl-BE.js @@ -0,0 +1,17 @@ +/** + * Belgium-Dutch translation for bootstrap-datepicker + * Julien Poulin + */ +;(function($){ + $.fn.datepicker.dates['nl-BE'] = { + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], + daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za"], + daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], + today: "Vandaag", + clear: "Leegmaken", + weekStart: 1, + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.nl.js b/public/js/datepicker-locales/bootstrap-datepicker.nl.js new file mode 100644 index 0000000..7926715 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.nl.js @@ -0,0 +1,17 @@ +/** + * Dutch translation for bootstrap-datepicker + * Reinier Goltstein + */ +;(function($){ + $.fn.datepicker.dates['nl'] = { + days: ["zondag", "maandag", "dinsdag", "woensdag", "donderdag", "vrijdag", "zaterdag"], + daysShort: ["zo", "ma", "di", "wo", "do", "vr", "za"], + daysMin: ["zo", "ma", "di", "wo", "do", "vr", "za"], + months: ["januari", "februari", "maart", "april", "mei", "juni", "juli", "augustus", "september", "oktober", "november", "december"], + monthsShort: ["jan", "feb", "mrt", "apr", "mei", "jun", "jul", "aug", "sep", "okt", "nov", "dec"], + today: "Vandaag", + clear: "Wissen", + weekStart: 1, + format: "dd-mm-yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.no.js b/public/js/datepicker-locales/bootstrap-datepicker.no.js new file mode 100644 index 0000000..75890bd --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.no.js @@ -0,0 +1,16 @@ +/** + * Norwegian translation for bootstrap-datepicker + **/ +;(function($){ + $.fn.datepicker.dates['no'] = { + days: ['Søndag', 'Mandag', 'Tirsdag', 'Onsdag', 'Torsdag', 'Fredag', 'Lørdag'], + daysShort: ['Søn', 'Man', 'Tir', 'Ons', 'Tor', 'Fre', 'Lør'], + daysMin: ['Sø', 'Ma', 'Ti', 'On', 'To', 'Fr', 'Lø'], + months: ['Januar', 'Februar', 'Mars', 'April', 'Mai', 'Juni', 'Juli', 'August', 'September', 'Oktober', 'November', 'Desember'], + monthsShort: ['Jan', 'Feb', 'Mar', 'Apr', 'Mai', 'Jun', 'Jul', 'Aug', 'Sep', 'Okt', 'Nov', 'Des'], + today: 'I dag', + clear: 'Nullstill', + weekStart: 1, + format: 'dd.mm.yyyy' + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.pl.js b/public/js/datepicker-locales/bootstrap-datepicker.pl.js new file mode 100644 index 0000000..74e02ff --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.pl.js @@ -0,0 +1,17 @@ +/** + * Polish translation for bootstrap-datepicker + * Robert + */ +;(function($){ + $.fn.datepicker.dates['pl'] = { + days: ["niedziela", "poniedziałek", "wtorek", "środa", "czwartek", "piątek", "sobota"], + daysShort: ["niedz.", "pon.", "wt.", "śr.", "czw.", "piąt.", "sob."], + daysMin: ["ndz.", "pn.", "wt.", "śr.", "czw.", "pt.", "sob."], + months: ["styczeń", "luty", "marzec", "kwiecień", "maj", "czerwiec", "lipiec", "sierpień", "wrzesień", "październik", "listopad", "grudzień"], + monthsShort: ["sty.", "lut.", "mar.", "kwi.", "maj", "cze.", "lip.", "sie.", "wrz.", "paź.", "lis.", "gru."], + today: "dzisiaj", + weekStart: 1, + clear: "wyczyść", + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.pt-BR.js b/public/js/datepicker-locales/bootstrap-datepicker.pt-BR.js new file mode 100644 index 0000000..4959e56 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.pt-BR.js @@ -0,0 +1,15 @@ +/** + * Brazilian translation for bootstrap-datepicker + * Cauan Cabral + */ +;(function($){ + $.fn.datepicker.dates['pt-BR'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.pt.js b/public/js/datepicker-locales/bootstrap-datepicker.pt.js new file mode 100644 index 0000000..e1501ba --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.pt.js @@ -0,0 +1,16 @@ +/** + * Portuguese translation for bootstrap-datepicker + * Original code: Cauan Cabral + * Tiago Melo + */ +;(function($){ + $.fn.datepicker.dates['pt'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa"], + months: ["Janeiro", "Fevereiro", "Março", "Abril", "Maio", "Junho", "Julho", "Agosto", "Setembro", "Outubro", "Novembro", "Dezembro"], + monthsShort: ["Jan", "Fev", "Mar", "Abr", "Mai", "Jun", "Jul", "Ago", "Set", "Out", "Nov", "Dez"], + today: "Hoje", + clear: "Limpar" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ro.js b/public/js/datepicker-locales/bootstrap-datepicker.ro.js new file mode 100644 index 0000000..bef2b9b --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ro.js @@ -0,0 +1,16 @@ +/** + * Romanian translation for bootstrap-datepicker + * Cristian Vasile + */ +;(function($){ + $.fn.datepicker.dates['ro'] = { + days: ["Duminică", "Luni", "Marţi", "Miercuri", "Joi", "Vineri", "Sâmbătă"], + daysShort: ["Dum", "Lun", "Mar", "Mie", "Joi", "Vin", "Sâm"], + daysMin: ["Du", "Lu", "Ma", "Mi", "Jo", "Vi", "Sâ"], + months: ["Ianuarie", "Februarie", "Martie", "Aprilie", "Mai", "Iunie", "Iulie", "August", "Septembrie", "Octombrie", "Noiembrie", "Decembrie"], + monthsShort: ["Ian", "Feb", "Mar", "Apr", "Mai", "Iun", "Iul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Astăzi", + clear: "Șterge", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.rs-latin.js b/public/js/datepicker-locales/bootstrap-datepicker.rs-latin.js new file mode 100644 index 0000000..d13766a --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.rs-latin.js @@ -0,0 +1,16 @@ +/** + * Serbian latin translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['rs-latin'] = { + days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.rs.js b/public/js/datepicker-locales/bootstrap-datepicker.rs.js new file mode 100644 index 0000000..ec22e5a --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.rs.js @@ -0,0 +1,16 @@ +/** + * Serbian cyrillic translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['rs'] = { + days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"], + daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб"], + daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су"], + months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], + today: "Данас", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.ru.js b/public/js/datepicker-locales/bootstrap-datepicker.ru.js new file mode 100644 index 0000000..f13947c --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.ru.js @@ -0,0 +1,17 @@ +/** + * Russian translation for bootstrap-datepicker + * Victor Taranenko + */ +;(function($){ + $.fn.datepicker.dates['ru'] = { + days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота"], + daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб"], + daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], + months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], + monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], + today: "Сегодня", + clear: "Очистить", + format: "dd.mm.yyyy", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sk.js b/public/js/datepicker-locales/bootstrap-datepicker.sk.js new file mode 100644 index 0000000..2327d99 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sk.js @@ -0,0 +1,15 @@ +/** + * Slovak translation for bootstrap-datepicker + * Marek Lichtner + * Fixes by Michal Remiš + */ +;(function($){ + $.fn.datepicker.dates["sk"] = { + days: ["Nedeľa", "Pondelok", "Utorok", "Streda", "Štvrtok", "Piatok", "Sobota"], + daysShort: ["Ned", "Pon", "Uto", "Str", "Štv", "Pia", "Sob"], + daysMin: ["Ne", "Po", "Ut", "St", "Št", "Pia", "So"], + months: ["Január", "Február", "Marec", "Apríl", "Máj", "Jún", "Júl", "August", "September", "Október", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Máj", "Jún", "Júl", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Dnes" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sl.js b/public/js/datepicker-locales/bootstrap-datepicker.sl.js new file mode 100644 index 0000000..1b30858 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sl.js @@ -0,0 +1,14 @@ +/** + * Slovene translation for bootstrap-datepicker + * Gregor Rudolf + */ +;(function($){ + $.fn.datepicker.dates['sl'] = { + days: ["Nedelja", "Ponedeljek", "Torek", "Sreda", "Četrtek", "Petek", "Sobota"], + daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob"], + daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So"], + months: ["Januar", "Februar", "Marec", "April", "Maj", "Junij", "Julij", "Avgust", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danes" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sq.js b/public/js/datepicker-locales/bootstrap-datepicker.sq.js new file mode 100644 index 0000000..11f9469 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sq.js @@ -0,0 +1,15 @@ +/** + * Albanian translation for bootstrap-datepicker + * Tomor Pupovci + */ +;(function($){ + $.fn.datepicker.dates['sq'] = { + days: ["E Diel", "E Hënë", "E Martē", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"], + daysShort: ["Die", "Hën", "Mar", "Mër", "Enj", "Pre", "Shtu"], + daysMin: ["Di", "Hë", "Ma", "Më", "En", "Pr", "Sht"], + months: ["Janar", "Shkurt", "Mars", "Prill", "Maj", "Qershor", "Korrik", "Gusht", "Shtator", "Tetor", "Nëntor", "Dhjetor"], + monthsShort: ["Jan", "Shk", "Mar", "Pri", "Maj", "Qer", "Korr", "Gu", "Sht", "Tet", "Nën", "Dhjet"], + today: "Sot" + }; +}(jQuery)); + diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sr-latin.js b/public/js/datepicker-locales/bootstrap-datepicker.sr-latin.js new file mode 100644 index 0000000..0587963 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sr-latin.js @@ -0,0 +1,16 @@ +/** + * Serbian latin translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['sr-latin'] = { + days: ["Nedelja","Ponedeljak", "Utorak", "Sreda", "Četvrtak", "Petak", "Subota"], + daysShort: ["Ned", "Pon", "Uto", "Sre", "Čet", "Pet", "Sub"], + daysMin: ["N", "Po", "U", "Sr", "Č", "Pe", "Su"], + months: ["Januar", "Februar", "Mart", "April", "Maj", "Jun", "Jul", "Avgust", "Septembar", "Oktobar", "Novembar", "Decembar"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Avg", "Sep", "Okt", "Nov", "Dec"], + today: "Danas", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sr.js b/public/js/datepicker-locales/bootstrap-datepicker.sr.js new file mode 100644 index 0000000..a0dcb83 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sr.js @@ -0,0 +1,16 @@ +/** + * Serbian cyrillic translation for bootstrap-datepicker + * Bojan Milosavlević + */ +;(function($){ + $.fn.datepicker.dates['sr'] = { + days: ["Недеља","Понедељак", "Уторак", "Среда", "Четвртак", "Петак", "Субота"], + daysShort: ["Нед", "Пон", "Уто", "Сре", "Чет", "Пет", "Суб"], + daysMin: ["Н", "По", "У", "Ср", "Ч", "Пе", "Су"], + months: ["Јануар", "Фебруар", "Март", "Април", "Мај", "Јун", "Јул", "Август", "Септембар", "Октобар", "Новембар", "Децембар"], + monthsShort: ["Јан", "Феб", "Мар", "Апр", "Мај", "Јун", "Јул", "Авг", "Сеп", "Окт", "Нов", "Дец"], + today: "Данас", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sv.js b/public/js/datepicker-locales/bootstrap-datepicker.sv.js new file mode 100644 index 0000000..947a2c2 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sv.js @@ -0,0 +1,17 @@ +/** + * Swedish translation for bootstrap-datepicker + * Patrik Ragnarsson + */ +;(function($){ + $.fn.datepicker.dates['sv'] = { + days: ["Söndag", "Måndag", "Tisdag", "Onsdag", "Torsdag", "Fredag", "Lördag"], + daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör"], + daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö"], + months: ["Januari", "Februari", "Mars", "April", "Maj", "Juni", "Juli", "Augusti", "September", "Oktober", "November", "December"], + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "Idag", + format: "yyyy-mm-dd", + weekStart: 1, + clear: "Rensa" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.sw.js b/public/js/datepicker-locales/bootstrap-datepicker.sw.js new file mode 100644 index 0000000..0e447b8 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.sw.js @@ -0,0 +1,15 @@ +/** + * Swahili translation for bootstrap-datepicker + * Edwin Mugendi + * Source: http://scriptsource.org/cms/scripts/page.php?item_id=entry_detail&uid=xnfaqyzcku + */ +;(function($){ + $.fn.datepicker.dates['sw'] = { + days: ["Jumapili", "Jumatatu", "Jumanne", "Jumatano", "Alhamisi", "Ijumaa", "Jumamosi"], + daysShort: ["J2", "J3", "J4", "J5", "Alh", "Ij", "J1"], + daysMin: ["2", "3", "4", "5", "A", "I", "1"], + months: ["Januari", "Februari", "Machi", "Aprili", "Mei", "Juni", "Julai", "Agosti", "Septemba", "Oktoba", "Novemba", "Desemba"], + monthsShort: ["Jan", "Feb", "Mac", "Apr", "Mei", "Jun", "Jul", "Ago", "Sep", "Okt", "Nov", "Des"], + today: "Leo" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.th.js b/public/js/datepicker-locales/bootstrap-datepicker.th.js new file mode 100644 index 0000000..562b063 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.th.js @@ -0,0 +1,14 @@ +/** + * Thai translation for bootstrap-datepicker + * Suchau Jiraprapot + */ +;(function($){ + $.fn.datepicker.dates['th'] = { + days: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัส", "ศุกร์", "เสาร์", "อาทิตย์"], + daysShort: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + daysMin: ["อา", "จ", "อ", "พ", "พฤ", "ศ", "ส", "อา"], + months: ["มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม"], + monthsShort: ["ม.ค.", "ก.พ.", "มี.ค.", "เม.ย.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค."], + today: "วันนี้" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.tr.js b/public/js/datepicker-locales/bootstrap-datepicker.tr.js new file mode 100644 index 0000000..0c8b0de --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.tr.js @@ -0,0 +1,18 @@ +/** + * Turkish translation for bootstrap-datepicker + * Serkan Algur + */ +;(function($){ + $.fn.datepicker.dates['tr'] = { + days: ["Pazar", "Pazartesi", "Salı", "Çarşamba", "Perşembe", "Cuma", "Cumartesi"], + daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts"], + daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct"], + months: ["Ocak", "Şubat", "Mart", "Nisan", "Mayıs", "Haziran", "Temmuz", "Ağustos", "Eylül", "Ekim", "Kasım", "Aralık"], + monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], + today: "Bugün", + clear: "Temizle", + weekStart: 1, + format: "dd.mm.yyyy" + }; +}(jQuery)); + diff --git a/public/js/datepicker-locales/bootstrap-datepicker.uk.js b/public/js/datepicker-locales/bootstrap-datepicker.uk.js new file mode 100644 index 0000000..1c4cf15 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.uk.js @@ -0,0 +1,17 @@ +/** + * Ukrainian translation for bootstrap-datepicker + * Igor Polynets + */ +;(function($){ + $.fn.datepicker.dates['uk'] = { + days: ["Неділя", "Понеділок", "Вівторок", "Середа", "Четвер", "П'ятниця", "Субота"], + daysShort: ["Нед", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб"], + daysMin: ["Нд", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб"], + months: ["Cічень", "Лютий", "Березень", "Квітень", "Травень", "Червень", "Липень", "Серпень", "Вересень", "Жовтень", "Листопад", "Грудень"], + monthsShort: ["Січ", "Лют", "Бер", "Кві", "Тра", "Чер", "Лип", "Сер", "Вер", "Жов", "Лис", "Гру"], + today: "Сьогодні", + clear: "Очистити", + format: "dd.mm.yyyy", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.vi.js b/public/js/datepicker-locales/bootstrap-datepicker.vi.js new file mode 100644 index 0000000..0e8afc1 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.vi.js @@ -0,0 +1,16 @@ +/** + * Vietnamese translation for bootstrap-datepicker + * An Vo + */ +;(function($){ + $.fn.datepicker.dates['vi'] = { + days: ["Chủ nhật", "Thứ hai", "Thứ ba", "Thứ tư", "Thứ năm", "Thứ sáu", "Thứ bảy"], + daysShort: ["CN", "Thứ 2", "Thứ 3", "Thứ 4", "Thứ 5", "Thứ 6", "Thứ 7"], + daysMin: ["CN", "T2", "T3", "T4", "T5", "T6", "T7"], + months: ["Tháng 1", "Tháng 2", "Tháng 3", "Tháng 4", "Tháng 5", "Tháng 6", "Tháng 7", "Tháng 8", "Tháng 9", "Tháng 10", "Tháng 11", "Tháng 12"], + monthsShort: ["Th1", "Th2", "Th3", "Th4", "Th5", "Th6", "Th7", "Th8", "Th9", "Th10", "Th11", "Th12"], + today: "Hôm nay", + clear: "Xóa", + format: "dd/mm/yyyy" + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.zh-CN.js b/public/js/datepicker-locales/bootstrap-datepicker.zh-CN.js new file mode 100644 index 0000000..b927d2c --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.zh-CN.js @@ -0,0 +1,18 @@ +/** + * Simplified Chinese translation for bootstrap-datepicker + * Yuan Cheung + */ +;(function($){ + $.fn.datepicker.dates['zh-CN'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六"], + daysMin: ["日", "一", "二", "三", "四", "五", "六"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今日", + clear: "清除", + format: "yyyy年mm月dd日", + titleFormat: "yyyy年mm月", + weekStart: 1 + }; +}(jQuery)); diff --git a/public/js/datepicker-locales/bootstrap-datepicker.zh-TW.js b/public/js/datepicker-locales/bootstrap-datepicker.zh-TW.js new file mode 100644 index 0000000..ff241b5 --- /dev/null +++ b/public/js/datepicker-locales/bootstrap-datepicker.zh-TW.js @@ -0,0 +1,18 @@ +/** + * Traditional Chinese translation for bootstrap-datepicker + * Rung-Sheng Jang + * FrankWu Fix more appropriate use of Traditional Chinese habit + */ +;(function($){ + $.fn.datepicker.dates['zh-TW'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"], + daysShort: ["週日", "週一", "週二", "週三", "週四", "週五", "週六"], + daysMin: ["日", "一", "二", "三", "四", "五", "六"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月", "12月"], + today: "今天", + format: "yyyy年mm月dd日", + weekStart: 1, + clear: "清除" + }; +}(jQuery));