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 6 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'; 13 14 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]); 18 } 19 function relativeTimeWithPlural(number, withoutSuffix, key) { 20 var format = { 21 'mm': withoutSuffix ? 'минÑÑа_минÑÑÑ_минÑÑ' : 'минÑÑÑ_минÑÑÑ_минÑÑ', 22 'hh': 'ÑаÑ_ÑаÑа_ÑаÑов', 23 'dd': 'денÑ_днÑ_дней', 24 'MM': 'меÑÑÑ_меÑÑÑа_меÑÑÑев', 25 'yy': 'год_года_леÑ' 26 }; 27 if (key === 'm') { 28 return withoutSuffix ? 'минÑÑа' : 'минÑÑÑ'; 29 } 30 else { 31 return number + ' ' + plural(format[key], +number); 32 } 33 } 34 var monthsParse = [/^Ñнв/i, /^Ñев/i, /^маÑ/i, /^апÑ/i, /^ма[йÑ]/i, /^иÑн/i, /^иÑл/i, /^авг/i, /^Ñен/i, /^окÑ/i, /^ноÑ/i, /^дек/i]; 35 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', { 40 months : { 41 format: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 42 standalone: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_') 43 }, 44 monthsShort : { 45 // по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑÐºÑ ? 46 format: 'Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_'), 47 standalone: 'Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_') 48 }, 49 weekdays : { 50 standalone: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа'.split('_'), 51 format: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ'.split('_'), 52 isFormat: /\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?\] ?dddd/ 53 }, 54 weekdaysShort : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 55 weekdaysMin : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 56 monthsParse : monthsParse, 57 longMonthsParse : monthsParse, 58 shortMonthsParse : monthsParse, 59 monthsRegex: /^(ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|декабÑ[ÑÑ]|ÑевÑал[ÑÑ]|ÑнваÑ[ÑÑ]|апÑел[ÑÑ]|авгÑÑÑа?|ноÑбÑ[ÑÑ]|ÑенÑ\.|ÑевÑ\.|ноÑб\.|иÑнÑ|Ñнв.|иÑлÑ|дек.|авг.|апÑ.|маÑÑа|маÑ[.Ñ]|окÑ.|иÑн[ÑÑ]|иÑл[ÑÑ]|ма[Ñй])/i, 60 monthsShortRegex: /^(ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|декабÑ[ÑÑ]|ÑевÑал[ÑÑ]|ÑнваÑ[ÑÑ]|апÑел[ÑÑ]|авгÑÑÑа?|ноÑбÑ[ÑÑ]|ÑенÑ\.|ÑевÑ\.|ноÑб\.|иÑнÑ|Ñнв.|иÑлÑ|дек.|авг.|апÑ.|маÑÑа|маÑ[.Ñ]|окÑ.|иÑн[ÑÑ]|иÑл[ÑÑ]|ма[Ñй])/i, 61 monthsStrictRegex: /^(ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|декабÑ[ÑÑ]|ÑевÑал[ÑÑ]|ÑнваÑ[ÑÑ]|апÑел[ÑÑ]|авгÑÑÑа?|ноÑбÑ[ÑÑ]|маÑÑа?|иÑн[ÑÑ]|иÑл[ÑÑ]|ма[Ñй])/i, 62 monthsShortStrictRegex: /^(ноÑб\.|ÑевÑ\.|ÑенÑ\.|иÑлÑ|Ñнв\.|иÑн[ÑÑ]|маÑ[.Ñ]|авг\.|апÑ\.|ок
vendor: 3,785 bytes, lines 62-175
62Ñ\.|дек\.|ма[Ñй])/i, 63 longDateFormat : { 64 LT : 'HH:mm', 65 LTS : 'HH:mm:ss', 66 L : 'DD.MM.YYYY', 67 LL : 'D MMMM YYYY г.', 68 LLL : 'D MMMM YYYY г., HH:mm', 69 LLLL : 'dddd, D MMMM YYYY г., HH:mm' 70 }, 71 calendar : { 72 sameDay: '[Ð¡ÐµÐ³Ð¾Ð´Ð½Ñ Ð²] LT', 73 nextDay: '[ÐавÑÑа в] LT', 74 lastDay: '[ÐÑеÑа в] LT', 75 nextWeek: function (now) { 76 if (now.week() !== this.week()) { 77 switch (this.day()) { 78 case 0: 79 return '[Ð ÑледÑÑÑее] dddd [в] LT'; 80 case 1: 81 case 2: 82 case 4: 83 return '[Ð ÑледÑÑÑий] dddd [в] LT'; 84 case 3: 85 case 5: 86 case 6: 87 return '[Ð ÑледÑÑÑÑÑ] dddd [в] LT'; 88 } 89 } else { 90 if (this.day() === 2) { 91 return '[Ðо] dddd [в] LT'; 92 } else { 93 return '[Ð] dddd [в] LT'; 94 } 95 } 96 }, 97 lastWeek: function (now) { 98 if (now.week() !== this.week()) { 99 switch (this.day()) { 100 case 0: 101 return '[РпÑоÑлое] dddd [в] LT'; 102 case 1: 103 case 2: 104 case 4: 105 return '[РпÑоÑлÑй] dddd [в] LT'; 106 case 3: 107 case 5: 108 case 6: 109 return '[РпÑоÑлÑÑ] dddd [в] LT'; 110 } 111 } else { 112 if (this.day() === 2) { 113 return '[Ðо] dddd [в] LT'; 114 } else { 115 return '[Ð] dddd [в] LT'; 116 } 117 } 118 }, 119 sameElse: 'L' 120 }, 121 relativeTime : { 122 future : 'ÑеÑез %s', 123 past : '%s назад', 124 s : 'неÑколÑко ÑекÑнд', 125 m : relativeTimeWithPlural, 126 mm : relativeTimeWithPlural, 127 h : 'ÑаÑ', 128 hh : relativeTimeWithPlural, 129 d : 'денÑ', 130 dd : relativeTimeWithPlural, 131 M : 'меÑÑÑ', 132 MM : relativeTimeWithPlural, 133 y : 'год', 134 yy : relativeTimeWithPlural 135 }, 136 meridiemParse: /ноÑи|ÑÑÑа|днÑ|веÑеÑа/i, 137 isPM : function (input) { 138 return /^(днÑ|веÑеÑа)$/.test(input); 139 }, 140 meridiem : function (hour, minute, isLower) { 141 if (hour < 4) { 142 return 'ноÑи'; 143 } else if (hour < 12) { 144 return 'ÑÑÑа'; 145 } else if (hour < 17) { 146 return 'днÑ'; 147 } else { 148 return 'веÑеÑа'; 149 } 150 }, 151 ordinalParse: /\d{1,2}-(й|го|Ñ)/, 152 ordinal: function (number, period) { 153 switch (period) { 154 case 'M': 155 case 'd': 156 case 'DDD': 157 return number + '-й'; 158 case 'D': 159 return number + '-го'; 160 case 'w': 161 case 'W': 162 return number + '-Ñ'; 163 default: 164 return number; 165 } 166 }, 167 week : { 168 dow : 1, // Monday is the first day of the week. 169 doy : 7 // The week that contains Jan 1st is the first week of the year. 170 } 171 }); 172 173 return ru; 174 175}));
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.