import moment from '../moment';
-function translate(number, withoutSuffix, key) {
+function processRelativeTime(number, withoutSuffix, key, isFuture) {
var result = number + ' ';
switch (key) {
+ case 's':
+ return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
case 'm':
return withoutSuffix ? 'ena minuta' : 'eno minuto';
case 'mm':
if (number === 1) {
- result += 'minuta';
+ result += withoutSuffix ? 'minuta' : 'minuto';
} else if (number === 2) {
- result += 'minuti';
- } else if (number === 3 || number === 4) {
- result += 'minute';
+ result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'minute' : 'minutami';
} else {
- result += 'minut';
+ result += withoutSuffix || isFuture ? 'minut' : 'minutami';
}
return result;
case 'h':
return withoutSuffix ? 'ena ura' : 'eno uro';
case 'hh':
if (number === 1) {
- result += 'ura';
+ result += withoutSuffix ? 'ura' : 'uro';
} else if (number === 2) {
- result += 'uri';
- } else if (number === 3 || number === 4) {
- result += 'ure';
+ result += withoutSuffix || isFuture ? 'uri' : 'urama';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'ure' : 'urami';
} else {
- result += 'ur';
+ result += withoutSuffix || isFuture ? 'ur' : 'urami';
}
return result;
+ case 'd':
+ return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
case 'dd':
if (number === 1) {
- result += 'dan';
+ result += withoutSuffix || isFuture ? 'dan' : 'dnem';
+ } else if (number === 2) {
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
} else {
- result += 'dni';
+ result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
}
return result;
+ case 'M':
+ return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
case 'MM':
if (number === 1) {
- result += 'mesec';
+ result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
} else if (number === 2) {
- result += 'meseca';
- } else if (number === 3 || number === 4) {
- result += 'mesece';
+ result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
} else {
- result += 'mesecev';
+ result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
}
return result;
+ case 'y':
+ return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
case 'yy':
if (number === 1) {
- result += 'leto';
+ result += withoutSuffix || isFuture ? 'leto' : 'letom';
} else if (number === 2) {
- result += 'leti';
- } else if (number === 3 || number === 4) {
- result += 'leta';
+ result += withoutSuffix || isFuture ? 'leti' : 'letoma';
+ } else if (number < 5) {
+ result += withoutSuffix || isFuture ? 'leta' : 'leti';
} else {
- result += 'let';
+ result += withoutSuffix || isFuture ? 'let' : 'leti';
}
return result;
}
calendar : {
sameDay : '[danes ob] LT',
nextDay : '[jutri ob] LT',
+
nextWeek : function () {
switch (this.day()) {
case 0:
lastWeek : function () {
switch (this.day()) {
case 0:
+ return '[prejšnjo] [nedeljo] [ob] LT';
case 3:
+ return '[prejšnjo] [sredo] [ob] LT';
case 6:
- return '[prejšnja] dddd [ob] LT';
+ return '[prejšnjo] [soboto] [ob] LT';
case 1:
case 2:
case 4:
},
relativeTime : {
future : 'čez %s',
- past : '%s nazaj',
- s : 'nekaj sekund',
- m : translate,
- mm : translate,
- h : translate,
- hh : translate,
- d : 'en dan',
- dd : translate,
- M : 'en mesec',
- MM : translate,
- y : 'eno leto',
- yy : translate
+ past : 'pred %s',
+ s : processRelativeTime,
+ m : processRelativeTime,
+ mm : processRelativeTime,
+ h : processRelativeTime,
+ hh : processRelativeTime,
+ d : processRelativeTime,
+ dd : processRelativeTime,
+ M : processRelativeTime,
+ MM : processRelativeTime,
+ y : processRelativeTime,
+ yy : processRelativeTime
},
ordinalParse: /\d{1,2}\./,
ordinal : '%d.',
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
});
-
assert.equal(start.from(moment([2007, 1, 28]).add({d: 548}), true), '2 leti', '548 days = 2 years');
assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'eno leto', '1 year = a year');
assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 let', '5 years = 5 years');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 1}), true), 'ena minuta', 'a minute');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 2}), true), '2 minuti', '2 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 3}), true), '3 minute', '3 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 4}), true), '4 minute', '4 minutes');
+ assert.equal(start.from(moment([2007, 1, 28]).add({m: 5}), true), '5 minut', '5 minutes');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 1}), true), 'ena ura', 'an hour');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 2}), true), '2 uri', '2 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 3}), true), '3 ure', '3 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 4}), true), '4 ure', '4 hours');
+ assert.equal(start.from(moment([2007, 1, 28]).add({h: 5}), true), '5 ur', '5 hours');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 1}), true), 'en dan', 'a day');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 2}), true), '2 dni', '2 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 3}), true), '3 dni', '3 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 4}), true), '4 dni', '4 days');
+ assert.equal(start.from(moment([2007, 1, 28]).add({d: 5}), true), '5 dni', '5 days');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 1}), true), 'en mesec', 'a month');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 2}), true), '2 meseca', '2 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 3}), true), '3 mesece', '3 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 4}), true), '4 mesece', '4 months');
+ assert.equal(start.from(moment([2007, 1, 28]).add({M: 5}), true), '5 mesecev', '5 months');
+
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 1}), true), 'eno leto', 'a year');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 2}), true), '2 leti', '2 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 3}), true), '3 leta', '3 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 4}), true), '4 leta', '4 years');
+ assert.equal(start.from(moment([2007, 1, 28]).add({y: 5}), true), '5 let', '5 years');
});
test('suffix', function (assert) {
assert.equal(moment(30000).from(0), 'čez nekaj sekund', 'prefix');
- assert.equal(moment(0).from(30000), 'nekaj sekund nazaj', 'suffix');
+ assert.equal(moment(0).from(30000), 'pred nekaj sekundami', 'suffix');
});
test('now from now', function (assert) {
- assert.equal(moment().fromNow(), 'nekaj sekund nazaj', 'now from now should display as in the past');
+ assert.equal(moment().fromNow(), 'pred nekaj sekundami', 'now from now should display as in the past');
});
-test('fromNow', function (assert) {
+test('fromNow (future)', function (assert) {
assert.equal(moment().add({s: 30}).fromNow(), 'čez nekaj sekund', 'in a few seconds');
- assert.equal(moment().add({d: 5}).fromNow(), 'čez 5 dni', 'in 5 days');
+ assert.equal(moment().add({m: 1}).fromNow(), 'čez eno minuto', 'in a minute');
+ assert.equal(moment().add({m: 2}).fromNow(), 'čez 2 minuti', 'in 2 minutes');
+ assert.equal(moment().add({m: 3}).fromNow(), 'čez 3 minute', 'in 3 minutes');
+ assert.equal(moment().add({m: 4}).fromNow(), 'čez 4 minute', 'in 4 minutes');
+ assert.equal(moment().add({m: 5}).fromNow(), 'čez 5 minut', 'in 5 minutes');
+
+ assert.equal(moment().add({h: 1}).fromNow(), 'čez eno uro', 'in an hour');
+ assert.equal(moment().add({h: 2}).fromNow(), 'čez 2 uri', 'in 2 hours');
+ assert.equal(moment().add({h: 3}).fromNow(), 'čez 3 ure', 'in 3 hours');
+ assert.equal(moment().add({h: 4}).fromNow(), 'čez 4 ure', 'in 4 hours');
+ assert.equal(moment().add({h: 5}).fromNow(), 'čez 5 ur', 'in 5 hours');
+
+ assert.equal(moment().add({d: 1}).fromNow(), 'čez en dan', 'in a day');
+ assert.equal(moment().add({d: 2}).fromNow(), 'čez 2 dni', 'in 2 days');
+ assert.equal(moment().add({d: 3}).fromNow(), 'čez 3 dni', 'in 3 days');
+ assert.equal(moment().add({d: 4}).fromNow(), 'čez 4 dni', 'in 4 days');
+ assert.equal(moment().add({d: 5}).fromNow(), 'čez 5 dni', 'in 5 days');
+
+ assert.equal(moment().add({M: 1}).fromNow(), 'čez en mesec', 'in a month');
+ assert.equal(moment().add({M: 2}).fromNow(), 'čez 2 meseca', 'in 2 months');
+ assert.equal(moment().add({M: 3}).fromNow(), 'čez 3 mesece', 'in 3 months');
+ assert.equal(moment().add({M: 4}).fromNow(), 'čez 4 mesece', 'in 4 months');
+ assert.equal(moment().add({M: 5}).fromNow(), 'čez 5 mesecev', 'in 5 months');
+
+ assert.equal(moment().add({y: 1}).fromNow(), 'čez eno leto', 'in a year');
+ assert.equal(moment().add({y: 2}).fromNow(), 'čez 2 leti', 'in 2 years');
+ assert.equal(moment().add({y: 3}).fromNow(), 'čez 3 leta', 'in 3 years');
+ assert.equal(moment().add({y: 4}).fromNow(), 'čez 4 leta', 'in 4 years');
+ assert.equal(moment().add({y: 5}).fromNow(), 'čez 5 let', 'in 5 years');
+
+ assert.equal(moment().subtract({s: 30}).fromNow(), 'pred nekaj sekundami', 'a few seconds ago');
+
+ assert.equal(moment().subtract({m: 1}).fromNow(), 'pred eno minuto', 'a minute ago');
+ assert.equal(moment().subtract({m: 2}).fromNow(), 'pred 2 minutama', '2 minutes ago');
+ assert.equal(moment().subtract({m: 3}).fromNow(), 'pred 3 minutami', '3 minutes ago');
+ assert.equal(moment().subtract({m: 4}).fromNow(), 'pred 4 minutami', '4 minutes ago');
+ assert.equal(moment().subtract({m: 5}).fromNow(), 'pred 5 minutami', '5 minutes ago');
+
+ assert.equal(moment().subtract({h: 1}).fromNow(), 'pred eno uro', 'an hour ago');
+ assert.equal(moment().subtract({h: 2}).fromNow(), 'pred 2 urama', '2 hours ago');
+ assert.equal(moment().subtract({h: 3}).fromNow(), 'pred 3 urami', '3 hours ago');
+ assert.equal(moment().subtract({h: 4}).fromNow(), 'pred 4 urami', '4 hours ago');
+ assert.equal(moment().subtract({h: 5}).fromNow(), 'pred 5 urami', '5 hours ago');
+
+ assert.equal(moment().subtract({d: 1}).fromNow(), 'pred enim dnem', 'a day ago');
+ assert.equal(moment().subtract({d: 2}).fromNow(), 'pred 2 dnevoma', '2 days ago');
+ assert.equal(moment().subtract({d: 3}).fromNow(), 'pred 3 dnevi', '3 days ago');
+ assert.equal(moment().subtract({d: 4}).fromNow(), 'pred 4 dnevi', '4 days ago');
+ assert.equal(moment().subtract({d: 5}).fromNow(), 'pred 5 dnevi', '5 days ago');
+
+ assert.equal(moment().subtract({M: 1}).fromNow(), 'pred enim mesecem', 'a month ago');
+ assert.equal(moment().subtract({M: 2}).fromNow(), 'pred 2 mesecema', '2 months ago');
+ assert.equal(moment().subtract({M: 3}).fromNow(), 'pred 3 meseci', '3 months ago');
+ assert.equal(moment().subtract({M: 4}).fromNow(), 'pred 4 meseci', '4 months ago');
+ assert.equal(moment().subtract({M: 5}).fromNow(), 'pred 5 meseci', '5 months ago');
+
+ assert.equal(moment().subtract({y: 1}).fromNow(), 'pred enim letom', 'a year ago');
+ assert.equal(moment().subtract({y: 2}).fromNow(), 'pred 2 letoma', '2 years ago');
+ assert.equal(moment().subtract({y: 3}).fromNow(), 'pred 3 leti', '3 years ago');
+ assert.equal(moment().subtract({y: 4}).fromNow(), 'pred 4 leti', '4 years ago');
+ assert.equal(moment().subtract({y: 5}).fromNow(), 'pred 5 leti', '5 years ago');
});
test('calendar day', function (assert) {
function makeFormat(d) {
switch (d.day()) {
case 0:
+ return '[prejšnjo] [nedeljo] [ob] LT';
case 3:
+ return '[prejšnjo] [sredo] [ob] LT';
case 6:
- return '[prejšnja] dddd [ob] LT';
+ return '[prejšnjo] [soboto] [ob] LT';
case 1:
case 2:
case 4: