mirror of
https://github.com/the-djmaze/snappymail.git
synced 2026-08-31 04:59:21 +03:00
Interface optimizations
moment js update
This commit is contained in:
parent
be8c186f87
commit
f36cb72b82
104 changed files with 5869 additions and 1180 deletions
|
|
@ -1,45 +0,0 @@
|
|||
All pull requests to the `master` branch will be closed.
|
||||
========================================================
|
||||
|
||||
Please submit all pull requests to the `develop` branch.
|
||||
|
||||
Language translations will not be merged without unit tests.
|
||||
============================================================
|
||||
|
||||
See [the British english unit tests](https://github.com/moment/moment/blob/develop/test/lang/en-gb.js) for an example.
|
||||
|
||||
Submitting Issues
|
||||
=================
|
||||
|
||||
If you are submitting a bug, please create a [jsfiddle](http://jsfiddle.net/) demonstrating the issue.
|
||||
|
||||
Contributing
|
||||
============
|
||||
|
||||
To contribute, fork the library and install grunt.
|
||||
|
||||
npm install grunt -g
|
||||
|
||||
You can add tests to the files in `/test/moment` or add a new test file if you are adding a new feature.
|
||||
|
||||
To run the tests, do `grunt` to run all tests.
|
||||
|
||||
To check the filesize, you can use `grunt size`.
|
||||
|
||||
To minify all the files, use `grunt release`.
|
||||
|
||||
If your code passes the unit tests (including the ones you wrote), submit a pull request.
|
||||
|
||||
Submitting pull requests
|
||||
========================
|
||||
|
||||
Moment.js now uses [git-flow](https://github.com/nvie/gitflow). If you're not familiar with git-flow, please read up on it, you'll be glad you did.
|
||||
|
||||
When submitting new features, please create a new feature branch using `git flow feature start <name>` and submit the pull request to the `develop` branch.
|
||||
|
||||
Pull requests for enhancements for features should be submitted to the `develop` branch as well.
|
||||
|
||||
When submitting a bugfix, please check if there is an existing bugfix branch. If the latest stable version is `1.5.0`, the bugfix branch would be `hotfix/1.5.1`. All pull requests for bug fixes should be on a `hotfix` branch, unless the bug fix depends on a new feature.
|
||||
|
||||
The `master` branch should always have the latest stable version. When bugfix or minor releases are needed, the develop/hotfix branch will be merged into master and released.
|
||||
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
Copyright (c) 2011-2013 Tim Wood, Iskren Chernev, Moment.js contributors
|
||||
|
||||
Permission is hereby granted, free of charge, to any person
|
||||
obtaining a copy of this software and associated documentation
|
||||
files (the "Software"), to deal in the Software without
|
||||
restriction, including without limitation the rights to use,
|
||||
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the
|
||||
Software is furnished to do so, subject to the following
|
||||
conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be
|
||||
included in all copies or substantial portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||
OTHER DEALINGS IN THE SOFTWARE.
|
||||
|
|
@ -12,11 +12,35 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
var symbolMap = {
|
||||
'1': '١',
|
||||
'2': '٢',
|
||||
'3': '٣',
|
||||
'4': '٤',
|
||||
'5': '٥',
|
||||
'6': '٦',
|
||||
'7': '٧',
|
||||
'8': '٨',
|
||||
'9': '٩',
|
||||
'0': '٠'
|
||||
}, numberMap = {
|
||||
'١': '1',
|
||||
'٢': '2',
|
||||
'٣': '3',
|
||||
'٤': '4',
|
||||
'٥': '5',
|
||||
'٦': '6',
|
||||
'٧': '7',
|
||||
'٨': '8',
|
||||
'٩': '9',
|
||||
'٠': '0'
|
||||
};
|
||||
|
||||
return moment.lang('ar', {
|
||||
months : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),
|
||||
monthsShort : "يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),
|
||||
weekdays : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
|
||||
weekdaysShort : "الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),
|
||||
weekdaysShort : "أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت".split("_"),
|
||||
weekdaysMin : "ح_ن_ث_ر_خ_ج_س".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
|
|
@ -25,6 +49,13 @@
|
|||
LLL : "D MMMM YYYY LT",
|
||||
LLLL : "dddd D MMMM YYYY LT"
|
||||
},
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour < 12) {
|
||||
return "ص";
|
||||
} else {
|
||||
return "م";
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay: "[اليوم على الساعة] LT",
|
||||
nextDay: '[غدا على الساعة] LT',
|
||||
|
|
@ -48,6 +79,16 @@
|
|||
y : "سنة",
|
||||
yy : "%d سنوات"
|
||||
},
|
||||
preparse: function (string) {
|
||||
return string.replace(/[۰-۹]/g, function (match) {
|
||||
return numberMap[match];
|
||||
}).replace(/،/g, ',');
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
}).replace(/,/g, '،');
|
||||
},
|
||||
week : {
|
||||
dow : 6, // Saturday is the first day of the week.
|
||||
doy : 12 // The week that contains Jan 1st is the first week of the year.
|
||||
|
|
|
|||
|
|
@ -12,10 +12,10 @@
|
|||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('ca', {
|
||||
months : "Gener_Febrer_Març_Abril_Maig_Juny_Juliol_Agost_Setembre_Octubre_Novembre_Desembre".split("_"),
|
||||
monthsShort : "Gen._Febr._Mar._Abr._Mai._Jun._Jul._Ag._Set._Oct._Nov._Des.".split("_"),
|
||||
weekdays : "Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte".split("_"),
|
||||
weekdaysShort : "Dg._Dl._Dt._Dc._Dj._Dv._Ds.".split("_"),
|
||||
months : "gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),
|
||||
monthsShort : "gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),
|
||||
weekdays : "diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),
|
||||
weekdaysShort : "dg._dl._dt._dc._dj._dv._ds.".split("_"),
|
||||
weekdaysMin : "Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "H:mm",
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@
|
|||
var result = number + " ";
|
||||
switch (key) {
|
||||
case 's': // a few seconds / in a few seconds / a few seconds ago
|
||||
return (withoutSuffix || isFuture) ? 'pár vteřin' : 'pár vteřinami';
|
||||
return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
|
||||
case 'm': // a minute / in a minute / a minute ago
|
||||
return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
|
||||
case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
|
||||
|
|
@ -86,8 +86,8 @@
|
|||
weekdaysShort : "ne_po_út_st_čt_pá_so".split("_"),
|
||||
weekdaysMin : "ne_po_út_st_čt_pá_so".split("_"),
|
||||
longDateFormat : {
|
||||
LT: "H:mm",
|
||||
L : "DD.MM.YYYY",
|
||||
LT: "H.mm",
|
||||
L : "DD. MM. YYYY",
|
||||
LL : "D. MMMM YYYY",
|
||||
LLL : "D. MMMM YYYY LT",
|
||||
LLLL : "dddd D. MMMM YYYY LT"
|
||||
|
|
|
|||
77
rainloop/v/0.0.0/app/i18n/moment/cy.js
Normal file
77
rainloop/v/0.0.0/app/i18n/moment/cy.js
Normal file
|
|
@ -0,0 +1,77 @@
|
|||
// moment.js language configuration
|
||||
// language : Welsh (cy)
|
||||
// author : Robert Allen
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang("cy", {
|
||||
months: "Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),
|
||||
monthsShort: "Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),
|
||||
weekdays: "Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),
|
||||
weekdaysShort: "Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),
|
||||
weekdaysMin: "Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),
|
||||
// time formats are the same as en-gb
|
||||
longDateFormat: {
|
||||
LT: "HH:mm",
|
||||
L: "DD/MM/YYYY",
|
||||
LL: "D MMMM YYYY",
|
||||
LLL: "D MMMM YYYY LT",
|
||||
LLLL: "dddd, D MMMM YYYY LT"
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[Heddiw am] LT',
|
||||
nextDay: '[Yfory am] LT',
|
||||
nextWeek: 'dddd [am] LT',
|
||||
lastDay: '[Ddoe am] LT',
|
||||
lastWeek: 'dddd [diwethaf am] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime: {
|
||||
future: "mewn %s",
|
||||
past: "%s yn àl",
|
||||
s: "ychydig eiliadau",
|
||||
m: "munud",
|
||||
mm: "%d munud",
|
||||
h: "awr",
|
||||
hh: "%d awr",
|
||||
d: "diwrnod",
|
||||
dd: "%d diwrnod",
|
||||
M: "mis",
|
||||
MM: "%d mis",
|
||||
y: "blwyddyn",
|
||||
yy: "%d flynedd"
|
||||
},
|
||||
// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
|
||||
ordinal: function (number) {
|
||||
var b = number,
|
||||
output = '',
|
||||
lookup = [
|
||||
'', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
|
||||
'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
|
||||
];
|
||||
|
||||
if (b > 20) {
|
||||
if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
|
||||
output = 'fed'; // not 30ain, 70ain or 90ain
|
||||
} else {
|
||||
output = 'ain';
|
||||
}
|
||||
} else if (b > 0) {
|
||||
output = lookup[b];
|
||||
}
|
||||
|
||||
return number + output;
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -33,7 +33,7 @@
|
|||
weekdaysShort : "So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),
|
||||
weekdaysMin : "So_Mo_Di_Mi_Do_Fr_Sa".split("_"),
|
||||
longDateFormat : {
|
||||
LT: "H:mm [Uhr]",
|
||||
LT: "HH:mm [Uhr]",
|
||||
L : "DD.MM.YYYY",
|
||||
LL : "D. MMMM YYYY",
|
||||
LLL : "D. MMMM YYYY LT",
|
||||
|
|
|
|||
|
|
@ -44,13 +44,24 @@
|
|||
nextDay : '[Αύριο {}] LT',
|
||||
nextWeek : 'dddd [{}] LT',
|
||||
lastDay : '[Χθες {}] LT',
|
||||
lastWeek : '[την προηγούμενη] dddd [{}] LT',
|
||||
lastWeek : function() {
|
||||
switch (this.day()) {
|
||||
case 6:
|
||||
return '[το προηγούμενο] dddd [{}] LT';
|
||||
default:
|
||||
return '[την προηγούμενη] dddd [{}] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
calendar : function (key, mom) {
|
||||
var output = this._calendarEl[key],
|
||||
hours = mom && mom.hours();
|
||||
|
||||
if (typeof output === 'function') {
|
||||
output = output.apply(mom);
|
||||
}
|
||||
|
||||
return output.replace("{}", (hours % 12 === 1 ? "στη" : "στις"));
|
||||
},
|
||||
relativeTime : {
|
||||
|
|
|
|||
|
|
@ -11,18 +11,27 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
var monthsShortDot = "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
|
||||
monthsShort = "ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");
|
||||
|
||||
return moment.lang('es', {
|
||||
months : "enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),
|
||||
monthsShort : "ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),
|
||||
monthsShort : function (m, format) {
|
||||
if (/-MMM-/.test(format)) {
|
||||
return monthsShort[m.month()];
|
||||
} else {
|
||||
return monthsShortDot[m.month()];
|
||||
}
|
||||
},
|
||||
weekdays : "domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),
|
||||
weekdaysShort : "dom._lun._mar._mié._jue._vie._sáb.".split("_"),
|
||||
weekdaysMin : "Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "H:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
LL : "D [de] MMMM [de] YYYY",
|
||||
LLL : "D [de] MMMM [de] YYYY LT",
|
||||
LLLL : "dddd, D [de] MMMM [de] YYYY LT"
|
||||
LL : "D [de] MMMM [del] YYYY",
|
||||
LLL : "D [de] MMMM [del] YYYY LT",
|
||||
LLLL : "dddd, D [de] MMMM [del] YYYY LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay : function () {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
// moment.js language configuration
|
||||
// language : estonian (et)
|
||||
// author : Henry Kehlmann : https://github.com/madhenry
|
||||
// improvements : Illimar Tambek : https://github.com/ragulka
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
|
|
@ -11,8 +12,23 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
function translateSeconds(number, withoutSuffix, key, isFuture) {
|
||||
return (isFuture || withoutSuffix) ? 'paari sekundi' : 'paar sekundit';
|
||||
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
||||
var format = {
|
||||
's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
|
||||
'm' : ['ühe minuti', 'üks minut'],
|
||||
'mm': [number + ' minuti', number + ' minutit'],
|
||||
'h' : ['ühe tunni', 'tund aega', 'üks tund'],
|
||||
'hh': [number + ' tunni', number + ' tundi'],
|
||||
'd' : ['ühe päeva', 'üks päev'],
|
||||
'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
|
||||
'MM': [number + ' kuu', number + ' kuud'],
|
||||
'y' : ['ühe aasta', 'aasta', 'üks aasta'],
|
||||
'yy': [number + ' aasta', number + ' aastat']
|
||||
};
|
||||
if (withoutSuffix) {
|
||||
return format[key][2] ? format[key][2] : format[key][1];
|
||||
}
|
||||
return isFuture ? format[key][0] : format[key][1];
|
||||
}
|
||||
|
||||
return moment.lang('et', {
|
||||
|
|
@ -39,17 +55,17 @@
|
|||
relativeTime : {
|
||||
future : "%s pärast",
|
||||
past : "%s tagasi",
|
||||
s : translateSeconds,
|
||||
m : "minut",
|
||||
mm : "%d minutit",
|
||||
h : "tund",
|
||||
hh : "%d tundi",
|
||||
d : "päev",
|
||||
dd : "%d päeva",
|
||||
M : "kuu",
|
||||
MM : "%d kuud",
|
||||
y : "aasta",
|
||||
yy : "%d aastat"
|
||||
s : processRelativeTime,
|
||||
m : processRelativeTime,
|
||||
mm : processRelativeTime,
|
||||
h : processRelativeTime,
|
||||
hh : processRelativeTime,
|
||||
d : processRelativeTime,
|
||||
dd : '%d päeva',
|
||||
M : processRelativeTime,
|
||||
MM : processRelativeTime,
|
||||
y : processRelativeTime,
|
||||
yy : processRelativeTime
|
||||
},
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
|
|
|
|||
|
|
@ -11,9 +11,9 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
var numbers_past = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
|
||||
numbers_future = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
|
||||
numbers_past[7], numbers_past[8], numbers_past[9]];
|
||||
var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
|
||||
numbersFuture = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
|
||||
numbersPast[7], numbersPast[8], numbersPast[9]];
|
||||
|
||||
function translate(number, withoutSuffix, key, isFuture) {
|
||||
var result = "";
|
||||
|
|
@ -46,12 +46,12 @@
|
|||
result = isFuture ? 'vuoden' : 'vuotta';
|
||||
break;
|
||||
}
|
||||
result = verbal_number(number, isFuture) + " " + result;
|
||||
result = verbalNumber(number, isFuture) + " " + result;
|
||||
return result;
|
||||
}
|
||||
|
||||
function verbal_number(number, isFuture) {
|
||||
return number < 10 ? (isFuture ? numbers_future[number] : numbers_past[number]) : number;
|
||||
function verbalNumber(number, isFuture) {
|
||||
return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
|
||||
}
|
||||
|
||||
return moment.lang('fi', {
|
||||
|
|
|
|||
56
rainloop/v/0.0.0/app/i18n/moment/fo.js
Normal file
56
rainloop/v/0.0.0/app/i18n/moment/fo.js
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
// moment.js language configuration
|
||||
// language : faroese (fo)
|
||||
// author : Ragnar Johannesen : https://github.com/ragnar123
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('fo', {
|
||||
months : "januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),
|
||||
monthsShort : "jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),
|
||||
weekdays : "sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),
|
||||
weekdaysShort : "sun_mán_týs_mik_hós_frí_ley".split("_"),
|
||||
weekdaysMin : "su_má_tý_mi_hó_fr_le".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
LL : "D MMMM YYYY",
|
||||
LLL : "D MMMM YYYY LT",
|
||||
LLLL : "dddd D. MMMM, YYYY LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Í dag kl.] LT',
|
||||
nextDay : '[Í morgin kl.] LT',
|
||||
nextWeek : 'dddd [kl.] LT',
|
||||
lastDay : '[Í gjár kl.] LT',
|
||||
lastWeek : '[síðstu] dddd [kl] LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "um %s",
|
||||
past : "%s síðani",
|
||||
s : "fá sekund",
|
||||
m : "ein minutt",
|
||||
mm : "%d minuttir",
|
||||
h : "ein tími",
|
||||
hh : "%d tímar",
|
||||
d : "ein dagur",
|
||||
dd : "%d dagar",
|
||||
M : "ein mánaði",
|
||||
MM : "%d mánaðir",
|
||||
y : "eitt ár",
|
||||
yy : "%d ár"
|
||||
},
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -62,6 +62,13 @@
|
|||
LLL : "YYYY. MMMM D., LT",
|
||||
LLLL : "YYYY. MMMM D., dddd LT"
|
||||
},
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
if (hours < 12) {
|
||||
return isLower === true ? 'de' : 'DE';
|
||||
} else {
|
||||
return isLower === true ? 'du' : 'DU';
|
||||
}
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[ma] LT[-kor]',
|
||||
nextDay : '[holnap] LT[-kor]',
|
||||
|
|
|
|||
113
rainloop/v/0.0.0/app/i18n/moment/hy-am.js
Normal file
113
rainloop/v/0.0.0/app/i18n/moment/hy-am.js
Normal file
|
|
@ -0,0 +1,113 @@
|
|||
// moment.js language configuration
|
||||
// language : Armenian (hy-am)
|
||||
// author : Armendarabyan : https://github.com/armendarabyan
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
|
||||
function monthsCaseReplace(m, format) {
|
||||
var months = {
|
||||
'nominative': 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_'),
|
||||
'accusative': 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_')
|
||||
},
|
||||
|
||||
nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ?
|
||||
'accusative' :
|
||||
'nominative';
|
||||
|
||||
return months[nounCase][m.month()];
|
||||
}
|
||||
|
||||
function monthsShortCaseReplace(m, format) {
|
||||
var monthsShort = 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_');
|
||||
|
||||
return monthsShort[m.month()];
|
||||
}
|
||||
|
||||
function weekdaysCaseReplace(m, format) {
|
||||
var weekdays = 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_');
|
||||
|
||||
return weekdays[m.day()];
|
||||
}
|
||||
|
||||
return moment.lang('hy-am', {
|
||||
months : monthsCaseReplace,
|
||||
monthsShort : monthsShortCaseReplace,
|
||||
weekdays : weekdaysCaseReplace,
|
||||
weekdaysShort : "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
|
||||
weekdaysMin : "կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD.MM.YYYY",
|
||||
LL : "D MMMM YYYY թ.",
|
||||
LLL : "D MMMM YYYY թ., LT",
|
||||
LLLL : "dddd, D MMMM YYYY թ., LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay: '[այսօր] LT',
|
||||
nextDay: '[վաղը] LT',
|
||||
lastDay: '[երեկ] LT',
|
||||
nextWeek: function () {
|
||||
return 'dddd [օրը ժամը] LT';
|
||||
},
|
||||
lastWeek: function () {
|
||||
return '[անցած] dddd [օրը ժամը] LT';
|
||||
},
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "%s հետո",
|
||||
past : "%s առաջ",
|
||||
s : "մի քանի վայրկյան",
|
||||
m : "րոպե",
|
||||
mm : "%d րոպե",
|
||||
h : "ժամ",
|
||||
hh : "%d ժամ",
|
||||
d : "օր",
|
||||
dd : "%d օր",
|
||||
M : "ամիս",
|
||||
MM : "%d ամիս",
|
||||
y : "տարի",
|
||||
yy : "%d տարի"
|
||||
},
|
||||
|
||||
meridiem : function (hour) {
|
||||
if (hour < 4) {
|
||||
return "գիշերվա";
|
||||
} else if (hour < 12) {
|
||||
return "առավոտվա";
|
||||
} else if (hour < 17) {
|
||||
return "ցերեկվա";
|
||||
} else {
|
||||
return "երեկոյան";
|
||||
}
|
||||
},
|
||||
|
||||
ordinal: function (number, period) {
|
||||
switch (period) {
|
||||
case 'DDD':
|
||||
case 'w':
|
||||
case 'W':
|
||||
case 'DDDo':
|
||||
if (number === 1) {
|
||||
return number + '-ին';
|
||||
}
|
||||
return number + '-րդ';
|
||||
default:
|
||||
return number;
|
||||
}
|
||||
},
|
||||
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -38,7 +38,7 @@
|
|||
return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s;
|
||||
},
|
||||
past : "%s fa",
|
||||
s : "secondi",
|
||||
s : "alcuni secondi",
|
||||
m : "un minuto",
|
||||
mm : "%d minuti",
|
||||
h : "un'ora",
|
||||
|
|
|
|||
55
rainloop/v/0.0.0/app/i18n/moment/km.js
Normal file
55
rainloop/v/0.0.0/app/i18n/moment/km.js
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
// moment.js language configuration
|
||||
// language : khmer (km)
|
||||
// author : Kruy Vanna : https://github.com/kruyvanna
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('km', {
|
||||
months: "មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
|
||||
monthsShort: "មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),
|
||||
weekdays: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
|
||||
weekdaysShort: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
|
||||
weekdaysMin: "អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),
|
||||
longDateFormat: {
|
||||
LT: "HH:mm",
|
||||
L: "DD/MM/YYYY",
|
||||
LL: "D MMMM YYYY",
|
||||
LLL: "D MMMM YYYY LT",
|
||||
LLLL: "dddd, D MMMM YYYY LT"
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[ថ្ងៃនៈ ម៉ោង] LT',
|
||||
nextDay: '[ស្អែក ម៉ោង] LT',
|
||||
nextWeek: 'dddd [ម៉ោង] LT',
|
||||
lastDay: '[ម្សិលមិញ ម៉ោង] LT',
|
||||
lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime: {
|
||||
future: "%sទៀត",
|
||||
past: "%sមុន",
|
||||
s: "ប៉ុន្មានវិនាទី",
|
||||
m: "មួយនាទី",
|
||||
mm: "%d នាទី",
|
||||
h: "មួយម៉ោង",
|
||||
hh: "%d ម៉ោង",
|
||||
d: "មួយថ្ងៃ",
|
||||
dd: "%d ថ្ងៃ",
|
||||
M: "មួយខែ",
|
||||
MM: "%d ខែ",
|
||||
y: "មួយឆ្នាំ",
|
||||
yy: "%d ឆ្នាំ"
|
||||
},
|
||||
week: {
|
||||
dow: 1, // Monday is the first day of the week.
|
||||
doy: 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -1,7 +1,10 @@
|
|||
// moment.js language configuration
|
||||
// language : korean (ko)
|
||||
// author : Kyungwook, Park : https://github.com/kyungw00k
|
||||
|
||||
//
|
||||
// authors
|
||||
//
|
||||
// - Kyungwook, Park : https://github.com/kyungw00k
|
||||
// - Jeeeyul Lee <jeeeyul@gmail.com>
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
|
|
@ -51,6 +54,10 @@
|
|||
y : "일년",
|
||||
yy : "%d년"
|
||||
},
|
||||
ordinal : '%d일'
|
||||
ordinal : '%d일',
|
||||
meridiemParse : /(오전|오후)/,
|
||||
isPM : function (token) {
|
||||
return token === "오후";
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
|
|||
160
rainloop/v/0.0.0/app/i18n/moment/lb.js
Normal file
160
rainloop/v/0.0.0/app/i18n/moment/lb.js
Normal file
|
|
@ -0,0 +1,160 @@
|
|||
// moment.js language configuration
|
||||
// language : Luxembourgish (lb)
|
||||
// author : mweimerskirch : https://github.com/mweimerskirch
|
||||
|
||||
// Note: Luxembourgish has a very particular phonological rule ("Eifeler Regel") that causes the
|
||||
// deletion of the final "n" in certain contexts. That's what the "eifelerRegelAppliesToWeekday"
|
||||
// and "eifelerRegelAppliesToNumber" methods are meant for
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
function processRelativeTime(number, withoutSuffix, key, isFuture) {
|
||||
var format = {
|
||||
'm': ['eng Minutt', 'enger Minutt'],
|
||||
'h': ['eng Stonn', 'enger Stonn'],
|
||||
'd': ['een Dag', 'engem Dag'],
|
||||
'dd': [number + ' Deeg', number + ' Deeg'],
|
||||
'M': ['ee Mount', 'engem Mount'],
|
||||
'MM': [number + ' Méint', number + ' Méint'],
|
||||
'y': ['ee Joer', 'engem Joer'],
|
||||
'yy': [number + ' Joer', number + ' Joer']
|
||||
};
|
||||
return withoutSuffix ? format[key][0] : format[key][1];
|
||||
}
|
||||
|
||||
function processFutureTime(string) {
|
||||
var number = string.substr(0, string.indexOf(' '));
|
||||
if (eifelerRegelAppliesToNumber(number)) {
|
||||
return "a " + string;
|
||||
}
|
||||
return "an " + string;
|
||||
}
|
||||
|
||||
function processPastTime(string) {
|
||||
var number = string.substr(0, string.indexOf(' '));
|
||||
if (eifelerRegelAppliesToNumber(number)) {
|
||||
return "viru " + string;
|
||||
}
|
||||
return "virun " + string;
|
||||
}
|
||||
|
||||
function processLastWeek(string1) {
|
||||
var weekday = this.format('d');
|
||||
if (eifelerRegelAppliesToWeekday(weekday)) {
|
||||
return '[Leschte] dddd [um] LT';
|
||||
}
|
||||
return '[Leschten] dddd [um] LT';
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the word before the given week day loses the "-n" ending.
|
||||
* e.g. "Leschten Dënschdeg" but "Leschte Méindeg"
|
||||
*
|
||||
* @param weekday {integer}
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function eifelerRegelAppliesToWeekday(weekday) {
|
||||
weekday = parseInt(weekday, 10);
|
||||
switch (weekday) {
|
||||
case 0: // Sonndeg
|
||||
case 1: // Méindeg
|
||||
case 3: // Mëttwoch
|
||||
case 5: // Freideg
|
||||
case 6: // Samschdeg
|
||||
return true;
|
||||
default: // 2 Dënschdeg, 4 Donneschdeg
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if the word before the given number loses the "-n" ending.
|
||||
* e.g. "an 10 Deeg" but "a 5 Deeg"
|
||||
*
|
||||
* @param number {integer}
|
||||
* @returns {boolean}
|
||||
*/
|
||||
function eifelerRegelAppliesToNumber(number) {
|
||||
number = parseInt(number, 10);
|
||||
if (isNaN(number)) {
|
||||
return false;
|
||||
}
|
||||
if (number < 0) {
|
||||
// Negative Number --> always true
|
||||
return true;
|
||||
} else if (number < 10) {
|
||||
// Only 1 digit
|
||||
if (4 <= number && number <= 7) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
} else if (number < 100) {
|
||||
// 2 digits
|
||||
var lastDigit = number % 10, firstDigit = number / 10;
|
||||
if (lastDigit === 0) {
|
||||
return eifelerRegelAppliesToNumber(firstDigit);
|
||||
}
|
||||
return eifelerRegelAppliesToNumber(lastDigit);
|
||||
} else if (number < 10000) {
|
||||
// 3 or 4 digits --> recursively check first digit
|
||||
while (number >= 10) {
|
||||
number = number / 10;
|
||||
}
|
||||
return eifelerRegelAppliesToNumber(number);
|
||||
} else {
|
||||
// Anything larger than 4 digits: recursively check first n-3 digits
|
||||
number = number / 1000;
|
||||
return eifelerRegelAppliesToNumber(number);
|
||||
}
|
||||
}
|
||||
|
||||
return moment.lang('lb', {
|
||||
months: "Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
|
||||
monthsShort: "Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),
|
||||
weekdays: "Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),
|
||||
weekdaysShort: "So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),
|
||||
weekdaysMin: "So_Mé_Dë_Më_Do_Fr_Sa".split("_"),
|
||||
longDateFormat: {
|
||||
LT: "H:mm [Auer]",
|
||||
L: "DD.MM.YYYY",
|
||||
LL: "D. MMMM YYYY",
|
||||
LLL: "D. MMMM YYYY LT",
|
||||
LLLL: "dddd, D. MMMM YYYY LT"
|
||||
},
|
||||
calendar: {
|
||||
sameDay: "[Haut um] LT",
|
||||
sameElse: "L",
|
||||
nextDay: '[Muer um] LT',
|
||||
nextWeek: 'dddd [um] LT',
|
||||
lastDay: '[Gëschter um] LT',
|
||||
lastWeek: processLastWeek
|
||||
},
|
||||
relativeTime: {
|
||||
future: processFutureTime,
|
||||
past: processPastTime,
|
||||
s: "e puer Sekonnen",
|
||||
m: processRelativeTime,
|
||||
mm: "%d Minutten",
|
||||
h: processRelativeTime,
|
||||
hh: "%d Stonnen",
|
||||
d: processRelativeTime,
|
||||
dd: processRelativeTime,
|
||||
M: processRelativeTime,
|
||||
MM: processRelativeTime,
|
||||
y: processRelativeTime,
|
||||
yy: processRelativeTime
|
||||
},
|
||||
ordinal: '%d.',
|
||||
week: {
|
||||
dow: 1, // Monday is the first day of the week.
|
||||
doy: 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -61,7 +61,7 @@
|
|||
}
|
||||
|
||||
function relativeWeekDay(moment, format) {
|
||||
var nominative = format.indexOf('dddd LT') === -1,
|
||||
var nominative = format.indexOf('dddd HH:mm') === -1,
|
||||
weekDay = weekDays[moment.weekday()];
|
||||
|
||||
return nominative ? weekDay : weekDay.substring(0, weekDay.length - 2) + "į";
|
||||
|
|
|
|||
86
rainloop/v/0.0.0/app/i18n/moment/mk.js
Normal file
86
rainloop/v/0.0.0/app/i18n/moment/mk.js
Normal file
|
|
@ -0,0 +1,86 @@
|
|||
// moment.js language configuration
|
||||
// language : macedonian (mk)
|
||||
// author : Borislav Mickov : https://github.com/B0k0
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('mk', {
|
||||
months : "јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),
|
||||
monthsShort : "јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),
|
||||
weekdays : "недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),
|
||||
weekdaysShort : "нед_пон_вто_сре_чет_пет_саб".split("_"),
|
||||
weekdaysMin : "нe_пo_вт_ср_че_пе_сa".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "H:mm",
|
||||
L : "D.MM.YYYY",
|
||||
LL : "D MMMM YYYY",
|
||||
LLL : "D MMMM YYYY LT",
|
||||
LLLL : "dddd, D MMMM YYYY LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[Денес во] LT',
|
||||
nextDay : '[Утре во] LT',
|
||||
nextWeek : 'dddd [во] LT',
|
||||
lastDay : '[Вчера во] LT',
|
||||
lastWeek : function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
case 3:
|
||||
case 6:
|
||||
return '[Во изминатата] dddd [во] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[Во изминатиот] dddd [во] LT';
|
||||
}
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "после %s",
|
||||
past : "пред %s",
|
||||
s : "неколку секунди",
|
||||
m : "минута",
|
||||
mm : "%d минути",
|
||||
h : "час",
|
||||
hh : "%d часа",
|
||||
d : "ден",
|
||||
dd : "%d дена",
|
||||
M : "месец",
|
||||
MM : "%d месеци",
|
||||
y : "година",
|
||||
yy : "%d години"
|
||||
},
|
||||
ordinal : function (number) {
|
||||
var lastDigit = number % 10,
|
||||
last2Digits = number % 100;
|
||||
if (number === 0) {
|
||||
return number + '-ев';
|
||||
} else if (last2Digits === 0) {
|
||||
return number + '-ен';
|
||||
} else if (last2Digits > 10 && last2Digits < 20) {
|
||||
return number + '-ти';
|
||||
} else if (lastDigit === 1) {
|
||||
return number + '-ви';
|
||||
} else if (lastDigit === 2) {
|
||||
return number + '-ри';
|
||||
} else if (lastDigit === 7 || lastDigit === 8) {
|
||||
return number + '-ми';
|
||||
} else {
|
||||
return number + '-ти';
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -29,22 +29,22 @@
|
|||
nextDay: '[I morgon klokka] LT',
|
||||
nextWeek: 'dddd [klokka] LT',
|
||||
lastDay: '[I går klokka] LT',
|
||||
lastWeek: '[Føregående] dddd [klokka] LT',
|
||||
lastWeek: '[Føregåande] dddd [klokka] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "om %s",
|
||||
past : "for %s siden",
|
||||
s : "noen sekund",
|
||||
m : "ett minutt",
|
||||
past : "for %s sidan",
|
||||
s : "nokre sekund",
|
||||
m : "eit minutt",
|
||||
mm : "%d minutt",
|
||||
h : "en time",
|
||||
h : "ein time",
|
||||
hh : "%d timar",
|
||||
d : "en dag",
|
||||
d : "ein dag",
|
||||
dd : "%d dagar",
|
||||
M : "en månad",
|
||||
M : "ein månad",
|
||||
MM : "%d månader",
|
||||
y : "ett år",
|
||||
y : "eit år",
|
||||
yy : "%d år"
|
||||
},
|
||||
ordinal : '%d.',
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@
|
|||
monthsSubjective = "stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");
|
||||
|
||||
function plural(n) {
|
||||
return (n % 10 < 5) && (n % 10 > 1) && (~~(n / 10) !== 1);
|
||||
return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
|
||||
}
|
||||
|
||||
function translate(number, withoutSuffix, key) {
|
||||
|
|
|
|||
|
|
@ -12,17 +12,17 @@
|
|||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('pt-br', {
|
||||
months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),
|
||||
monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
|
||||
weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
|
||||
weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
|
||||
weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),
|
||||
months : "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
|
||||
monthsShort : "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
|
||||
weekdays : "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),
|
||||
weekdaysShort : "dom_seg_ter_qua_qui_sex_sáb".split("_"),
|
||||
weekdaysMin : "dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
LL : "D [de] MMMM [de] YYYY",
|
||||
LLL : "D [de] MMMM [de] YYYY LT",
|
||||
LLLL : "dddd, D [de] MMMM [de] YYYY LT"
|
||||
LLL : "D [de] MMMM [de] YYYY [às] LT",
|
||||
LLLL : "dddd, D [de] MMMM [de] YYYY [às] LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay: '[Hoje às] LT',
|
||||
|
|
|
|||
|
|
@ -12,11 +12,11 @@
|
|||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('pt', {
|
||||
months : "Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro".split("_"),
|
||||
monthsShort : "Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez".split("_"),
|
||||
weekdays : "Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado".split("_"),
|
||||
weekdaysShort : "Dom_Seg_Ter_Qua_Qui_Sex_Sáb".split("_"),
|
||||
weekdaysMin : "Dom_2ª_3ª_4ª_5ª_6ª_Sáb".split("_"),
|
||||
months : "janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),
|
||||
monthsShort : "jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),
|
||||
weekdays : "domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),
|
||||
weekdaysShort : "dom_seg_ter_qua_qui_sex_sáb".split("_"),
|
||||
weekdaysMin : "dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
|
|
|
|||
|
|
@ -1,283 +0,0 @@
|
|||
A lightweight javascript date library for parsing, validating, manipulating, and formatting dates.
|
||||
|
||||
# [Documentation](http://momentjs.com/docs/)
|
||||
|
||||
Upgrading to 2.0.0
|
||||
==================
|
||||
|
||||
There are a number of small backwards incompatible changes with version 2.0.0.
|
||||
|
||||
[See them and their descriptions here](https://gist.github.com/timrwood/e72f2eef320ed9e37c51#backwards-incompatible-changes)
|
||||
|
||||
Changed language ordinal method to return the number + ordinal instead of just the ordinal.
|
||||
|
||||
Changed two digit year parsing cutoff to match strptime.
|
||||
|
||||
Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
|
||||
|
||||
Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
|
||||
|
||||
Removed the lang data objects from the top level namespace.
|
||||
|
||||
Duplicate `Date` passed to `moment()` instead of referencing it.
|
||||
|
||||
Travis Build Status
|
||||
===================
|
||||
|
||||
Develop [](https://travis-ci.org/moment/moment)
|
||||
|
||||
Master [](https://travis-ci.org/moment/moment)
|
||||
|
||||
Changelog
|
||||
=========
|
||||
|
||||
### 2.3.1
|
||||
|
||||
Removed a trailing comma [1169] and fixed a bug with `months`, `weekdays` getters [1171].
|
||||
|
||||
### 2.3.0 [See changelog](https://gist.github.com/ichernev/6864354)
|
||||
|
||||
Changed isValid, added strict parsing.
|
||||
Week tokens parsing.
|
||||
|
||||
### 2.2.1
|
||||
|
||||
Fixed bug in string prototype test.
|
||||
Updated authors and contributors.
|
||||
|
||||
### 2.2.0 [See changelog](https://gist.github.com/ichernev/00f837a9baf46a3565e4)
|
||||
|
||||
Added bower support.
|
||||
|
||||
Language files now use UMD.
|
||||
|
||||
Creating moment defaults to current date/month/year.
|
||||
|
||||
Added a bundle of moment and all language files.
|
||||
|
||||
### 2.1.0 [See changelog](https://gist.github.com/timrwood/b8c2d90d528eddb53ab5)
|
||||
|
||||
Added better week support.
|
||||
|
||||
Added ability to set offset with `moment#zone`.
|
||||
|
||||
Added ability to set month or weekday from a string.
|
||||
|
||||
Added `moment#min` and `moment#max`
|
||||
|
||||
### 2.0.0 [See changelog](https://gist.github.com/timrwood/e72f2eef320ed9e37c51)
|
||||
|
||||
Added short form localized tokens.
|
||||
|
||||
Added ability to define language a string should be parsed in.
|
||||
|
||||
Added support for reversed add/subtract arguments.
|
||||
|
||||
Added support for `endOf('week')` and `startOf('week')`.
|
||||
|
||||
Fixed the logic for `moment#diff(Moment, 'months')` and `moment#diff(Moment, 'years')`
|
||||
|
||||
`moment#diff` now floors instead of rounds.
|
||||
|
||||
Normalized `moment#toString`.
|
||||
|
||||
Added `isSame`, `isAfter`, and `isBefore` methods.
|
||||
|
||||
Added better week support.
|
||||
|
||||
Added `moment#toJSON`
|
||||
|
||||
Bugfix: Fixed parsing of first century dates
|
||||
|
||||
Bugfix: Parsing 10Sep2001 should work as expected
|
||||
|
||||
Bugfix: Fixed wierdness with `moment.utc()` parsing.
|
||||
|
||||
Changed language ordinal method to return the number + ordinal instead of just the ordinal.
|
||||
|
||||
Changed two digit year parsing cutoff to match strptime.
|
||||
|
||||
Removed `moment#sod` and `moment#eod` in favor of `moment#startOf` and `moment#endOf`.
|
||||
|
||||
Removed `moment.humanizeDuration()` in favor of `moment.duration().humanize()`.
|
||||
|
||||
Removed the lang data objects from the top level namespace.
|
||||
|
||||
Duplicate `Date` passed to `moment()` instead of referencing it.
|
||||
|
||||
### 1.7.2 [See discussion](https://github.com/timrwood/moment/issues/456)
|
||||
|
||||
Bugfixes
|
||||
|
||||
### 1.7.1 [See discussion](https://github.com/timrwood/moment/issues/384)
|
||||
|
||||
Bugfixes
|
||||
|
||||
### 1.7.0 [See discussion](https://github.com/timrwood/moment/issues/288)
|
||||
|
||||
Added `moment.fn.endOf()` and `moment.fn.startOf()`.
|
||||
|
||||
Added validation via `moment.fn.isValid()`.
|
||||
|
||||
Made formatting method 3x faster. http://jsperf.com/momentjs-cached-format-functions
|
||||
|
||||
Add support for month/weekday callbacks in `moment.fn.format()`
|
||||
|
||||
Added instance specific languages.
|
||||
|
||||
Added two letter weekday abbreviations with the formatting token `dd`.
|
||||
|
||||
Various language updates.
|
||||
|
||||
Various bugfixes.
|
||||
|
||||
### 1.6.0 [See discussion](https://github.com/timrwood/moment/pull/268)
|
||||
|
||||
Added Durations.
|
||||
|
||||
Revamped parser to support parsing non-separated strings (YYYYMMDD vs YYYY-MM-DD).
|
||||
|
||||
Added support for millisecond parsing and formatting tokens (S SS SSS)
|
||||
|
||||
Added a getter for `moment.lang()`
|
||||
|
||||
Various bugfixes.
|
||||
|
||||
There are a few things deprecated in the 1.6.0 release.
|
||||
|
||||
1. The format tokens `z` and `zz` (timezone abbreviations like EST CST MST etc) will no longer be supported. Due to inconsistent browser support, we are unable to consistently produce this value. See [this issue](https://github.com/timrwood/moment/issues/162) for more background.
|
||||
|
||||
2. The method `moment.fn.native` is deprecated in favor of `moment.fn.toDate`. There continue to be issues with Google Closure Compiler throwing errors when using `native`, even in valid instances.
|
||||
|
||||
3. The way to customize am/pm strings is being changed. This would only affect you if you created a custom language file. For more information, see [this issue](https://github.com/timrwood/moment/pull/222).
|
||||
|
||||
### 1.5.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=10&page=1&state=closed)
|
||||
|
||||
Added UTC mode.
|
||||
|
||||
Added automatic ISO8601 parsing.
|
||||
|
||||
Various bugfixes.
|
||||
|
||||
### 1.4.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=8&state=closed)
|
||||
|
||||
Added `moment.fn.toDate` as a replacement for `moment.fn.native`.
|
||||
|
||||
Added `moment.fn.sod` and `moment.fn.eod` to get the start and end of day.
|
||||
|
||||
Various bugfixes.
|
||||
|
||||
### 1.3.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=7&state=closed)
|
||||
|
||||
Added support for parsing month names in the current language.
|
||||
|
||||
Added escape blocks for parsing tokens.
|
||||
|
||||
Added `moment.fn.calendar` to format strings like 'Today 2:30 PM', 'Tomorrow 1:25 AM', and 'Last Sunday 4:30 AM'.
|
||||
|
||||
Added `moment.fn.day` as a setter.
|
||||
|
||||
Various bugfixes
|
||||
|
||||
### 1.2.0 [See milestone](https://github.com/timrwood/moment/issues?milestone=4&state=closed)
|
||||
|
||||
Added timezones to parser and formatter.
|
||||
|
||||
Added `moment.fn.isDST`.
|
||||
|
||||
Added `moment.fn.zone` to get the timezone offset in minutes.
|
||||
|
||||
### 1.1.2 [See milestone](https://github.com/timrwood/moment/issues?milestone=6&state=closed)
|
||||
|
||||
Various bugfixes
|
||||
|
||||
### 1.1.1 [See milestone](https://github.com/timrwood/moment/issues?milestone=5&state=closed)
|
||||
|
||||
Added time specific diffs (months, days, hours, etc)
|
||||
|
||||
### 1.1.0
|
||||
|
||||
Added `moment.fn.format` localized masks. 'L LL LLL LLLL' [issue 29](https://github.com/timrwood/moment/pull/29)
|
||||
|
||||
Fixed [issue 31](https://github.com/timrwood/moment/pull/31).
|
||||
|
||||
### 1.0.1
|
||||
|
||||
Added `moment.version` to get the current version.
|
||||
|
||||
Removed `window !== undefined` when checking if module exists to support browserify. [issue 25](https://github.com/timrwood/moment/pull/25)
|
||||
|
||||
### 1.0.0
|
||||
|
||||
Added convenience methods for getting and setting date parts.
|
||||
|
||||
Added better support for `moment.add()`.
|
||||
|
||||
Added better lang support in NodeJS.
|
||||
|
||||
Renamed library from underscore.date to Moment.js
|
||||
|
||||
### 0.6.1
|
||||
|
||||
Added Portuguese, Italian, and French language support
|
||||
|
||||
### 0.6.0
|
||||
|
||||
Added _date.lang() support.
|
||||
Added support for passing multiple formats to try to parse a date. _date("07-10-1986", ["MM-DD-YYYY", "YYYY-MM-DD"]);
|
||||
Made parse from string and single format 25% faster.
|
||||
|
||||
### 0.5.2
|
||||
|
||||
Bugfix for [issue 8](https://github.com/timrwood/underscore.date/pull/8) and [issue 9](https://github.com/timrwood/underscore.date/pull/9).
|
||||
|
||||
### 0.5.1
|
||||
|
||||
Bugfix for [issue 5](https://github.com/timrwood/underscore.date/pull/5).
|
||||
|
||||
### 0.5.0
|
||||
|
||||
Dropped the redundant `_date.date()` in favor of `_date()`.
|
||||
Removed `_date.now()`, as it is a duplicate of `_date()` with no parameters.
|
||||
Removed `_date.isLeapYear(yearNumber)`. Use `_date([yearNumber]).isLeapYear()` instead.
|
||||
Exposed customization options through the `_date.relativeTime`, `_date.weekdays`, `_date.weekdaysShort`, `_date.months`, `_date.monthsShort`, and `_date.ordinal` variables instead of the `_date.customize()` function.
|
||||
|
||||
### 0.4.1
|
||||
|
||||
Added date input formats for input strings.
|
||||
|
||||
### 0.4.0
|
||||
|
||||
Added underscore.date to npm. Removed dependencies on underscore.
|
||||
|
||||
### 0.3.2
|
||||
|
||||
Added `'z'` and `'zz'` to `_.date().format()`. Cleaned up some redundant code to trim off some bytes.
|
||||
|
||||
### 0.3.1
|
||||
|
||||
Cleaned up the namespace. Moved all date manipulation and display functions to the _.date() object.
|
||||
|
||||
### 0.3.0
|
||||
|
||||
Switched to the Underscore methodology of not mucking with the native objects' prototypes.
|
||||
Made chaining possible.
|
||||
|
||||
### 0.2.1
|
||||
|
||||
Changed date names to be a more pseudo standardized 'dddd, MMMM Do YYYY, h:mm:ss a'.
|
||||
Added `Date.prototype` functions `add`, `subtract`, `isdst`, and `isleapyear`.
|
||||
|
||||
### 0.2.0
|
||||
|
||||
Changed function names to be more concise.
|
||||
Changed date format from php date format to custom format.
|
||||
|
||||
### 0.1.0
|
||||
|
||||
Initial release
|
||||
|
||||
License
|
||||
=======
|
||||
|
||||
Moment.js is freely distributable under the terms of the MIT license.
|
||||
|
|
@ -12,15 +12,31 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
||||
var format = {
|
||||
'mm': 'minute',
|
||||
'hh': 'ore',
|
||||
'dd': 'zile',
|
||||
'MM': 'luni',
|
||||
'yy': 'ani'
|
||||
},
|
||||
separator = ' ';
|
||||
if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
|
||||
separator = ' de ';
|
||||
}
|
||||
|
||||
return number + separator + format[key];
|
||||
}
|
||||
|
||||
return moment.lang('ro', {
|
||||
months : "Ianuarie_Februarie_Martie_Aprilie_Mai_Iunie_Iulie_August_Septembrie_Octombrie_Noiembrie_Decembrie".split("_"),
|
||||
monthsShort : "Ian_Feb_Mar_Apr_Mai_Iun_Iul_Aug_Sep_Oct_Noi_Dec".split("_"),
|
||||
weekdays : "Duminică_Luni_Marţi_Miercuri_Joi_Vineri_Sâmbătă".split("_"),
|
||||
months : "ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),
|
||||
monthsShort : "ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),
|
||||
weekdays : "duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),
|
||||
weekdaysShort : "Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),
|
||||
weekdaysMin : "Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "H:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
L : "DD.MM.YYYY",
|
||||
LL : "D MMMM YYYY",
|
||||
LLL : "D MMMM YYYY H:mm",
|
||||
LLLL : "dddd, D MMMM YYYY H:mm"
|
||||
|
|
@ -38,15 +54,15 @@
|
|||
past : "%s în urmă",
|
||||
s : "câteva secunde",
|
||||
m : "un minut",
|
||||
mm : "%d minute",
|
||||
mm : relativeTimeWithPlural,
|
||||
h : "o oră",
|
||||
hh : "%d ore",
|
||||
hh : relativeTimeWithPlural,
|
||||
d : "o zi",
|
||||
dd : "%d zile",
|
||||
dd : relativeTimeWithPlural,
|
||||
M : "o lună",
|
||||
MM : "%d luni",
|
||||
MM : relativeTimeWithPlural,
|
||||
y : "un an",
|
||||
yy : "%d ani"
|
||||
yy : relativeTimeWithPlural
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@
|
|||
|
||||
function relativeTimeWithPlural(number, withoutSuffix, key) {
|
||||
var format = {
|
||||
'mm': 'минута_минуты_минут',
|
||||
'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
|
||||
'hh': 'час_часа_часов',
|
||||
'dd': 'день_дня_дней',
|
||||
'MM': 'месяц_месяца_месяцев',
|
||||
|
|
@ -39,7 +39,7 @@
|
|||
'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_')
|
||||
},
|
||||
|
||||
nounCase = (/D[oD]? *MMMM?/).test(format) ?
|
||||
nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ?
|
||||
'accusative' :
|
||||
'nominative';
|
||||
|
||||
|
|
@ -52,7 +52,7 @@
|
|||
'accusative': 'янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек'.split('_')
|
||||
},
|
||||
|
||||
nounCase = (/D[oD]? *MMMM?/).test(format) ?
|
||||
nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ?
|
||||
'accusative' :
|
||||
'nominative';
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
// language : Albanian (sq)
|
||||
// author : Flakërim Ismani : https://github.com/flakerimi
|
||||
// author: Menelion Elensúle: https://github.com/Oire (tests)
|
||||
// author : Oerd Cukalla : https://github.com/oerd (fixes)
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
|
|
@ -15,9 +16,12 @@
|
|||
return moment.lang('sq', {
|
||||
months : "Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),
|
||||
monthsShort : "Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),
|
||||
weekdays : "E Diel_E Hënë_E Marte_E Mërkure_E Enjte_E Premte_E Shtunë".split("_"),
|
||||
weekdays : "E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),
|
||||
weekdaysShort : "Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),
|
||||
weekdaysMin : "D_H_Ma_Më_E_P_Sh".split("_"),
|
||||
meridiem : function (hours, minutes, isLower) {
|
||||
return hours < 12 ? 'PD' : 'MD';
|
||||
},
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
|
|
@ -27,7 +31,7 @@
|
|||
},
|
||||
calendar : {
|
||||
sameDay : '[Sot në] LT',
|
||||
nextDay : '[Neser në] LT',
|
||||
nextDay : '[Nesër në] LT',
|
||||
nextWeek : 'dddd [në] LT',
|
||||
lastDay : '[Dje në] LT',
|
||||
lastWeek : 'dddd [e kaluar në] LT',
|
||||
|
|
@ -35,10 +39,10 @@
|
|||
},
|
||||
relativeTime : {
|
||||
future : "në %s",
|
||||
past : "%s me parë",
|
||||
s : "disa seconda",
|
||||
m : "një minut",
|
||||
mm : "%d minutea",
|
||||
past : "%s më parë",
|
||||
s : "disa sekonda",
|
||||
m : "një minutë",
|
||||
mm : "%d minuta",
|
||||
h : "një orë",
|
||||
hh : "%d orë",
|
||||
d : "një ditë",
|
||||
|
|
|
|||
106
rainloop/v/0.0.0/app/i18n/moment/sr-cyrl.js
Normal file
106
rainloop/v/0.0.0/app/i18n/moment/sr-cyrl.js
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
// moment.js language configuration
|
||||
// language : Serbian-cyrillic (sr-cyrl)
|
||||
// author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
|
||||
var translator = {
|
||||
words: { //Different grammatical cases
|
||||
m: ['један минут', 'једне минуте'],
|
||||
mm: ['минут', 'минуте', 'минута'],
|
||||
h: ['један сат', 'једног сата'],
|
||||
hh: ['сат', 'сата', 'сати'],
|
||||
dd: ['дан', 'дана', 'дана'],
|
||||
MM: ['месец', 'месеца', 'месеци'],
|
||||
yy: ['година', 'године', 'година']
|
||||
},
|
||||
correctGrammaticalCase: function (number, wordKey) {
|
||||
return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
|
||||
},
|
||||
translate: function (number, withoutSuffix, key) {
|
||||
var wordKey = translator.words[key];
|
||||
if (key.length === 1) {
|
||||
return withoutSuffix ? wordKey[0] : wordKey[1];
|
||||
} else {
|
||||
return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return moment.lang('sr-cyrl', {
|
||||
months: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'],
|
||||
monthsShort: ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'сеп.', 'окт.', 'нов.', 'дец.'],
|
||||
weekdays: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
|
||||
weekdaysShort: ['нед.', 'пон.', 'уто.', 'сре.', 'чет.', 'пет.', 'суб.'],
|
||||
weekdaysMin: ['не', 'по', 'ут', 'ср', 'че', 'пе', 'су'],
|
||||
longDateFormat: {
|
||||
LT: "H:mm",
|
||||
L: "DD. MM. YYYY",
|
||||
LL: "D. MMMM YYYY",
|
||||
LLL: "D. MMMM YYYY LT",
|
||||
LLLL: "dddd, D. MMMM YYYY LT"
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[данас у] LT',
|
||||
nextDay: '[сутра у] LT',
|
||||
|
||||
nextWeek: function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[у] [недељу] [у] LT';
|
||||
case 3:
|
||||
return '[у] [среду] [у] LT';
|
||||
case 6:
|
||||
return '[у] [суботу] [у] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[у] dddd [у] LT';
|
||||
}
|
||||
},
|
||||
lastDay : '[јуче у] LT',
|
||||
lastWeek : function () {
|
||||
var lastWeekDays = [
|
||||
'[прошле] [недеље] [у] LT',
|
||||
'[прошлог] [понедељка] [у] LT',
|
||||
'[прошлог] [уторка] [у] LT',
|
||||
'[прошле] [среде] [у] LT',
|
||||
'[прошлог] [четвртка] [у] LT',
|
||||
'[прошлог] [петка] [у] LT',
|
||||
'[прошле] [суботе] [у] LT'
|
||||
];
|
||||
return lastWeekDays[this.day()];
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "за %s",
|
||||
past : "пре %s",
|
||||
s : "неколико секунди",
|
||||
m : translator.translate,
|
||||
mm : translator.translate,
|
||||
h : translator.translate,
|
||||
hh : translator.translate,
|
||||
d : "дан",
|
||||
dd : translator.translate,
|
||||
M : "месец",
|
||||
MM : translator.translate,
|
||||
y : "годину",
|
||||
yy : translator.translate
|
||||
},
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
106
rainloop/v/0.0.0/app/i18n/moment/sr.js
Normal file
106
rainloop/v/0.0.0/app/i18n/moment/sr.js
Normal file
|
|
@ -0,0 +1,106 @@
|
|||
// moment.js language configuration
|
||||
// language : Serbian-latin (sr)
|
||||
// author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
|
||||
var translator = {
|
||||
words: { //Different grammatical cases
|
||||
m: ['jedan minut', 'jedne minute'],
|
||||
mm: ['minut', 'minute', 'minuta'],
|
||||
h: ['jedan sat', 'jednog sata'],
|
||||
hh: ['sat', 'sata', 'sati'],
|
||||
dd: ['dan', 'dana', 'dana'],
|
||||
MM: ['mesec', 'meseca', 'meseci'],
|
||||
yy: ['godina', 'godine', 'godina']
|
||||
},
|
||||
correctGrammaticalCase: function (number, wordKey) {
|
||||
return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
|
||||
},
|
||||
translate: function (number, withoutSuffix, key) {
|
||||
var wordKey = translator.words[key];
|
||||
if (key.length === 1) {
|
||||
return withoutSuffix ? wordKey[0] : wordKey[1];
|
||||
} else {
|
||||
return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
return moment.lang('sr', {
|
||||
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.'],
|
||||
weekdays: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'],
|
||||
weekdaysShort: ['ned.', 'pon.', 'uto.', 'sre.', 'čet.', 'pet.', 'sub.'],
|
||||
weekdaysMin: ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
|
||||
longDateFormat: {
|
||||
LT: "H:mm",
|
||||
L: "DD. MM. YYYY",
|
||||
LL: "D. MMMM YYYY",
|
||||
LLL: "D. MMMM YYYY LT",
|
||||
LLLL: "dddd, D. MMMM YYYY LT"
|
||||
},
|
||||
calendar: {
|
||||
sameDay: '[danas u] LT',
|
||||
nextDay: '[sutra u] LT',
|
||||
|
||||
nextWeek: function () {
|
||||
switch (this.day()) {
|
||||
case 0:
|
||||
return '[u] [nedelju] [u] LT';
|
||||
case 3:
|
||||
return '[u] [sredu] [u] LT';
|
||||
case 6:
|
||||
return '[u] [subotu] [u] LT';
|
||||
case 1:
|
||||
case 2:
|
||||
case 4:
|
||||
case 5:
|
||||
return '[u] dddd [u] LT';
|
||||
}
|
||||
},
|
||||
lastDay : '[juče u] LT',
|
||||
lastWeek : function () {
|
||||
var lastWeekDays = [
|
||||
'[prošle] [nedelje] [u] LT',
|
||||
'[prošlog] [ponedeljka] [u] LT',
|
||||
'[prošlog] [utorka] [u] LT',
|
||||
'[prošle] [srede] [u] LT',
|
||||
'[prošlog] [četvrtka] [u] LT',
|
||||
'[prošlog] [petka] [u] LT',
|
||||
'[prošle] [subote] [u] LT'
|
||||
];
|
||||
return lastWeekDays[this.day()];
|
||||
},
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "za %s",
|
||||
past : "pre %s",
|
||||
s : "nekoliko sekundi",
|
||||
m : translator.translate,
|
||||
mm : translator.translate,
|
||||
h : translator.translate,
|
||||
hh : translator.translate,
|
||||
d : "dan",
|
||||
dd : translator.translate,
|
||||
M : "mesec",
|
||||
MM : translator.translate,
|
||||
y : "godinu",
|
||||
yy : translator.translate
|
||||
},
|
||||
ordinal : '%d.',
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 7 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
112
rainloop/v/0.0.0/app/i18n/moment/ta.js
Normal file
112
rainloop/v/0.0.0/app/i18n/moment/ta.js
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
// moment.js language configuration
|
||||
// language : tamil (ta)
|
||||
// author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
/*var symbolMap = {
|
||||
'1': '௧',
|
||||
'2': '௨',
|
||||
'3': '௩',
|
||||
'4': '௪',
|
||||
'5': '௫',
|
||||
'6': '௬',
|
||||
'7': '௭',
|
||||
'8': '௮',
|
||||
'9': '௯',
|
||||
'0': '௦'
|
||||
},
|
||||
numberMap = {
|
||||
'௧': '1',
|
||||
'௨': '2',
|
||||
'௩': '3',
|
||||
'௪': '4',
|
||||
'௫': '5',
|
||||
'௬': '6',
|
||||
'௭': '7',
|
||||
'௮': '8',
|
||||
'௯': '9',
|
||||
'௦': '0'
|
||||
}; */
|
||||
|
||||
return moment.lang('ta', {
|
||||
months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split("_"),
|
||||
monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split("_"),
|
||||
weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split("_"),
|
||||
weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split("_"),
|
||||
weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "DD/MM/YYYY",
|
||||
LL : "D MMMM YYYY",
|
||||
LLL : "D MMMM YYYY, LT",
|
||||
LLLL : "dddd, D MMMM YYYY, LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay : '[இன்று] LT',
|
||||
nextDay : '[நாளை] LT',
|
||||
nextWeek : 'dddd, LT',
|
||||
lastDay : '[நேற்று] LT',
|
||||
lastWeek : '[கடந்த வாரம்] dddd, LT',
|
||||
sameElse : 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "%s இல்",
|
||||
past : "%s முன்",
|
||||
s : "ஒரு சில விநாடிகள்",
|
||||
m : "ஒரு நிமிடம்",
|
||||
mm : "%d நிமிடங்கள்",
|
||||
h : "ஒரு மணி நேரம்",
|
||||
hh : "%d மணி நேரம்",
|
||||
d : "ஒரு நாள்",
|
||||
dd : "%d நாட்கள்",
|
||||
M : "ஒரு மாதம்",
|
||||
MM : "%d மாதங்கள்",
|
||||
y : "ஒரு வருடம்",
|
||||
yy : "%d ஆண்டுகள்"
|
||||
},
|
||||
/* preparse: function (string) {
|
||||
return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
|
||||
return numberMap[match];
|
||||
});
|
||||
},
|
||||
postformat: function (string) {
|
||||
return string.replace(/\d/g, function (match) {
|
||||
return symbolMap[match];
|
||||
});
|
||||
},*/
|
||||
ordinal : function (number) {
|
||||
return number + 'வது';
|
||||
},
|
||||
|
||||
|
||||
// refer http://ta.wikipedia.org/s/1er1
|
||||
|
||||
meridiem : function (hour, minute, isLower) {
|
||||
if (hour >= 6 && hour <= 10) {
|
||||
return " காலை";
|
||||
} else if (hour >= 10 && hour <= 14) {
|
||||
return " நண்பகல்";
|
||||
} else if (hour >= 14 && hour <= 18) {
|
||||
return " எற்பாடு";
|
||||
} else if (hour >= 18 && hour <= 20) {
|
||||
return " மாலை";
|
||||
} else if (hour >= 20 && hour <= 24) {
|
||||
return " இரவு";
|
||||
} else if (hour >= 0 && hour <= 6) {
|
||||
return " வைகறை";
|
||||
}
|
||||
},
|
||||
week : {
|
||||
dow : 0, // Sunday is the first day of the week.
|
||||
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
58
rainloop/v/0.0.0/app/i18n/moment/tl-ph.js
Normal file
58
rainloop/v/0.0.0/app/i18n/moment/tl-ph.js
Normal file
|
|
@ -0,0 +1,58 @@
|
|||
// moment.js language configuration
|
||||
// language : Tagalog/Filipino (tl-ph)
|
||||
// author : Dan Hagman
|
||||
|
||||
(function (factory) {
|
||||
if (typeof define === 'function' && define.amd) {
|
||||
define(['moment'], factory); // AMD
|
||||
} else if (typeof exports === 'object') {
|
||||
module.exports = factory(require('../moment')); // Node
|
||||
} else {
|
||||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('tl-ph', {
|
||||
months : "Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),
|
||||
monthsShort : "Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),
|
||||
weekdays : "Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),
|
||||
weekdaysShort : "Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),
|
||||
weekdaysMin : "Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "HH:mm",
|
||||
L : "MM/D/YYYY",
|
||||
LL : "MMMM D, YYYY",
|
||||
LLL : "MMMM D, YYYY LT",
|
||||
LLLL : "dddd, MMMM DD, YYYY LT"
|
||||
},
|
||||
calendar : {
|
||||
sameDay: "[Ngayon sa] LT",
|
||||
nextDay: '[Bukas sa] LT',
|
||||
nextWeek: 'dddd [sa] LT',
|
||||
lastDay: '[Kahapon sa] LT',
|
||||
lastWeek: 'dddd [huling linggo] LT',
|
||||
sameElse: 'L'
|
||||
},
|
||||
relativeTime : {
|
||||
future : "sa loob ng %s",
|
||||
past : "%s ang nakalipas",
|
||||
s : "ilang segundo",
|
||||
m : "isang minuto",
|
||||
mm : "%d minuto",
|
||||
h : "isang oras",
|
||||
hh : "%d oras",
|
||||
d : "isang araw",
|
||||
dd : "%d araw",
|
||||
M : "isang buwan",
|
||||
MM : "%d buwan",
|
||||
y : "isang taon",
|
||||
yy : "%d taon"
|
||||
},
|
||||
ordinal : function (number) {
|
||||
return number;
|
||||
},
|
||||
week : {
|
||||
dow : 1, // Monday is the first day of the week.
|
||||
doy : 4 // The week that contains Jan 4th is the first week of the year.
|
||||
}
|
||||
});
|
||||
}));
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// moment.js language configuration
|
||||
// language : Morocco Central Atlas Tamaziɣt in Latin (tzm-la)
|
||||
// language : Morocco Central Atlas Tamaziɣt in Latin (tzm-latn)
|
||||
// author : Abdel Said : https://github.com/abdelsaid
|
||||
|
||||
(function (factory) {
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('tzm-la', {
|
||||
return moment.lang('tzm-latn', {
|
||||
months : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
|
||||
monthsShort : "innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),
|
||||
weekdays : "asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
// moment.js language configuration
|
||||
// language : vietnamese (vn)
|
||||
// language : vietnamese (vi)
|
||||
// author : Bang Nguyen : https://github.com/bangnk
|
||||
|
||||
(function (factory) {
|
||||
|
|
@ -11,7 +11,7 @@
|
|||
factory(window.moment); // Browser global
|
||||
}
|
||||
}(function (moment) {
|
||||
return moment.lang('vn', {
|
||||
return moment.lang('vi', {
|
||||
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".split("_"),
|
||||
monthsShort : "Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),
|
||||
weekdays : "chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),
|
||||
|
|
@ -20,11 +20,11 @@
|
|||
weekdaysMin : "日_一_二_三_四_五_六".split("_"),
|
||||
longDateFormat : {
|
||||
LT : "Ah点mm",
|
||||
L : "YYYY年MMMD日",
|
||||
L : "YYYY-MM-DD",
|
||||
LL : "YYYY年MMMD日",
|
||||
LLL : "YYYY年MMMD日LT",
|
||||
LLLL : "YYYY年MMMD日ddddLT",
|
||||
l : "YYYY年MMMD日",
|
||||
l : "YYYY-MM-DD",
|
||||
ll : "YYYY年MMMD日",
|
||||
lll : "YYYY年MMMD日LT",
|
||||
llll : "YYYY年MMMD日ddddLT"
|
||||
|
|
@ -67,7 +67,7 @@
|
|||
prefix = this.unix() < startOfWeek.unix() ? '[上]' : '[本]';
|
||||
return this.minutes() === 0 ? prefix + "dddAh点整" : prefix + "dddAh点mm";
|
||||
},
|
||||
sameElse : 'L'
|
||||
sameElse : 'LL'
|
||||
},
|
||||
ordinal : function (number, period) {
|
||||
switch (period) {
|
||||
|
|
|
|||
|
|
@ -2444,7 +2444,9 @@ class Actions
|
|||
$this->IsAdminLoggined();
|
||||
|
||||
$bImapResult = false;
|
||||
$sImapErrorDesc = '';
|
||||
$bSmtpResult = false;
|
||||
$sSmtpErrorDesc = '';
|
||||
|
||||
$iImapTime = 0;
|
||||
$iSmtpTime = 0;
|
||||
|
|
@ -2466,6 +2468,7 @@ class Actions
|
|||
catch (\Exception $oException)
|
||||
{
|
||||
$this->Logger()->WriteException($oException, \MailSo\Log\Enumerations\Type::ERROR);
|
||||
$sImapErrorDesc = $oException->getMessage();
|
||||
}
|
||||
|
||||
try
|
||||
|
|
@ -2482,12 +2485,13 @@ class Actions
|
|||
catch (\Exception $oException)
|
||||
{
|
||||
$this->Logger()->WriteException($oException, \MailSo\Log\Enumerations\Type::ERROR);
|
||||
$sSmtpErrorDesc = $oException->getMessage();
|
||||
}
|
||||
}
|
||||
|
||||
return $this->DefaultResponse(__FUNCTION__, array(
|
||||
'Imap' => $bImapResult ? $iImapTime : false,
|
||||
'Smtp' => $bSmtpResult ? $iSmtpTime : false
|
||||
'Imap' => $bImapResult ? true : $sImapErrorDesc,
|
||||
'Smtp' => $bSmtpResult ? true : $sSmtpErrorDesc
|
||||
));
|
||||
}
|
||||
|
||||
|
|
@ -7002,6 +7006,12 @@ class Actions
|
|||
}
|
||||
else if ('RainLoop\Providers\AddressBook\Classes\Property' === $sClassName)
|
||||
{
|
||||
// Simple hack
|
||||
if ($mResponse && $mResponse->IsWeb())
|
||||
{
|
||||
$mResponse->Value = \preg_replace('/(skype|ftp|http[s]?)\\\:\/\//i', '$1://', $mResponse->Value);
|
||||
}
|
||||
|
||||
$mResult = \array_merge($this->objectData($mResponse, $sParent, $aParameters), array(
|
||||
/* @var $mResponse \RainLoop\Providers\AddressBook\Classes\Property */
|
||||
'IdProperty' => $mResponse->IdProperty,
|
||||
|
|
|
|||
|
|
@ -75,6 +75,14 @@ class Property
|
|||
return PropertyType::PHONE === $this->Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
public function IsWeb()
|
||||
{
|
||||
return PropertyType::WEB_PAGE === $this->Type;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return bool
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -1,7 +1,9 @@
|
|||
<div class="popups">
|
||||
<div class="modal hide b-contacts-content" data-bind="modal: modalVisibility">
|
||||
<div class="modal-header b-header-toolbar g-ui-user-select-none">
|
||||
|
||||
<button type="button" class="close" data-bind="command: cancelCommand">×</button>
|
||||
|
||||
<div class="btn-toolbar">
|
||||
|
||||
<div class="btn-group">
|
||||
|
|
@ -12,6 +14,19 @@
|
|||
</a>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-success button-new-message" data-bind="command: newMessageCommand">
|
||||
<i class="icon-mail icon-white"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<a class="btn button-delete" data-bind="command: deleteCommand">
|
||||
<i class="icon-trash"></i>
|
||||
<span data-bind="text: 1 < contactsCheckedOrSelected().length ? ' (' + contactsCheckedOrSelected().length + ')' : ''"></span>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="btn-group dropdown" data-bind="registrateBootstrapDropdown: true">
|
||||
<a id="contacts-more-dropdown-id" class="btn dropdown-toggle buttonMore" href="#" tabindex="-1" data-toggle="dropdown">
|
||||
<i data-bind="css: {'icon-list': !contacts.importing() && !contacts.syncing(),
|
||||
|
|
@ -51,21 +66,9 @@
|
|||
</ul>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-success button-new-message" data-bind="command: newMessageCommand">
|
||||
<i class="icon-mail icon-white"></i>
|
||||
</a>
|
||||
</div>
|
||||
|
||||
<div class="btn-group">
|
||||
<a class="btn button-delete" data-bind="command: deleteCommand">
|
||||
<i class="icon-trash"></i>
|
||||
<span data-bind="text: 1 < contactsCheckedOrSelected().length ? ' (' + contactsCheckedOrSelected().length + ')' : ''"></span>
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-body" style="position: relative">
|
||||
<div class="modal-body" style="position: relative;">
|
||||
<div class="b-list-toopbar">
|
||||
<input type="search" class="i18n span3 e-search" placeholder="Search" autocorrect="off" autocapitalize="off"
|
||||
data-i18n-placeholder="CONTACTS/SEARCH_INPUT_PLACEHOLDER" data-bind="value: search" />
|
||||
|
|
@ -166,6 +169,21 @@
|
|||
<a href="javascript:void(0);" class="g-ui-link add-link i18n" data-bind="visible: !viewReadOnly(), click: addNewPhone" data-i18n-text="CONTACTS/LINK_ADD_PHONE"></a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group" data-bind="visible: 0 < viewPropertiesWeb().length">
|
||||
<label class="control-label remove-padding-top fix-width">
|
||||
<i class="icon-earth iconsize24" data-tooltip-placement="left" data-bind="tooltip: 'CONTACTS/LABEL_WEB'"></i>
|
||||
</label>
|
||||
<div class="controls fix-width">
|
||||
<div data-bind="foreach: viewPropertiesWeb">
|
||||
<div class="property-line">
|
||||
<span class="contactValueStatic" data-bind="text: value" />
|
||||
<input type="text" class="contactValueInput"
|
||||
autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"
|
||||
data-bind="value: value, hasFocus: focused, valueUpdate: 'keyup'" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<div class="controls fix-width">
|
||||
<br />
|
||||
|
|
|
|||
|
|
@ -19,7 +19,9 @@
|
|||
<div class="row">
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingImapError }">
|
||||
<div class="legend imap-header">
|
||||
IMAP
|
||||
<span data-placement="top" data-bind="tooltip3: testingImapErrorDesc">
|
||||
IMAP
|
||||
</span>
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
|
|
@ -50,7 +52,9 @@
|
|||
</div>
|
||||
<div class="span4" data-bind="css: { 'testing-done': testingDone, 'testing-error': testingSmtpError }">
|
||||
<div class="legend smtp-header">
|
||||
SMTP
|
||||
<span data-placement="top" data-bind="tooltip3: testingSmtpErrorDesc">
|
||||
SMTP
|
||||
</span>
|
||||
</div>
|
||||
Server
|
||||
<br />
|
||||
|
|
|
|||
|
|
@ -6428,6 +6428,9 @@ select {
|
|||
.nav-tabs > li > a {
|
||||
color: #555;
|
||||
}
|
||||
.popover {
|
||||
z-index: 2000;
|
||||
}
|
||||
html.no-rgba .modal {
|
||||
border-width: 0px !important;
|
||||
}
|
||||
|
|
@ -7018,7 +7021,7 @@ html.ssm-state-desktop-large .b-compose.modal {
|
|||
width: 1000px;
|
||||
}
|
||||
html.ssm-state-desktop-large .b-contacts-content.modal {
|
||||
width: 1000px;
|
||||
width: 800px;
|
||||
}
|
||||
html.ssm-state-desktop #rl-left {
|
||||
width: 200px;
|
||||
|
|
@ -7036,7 +7039,7 @@ html.ssm-state-desktop .b-compose.modal {
|
|||
width: 1000px;
|
||||
}
|
||||
html.ssm-state-desktop .b-contacts-content.modal {
|
||||
width: 1000px;
|
||||
width: 800px;
|
||||
}
|
||||
html.ssm-state-tablet #rl-left,
|
||||
html.ssm-state-mobile #rl-left {
|
||||
|
|
@ -8406,6 +8409,14 @@ html.rl-message-fullscreen .messageView .b-content .buttonFull {
|
|||
color: #fff;
|
||||
background-color: #333;
|
||||
background-color: rgba(0, 0, 0, 0.8) !important;
|
||||
/*
|
||||
.button-new-message {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.button-delete {
|
||||
margin-left: 8px;
|
||||
}*/
|
||||
|
||||
}
|
||||
.b-contacts-content.modal .b-header-toolbar .close {
|
||||
color: #fff;
|
||||
|
|
@ -8415,12 +8426,6 @@ html.rl-message-fullscreen .messageView .b-content .buttonFull {
|
|||
.b-contacts-content.modal .b-header-toolbar .btn {
|
||||
margin-top: 4px;
|
||||
}
|
||||
.b-contacts-content.modal .b-header-toolbar .button-new-message {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.b-contacts-content.modal .b-header-toolbar .button-delete {
|
||||
margin-left: 8px;
|
||||
}
|
||||
.b-contacts-content.modal .b-list-toopbar {
|
||||
padding: 0;
|
||||
height: 45px;
|
||||
|
|
|
|||
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
2
rainloop/v/0.0.0/static/css/app.min.css
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1721,6 +1721,7 @@ Utils.createMomentDate = function (oObject)
|
|||
Utils.createMomentShortDate = function (oObject)
|
||||
{
|
||||
return ko.computed(function () {
|
||||
|
||||
var
|
||||
sResult = '',
|
||||
oMomentNow = moment(),
|
||||
|
|
@ -1744,7 +1745,6 @@ Utils.createMomentShortDate = function (oObject)
|
|||
'TIME': oMoment.format('LT')
|
||||
});
|
||||
}
|
||||
|
||||
else if (oMomentNow.year() === oMoment.year())
|
||||
{
|
||||
sResult = oMoment.format('D MMM.');
|
||||
|
|
@ -2693,6 +2693,44 @@ ko.bindingHandlers.tooltip2 = {
|
|||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.tooltip3 = {
|
||||
'init': function (oElement) {
|
||||
|
||||
var $oEl = $(oElement);
|
||||
|
||||
$oEl.tooltip({
|
||||
'container': 'body',
|
||||
'trigger': 'hover manual',
|
||||
'title': function () {
|
||||
return $oEl.data('tooltip3-data') || '';
|
||||
}
|
||||
});
|
||||
|
||||
Globals.dropdownVisibility.subscribe(function (bValue) {
|
||||
if (bValue)
|
||||
{
|
||||
$oEl.tooltip('hide');
|
||||
}
|
||||
});
|
||||
|
||||
$document.click(function () {
|
||||
$oEl.tooltip('hide');
|
||||
});
|
||||
|
||||
},
|
||||
'update': function (oElement, fValueAccessor) {
|
||||
var sValue = ko.utils.unwrapObservable(fValueAccessor());
|
||||
if ('' === sValue)
|
||||
{
|
||||
$(oElement).data('tooltip3-data', '').tooltip('hide');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(oElement).data('tooltip3-data', sValue).tooltip('show');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.registrateBootstrapDropdown = {
|
||||
'init': function (oElement) {
|
||||
BootstrapDropdowns.push($(oElement));
|
||||
|
|
@ -4880,6 +4918,25 @@ function PopupsDomainViewModel()
|
|||
this.testingDone = ko.observable(false);
|
||||
this.testingImapError = ko.observable(false);
|
||||
this.testingSmtpError = ko.observable(false);
|
||||
this.testingImapErrorDesc = ko.observable('');
|
||||
this.testingSmtpErrorDesc = ko.observable('');
|
||||
|
||||
this.testingImapError.subscribe(function (bValue) {
|
||||
if (!bValue)
|
||||
{
|
||||
this.testingImapErrorDesc('');
|
||||
}
|
||||
}, this);
|
||||
|
||||
this.testingSmtpError.subscribe(function (bValue) {
|
||||
if (!bValue)
|
||||
{
|
||||
this.testingSmtpErrorDesc('');
|
||||
}
|
||||
}, this);
|
||||
|
||||
this.testingImapErrorDesc = ko.observable('');
|
||||
this.testingSmtpErrorDesc = ko.observable('');
|
||||
|
||||
this.imapServerFocus = ko.observable(false);
|
||||
this.smtpServerFocus = ko.observable(false);
|
||||
|
|
@ -5034,8 +5091,18 @@ PopupsDomainViewModel.prototype.onTestConnectionResponse = function (sResult, oD
|
|||
if (Enums.StorageResultType.Success === sResult && oData.Result)
|
||||
{
|
||||
this.testingDone(true);
|
||||
this.testingImapError(false === oData.Result.Imap);
|
||||
this.testingSmtpError(false === oData.Result.Smtp);
|
||||
this.testingImapError(true !== oData.Result.Imap);
|
||||
this.testingSmtpError(true !== oData.Result.Smtp);
|
||||
|
||||
if (this.testingImapError() && oData.Result.Imap)
|
||||
{
|
||||
this.testingImapErrorDesc(oData.Result.Imap);
|
||||
}
|
||||
|
||||
if (this.testingSmtpError() && oData.Result.Smtp)
|
||||
{
|
||||
this.testingSmtpErrorDesc(oData.Result.Smtp);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
|
|
|
|||
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
8
rainloop/v/0.0.0/static/js/admin.min.js
vendored
File diff suppressed because one or more lines are too long
|
|
@ -1725,6 +1725,7 @@ Utils.createMomentDate = function (oObject)
|
|||
Utils.createMomentShortDate = function (oObject)
|
||||
{
|
||||
return ko.computed(function () {
|
||||
|
||||
var
|
||||
sResult = '',
|
||||
oMomentNow = moment(),
|
||||
|
|
@ -1748,7 +1749,6 @@ Utils.createMomentShortDate = function (oObject)
|
|||
'TIME': oMoment.format('LT')
|
||||
});
|
||||
}
|
||||
|
||||
else if (oMomentNow.year() === oMoment.year())
|
||||
{
|
||||
sResult = oMoment.format('D MMM.');
|
||||
|
|
@ -2697,6 +2697,44 @@ ko.bindingHandlers.tooltip2 = {
|
|||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.tooltip3 = {
|
||||
'init': function (oElement) {
|
||||
|
||||
var $oEl = $(oElement);
|
||||
|
||||
$oEl.tooltip({
|
||||
'container': 'body',
|
||||
'trigger': 'hover manual',
|
||||
'title': function () {
|
||||
return $oEl.data('tooltip3-data') || '';
|
||||
}
|
||||
});
|
||||
|
||||
Globals.dropdownVisibility.subscribe(function (bValue) {
|
||||
if (bValue)
|
||||
{
|
||||
$oEl.tooltip('hide');
|
||||
}
|
||||
});
|
||||
|
||||
$document.click(function () {
|
||||
$oEl.tooltip('hide');
|
||||
});
|
||||
|
||||
},
|
||||
'update': function (oElement, fValueAccessor) {
|
||||
var sValue = ko.utils.unwrapObservable(fValueAccessor());
|
||||
if ('' === sValue)
|
||||
{
|
||||
$(oElement).data('tooltip3-data', '').tooltip('hide');
|
||||
}
|
||||
else
|
||||
{
|
||||
$(oElement).data('tooltip3-data', sValue).tooltip('show');
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
ko.bindingHandlers.registrateBootstrapDropdown = {
|
||||
'init': function (oElement) {
|
||||
BootstrapDropdowns.push($(oElement));
|
||||
|
|
@ -4281,12 +4319,13 @@ Selector.prototype.init = function (oContentVisible, oContentScrollable, sKeySco
|
|||
;
|
||||
|
||||
key('enter', sKeyScope, function () {
|
||||
if (self.focusedItem())
|
||||
if (self.focusedItem() && !self.focusedItem().selected())
|
||||
{
|
||||
self.actionClick(self.focusedItem());
|
||||
return false;
|
||||
}
|
||||
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
key('ctrl+up, command+up, ctrl+down, command+down', sKeyScope, function () {
|
||||
|
|
@ -8766,12 +8805,11 @@ PopupsComposeViewModel.prototype.convertSignature = function (sSignature, sFrom)
|
|||
{
|
||||
sSignature = sSignature.replace(/{{FROM}}/, sFrom);
|
||||
}
|
||||
else
|
||||
{
|
||||
sSignature = sSignature.replace(/{{IF:FROM}}[\s\S]+{{\/IF:FROM}}[\n]?/gm, '');
|
||||
}
|
||||
|
||||
sSignature = sSignature.replace(/{{FROM}}[\n]?/, '').replace(/{{IF:FROM}}[\n]?/, '').replace(/{{\/IF:FROM}}[\n]?/, '');
|
||||
sSignature = sSignature.replace(/[\s]{1,2}{{FROM}}/, '{{FROM}}');
|
||||
|
||||
sSignature = sSignature.replace(/{{FROM}}/, '');
|
||||
sSignature = sSignature.replace(/{{DATE}}/, moment().format('llll'));
|
||||
|
||||
if (!bHtml)
|
||||
{
|
||||
|
|
@ -9709,6 +9747,10 @@ function PopupsContactsViewModel()
|
|||
return Enums.ContactPropertyType.Email === oProperty.type();
|
||||
});
|
||||
|
||||
this.viewPropertiesWeb = this.viewProperties.filter(function(oProperty) {
|
||||
return Enums.ContactPropertyType.Web === oProperty.type();
|
||||
});
|
||||
|
||||
this.viewHasNonEmptyRequaredProperties = ko.computed(function() {
|
||||
|
||||
var
|
||||
|
|
@ -9740,6 +9782,11 @@ function PopupsContactsViewModel()
|
|||
return '' === Utils.trim(oProperty.value()) && !bF;
|
||||
});
|
||||
|
||||
this.viewPropertiesWebEmptyAndOnFocused = this.viewPropertiesWeb.filter(function(oProperty) {
|
||||
var bF = oProperty.focused();
|
||||
return '' === Utils.trim(oProperty.value()) && !bF;
|
||||
});
|
||||
|
||||
this.viewPropertiesEmailsEmptyAndOnFocused.subscribe(function(aList) {
|
||||
fFastClearEmptyListHelper(aList);
|
||||
});
|
||||
|
|
@ -9748,6 +9795,10 @@ function PopupsContactsViewModel()
|
|||
fFastClearEmptyListHelper(aList);
|
||||
});
|
||||
|
||||
this.viewPropertiesWebEmptyAndOnFocused.subscribe(function(aList) {
|
||||
fFastClearEmptyListHelper(aList);
|
||||
});
|
||||
|
||||
this.viewSaving = ko.observable(false);
|
||||
|
||||
this.useCheckboxesInList = RL.data().useCheckboxesInList;
|
||||
|
|
@ -9973,6 +10024,11 @@ PopupsContactsViewModel.prototype.addNewPhone = function ()
|
|||
this.addNewProperty(Enums.ContactPropertyType.Phone, 'Mobile');
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.addNewWeb = function ()
|
||||
{
|
||||
this.addNewProperty(Enums.ContactPropertyType.Web);
|
||||
};
|
||||
|
||||
PopupsContactsViewModel.prototype.exportVcf = function ()
|
||||
{
|
||||
RL.download(RL.link().exportContactsVcf());
|
||||
|
|
@ -10144,8 +10200,8 @@ PopupsContactsViewModel.prototype.populateViewContact = function (oContact)
|
|||
this.viewReadOnly(!!oContact.readOnly);
|
||||
}
|
||||
|
||||
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.LastName, '', sLastName, !oContact, 'CONTACTS/PLACEHOLDER_ENTER_LAST_NAME'));
|
||||
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.FirstName, '', sFirstName, false, 'CONTACTS/PLACEHOLDER_ENTER_FIRST_NAME'));
|
||||
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.LastName, '', sLastName, false, 'CONTACTS/PLACEHOLDER_ENTER_LAST_NAME'));
|
||||
aList.unshift(new ContactPropertyModel(Enums.ContactPropertyType.FirstName, '', sFirstName, !oContact, 'CONTACTS/PLACEHOLDER_ENTER_FIRST_NAME'));
|
||||
|
||||
this.viewID(sId);
|
||||
this.viewProperties([]);
|
||||
|
|
@ -10415,7 +10471,7 @@ function PopupsAddAccountViewModel()
|
|||
this.passwordError(false);
|
||||
}, this);
|
||||
|
||||
this.allowCustomLogin = ko.observable(false);
|
||||
this.allowCustomLogin = RL.data().allowCustomLogin;
|
||||
|
||||
this.submitRequest = ko.observable(false);
|
||||
this.submitError = ko.observable('');
|
||||
|
|
@ -10455,7 +10511,7 @@ function PopupsAddAccountViewModel()
|
|||
this.submitError(Utils.getNotification(Enums.Notification.UnknownError));
|
||||
}
|
||||
|
||||
}, this), this.email(), this.login(), this.password());
|
||||
}, this), this.email(), this.allowCustomLogin() ? this.login() : '', this.password());
|
||||
|
||||
return true;
|
||||
|
||||
|
|
@ -10498,11 +10554,6 @@ PopupsAddAccountViewModel.prototype.onFocus = function ()
|
|||
{
|
||||
this.emailFocus(true);
|
||||
};
|
||||
|
||||
PopupsAddAccountViewModel.prototype.onBuild = function ()
|
||||
{
|
||||
this.allowCustomLogin(!!RL.settingsGet('AllowCustomLogin'));
|
||||
};
|
||||
|
||||
/**
|
||||
* @constructor
|
||||
|
|
@ -11507,7 +11558,7 @@ function LoginViewModel()
|
|||
this.submitError(Utils.getNotification(Enums.Notification.UnknownError));
|
||||
}
|
||||
|
||||
}, this), this.email(), this.login(), this.password(), !!this.signMe(),
|
||||
}, this), this.email(), this.allowCustomLogin() ? this.login() : '', this.password(), !!this.signMe(),
|
||||
this.bSendLanguage ? this.mainLanguage() : '',
|
||||
this.additionalCode.visibility() ? this.additionalCode() : '',
|
||||
this.additionalCode.visibility() ? !!this.additionalCodeSignMe() : false
|
||||
|
|
|
|||
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
18
rainloop/v/0.0.0/static/js/app.min.js
vendored
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue