[ Index ] |
PHP Cross Reference of MediaWiki-1.24.0 |
[Summary view] [Print] [Text view]
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 6 (function (factory) { 7 if (typeof define === 'function' && define.amd) { 8 define(['moment'], factory); // AMD 9 } else if (typeof exports === 'object') { 10 module.exports = factory(require('../moment')); // Node 11 } else { 12 factory(window.moment); // Browser global 13 } 14 }(function (moment) { 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 20 function relativeTimeWithPlural(number, withoutSuffix, key) { 21 var format = { 22 'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут', 23 'hh': 'час_часа_часов', 24 'dd': 'день_дня_дней', 25 'MM': 'месяц_месяца_месяцев', 26 'yy': 'год_года_лет' 27 }; 28 if (key === 'm') { 29 return withoutSuffix ? 'минута' : 'минуту'; 30 } 31 else { 32 return number + ' ' + plural(format[key], +number); 33 } 34 } 35 36 function monthsCaseReplace(m, format) { 37 var months = { 38 'nominative': 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'), 39 'accusative': 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_') 40 }, 41 42 nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ? 43 'accusative' : 44 'nominative'; 45 46 return months[nounCase][m.month()]; 47 } 48 49 function monthsShortCaseReplace(m, format) { 50 var monthsShort = { 51 'nominative': 'янв_фев_мар_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'), 52 'accusative': 'янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек'.split('_') 53 }, 54 55 nounCase = (/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/).test(format) ? 56 'accusative' : 57 'nominative'; 58 59 return monthsShort[nounCase][m.month()]; 60 } 61 62 function weekdaysCaseReplace(m, format) { 63 var weekdays = { 64 'nominative': 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'), 65 'accusative': 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_') 66 }, 67 68 nounCase = (/\[ ?[Вв] ?(?:прошлую|следующую)? ?\] ?dddd/).test(format) ? 69 'accusative' : 70 'nominative'; 71 72 return weekdays[nounCase][m.day()]; 73 } 74 75 return moment.defineLocale('ru', { 76 months : monthsCaseReplace, 77 monthsShort : monthsShortCaseReplace, 78 weekdays : weekdaysCaseReplace, 79 weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'), 80 weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'), 81 monthsParse : [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[й|я]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i], 82 longDateFormat : { 83 LT : 'HH:mm', 84 L : 'DD.MM.YYYY', 85 LL : 'D MMMM YYYY г.', 86 LLL : 'D MMMM YYYY г., LT', 87 LLLL : 'dddd, D MMMM YYYY г., LT' 88 }, 89 calendar : { 90 sameDay: '[Сегодня в] LT', 91 nextDay: '[Завтра в] LT', 92 lastDay: '[Вчера в] LT', 93 nextWeek: function () { 94 return this.day() === 2 ? '[Во] dddd [в] LT' : '[В] dddd [в] LT'; 95 }, 96 lastWeek: function () { 97 switch (this.day()) { 98 case 0: 99 return '[В прошлое] dddd [в] LT'; 100 case 1: 101 case 2: 102 case 4: 103 return '[В прошлый] dddd [в] LT'; 104 case 3: 105 case 5: 106 case 6: 107 return '[В прошлую] dddd [в] LT'; 108 } 109 }, 110 sameElse: 'L' 111 }, 112 relativeTime : { 113 future : 'через %s', 114 past : '%s назад', 115 s : 'несколько секунд', 116 m : relativeTimeWithPlural, 117 mm : relativeTimeWithPlural, 118 h : 'час', 119 hh : relativeTimeWithPlural, 120 d : 'день', 121 dd : relativeTimeWithPlural, 122 M : 'месяц', 123 MM : relativeTimeWithPlural, 124 y : 'год', 125 yy : relativeTimeWithPlural 126 }, 127 128 meridiemParse: /ночи|утра|дня|вечера/i, 129 isPM : function (input) { 130 return /^(дня|вечера)$/.test(input); 131 }, 132 133 meridiem : function (hour, minute, isLower) { 134 if (hour < 4) { 135 return 'ночи'; 136 } else if (hour < 12) { 137 return 'утра'; 138 } else if (hour < 17) { 139 return 'дня'; 140 } else { 141 return 'вечера'; 142 } 143 }, 144 145 ordinal: function (number, period) { 146 switch (period) { 147 case 'M': 148 case 'd': 149 case 'DDD': 150 return number + '-й'; 151 case 'D': 152 return number + '-го'; 153 case 'w': 154 case 'W': 155 return number + '-я'; 156 default: 157 return number; 158 } 159 }, 160 161 week : { 162 dow : 1, // Monday is the first day of the week. 163 doy : 7 // The week that contains Jan 1st is the first week of the year. 164 } 165 }); 166 }));
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Nov 28 14:03:12 2014 | Cross-referenced by PHPXref 0.7.1 |