1 |
|
2 | import dayjs from '../index';
|
3 | var monthFormat = 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_');
|
4 | var monthStandalone = 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_');
|
5 | var monthShortFormat = 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_');
|
6 | var monthShortStandalone = 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_');
|
7 | var MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;
|
8 |
|
9 | function plural(word, num) {
|
10 | var forms = word.split('_');
|
11 | 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];
|
12 | }
|
13 |
|
14 | function relativeTimeWithPlural(number, withoutSuffix, key) {
|
15 | var format = {
|
16 | mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
|
17 | hh: 'час_часа_часов',
|
18 | dd: 'день_дня_дней',
|
19 | MM: 'месяц_месяца_месяцев',
|
20 | yy: 'год_года_лет'
|
21 | };
|
22 |
|
23 | if (key === 'm') {
|
24 | return withoutSuffix ? 'минута' : 'минуту';
|
25 | }
|
26 |
|
27 | return number + " " + plural(format[key], +number);
|
28 | }
|
29 |
|
30 | var months = function months(dayjsInstance, format) {
|
31 | if (MONTHS_IN_FORMAT.test(format)) {
|
32 | return monthFormat[dayjsInstance.month()];
|
33 | }
|
34 |
|
35 | return monthStandalone[dayjsInstance.month()];
|
36 | };
|
37 |
|
38 | months.s = monthStandalone;
|
39 | months.f = monthFormat;
|
40 |
|
41 | var monthsShort = function monthsShort(dayjsInstance, format) {
|
42 | if (MONTHS_IN_FORMAT.test(format)) {
|
43 | return monthShortFormat[dayjsInstance.month()];
|
44 | }
|
45 |
|
46 | return monthShortStandalone[dayjsInstance.month()];
|
47 | };
|
48 |
|
49 | monthsShort.s = monthShortStandalone;
|
50 | monthsShort.f = monthShortFormat;
|
51 | var locale = {
|
52 | name: 'ru',
|
53 | weekdays: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
|
54 | weekdaysShort: 'вск_пнд_втр_срд_чтв_птн_сбт'.split('_'),
|
55 | weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
|
56 | months: months,
|
57 | monthsShort: monthsShort,
|
58 | weekStart: 1,
|
59 | yearStart: 4,
|
60 | formats: {
|
61 | LT: 'H:mm',
|
62 | LTS: 'H:mm:ss',
|
63 | L: 'DD.MM.YYYY',
|
64 | LL: 'D MMMM YYYY г.',
|
65 | LLL: 'D MMMM YYYY г., H:mm',
|
66 | LLLL: 'dddd, D MMMM YYYY г., H:mm'
|
67 | },
|
68 | relativeTime: {
|
69 | future: 'через %s',
|
70 | past: '%s назад',
|
71 | s: 'несколько секунд',
|
72 | m: relativeTimeWithPlural,
|
73 | mm: relativeTimeWithPlural,
|
74 | h: 'час',
|
75 | hh: relativeTimeWithPlural,
|
76 | d: 'день',
|
77 | dd: relativeTimeWithPlural,
|
78 | M: 'месяц',
|
79 | MM: relativeTimeWithPlural,
|
80 | y: 'год',
|
81 | yy: relativeTimeWithPlural
|
82 | },
|
83 | ordinal: function ordinal(n) {
|
84 | return n;
|
85 | },
|
86 | meridiem: function meridiem(hour) {
|
87 | if (hour < 4) {
|
88 | return 'ночи';
|
89 | } else if (hour < 12) {
|
90 | return 'утра';
|
91 | } else if (hour < 17) {
|
92 | return 'дня';
|
93 | }
|
94 |
|
95 | return 'вечера';
|
96 | }
|
97 | };
|
98 | dayjs.locale(locale, null, true);
|
99 | export default locale; |
\ | No newline at end of file |