UNPKG

3.31 kBJavaScriptView Raw
1// Russian [ru]
2import dayjs from '../index';
3var monthFormat = 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_');
4var monthStandalone = 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_');
5var monthShortFormat = 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_');
6var monthShortStandalone = 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_');
7var MONTHS_IN_FORMAT = /D[oD]?(\[[^[\]]*\]|\s)+MMMM?/;
8
9function 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]; // eslint-disable-line
12}
13
14function 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
30var 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
38months.s = monthStandalone;
39months.f = monthFormat;
40
41var 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
49monthsShort.s = monthShortStandalone;
50monthsShort.f = monthShortFormat;
51var 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};
98dayjs.locale(locale, null, true);
99export default locale;
\No newline at end of file