Release note for Id83eda95
[mediawiki.git] / resources / lib / moment / locale / sr.js
blob6f142843c82626cc5e3ebdd3bee53ad0535c5d03
1 // moment.js locale configuration
2 // locale : Serbian-latin (sr)
3 // author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
5 (function (factory) {
6     if (typeof define === 'function' && define.amd) {
7         define(['moment'], factory); // AMD
8     } else if (typeof exports === 'object') {
9         module.exports = factory(require('../moment')); // Node
10     } else {
11         factory((typeof global !== 'undefined' ? global : this).moment); // node or other global
12     }
13 }(function (moment) {
14     var translator = {
15         words: { //Different grammatical cases
16             m: ['jedan minut', 'jedne minute'],
17             mm: ['minut', 'minute', 'minuta'],
18             h: ['jedan sat', 'jednog sata'],
19             hh: ['sat', 'sata', 'sati'],
20             dd: ['dan', 'dana', 'dana'],
21             MM: ['mesec', 'meseca', 'meseci'],
22             yy: ['godina', 'godine', 'godina']
23         },
24         correctGrammaticalCase: function (number, wordKey) {
25             return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
26         },
27         translate: function (number, withoutSuffix, key) {
28             var wordKey = translator.words[key];
29             if (key.length === 1) {
30                 return withoutSuffix ? wordKey[0] : wordKey[1];
31             } else {
32                 return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
33             }
34         }
35     };
37     return moment.defineLocale('sr', {
38         months: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'],
39         monthsShort: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],
40         weekdays: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'],
41         weekdaysShort: ['ned.', 'pon.', 'uto.', 'sre.', 'čet.', 'pet.', 'sub.'],
42         weekdaysMin: ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
43         longDateFormat: {
44             LT: 'H:mm',
45             LTS : 'LT:ss',
46             L: 'DD. MM. YYYY',
47             LL: 'D. MMMM YYYY',
48             LLL: 'D. MMMM YYYY LT',
49             LLLL: 'dddd, D. MMMM YYYY LT'
50         },
51         calendar: {
52             sameDay: '[danas u] LT',
53             nextDay: '[sutra u] LT',
55             nextWeek: function () {
56                 switch (this.day()) {
57                 case 0:
58                     return '[u] [nedelju] [u] LT';
59                 case 3:
60                     return '[u] [sredu] [u] LT';
61                 case 6:
62                     return '[u] [subotu] [u] LT';
63                 case 1:
64                 case 2:
65                 case 4:
66                 case 5:
67                     return '[u] dddd [u] LT';
68                 }
69             },
70             lastDay  : '[juče u] LT',
71             lastWeek : function () {
72                 var lastWeekDays = [
73                     '[prošle] [nedelje] [u] LT',
74                     '[prošlog] [ponedeljka] [u] LT',
75                     '[prošlog] [utorka] [u] LT',
76                     '[prošle] [srede] [u] LT',
77                     '[prošlog] [četvrtka] [u] LT',
78                     '[prošlog] [petka] [u] LT',
79                     '[prošle] [subote] [u] LT'
80                 ];
81                 return lastWeekDays[this.day()];
82             },
83             sameElse : 'L'
84         },
85         relativeTime : {
86             future : 'za %s',
87             past   : 'pre %s',
88             s      : 'nekoliko sekundi',
89             m      : translator.translate,
90             mm     : translator.translate,
91             h      : translator.translate,
92             hh     : translator.translate,
93             d      : 'dan',
94             dd     : translator.translate,
95             M      : 'mesec',
96             MM     : translator.translate,
97             y      : 'godinu',
98             yy     : translator.translate
99         },
100         ordinalParse: /\d{1,2}\./,
101         ordinal : '%d.',
102         week : {
103             dow : 1, // Monday is the first day of the week.
104             doy : 7  // The week that contains Jan 1st is the first week of the year.
105         }
106     });
107 }));