project/node_modules/moment/dist/locale/sr-cyrl.js

128 lines
4.7 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//! moment.js locale configuration
//! locale : Serbian Cyrillic [sr-cyrl]
//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
//! author : Stefan Crnjaković <stefan@hotmail.rs> : https://github.com/crnjakovic
import moment from '../moment';
var translator = {
words: {
//Different grammatical cases
ss: ['секунда', 'секунде', 'секунди'],
m: ['један минут', 'једног минута'],
mm: ['минут', 'минута', 'минута'],
h: ['један сат', 'једног сата'],
hh: ['сат', 'сата', 'сати'],
d: ['један дан', 'једног дана'],
dd: ['дан', 'дана', 'дана'],
M: ['један месец', 'једног месеца'],
MM: ['месец', 'месеца', 'месеци'],
y: ['једну годину', 'једне године'],
yy: ['годину', 'године', 'година'],
},
correctGrammaticalCase: function (number, wordKey) {
if (
number % 10 >= 1 &&
number % 10 <= 4 &&
(number % 100 < 10 || number % 100 >= 20)
) {
return number % 10 === 1 ? wordKey[0] : wordKey[1];
}
return wordKey[2];
},
translate: function (number, withoutSuffix, key, isFuture) {
var wordKey = translator.words[key],
word;
if (key.length === 1) {
// Nominativ
if (key === 'y' && withoutSuffix) return 'једна година';
return isFuture || withoutSuffix ? wordKey[0] : wordKey[1];
}
word = translator.correctGrammaticalCase(number, wordKey);
// Nominativ
if (key === 'yy' && withoutSuffix && word === 'годину') {
return number + ' година';
}
return number + ' ' + word;
},
};
export default moment.defineLocale('sr-cyrl', {
months: 'јануаребруарарт_април_мај_јун_јул_август_септембар_октобаровембарецембар'.split(
'_'
),
monthsShort:
'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),
monthsParseExact: true,
weekdays: едеља_понедељак_уторак_средаетвртак_петак_субота'.split('_'),
weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),
weekdaysMin: е_по_ут_сре_пе_су'.split('_'),
weekdaysParseExact: true,
longDateFormat: {
LT: 'H:mm',
LTS: 'H:mm:ss',
L: 'D. M. YYYY.',
LL: 'D. MMMM YYYY.',
LLL: 'D. MMMM YYYY. H:mm',
LLLL: 'dddd, D. MMMM YYYY. H:mm',
},
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: 'неколико секунди',
ss: translator.translate,
m: translator.translate,
mm: translator.translate,
h: translator.translate,
hh: translator.translate,
d: translator.translate,
dd: translator.translate,
M: translator.translate,
MM: translator.translate,
y: translator.translate,
yy: translator.translate,
},
dayOfMonthOrdinalParse: /\d{1,2}\./,
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.
},
});