corrade-nucleus-nucleons – Blame information for rev 38
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
38 | office | 1 | //! moment.js locale configuration |
2 | //! locale : Ukrainian [uk] |
||
3 | //! author : zemlanin : https://github.com/zemlanin |
||
4 | //! Author : Menelion Elensúle : https://github.com/Oire |
||
5 | |||
6 | ;(function (global, factory) { |
||
7 | typeof exports === 'object' && typeof module !== 'undefined' |
||
8 | && typeof require === 'function' ? factory(require('../moment')) : |
||
9 | typeof define === 'function' && define.amd ? define(['../moment'], factory) : |
||
10 | factory(global.moment) |
||
11 | }(this, (function (moment) { 'use strict'; |
||
12 | |||
13 | |||
14 | function plural(word, num) { |
||
15 | var forms = word.split('_'); |
||
16 | return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]); |
||
17 | } |
||
18 | function relativeTimeWithPlural(number, withoutSuffix, key) { |
||
19 | var format = { |
||
20 | 'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин', |
||
21 | 'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин', |
||
22 | 'dd': 'день_дні_днів', |
||
23 | 'MM': 'місяць_місяці_місяців', |
||
24 | 'yy': 'рік_роки_років' |
||
25 | }; |
||
26 | if (key === 'm') { |
||
27 | return withoutSuffix ? 'хвилина' : 'хвилину'; |
||
28 | } |
||
29 | else if (key === 'h') { |
||
30 | return withoutSuffix ? 'година' : 'годину'; |
||
31 | } |
||
32 | else { |
||
33 | return number + ' ' + plural(format[key], +number); |
||
34 | } |
||
35 | } |
||
36 | function weekdaysCaseReplace(m, format) { |
||
37 | var weekdays = { |
||
38 | 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'), |
||
39 | 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'), |
||
40 | 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_') |
||
41 | }; |
||
42 | |||
43 | if (!m) { |
||
44 | return weekdays['nominative']; |
||
45 | } |
||
46 | |||
47 | var nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ? |
||
48 | 'accusative' : |
||
49 | ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ? |
||
50 | 'genitive' : |
||
51 | 'nominative'); |
||
52 | return weekdays[nounCase][m.day()]; |
||
53 | } |
||
54 | function processHoursFunction(str) { |
||
55 | return function () { |
||
56 | return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; |
||
57 | }; |
||
58 | } |
||
59 | |||
60 | var uk = moment.defineLocale('uk', { |
||
61 | months : { |
||
62 | 'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'), |
||
63 | 'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_') |
||
64 | }, |
||
65 | monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'), |
||
66 | weekdays : weekdaysCaseReplace, |
||
67 | weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'), |
||
68 | weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'), |
||
69 | longDateFormat : { |
||
70 | LT : 'HH:mm', |
||
71 | LTS : 'HH:mm:ss', |
||
72 | L : 'DD.MM.YYYY', |
||
73 | LL : 'D MMMM YYYY р.', |
||
74 | LLL : 'D MMMM YYYY р., HH:mm', |
||
75 | LLLL : 'dddd, D MMMM YYYY р., HH:mm' |
||
76 | }, |
||
77 | calendar : { |
||
78 | sameDay: processHoursFunction('[Сьогодні '), |
||
79 | nextDay: processHoursFunction('[Завтра '), |
||
80 | lastDay: processHoursFunction('[Вчора '), |
||
81 | nextWeek: processHoursFunction('[У] dddd ['), |
||
82 | lastWeek: function () { |
||
83 | switch (this.day()) { |
||
84 | case 0: |
||
85 | case 3: |
||
86 | case 5: |
||
87 | case 6: |
||
88 | return processHoursFunction('[Минулої] dddd [').call(this); |
||
89 | case 1: |
||
90 | case 2: |
||
91 | case 4: |
||
92 | return processHoursFunction('[Минулого] dddd [').call(this); |
||
93 | } |
||
94 | }, |
||
95 | sameElse: 'L' |
||
96 | }, |
||
97 | relativeTime : { |
||
98 | future : 'за %s', |
||
99 | past : '%s тому', |
||
100 | s : 'декілька секунд', |
||
101 | m : relativeTimeWithPlural, |
||
102 | mm : relativeTimeWithPlural, |
||
103 | h : 'годину', |
||
104 | hh : relativeTimeWithPlural, |
||
105 | d : 'день', |
||
106 | dd : relativeTimeWithPlural, |
||
107 | M : 'місяць', |
||
108 | MM : relativeTimeWithPlural, |
||
109 | y : 'рік', |
||
110 | yy : relativeTimeWithPlural |
||
111 | }, |
||
112 | // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason |
||
113 | meridiemParse: /ночі|ранку|дня|вечора/, |
||
114 | isPM: function (input) { |
||
115 | return /^(дня|вечора)$/.test(input); |
||
116 | }, |
||
117 | meridiem : function (hour, minute, isLower) { |
||
118 | if (hour < 4) { |
||
119 | return 'ночі'; |
||
120 | } else if (hour < 12) { |
||
121 | return 'ранку'; |
||
122 | } else if (hour < 17) { |
||
123 | return 'дня'; |
||
124 | } else { |
||
125 | return 'вечора'; |
||
126 | } |
||
127 | }, |
||
128 | dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, |
||
129 | ordinal: function (number, period) { |
||
130 | switch (period) { |
||
131 | case 'M': |
||
132 | case 'd': |
||
133 | case 'DDD': |
||
134 | case 'w': |
||
135 | case 'W': |
||
136 | return number + '-й'; |
||
137 | case 'D': |
||
138 | return number + '-го'; |
||
139 | default: |
||
140 | return number; |
||
141 | } |
||
142 | }, |
||
143 | week : { |
||
144 | dow : 1, // Monday is the first day of the week. |
||
145 | doy : 7 // The week that contains Jan 1st is the first week of the year. |
||
146 | } |
||
147 | }); |
||
148 | |||
149 | return uk; |
||
150 | |||
151 | }))); |