1 //! moment.js locale configuration
2 //! locale : Russian [ru]
3 //! author : Viktorminator : https://github.com/Viktorminator
4 //! Author : Menelion Elensúle : https://github.com/Oire
5 //! author : Коренберг Марк : https://github.com/socketpair
7 ;(function (global
, factory
) {
8 typeof exports
=== 'object' && typeof module
!== 'undefined'
9 && typeof require
=== 'function' ? factory(require('../moment')) :
10 typeof define
=== 'function' && define
.amd
? define(['../moment'], factory
) :
11 factory(global
.moment
)
12 }(this, function (moment
) { 'use strict';
15 function plural(word
, num
) {
16 var forms
= word
.split('_');
17 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]);
19 function relativeTimeWithPlural(number
, withoutSuffix
, key
) {
21 'mm': withoutSuffix
? 'минута_минуты_минут' : 'минуту_минуты_минут',
22 'hh': 'час_часа_часов',
23 'dd': 'день_дня_дней',
24 'MM': 'месяц_месяца_месяцев',
28 return withoutSuffix
? 'минута' : 'минуту';
31 return number
+ ' ' + plural(format
[key
], +number
);
34 var monthsParse
= [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
36 // http://new.gramota.ru/spravka/rules/139-prop : § 103
37 // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637
38 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753
39 var ru
= moment
.defineLocale('ru', {
41 format
: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
42 standalone
: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
45 // по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку ?
46 format
: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),
47 standalone
: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')
50 standalone
: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
51 format
: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
52 isFormat
: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
54 weekdaysShort
: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
55 weekdaysMin
: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
56 monthsParse
: monthsParse
,
57 longMonthsParse
: monthsParse
,
58 shortMonthsParse
: monthsParse
,
60 // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки
61 monthsRegex
: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
64 monthsShortRegex
: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,
66 // полные названия с падежами
67 monthsStrictRegex
: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,
69 // Выражение, которое соотвествует только сокращённым формам
70 monthsShortStrictRegex
: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,
75 LL
: 'D MMMM YYYY г.',
76 LLL
: 'D MMMM YYYY г., HH:mm',
77 LLLL
: 'dddd, D MMMM YYYY г., HH:mm'
80 sameDay
: '[Сегодня в] LT',
81 nextDay
: '[Завтра в] LT',
82 lastDay
: '[Вчера в] LT',
83 nextWeek: function (now
) {
84 if (now
.week() !== this.week()) {
87 return '[В следующее] dddd [в] LT';
91 return '[В следующий] dddd [в] LT';
95 return '[В следующую] dddd [в] LT';
98 if (this.day() === 2) {
99 return '[Во] dddd [в] LT';
101 return '[В] dddd [в] LT';
105 lastWeek: function (now
) {
106 if (now
.week() !== this.week()) {
107 switch (this.day()) {
109 return '[В прошлое] dddd [в] LT';
113 return '[В прошлый] dddd [в] LT';
117 return '[В прошлую] dddd [в] LT';
120 if (this.day() === 2) {
121 return '[Во] dddd [в] LT';
123 return '[В] dddd [в] LT';
132 s
: 'несколько секунд',
133 m
: relativeTimeWithPlural
,
134 mm
: relativeTimeWithPlural
,
136 hh
: relativeTimeWithPlural
,
138 dd
: relativeTimeWithPlural
,
140 MM
: relativeTimeWithPlural
,
142 yy
: relativeTimeWithPlural
144 meridiemParse
: /ночи|утра|дня|вечера/i,
145 isPM : function (input
) {
146 return /^(дня|вечера)$/.test(input
);
148 meridiem : function (hour
, minute
, isLower
) {
151 } else if (hour
< 12) {
153 } else if (hour
< 17) {
159 ordinalParse
: /\d{1,2}-(й|го|я)/,
160 ordinal: function (number
, period
) {
165 return number
+ '-й';
167 return number
+ '-го';
170 return number
+ '-я';
176 dow
: 1, // Monday is the first day of the week.
177 doy
: 7 // The week that contains Jan 1st is the first week of the year.