[ Index ]

PHP Cross Reference of MediaWiki-1.24.0

title

Body

[close]

/resources/lib/moment/locale/ -> ru.js (source)

   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  }));


Generated: Fri Nov 28 14:03:12 2014 Cross-referenced by PHPXref 0.7.1