1 //! moment.js locale configuration
3 ;(function (global
, factory
) {
4 typeof exports
=== 'object' && typeof module
!== 'undefined'
5 && typeof require
=== 'function' ? factory(require('../moment')) :
6 typeof define
=== 'function' && define
.amd
? define(['../moment'], factory
) :
8 }(this, (function (moment
) { 'use strict';
11 function plural(word
, num
) {
12 var forms
= word
.split('_');
13 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]);
15 function relativeTimeWithPlural(number
, withoutSuffix
, key
) {
17 'ss': withoutSuffix
? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
18 'mm': withoutSuffix
? 'минута_минуты_минут' : 'минуту_минуты_минут',
19 'hh': 'час_часа_часов',
20 'dd': 'день_дня_дней',
21 'MM': 'месяц_месяца_месяцев',
25 return withoutSuffix
? 'минута' : 'минуту';
28 return number
+ ' ' + plural(format
[key
], +number
);
31 var monthsParse
= [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
33 // http://new.gramota.ru/spravka/rules/139-prop : § 103
34 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
35 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
36 var ru
= moment
.defineLocale('ru', {
38 format
: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
39 standalone
: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
42 // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
43 format
: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
44 standalone
: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
47 standalone
: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
48 format
: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
49 isFormat
: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
51 weekdaysShort
: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
52 weekdaysMin
: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
53 monthsParse
: monthsParse
,
54 longMonthsParse
: monthsParse
,
55 shortMonthsParse
: monthsParse
,
57 // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
58 monthsRegex
: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
61 monthsShortRegex
: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
63 // полные названия с падежами
64 monthsStrictRegex
: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
66 // Выражение, которое соотвествует только сокращённым формам
67 monthsShortStrictRegex
: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
72 LL
: 'D MMMM YYYY г.',
73 LLL
: 'D MMMM YYYY г., H:mm',
74 LLLL
: 'dddd, D MMMM YYYY г., H:mm'
77 sameDay
: '[Сегодня, в] LT',
78 nextDay
: '[Завтра, в] LT',
79 lastDay
: '[Вчера, в] LT',
80 nextWeek: function (now
) {
81 if (now
.week() !== this.week()) {
84 return '[В следующее] dddd, [в] LT';
88 return '[В следующий] dddd, [в] LT';
92 return '[В следующую] dddd, [в] LT';
95 if (this.day() === 2) {
96 return '[Во] dddd, [в] LT';
98 return '[В] dddd, [в] LT';
102 lastWeek: function (now
) {
103 if (now
.week() !== this.week()) {
104 switch (this.day()) {
106 return '[В прошлое] dddd, [в] LT';
110 return '[В прошлый] dddd, [в] LT';
114 return '[В прошлую] dddd, [в] LT';
117 if (this.day() === 2) {
118 return '[Во] dddd, [в] LT';
120 return '[В] dddd, [в] LT';
129 s
: 'несколько секунд',
130 ss
: relativeTimeWithPlural
,
131 m
: relativeTimeWithPlural
,
132 mm
: relativeTimeWithPlural
,
134 hh
: relativeTimeWithPlural
,
136 dd
: relativeTimeWithPlural
,
138 MM
: relativeTimeWithPlural
,
140 yy
: relativeTimeWithPlural
142 meridiemParse
: /ночи|утра|дня|вечера/i,
143 isPM : function (input
) {
144 return /^(дня|вечера)$/.test(input
);
146 meridiem : function (hour
, minute
, isLower
) {
149 } else if (hour
< 12) {
151 } else if (hour
< 17) {
157 dayOfMonthOrdinalParse
: /\d{1,2}-(й|го|я)/,
158 ordinal: function (number
, period
) {
163 return number
+ '-й';
165 return number
+ '-го';
168 return number
+ '-я';
174 dow
: 1, // Monday is the first day of the week.
175 doy
: 4 // The week that contains Jan 4th is the first week of the year.