Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
ichernev committed Dec 23, 2013
2 parents 9d11871 + 6bfc920 commit 6d5b000
Show file tree
Hide file tree
Showing 42 changed files with 3,634 additions and 354 deletions.
1 change: 1 addition & 0 deletions .npmignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
test
5 changes: 3 additions & 2 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,10 @@ If you are submitting a bug, please create a [jsfiddle](http://jsfiddle.net/) de
Contributing
============

To contribute, fork the library and install grunt.
To contribute, fork the library and install grunt and dependencies.

npm install grunt -g
npm install -g grunt-cli
npm install

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

Expand Down
2 changes: 1 addition & 1 deletion bower.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "moment",
"version": "2.4.0",
"version": "2.5.0",
"main": "moment.js",
"ignore": [
"**/.*",
Expand Down
6 changes: 5 additions & 1 deletion component.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "moment",
"version": "2.4.0",
"version": "2.5.0",
"main": "moment.js",
"description": "Parse, validate, manipulate, and display dates in javascript.",
"files": [
Expand Down Expand Up @@ -40,8 +40,10 @@
"lang/ja.js",
"lang/ka.js",
"lang/ko.js",
"lang/lb.js",
"lang/lt.js",
"lang/lv.js",
"lang/mk.js",
"lang/ml.js",
"lang/mr.js",
"lang/ms-my.js",
Expand All @@ -53,11 +55,13 @@
"lang/pt-br.js",
"lang/pt.js",
"lang/ro.js",
"lang/rs.js",
"lang/ru.js",
"lang/sk.js",
"lang/sl.js",
"lang/sq.js",
"lang/sv.js",
"lang/ta.js",
"lang/th.js",
"lang/tl-ph.js",
"lang/tr.js",
Expand Down
42 changes: 29 additions & 13 deletions lang/et.js
Original file line number Diff line number Diff line change
@@ -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) {
Expand All @@ -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', {
Expand All @@ -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 : {
Expand Down
2 changes: 1 addition & 1 deletion lang/it.js
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
13 changes: 10 additions & 3 deletions lang/ko.js
Original file line number Diff line number Diff line change
@@ -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 <[email protected]>
(function (factory) {
if (typeof define === 'function' && define.amd) {
define(['moment'], factory); // AMD
Expand Down Expand Up @@ -51,6 +54,10 @@
y : "일년",
yy : "%d년"
},
ordinal : '%d일'
ordinal : '%d일',
meridiemParse : /(|)/,
isPM : function (token) {
return token === "오후";
}
});
}));
160 changes: 160 additions & 0 deletions lang/lb.js
Original file line number Diff line number Diff line change
@@ -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.
}
});
}));
Loading

0 comments on commit 6d5b000

Please sign in to comment.