You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					130 lines
				
				4.1 KiB
			
		
		
			
		
	
	
					130 lines
				
				4.1 KiB
			|   
											3 months ago
										 | //! moment.js locale configuration
 | ||
|  | //! locale : Serbian [sr]
 | ||
|  | //! 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: ['sekunda', 'sekunde', 'sekundi'], | ||
|  |         m: ['jedan minut', 'jednog minuta'], | ||
|  |         mm: ['minut', 'minuta', 'minuta'], | ||
|  |         h: ['jedan sat', 'jednog sata'], | ||
|  |         hh: ['sat', 'sata', 'sati'], | ||
|  |         d: ['jedan dan', 'jednog dana'], | ||
|  |         dd: ['dan', 'dana', 'dana'], | ||
|  |         M: ['jedan mesec', 'jednog meseca'], | ||
|  |         MM: ['mesec', 'meseca', 'meseci'], | ||
|  |         y: ['jednu godinu', 'jedne godine'], | ||
|  |         yy: ['godinu', 'godine', 'godina'], | ||
|  |     }, | ||
|  |     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 'jedna godina'; | ||
|  |             return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; | ||
|  |         } | ||
|  | 
 | ||
|  |         word = translator.correctGrammaticalCase(number, wordKey); | ||
|  |         // Nominativ
 | ||
|  |         if (key === 'yy' && withoutSuffix && word === 'godinu') { | ||
|  |             return number + ' godina'; | ||
|  |         } | ||
|  | 
 | ||
|  |         return number + ' ' + word; | ||
|  |     }, | ||
|  | }; | ||
|  | 
 | ||
|  | export default moment.defineLocale('sr', { | ||
|  |     months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split( | ||
|  |         '_' | ||
|  |     ), | ||
|  |     monthsShort: | ||
|  |         'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), | ||
|  |     monthsParseExact: true, | ||
|  |     weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split( | ||
|  |         '_' | ||
|  |     ), | ||
|  |     weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'), | ||
|  |     weekdaysMin: 'ne_po_ut_sr_če_pe_su'.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: '[danas u] LT', | ||
|  |         nextDay: '[sutra u] LT', | ||
|  |         nextWeek: function () { | ||
|  |             switch (this.day()) { | ||
|  |                 case 0: | ||
|  |                     return '[u] [nedelju] [u] LT'; | ||
|  |                 case 3: | ||
|  |                     return '[u] [sredu] [u] LT'; | ||
|  |                 case 6: | ||
|  |                     return '[u] [subotu] [u] LT'; | ||
|  |                 case 1: | ||
|  |                 case 2: | ||
|  |                 case 4: | ||
|  |                 case 5: | ||
|  |                     return '[u] dddd [u] LT'; | ||
|  |             } | ||
|  |         }, | ||
|  |         lastDay: '[juče u] LT', | ||
|  |         lastWeek: function () { | ||
|  |             var lastWeekDays = [ | ||
|  |                 '[prošle] [nedelje] [u] LT', | ||
|  |                 '[prošlog] [ponedeljka] [u] LT', | ||
|  |                 '[prošlog] [utorka] [u] LT', | ||
|  |                 '[prošle] [srede] [u] LT', | ||
|  |                 '[prošlog] [četvrtka] [u] LT', | ||
|  |                 '[prošlog] [petka] [u] LT', | ||
|  |                 '[prošle] [subote] [u] LT', | ||
|  |             ]; | ||
|  |             return lastWeekDays[this.day()]; | ||
|  |         }, | ||
|  |         sameElse: 'L', | ||
|  |     }, | ||
|  |     relativeTime: { | ||
|  |         future: 'za %s', | ||
|  |         past: 'pre %s', | ||
|  |         s: 'nekoliko sekundi', | ||
|  |         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 7th is the first week of the year.
 | ||
|  |     }, | ||
|  | }); |