Skip to content

Commit 6d5b000

Browse files
committed
Merge branch 'develop'
2 parents 9d11871 + 6bfc920 commit 6d5b000

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+3634
-354
lines changed

.npmignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
test

CONTRIBUTING.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ If you are submitting a bug, please create a [jsfiddle](http://jsfiddle.net/) de
1616
Contributing
1717
============
1818

19-
To contribute, fork the library and install grunt.
19+
To contribute, fork the library and install grunt and dependencies.
2020

21-
npm install grunt -g
21+
npm install -g grunt-cli
22+
npm install
2223

2324
You can add tests to the files in `/test/moment` or add a new test file if you are adding a new feature.
2425

bower.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moment",
3-
"version": "2.4.0",
3+
"version": "2.5.0",
44
"main": "moment.js",
55
"ignore": [
66
"**/.*",

component.json

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "moment",
3-
"version": "2.4.0",
3+
"version": "2.5.0",
44
"main": "moment.js",
55
"description": "Parse, validate, manipulate, and display dates in javascript.",
66
"files": [
@@ -40,8 +40,10 @@
4040
"lang/ja.js",
4141
"lang/ka.js",
4242
"lang/ko.js",
43+
"lang/lb.js",
4344
"lang/lt.js",
4445
"lang/lv.js",
46+
"lang/mk.js",
4547
"lang/ml.js",
4648
"lang/mr.js",
4749
"lang/ms-my.js",
@@ -53,11 +55,13 @@
5355
"lang/pt-br.js",
5456
"lang/pt.js",
5557
"lang/ro.js",
58+
"lang/rs.js",
5659
"lang/ru.js",
5760
"lang/sk.js",
5861
"lang/sl.js",
5962
"lang/sq.js",
6063
"lang/sv.js",
64+
"lang/ta.js",
6165
"lang/th.js",
6266
"lang/tl-ph.js",
6367
"lang/tr.js",

lang/et.js

Lines changed: 29 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// moment.js language configuration
22
// language : estonian (et)
33
// author : Henry Kehlmann : https://github.com/madhenry
4+
// improvements : Illimar Tambek : https://github.com/ragulka
45

56
(function (factory) {
67
if (typeof define === 'function' && define.amd) {
@@ -11,8 +12,23 @@
1112
factory(window.moment); // Browser global
1213
}
1314
}(function (moment) {
14-
function translateSeconds(number, withoutSuffix, key, isFuture) {
15-
return (isFuture || withoutSuffix) ? 'paari sekundi' : 'paar sekundit';
15+
function processRelativeTime(number, withoutSuffix, key, isFuture) {
16+
var format = {
17+
's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
18+
'm' : ['ühe minuti', 'üks minut'],
19+
'mm': [number + ' minuti', number + ' minutit'],
20+
'h' : ['ühe tunni', 'tund aega', 'üks tund'],
21+
'hh': [number + ' tunni', number + ' tundi'],
22+
'd' : ['ühe päeva', 'üks päev'],
23+
'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
24+
'MM': [number + ' kuu', number + ' kuud'],
25+
'y' : ['ühe aasta', 'aasta', 'üks aasta'],
26+
'yy': [number + ' aasta', number + ' aastat']
27+
};
28+
if (withoutSuffix) {
29+
return format[key][2] ? format[key][2] : format[key][1];
30+
}
31+
return isFuture ? format[key][0] : format[key][1];
1632
}
1733

1834
return moment.lang('et', {
@@ -39,17 +55,17 @@
3955
relativeTime : {
4056
future : "%s pärast",
4157
past : "%s tagasi",
42-
s : translateSeconds,
43-
m : "minut",
44-
mm : "%d minutit",
45-
h : "tund",
46-
hh : "%d tundi",
47-
d : "päev",
48-
dd : "%d päeva",
49-
M : "kuu",
50-
MM : "%d kuud",
51-
y : "aasta",
52-
yy : "%d aastat"
58+
s : processRelativeTime,
59+
m : processRelativeTime,
60+
mm : processRelativeTime,
61+
h : processRelativeTime,
62+
hh : processRelativeTime,
63+
d : processRelativeTime,
64+
dd : '%d päeva',
65+
M : processRelativeTime,
66+
MM : processRelativeTime,
67+
y : processRelativeTime,
68+
yy : processRelativeTime
5369
},
5470
ordinal : '%d.',
5571
week : {

lang/it.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838
return ((/^[0-9].+$/).test(s) ? "tra" : "in") + " " + s;
3939
},
4040
past : "%s fa",
41-
s : "secondi",
41+
s : "alcuni secondi",
4242
m : "un minuto",
4343
mm : "%d minuti",
4444
h : "un'ora",

lang/ko.js

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,10 @@
11
// moment.js language configuration
22
// language : korean (ko)
3-
// author : Kyungwook, Park : https://github.com/kyungw00k
4-
3+
//
4+
// authors
5+
//
6+
// - Kyungwook, Park : https://github.com/kyungw00k
7+
// - Jeeeyul Lee <[email protected]>
58
(function (factory) {
69
if (typeof define === 'function' && define.amd) {
710
define(['moment'], factory); // AMD
@@ -51,6 +54,10 @@
5154
y : "일년",
5255
yy : "%d년"
5356
},
54-
ordinal : '%d일'
57+
ordinal : '%d일',
58+
meridiemParse : /(|)/,
59+
isPM : function (token) {
60+
return token === "오후";
61+
}
5562
});
5663
}));

lang/lb.js

Lines changed: 160 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,160 @@
1+
// moment.js language configuration
2+
// language : Luxembourgish (lb)
3+
// author : mweimerskirch : https://github.com/mweimerskirch
4+
5+
// Note: Luxembourgish has a very particular phonological rule ("Eifeler Regel") that causes the
6+
// deletion of the final "n" in certain contexts. That's what the "eifelerRegelAppliesToWeekday"
7+
// and "eifelerRegelAppliesToNumber" methods are meant for
8+
9+
(function (factory) {
10+
if (typeof define === 'function' && define.amd) {
11+
define(['moment'], factory); // AMD
12+
} else if (typeof exports === 'object') {
13+
module.exports = factory(require('../moment')); // Node
14+
} else {
15+
factory(window.moment); // Browser global
16+
}
17+
}(function (moment) {
18+
function processRelativeTime(number, withoutSuffix, key, isFuture) {
19+
var format = {
20+
'm': ['eng Minutt', 'enger Minutt'],
21+
'h': ['eng Stonn', 'enger Stonn'],
22+
'd': ['een Dag', 'engem Dag'],
23+
'dd': [number + ' Deeg', number + ' Deeg'],
24+
'M': ['ee Mount', 'engem Mount'],
25+
'MM': [number + ' Méint', number + ' Méint'],
26+
'y': ['ee Joer', 'engem Joer'],
27+
'yy': [number + ' Joer', number + ' Joer']
28+
};
29+
return withoutSuffix ? format[key][0] : format[key][1];
30+
}
31+
32+
function processFutureTime(string) {
33+
var number = string.substr(0, string.indexOf(' '));
34+
if (eifelerRegelAppliesToNumber(number)) {
35+
return "a " + string;
36+
}
37+
return "an " + string;
38+
}
39+
40+
function processPastTime(string) {
41+
var number = string.substr(0, string.indexOf(' '));
42+
if (eifelerRegelAppliesToNumber(number)) {
43+
return "viru " + string;
44+
}
45+
return "virun " + string;
46+
}
47+
48+
function processLastWeek(string1) {
49+
var weekday = this.format('d');
50+
if (eifelerRegelAppliesToWeekday(weekday)) {
51+
return '[Leschte] dddd [um] LT';
52+
}
53+
return '[Leschten] dddd [um] LT';
54+
}
55+
56+
/**
57+
* Returns true if the word before the given week day loses the "-n" ending.
58+
* e.g. "Leschten Dënschdeg" but "Leschte Méindeg"
59+
*
60+
* @param weekday {integer}
61+
* @returns {boolean}
62+
*/
63+
function eifelerRegelAppliesToWeekday(weekday) {
64+
weekday = parseInt(weekday, 10);
65+
switch (weekday) {
66+
case 0: // Sonndeg
67+
case 1: // Méindeg
68+
case 3: // Mëttwoch
69+
case 5: // Freideg
70+
case 6: // Samschdeg
71+
return true;
72+
default: // 2 Dënschdeg, 4 Donneschdeg
73+
return false;
74+
}
75+
}
76+
77+
/**
78+
* Returns true if the word before the given number loses the "-n" ending.
79+
* e.g. "an 10 Deeg" but "a 5 Deeg"
80+
*
81+
* @param number {integer}
82+
* @returns {boolean}
83+
*/
84+
function eifelerRegelAppliesToNumber(number) {
85+
number = parseInt(number, 10);
86+
if (isNaN(number)) {
87+
return false;
88+
}
89+
if (number < 0) {
90+
// Negative Number --> always true
91+
return true;
92+
} else if (number < 10) {
93+
// Only 1 digit
94+
if (4 <= number && number <= 7) {
95+
return true;
96+
}
97+
return false;
98+
} else if (number < 100) {
99+
// 2 digits
100+
var lastDigit = number % 10, firstDigit = number / 10;
101+
if (lastDigit === 0) {
102+
return eifelerRegelAppliesToNumber(firstDigit);
103+
}
104+
return eifelerRegelAppliesToNumber(lastDigit);
105+
} else if (number < 10000) {
106+
// 3 or 4 digits --> recursively check first digit
107+
while (number >= 10) {
108+
number = number / 10;
109+
}
110+
return eifelerRegelAppliesToNumber(number);
111+
} else {
112+
// Anything larger than 4 digits: recursively check first n-3 digits
113+
number = number / 1000;
114+
return eifelerRegelAppliesToNumber(number);
115+
}
116+
}
117+
118+
return moment.lang('lb', {
119+
months: "Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),
120+
monthsShort: "Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),
121+
weekdays: "Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),
122+
weekdaysShort: "So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),
123+
weekdaysMin: "So_Mé_Dë_Më_Do_Fr_Sa".split("_"),
124+
longDateFormat: {
125+
LT: "H:mm [Auer]",
126+
L: "DD.MM.YYYY",
127+
LL: "D. MMMM YYYY",
128+
LLL: "D. MMMM YYYY LT",
129+
LLLL: "dddd, D. MMMM YYYY LT"
130+
},
131+
calendar: {
132+
sameDay: "[Haut um] LT",
133+
sameElse: "L",
134+
nextDay: '[Muer um] LT',
135+
nextWeek: 'dddd [um] LT',
136+
lastDay: '[Gëschter um] LT',
137+
lastWeek: processLastWeek
138+
},
139+
relativeTime: {
140+
future: processFutureTime,
141+
past: processPastTime,
142+
s: "e puer Sekonnen",
143+
m: processRelativeTime,
144+
mm: "%d Minutten",
145+
h: processRelativeTime,
146+
hh: "%d Stonnen",
147+
d: processRelativeTime,
148+
dd: processRelativeTime,
149+
M: processRelativeTime,
150+
MM: processRelativeTime,
151+
y: processRelativeTime,
152+
yy: processRelativeTime
153+
},
154+
ordinal: '%d.',
155+
week: {
156+
dow: 1, // Monday is the first day of the week.
157+
doy: 4 // The week that contains Jan 4th is the first week of the year.
158+
}
159+
});
160+
}));

0 commit comments

Comments
 (0)