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