UNPKG

@karinjs/moment

Version:

Parse, validate, manipulate, and display dates

119 lines (118 loc) 4.21 kB
import hooks from "../moment.js"; //! 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 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) { if (key === "y" && withoutSuffix) return "једна година"; return isFuture || withoutSuffix ? wordKey[0] : wordKey[1]; } word = translator.correctGrammaticalCase(number, wordKey); if (key === "yy" && withoutSuffix && word === "годину") { return number + " година"; } return number + " " + word; } }; const srCyrl = hooks.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. } }); export { srCyrl as default };