From 25628abb9bbc6bd61971a4462f78b85c278384cc Mon Sep 17 00:00:00 2001 From: Antoine Nguyen Date: Wed, 28 Nov 2012 09:35:46 +0100 Subject: [PATCH] Datepicker update. see #351 --- modoboa/static/js/bootstrap-datepicker.js | 504 +++++++++++------- .../js/locales/bootstrap-datepicker.bg.js | 14 + .../js/locales/bootstrap-datepicker.cs.js | 14 + .../js/locales/bootstrap-datepicker.da.js | 14 + .../js/locales/bootstrap-datepicker.de.js | 3 +- .../js/locales/bootstrap-datepicker.es.js | 3 +- .../js/locales/bootstrap-datepicker.fi.js | 14 + .../js/locales/bootstrap-datepicker.fr.js | 3 +- .../js/locales/bootstrap-datepicker.id.js | 13 + .../js/locales/bootstrap-datepicker.is.js | 3 +- .../js/locales/bootstrap-datepicker.it.js | 14 + .../js/locales/bootstrap-datepicker.ja.js | 13 + .../js/locales/bootstrap-datepicker.kr.js | 13 + .../js/locales/bootstrap-datepicker.lt.js | 15 + .../js/locales/bootstrap-datepicker.lv.js | 16 + .../js/locales/bootstrap-datepicker.ms.js | 14 + .../js/locales/bootstrap-datepicker.nb.js | 14 + .../js/locales/bootstrap-datepicker.nl.js | 14 + .../js/locales/bootstrap-datepicker.pl.js | 14 + .../js/locales/bootstrap-datepicker.pt-BR.js | 14 + .../js/locales/bootstrap-datepicker.pt.js | 14 + .../js/locales/bootstrap-datepicker.ru.js | 14 + .../js/locales/bootstrap-datepicker.sl.js | 14 + .../js/locales/bootstrap-datepicker.sv.js | 3 +- .../js/locales/bootstrap-datepicker.th.js | 14 + .../js/locales/bootstrap-datepicker.tr.js | 3 +- .../js/locales/bootstrap-datepicker.zh-CN.js | 14 + .../js/locales/bootstrap-datepicker.zh-TW.js | 13 + 28 files changed, 628 insertions(+), 187 deletions(-) create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.bg.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.cs.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.da.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.fi.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.id.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.it.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.ja.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.kr.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.lt.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.lv.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.ms.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.nb.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.nl.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.pl.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.pt-BR.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.pt.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.ru.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.sl.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.th.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.zh-CN.js create mode 100644 modoboa/static/js/locales/bootstrap-datepicker.zh-TW.js diff --git a/modoboa/static/js/bootstrap-datepicker.js b/modoboa/static/js/bootstrap-datepicker.js index 0ce6028a5..e458a8b9a 100644 --- a/modoboa/static/js/bootstrap-datepicker.js +++ b/modoboa/static/js/bootstrap-datepicker.js @@ -20,9 +20,19 @@ !function( $ ) { + function UTCDate(){ + return new Date(Date.UTC.apply(Date, arguments)); + } + function UTCToday(){ + var today = new Date(); + return UTCDate(today.getUTCFullYear(), today.getUTCMonth(), today.getUTCDate()); + } + // Picker object - var Datepicker = function(element, options){ + var Datepicker = function(element, options) { + var that = this; + this.element = $(element); this.language = options.language||this.element.data('date-language')||"en"; this.language = this.language in dates ? this.language : "en"; @@ -30,33 +40,30 @@ this.picker = $(DPGlobal.template) .appendTo('body') .on({ - click: $.proxy(this.click, this), - mousedown: $.proxy(this.mousedown, this) + click: $.proxy(this.click, this) }); this.isInput = this.element.is('input'); this.component = this.element.is('.date') ? this.element.find('.add-on') : false; + this.hasInput = this.component && this.element.find('input').length; if(this.component && this.component.length === 0) this.component = false; - if (this.isInput) { - this.element.on({ - focus: $.proxy(this.show, this), - blur: $.proxy(this._hide, this), - keyup: $.proxy(this.update, this), - keydown: $.proxy(this.keydown, this) - }); - } else { - if (this.component){ - this.component.on('click', $.proxy(this.show, this)); - var element = this.element.find('input'); - element.on({ - blur: $.proxy(this._hide, this) - }) - } else { - this.element.on('click', $.proxy(this.show, this)); - } + this._attachEvents(); + + this.forceParse = true; + if ('forceParse' in options) { + this.forceParse = options.forceParse; + } else if ('dateForceParse' in this.element.data()) { + this.forceParse = this.element.data('date-force-parse'); } + $(document).on('mousedown', function (e) { + // Clicked outside the datepicker, hide it + if ($(e.target).closest('.datepicker').length == 0) { + that.hide(); + } + }); + this.autoclose = false; if ('autoclose' in options) { this.autoclose = options.autoclose; @@ -64,7 +71,14 @@ this.autoclose = this.element.data('date-autoclose'); } - switch(options.startView){ + this.keyboardNavigation = true; + if ('keyboardNavigation' in options) { + this.keyboardNavigation = options.keyboardNavigation; + } else if ('dateKeyboardNavigation' in this.element.data()) { + this.keyboardNavigation = this.element.data('date-keyboard-navigation'); + } + + switch(options.startView || this.element.data('date-start-view')){ case 2: case 'decade': this.viewMode = this.startViewMode = 2; @@ -80,6 +94,9 @@ break; } + this.todayBtn = (options.todayBtn||this.element.data('date-today-btn')||false); + this.todayHighlight = (options.todayHighlight||this.element.data('date-today-highlight')||false); + this.weekStart = ((options.weekStart||this.element.data('date-weekstart')||dates[this.language].weekStart||0) % 7); this.weekEnd = ((this.weekStart + 6) % 7); this.startDate = -Infinity; @@ -95,49 +112,69 @@ Datepicker.prototype = { constructor: Datepicker, + _events: [], + _attachEvents: function(){ + this._detachEvents(); + if (this.isInput) { + this._events = [ + [this.element, { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this) + }] + ]; + } + else if (this.component && this.hasInput){ + this._events = [ + // For components that are not readonly, allow keyboard nav + [this.element.find('input'), { + focus: $.proxy(this.show, this), + keyup: $.proxy(this.update, this), + keydown: $.proxy(this.keydown, this), + }], + [this.component, { + click: $.proxy(this.show, this) + }] + ]; + } + else { + this._events = [ + [this.element, { + click: $.proxy(this.show, this) + }] + ]; + } + for (var i=0, el, ev; i'); } clsName = ''; - if (prevMonth.getFullYear() < year || (prevMonth.getFullYear() == year && prevMonth.getMonth() < month)) { + if (prevMonth.getUTCFullYear() < year || (prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() < month)) { clsName += ' old'; - } else if (prevMonth.getFullYear() > year || (prevMonth.getFullYear() == year && prevMonth.getMonth() > month)) { + } else if (prevMonth.getUTCFullYear() > year || (prevMonth.getUTCFullYear() == year && prevMonth.getUTCMonth() > month)) { clsName += ' new'; } + // Compare internal UTC date with local today, not UTC today + if (this.todayHighlight && + prevMonth.getUTCFullYear() == today.getFullYear() && + prevMonth.getUTCMonth() == today.getMonth() && + prevMonth.getUTCDate() == today.getDate()) { + clsName += ' today'; + } if (prevMonth.valueOf() == currentDate) { clsName += ' active'; } if (prevMonth.valueOf() < this.startDate || prevMonth.valueOf() > this.endDate) { clsName += ' disabled'; } - html.push(''+prevMonth.getDate() + ''); - if (prevMonth.getDay() == this.weekEnd) { + html.push(''+prevMonth.getUTCDate() + ''); + if (prevMonth.getUTCDay() == this.weekEnd) { html.push(''); } - prevMonth.setDate(prevMonth.getDate()+1); + prevMonth.setUTCDate(prevMonth.getUTCDate()+1); } this.picker.find('.datepicker-days tbody').empty().append(html.join('')); - var currentYear = this.date.getFullYear(); + var currentYear = this.date.getUTCFullYear(); var months = this.picker.find('.datepicker-months') .find('th:eq(1)') @@ -279,7 +362,7 @@ .end() .find('span').removeClass('active'); if (currentYear == year) { - months.eq(this.date.getMonth()).addClass('active'); + months.eq(this.date.getUTCMonth()).addClass('active'); } if (year < startYear || year > endYear) { months.addClass('disabled'); @@ -308,16 +391,16 @@ updateNavArrows: function() { var d = new Date(this.viewDate), - year = d.getFullYear(), - month = d.getMonth(); + year = d.getUTCFullYear(), + month = d.getUTCMonth(); switch (this.viewMode) { case 0: - if (this.startDate !== -Infinity && year <= this.startDate.getFullYear() && month <= this.startDate.getMonth()) { + if (this.startDate !== -Infinity && year <= this.startDate.getUTCFullYear() && month <= this.startDate.getUTCMonth()) { this.picker.find('.prev').css({visibility: 'hidden'}); } else { this.picker.find('.prev').css({visibility: 'visible'}); } - if (this.endDate !== Infinity && year >= this.endDate.getFullYear() && month >= this.endDate.getMonth()) { + if (this.endDate !== Infinity && year >= this.endDate.getUTCFullYear() && month >= this.endDate.getUTCMonth()) { this.picker.find('.next').css({visibility: 'hidden'}); } else { this.picker.find('.next').css({visibility: 'visible'}); @@ -325,12 +408,12 @@ break; case 1: case 2: - if (this.startDate !== -Infinity && year <= this.startDate.getFullYear()) { + if (this.startDate !== -Infinity && year <= this.startDate.getUTCFullYear()) { this.picker.find('.prev').css({visibility: 'hidden'}); } else { this.picker.find('.prev').css({visibility: 'visible'}); } - if (this.endDate !== Infinity && year >= this.endDate.getFullYear()) { + if (this.endDate !== Infinity && year >= this.endDate.getUTCFullYear()) { this.picker.find('.next').css({visibility: 'hidden'}); } else { this.picker.find('.next').css({visibility: 'visible'}); @@ -364,16 +447,36 @@ } this.fill(); break; + case 'today': + var date = new Date(); + date.setUTCHours(0); + date.setUTCMinutes(0); + date.setUTCSeconds(0); + date.setUTCMilliseconds(0); + + this.showMode(-2); + var which = this.todayBtn == 'linked' ? null : 'view'; + this._setDate(date, which); + break; } break; case 'span': if (!target.is('.disabled')) { + this.viewDate.setUTCDate(1); if (target.is('.month')) { var month = target.parent().find('span').index(target); - this.viewDate.setMonth(month); + this.viewDate.setUTCMonth(month); + this.element.trigger({ + type: 'changeMonth', + date: this.viewDate + }); } else { var year = parseInt(target.text(), 10)||0; - this.viewDate.setFullYear(year); + this.viewDate.setUTCFullYear(year); + this.element.trigger({ + type: 'changeYear', + date: this.viewDate + }); } this.showMode(-1); this.fill(); @@ -382,8 +485,8 @@ case 'td': if (target.is('.day') && !target.is('.disabled')){ var day = parseInt(target.text(), 10)||1; - var year = this.viewDate.getFullYear(), - month = this.viewDate.getMonth(); + var year = this.viewDate.getUTCFullYear(), + month = this.viewDate.getUTCMonth(); if (target.is('.old')) { if (month == 0) { month = 11; @@ -399,42 +502,43 @@ month += 1; } } - this.date = new Date(year, month, day,0,0,0,0); - this.viewDate = new Date(year, month, day,0,0,0,0); - this.fill(); - this.setValue(); - this.element.trigger({ - type: 'changeDate', - date: this.date - }); - var element; - if (this.isInput) { - element = this.element; - } else if (this.component){ - element = this.element.find('input'); - } - if (element) { - element.change(); - if (this.autoclose) { - element.blur(); - } - } + this._setDate(UTCDate(year, month, day,0,0,0,0)); } break; } } }, - mousedown: function(e){ - e.stopPropagation(); - e.preventDefault(); + _setDate: function(date, which){ + if (!which || which == 'date') + this.date = date; + if (!which || which == 'view') + this.viewDate = date; + this.fill(); + this.setValue(); + this.element.trigger({ + type: 'changeDate', + date: this.date + }); + var element; + if (this.isInput) { + element = this.element; + } else if (this.component){ + element = this.element.find('input'); + } + if (element) { + element.change(); + if (this.autoclose) { + this.hide(); + } + } }, moveMonth: function(date, dir){ if (!dir) return date; var new_date = new Date(date.valueOf()), - day = new_date.getDate(), - month = new_date.getMonth(), + day = new_date.getUTCDate(), + month = new_date.getUTCMonth(), mag = Math.abs(dir), new_month, test; dir = dir > 0 ? 1 : -1; @@ -442,12 +546,12 @@ 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.getMonth() == month; } + ? 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.getMonth() != new_month; }; + : function(){ return new_date.getUTCMonth() != new_month; }; new_month = month + dir; - new_date.setMonth(new_month); + 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; @@ -457,15 +561,15 @@ // ...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.getMonth(); - new_date.setDate(day); - test = function(){ return new_month != new_date.getMonth(); }; + 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.setDate(--day); - new_date.setMonth(new_month); + new_date.setUTCDate(--day); + new_date.setUTCMonth(new_month); } return new_date; }, @@ -474,6 +578,10 @@ return this.moveMonth(date, dir*12); }, + dateWithinRange: function(date){ + return date >= this.startDate && date <= this.endDate; + }, + keydown: function(e){ if (this.picker.is(':not(:visible)')){ if (e.keyCode == 27) // allow escape to hide and re-show picker @@ -481,7 +589,8 @@ return; } var dateChanged = false, - dir, day, month; + dir, day, month, + newDate, newViewDate; switch(e.keyCode){ case 27: // escape this.hide(); @@ -489,44 +598,61 @@ break; case 37: // left case 39: // right + if (!this.keyboardNavigation) break; dir = e.keyCode == 37 ? -1 : 1; if (e.ctrlKey){ - this.date = this.moveYear(this.date, dir); - this.viewDate = this.moveYear(this.viewDate, dir); + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); } else if (e.shiftKey){ - this.date = this.moveMonth(this.date, dir); - this.viewDate = this.moveMonth(this.viewDate, dir); + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); } else { - this.date.setDate(this.date.getDate() + dir); - this.viewDate.setDate(this.viewDate.getDate() + dir); + newDate = new Date(this.date); + newDate.setUTCDate(this.date.getUTCDate() + dir); + newViewDate = new Date(this.viewDate); + newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir); + } + if (this.dateWithinRange(newDate)){ + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; } - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; break; case 38: // up case 40: // down + if (!this.keyboardNavigation) break; dir = e.keyCode == 38 ? -1 : 1; if (e.ctrlKey){ - this.date = this.moveYear(this.date, dir); - this.viewDate = this.moveYear(this.viewDate, dir); + newDate = this.moveYear(this.date, dir); + newViewDate = this.moveYear(this.viewDate, dir); } else if (e.shiftKey){ - this.date = this.moveMonth(this.date, dir); - this.viewDate = this.moveMonth(this.viewDate, dir); + newDate = this.moveMonth(this.date, dir); + newViewDate = this.moveMonth(this.viewDate, dir); } else { - this.date.setDate(this.date.getDate() + dir * 7); - this.viewDate.setDate(this.viewDate.getDate() + dir * 7); + newDate = new Date(this.date); + newDate.setUTCDate(this.date.getUTCDate() + dir * 7); + newViewDate = new Date(this.viewDate); + newViewDate.setUTCDate(this.viewDate.getUTCDate() + dir * 7); + } + if (this.dateWithinRange(newDate)){ + this.date = newDate; + this.viewDate = newViewDate; + this.setValue(); + this.update(); + e.preventDefault(); + dateChanged = true; } - this.setValue(); - this.update(); - e.preventDefault(); - dateChanged = true; break; case 13: // enter this.hide(); e.preventDefault(); break; + case 9: // tab + this.hide(); + break; } if (dateChanged){ this.element.trigger({ @@ -564,7 +690,9 @@ if (!data) { $this.data('datepicker', (data = new Datepicker(this, $.extend({}, $.fn.datepicker.defaults,options)))); } - if (typeof option == 'string') data[option].apply(data, args); + if (typeof option == 'string' && typeof data[option] == 'function') { + data[option].apply(data, args); + } }); }; @@ -577,7 +705,8 @@ daysShort: ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun"], daysMin: ["Su", "Mo", "Tu", "We", "Th", "Fr", "Sa", "Su"], 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"] + monthsShort: ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"], + today: "Today" } } @@ -628,62 +757,72 @@ dir = parseInt(part[1]); switch(part[2]){ case 'd': - date.setDate(date.getDate() + dir); + date.setUTCDate(date.getUTCDate() + dir); break; case 'm': date = Datepicker.prototype.moveMonth.call(Datepicker.prototype, date, dir); break; case 'w': - date.setDate(date.getDate() + dir * 7); + date.setUTCDate(date.getUTCDate() + dir * 7); break; case 'y': date = Datepicker.prototype.moveYear.call(Datepicker.prototype, date, dir); break; } } - return new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + return UTCDate(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate(), 0, 0, 0); } - var parts = date ? date.match(this.nonpunctuation) : [], + var parts = date && date.match(this.nonpunctuation) || [], date = new Date(), parsed = {}, setters_order = ['yyyy', 'yy', 'M', 'MM', 'm', 'mm', 'd', 'dd'], setters_map = { - yyyy: function(d,v){ return d.setFullYear(v); }, - yy: function(d,v){ return d.setFullYear(2000+v); }, - m: function(d,v){ return d.setMonth(v-1); }, - d: function(d,v){ return d.setDate(v); }, + yyyy: function(d,v){ return d.setUTCFullYear(v); }, + yy: function(d,v){ return d.setUTCFullYear(2000+v); }, + m: function(d,v){ + 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, part; setters_map['M'] = setters_map['MM'] = setters_map['mm'] = setters_map['m']; setters_map['dd'] = setters_map['d']; - date = new Date(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); + date = UTCDate(date.getFullYear(), date.getMonth(), date.getDate(), 0, 0, 0); if (parts.length == format.parts.length) { for (var i=0, cnt = format.parts.length; i < cnt; i++) { - val = parseInt(parts[i], 10)||1; + val = parseInt(parts[i], 10); part = format.parts[i]; - switch(part) { - case 'MM': - filtered = $(dates[language].months).filter(function(){ - var m = this.slice(0, parts[i].length), - p = parts[i].slice(0, m.length); - return m == p; - }); - val = $.inArray(filtered[0], dates[language].months) + 1; - break; - case 'M': - filtered = $(dates[language].monthsShort).filter(function(){ - var m = this.slice(0, parts[i].length), - p = parts[i].slice(0, m.length); - return m == p; - }); - val = $.inArray(filtered[0], dates[language].monthsShort) + 1; - break; + if (isNaN(val)) { + switch(part) { + case 'MM': + filtered = $(dates[language].months).filter(function(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m == p; + }); + val = $.inArray(filtered[0], dates[language].months) + 1; + break; + case 'M': + filtered = $(dates[language].monthsShort).filter(function(){ + var m = this.slice(0, parts[i].length), + p = parts[i].slice(0, m.length); + return m == p; + }); + val = $.inArray(filtered[0], dates[language].monthsShort) + 1; + break; + } } parsed[part] = val; } for (var i=0, s; i'+ ''+ '', - contTemplate: '' + contTemplate: '', + footTemplate: '' }; DPGlobal.template = ''; - -}( window.jQuery ) +}( window.jQuery ); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.bg.js b/modoboa/static/js/locales/bootstrap-datepicker.bg.js new file mode 100644 index 000000000..6837afd9c --- /dev/null +++ b/modoboa/static/js/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/modoboa/static/js/locales/bootstrap-datepicker.cs.js b/modoboa/static/js/locales/bootstrap-datepicker.cs.js new file mode 100644 index 000000000..d6b0d6ce1 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.cs.js @@ -0,0 +1,14 @@ +/** + * Czech translation for bootstrap-datepicker + * Matěj Koubík + */ +;(function($){ + $.fn.datepicker.dates['cs'] = { + days: ["Neděle", "Pondělí", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota", "Neděle"], + daysShort: ["Ne", "Po", "Út", "St", "Čt", "Pá", "So", "Ne"], + daysMin: ["N", "P", "Ú", "St", "Č", "P", "So", "N"], + 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" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.da.js b/modoboa/static/js/locales/bootstrap-datepicker.da.js new file mode 100644 index 000000000..6307be5f6 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.da.js @@ -0,0 +1,14 @@ +/** + * Danish translation for bootstrap-datepicker + * Christian Pedersen + */ +;(function($){ + $.fn.datepicker.dates['da'] = { + days: ["Søndag", "Mandag", "Tirsdag", "Onsdag", "Torsdag", "Fredag", "Lørdag", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + 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" + }; +}(jQuery)); \ No newline at end of file diff --git a/modoboa/static/js/locales/bootstrap-datepicker.de.js b/modoboa/static/js/locales/bootstrap-datepicker.de.js index 4bf9d8e8c..ca0c33f8b 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.de.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.de.js @@ -8,6 +8,7 @@ daysShort: ["Son", "Mon", "Die", "Mit", "Don", "Fre", "Sam", "Son"], daysMin: ["So", "Mo", "Di", "Mi", "Do", "Fr", "Sa", "So"], 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"] + monthsShort: ["Jan", "Feb", "Mär", "Apr", "Mai", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dez"], + today: "Heute" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.es.js b/modoboa/static/js/locales/bootstrap-datepicker.es.js index 47e727d12..72176902d 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.es.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.es.js @@ -8,6 +8,7 @@ daysShort: ["Dom", "Lun", "Mar", "Mié", "Jue", "Vie", "Sáb", "Dom"], daysMin: ["Do", "Lu", "Ma", "Mi", "Ju", "Vi", "Sa", "Do"], 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"] + monthsShort: ["Ene", "Feb", "Mar", "Abr", "May", "Jun", "Jul", "Ago", "Sep", "Oct", "Nov", "Dic"], + today: "Hoy" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.fi.js b/modoboa/static/js/locales/bootstrap-datepicker.fi.js new file mode 100644 index 000000000..e13e6b932 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.fi.js @@ -0,0 +1,14 @@ +/** + * Finnish translation for bootstrap-datepicker + * Jaakko Salonen + */ +;(function($){ + $.fn.datepicker.dates['fi'] = { + days: ["sunnuntai", "maanantai", "tiistai", "keskiviikko", "torstai", "perjantai", "lauantai", "sunnuntai"], + daysShort: ["sun", "maa", "tii", "kes", "tor", "per", "lau", "sun"], + daysMin: ["su", "ma", "ti", "ke", "to", "pe", "la", "su"], + 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" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.fr.js b/modoboa/static/js/locales/bootstrap-datepicker.fr.js index 8c796815f..9997340ce 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.fr.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.fr.js @@ -8,6 +8,7 @@ daysShort: ["Dim", "Lun", "Mar", "Mer", "Jeu", "Ven", "Sam", "Dim"], daysMin: ["D", "L", "Ma", "Me", "J", "V", "S", "D"], months: ["Janvier", "Février", "Mars", "Avril", "Mai", "Juin", "Juillet", "Août", "Septembre", "Octobre", "Novembre", "Décembre"], - monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"] + monthsShort: ["Jan", "Fev", "Mar", "Avr", "Mai", "Jui", "Jul", "Aou", "Sep", "Oct", "Nov", "Dec"], + today: "Aujourd'hui" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.id.js b/modoboa/static/js/locales/bootstrap-datepicker.id.js new file mode 100644 index 000000000..d48aa4813 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.id.js @@ -0,0 +1,13 @@ +/** + * Bahasa translation for bootstrap-datepicker + * Azwar Akbar + */ +;(function($){ + $.fn.datepicker.dates['id'] = { + days: ["Minggu", "Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"], + daysShort: ["Mgu", "Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Mgu"], + daysMin: ["Mg", "Sn", "Sl", "Ra", "Ka", "Ju", "Sa", "Mg"], + 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"] + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.is.js b/modoboa/static/js/locales/bootstrap-datepicker.is.js index b17cc4e92..0e57a9168 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.is.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.is.js @@ -8,6 +8,7 @@ daysShort: ["Sun", "Mán", "Þri", "Mið", "Fim", "Fös", "Lau", "Sun"], daysMin: ["Su", "Má", "Þr", "Mi", "Fi", "Fö", "La", "Su"], 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"] + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maí", "Jún", "Júl", "Ágú", "Sep", "Okt", "Nóv", "Des"], + today: "Í Dag" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.it.js b/modoboa/static/js/locales/bootstrap-datepicker.it.js new file mode 100644 index 000000000..f15357448 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.it.js @@ -0,0 +1,14 @@ +/** + * Italian translation for bootstrap-datepicker + * Enrico Rubboli + */ +;(function($){ + $.fn.datepicker.dates['it'] = { + days: ["Domenica", "Lunedi", "Martedi", "Mercoledi", "Giovedi", "Venerdi", "Sabato", "Domenica"], + daysShort: ["Dom", "Lun", "Mar", "Mer", "Gio", "Ven", "Sab", "Dom"], + daysMin: ["Do", "Lu", "Ma", "Me", "Gi", "Ve", "Sa", "Do"], + 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" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.ja.js b/modoboa/static/js/locales/bootstrap-datepicker.ja.js new file mode 100644 index 000000000..cf0ea2001 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.ja.js @@ -0,0 +1,13 @@ +/** + * 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月"] + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.kr.js b/modoboa/static/js/locales/bootstrap-datepicker.kr.js new file mode 100644 index 000000000..b5940ec76 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.kr.js @@ -0,0 +1,13 @@ +/** + * Korean translation for bootstrap-datepicker + * Gu Youn + */ +;(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/modoboa/static/js/locales/bootstrap-datepicker.lt.js b/modoboa/static/js/locales/bootstrap-datepicker.lt.js new file mode 100644 index 000000000..a0bf00396 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.lt.js @@ -0,0 +1,15 @@ +/** + * Lithuanian translation for bootstrap-datepicker + * Šarūnas Gliebus + */ + +;(function($){ + $.fn.datepicker.dates['lt'] = { + days: ["Sekmadienis", "Pirmadienis", "Antradienis", "Trečiadienis", "Ketvirtadienis", "Penktadienis", "Šeštadienis", "Sekmadienis"], + daysShort: ["S", "Pr", "A", "T", "K", "Pn", "Š", "S"], + daysMin: ["Sk", "Pr", "An", "Tr", "Ke", "Pn", "Št", "Sk"], + 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"], + weekStart: 1 + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.lv.js b/modoboa/static/js/locales/bootstrap-datepicker.lv.js new file mode 100644 index 000000000..cc75fe0bf --- /dev/null +++ b/modoboa/static/js/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", "Svētdiena"], + daysShort: ["Sv", "P", "O", "T", "C", "Pk", "S", "Sv"], + daysMin: ["Sv", "Pr", "Ot", "Tr", "Ce", "Pk", "St", "Sv"], + 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)); \ No newline at end of file diff --git a/modoboa/static/js/locales/bootstrap-datepicker.ms.js b/modoboa/static/js/locales/bootstrap-datepicker.ms.js new file mode 100644 index 000000000..fa3a21a54 --- /dev/null +++ b/modoboa/static/js/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", "Ahad"], + daysShort: ["Aha", "Isn", "Sel", "Rab", "Kha", "Jum", "Sab", "Aha"], + daysMin: ["Ah", "Is", "Se", "Ra", "Kh", "Ju", "Sa", "Ah"], + 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/modoboa/static/js/locales/bootstrap-datepicker.nb.js b/modoboa/static/js/locales/bootstrap-datepicker.nb.js new file mode 100644 index 000000000..fb9fe2a10 --- /dev/null +++ b/modoboa/static/js/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", "Søndag"], + daysShort: ["Søn", "Man", "Tir", "Ons", "Tor", "Fre", "Lør", "Søn"], + daysMin: ["Sø", "Ma", "Ti", "On", "To", "Fr", "Lø", "Sø"], + 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)); \ No newline at end of file diff --git a/modoboa/static/js/locales/bootstrap-datepicker.nl.js b/modoboa/static/js/locales/bootstrap-datepicker.nl.js new file mode 100644 index 000000000..13a2f1a35 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.nl.js @@ -0,0 +1,14 @@ +/** + * Dutch translation for bootstrap-datepicker + * Reinier Goltstein + */ +;(function($){ + $.fn.datepicker.dates['nl'] = { + days: ["Zondag", "Maandag", "Dinsdag", "Woensdag", "Donderdag", "Vrijdag", "Zaterdag", "Zondag"], + daysShort: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + daysMin: ["Zo", "Ma", "Di", "Wo", "Do", "Vr", "Za", "Zo"], + 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" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.pl.js b/modoboa/static/js/locales/bootstrap-datepicker.pl.js new file mode 100644 index 000000000..46c999648 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.pl.js @@ -0,0 +1,14 @@ +/** + * Polish translation for bootstrap-datepicker + * Robert + */ +;(function($){ + $.fn.datepicker.dates['pl'] = { + days: ["Niedziela", "Poniedziałek", "Wtorek", "Środa", "Czwartek", "Piątek", "Sobota", "Niedziela"], + daysShort: ["Nie", "Pn", "Wt", "Śr", "Czw", "Pt", "So", "Nie"], + daysMin: ["N", "Pn", "Wt", "Śr", "Cz", "Pt", "So", "N"], + months: ["Styczeń", "Luty", "Marzec", "Kwiecień", "Maj", "Czerwiec", "Lipiec", "Sierpień", "Wrzesień", "Październik", "Listopad", "Grudzień"], + monthsShort: ["Sty", "Lu", "Mar", "Kw", "Maj", "Cze", "Lip", "Sie", "Wrz", "Pa", "Lis", "Gru"], + today: "Dzisiaj" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.pt-BR.js b/modoboa/static/js/locales/bootstrap-datepicker.pt-BR.js new file mode 100644 index 000000000..8d1fc2778 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.pt-BR.js @@ -0,0 +1,14 @@ +/** + * Brazilian translation for bootstrap-datepicker + * Cauan Cabral + */ +;(function($){ + $.fn.datepicker.dates['pt-BR'] = { + days: ["Domingo", "Segunda", "Terça", "Quarta", "Quinta", "Sexta", "Sábado", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + 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" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.pt.js b/modoboa/static/js/locales/bootstrap-datepicker.pt.js new file mode 100644 index 000000000..64179e8fc --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.pt.js @@ -0,0 +1,14 @@ +/** + * 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", "Domingo"], + daysShort: ["Dom", "Seg", "Ter", "Qua", "Qui", "Sex", "Sáb", "Dom"], + daysMin: ["Do", "Se", "Te", "Qu", "Qu", "Se", "Sa", "Do"], + 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"] + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.ru.js b/modoboa/static/js/locales/bootstrap-datepicker.ru.js new file mode 100644 index 000000000..9404cfff4 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.ru.js @@ -0,0 +1,14 @@ +/** + * Russian translation for bootstrap-datepicker + * Victor Taranenko + */ +;(function($){ + $.fn.datepicker.dates['ru'] = { + days: ["Воскресенье", "Понедельник", "Вторник", "Среда", "Четверг", "Пятница", "Суббота", "Воскресенье"], + daysShort: ["Вск", "Пнд", "Втр", "Срд", "Чтв", "Птн", "Суб", "Вск"], + daysMin: ["Вс", "Пн", "Вт", "Ср", "Чт", "Пт", "Сб", "Вс"], + months: ["Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь"], + monthsShort: ["Янв", "Фев", "Мар", "Апр", "Май", "Июн", "Июл", "Авг", "Сен", "Окт", "Ноя", "Дек"], + today: "Сегодня" + }; +}(jQuery)); \ No newline at end of file diff --git a/modoboa/static/js/locales/bootstrap-datepicker.sl.js b/modoboa/static/js/locales/bootstrap-datepicker.sl.js new file mode 100644 index 000000000..41b0e0603 --- /dev/null +++ b/modoboa/static/js/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", "Nedelja"], + daysShort: ["Ned", "Pon", "Tor", "Sre", "Čet", "Pet", "Sob", "Ned"], + daysMin: ["Ne", "Po", "To", "Sr", "Če", "Pe", "So", "Ne"], + 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/modoboa/static/js/locales/bootstrap-datepicker.sv.js b/modoboa/static/js/locales/bootstrap-datepicker.sv.js index 8870dc912..5cb1d0ce3 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.sv.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.sv.js @@ -8,6 +8,7 @@ daysShort: ["Sön", "Mån", "Tis", "Ons", "Tor", "Fre", "Lör", "Sön"], daysMin: ["Sö", "Må", "Ti", "On", "To", "Fr", "Lö", "Sö"], 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"] + monthsShort: ["Jan", "Feb", "Mar", "Apr", "Maj", "Jun", "Jul", "Aug", "Sep", "Okt", "Nov", "Dec"], + today: "I Dag" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.th.js b/modoboa/static/js/locales/bootstrap-datepicker.th.js new file mode 100644 index 000000000..562b063c5 --- /dev/null +++ b/modoboa/static/js/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/modoboa/static/js/locales/bootstrap-datepicker.tr.js b/modoboa/static/js/locales/bootstrap-datepicker.tr.js index 06a220174..e46eced9f 100644 --- a/modoboa/static/js/locales/bootstrap-datepicker.tr.js +++ b/modoboa/static/js/locales/bootstrap-datepicker.tr.js @@ -8,7 +8,8 @@ daysShort: ["Pz", "Pzt", "Sal", "Çrş", "Prş", "Cu", "Cts", "Pz"], daysMin: ["Pz", "Pzt", "Sa", "Çr", "Pr", "Cu", "Ct", "Pz"], 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"] + monthsShort: ["Oca", "Şub", "Mar", "Nis", "May", "Haz", "Tem", "Ağu", "Eyl", "Eki", "Kas", "Ara"], + today: "Bugün" }; }(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.zh-CN.js b/modoboa/static/js/locales/bootstrap-datepicker.zh-CN.js new file mode 100644 index 000000000..7cdcd03d0 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.zh-CN.js @@ -0,0 +1,14 @@ +/** + * Simplified Chinese translation for bootstrap-datepicker + * Yuan Cheung + */ +;(function($){ + $.fn.datepicker.dates['zh-CN'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + today: "今日" + }; +}(jQuery)); diff --git a/modoboa/static/js/locales/bootstrap-datepicker.zh-TW.js b/modoboa/static/js/locales/bootstrap-datepicker.zh-TW.js new file mode 100644 index 000000000..d21afc128 --- /dev/null +++ b/modoboa/static/js/locales/bootstrap-datepicker.zh-TW.js @@ -0,0 +1,13 @@ +/** + * Traditional Chinese translation for bootstrap-datepicker + * Rung-Sheng Jang + */ +;(function($){ + $.fn.datepicker.dates['zh-TW'] = { + days: ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六", "星期日"], + daysShort: ["周日", "周一", "周二", "周三", "周四", "周五", "周六", "周日"], + daysMin: ["日", "一", "二", "三", "四", "五", "六", "日"], + months: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"], + monthsShort: ["一月", "二月", "三月", "四月", "五月", "六月", "七月", "八月", "九月", "十月", "十一月", "十二月"] + }; +}(jQuery));