LaravelTest
217 строк · 9.2 Кб
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) {8typeof exports === 'object' && typeof module !== 'undefined'9&& typeof require === 'function' ? factory(require('../moment')) :10typeof define === 'function' && define.amd ? define(['../moment'], factory) :11factory(global.moment)12}(this, (function (moment) { 'use strict';13
14//! moment.js locale configuration15
16function plural(word, num) {17var forms = word.split('_');18return num % 10 === 1 && num % 100 !== 1119? forms[0]20: num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)21? forms[1]22: forms[2];23}24function relativeTimeWithPlural(number, withoutSuffix, key) {25var format = {26ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',27mm: withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',28hh: 'час_часа_часов',29dd: 'день_дня_дней',30ww: 'неделя_недели_недель',31MM: 'месяц_месяца_месяцев',32yy: 'год_года_лет',33};34if (key === 'm') {35return withoutSuffix ? 'минута' : 'минуту';36} else {37return number + ' ' + plural(format[key], +number);38}39}40var monthsParse = [41/^янв/i,42/^фев/i,43/^мар/i,44/^апр/i,45/^ма[йя]/i,46/^июн/i,47/^июл/i,48/^авг/i,49/^сен/i,50/^окт/i,51/^ноя/i,52/^дек/i,53];54
55// http://new.gramota.ru/spravka/rules/139-prop : § 10356// Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=24263757// CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#175358var ru = moment.defineLocale('ru', {59months: {60format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split(61'_'62),63standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split(64'_'65),66},67monthsShort: {68// по CLDR именно "июл." и "июн.", но какой смысл менять букву на точку?69format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split(70'_'71),72standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split(73'_'74),75},76weekdays: {77standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split(78'_'79),80format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split(81'_'82),83isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/,84},85weekdaysShort: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),86weekdaysMin: 'вс_пн_вт_ср_чт_пт_сб'.split('_'),87monthsParse: monthsParse,88longMonthsParse: monthsParse,89shortMonthsParse: monthsParse,90
91// полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки92monthsRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,93
94// копия предыдущего95monthsShortRegex: /^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,96
97// полные названия с падежами98monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,99
100// Выражение, которое соответствует только сокращённым формам101monthsShortStrictRegex: /^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,102longDateFormat: {103LT: 'H:mm',104LTS: 'H:mm:ss',105L: 'DD.MM.YYYY',106LL: 'D MMMM YYYY г.',107LLL: 'D MMMM YYYY г., H:mm',108LLLL: 'dddd, D MMMM YYYY г., H:mm',109},110calendar: {111sameDay: '[Сегодня, в] LT',112nextDay: '[Завтра, в] LT',113lastDay: '[Вчера, в] LT',114nextWeek: function (now) {115if (now.week() !== this.week()) {116switch (this.day()) {117case 0:118return '[В следующее] dddd, [в] LT';119case 1:120case 2:121case 4:122return '[В следующий] dddd, [в] LT';123case 3:124case 5:125case 6:126return '[В следующую] dddd, [в] LT';127}128} else {129if (this.day() === 2) {130return '[Во] dddd, [в] LT';131} else {132return '[В] dddd, [в] LT';133}134}135},136lastWeek: function (now) {137if (now.week() !== this.week()) {138switch (this.day()) {139case 0:140return '[В прошлое] dddd, [в] LT';141case 1:142case 2:143case 4:144return '[В прошлый] dddd, [в] LT';145case 3:146case 5:147case 6:148return '[В прошлую] dddd, [в] LT';149}150} else {151if (this.day() === 2) {152return '[Во] dddd, [в] LT';153} else {154return '[В] dddd, [в] LT';155}156}157},158sameElse: 'L',159},160relativeTime: {161future: 'через %s',162past: '%s назад',163s: 'несколько секунд',164ss: relativeTimeWithPlural,165m: relativeTimeWithPlural,166mm: relativeTimeWithPlural,167h: 'час',168hh: relativeTimeWithPlural,169d: 'день',170dd: relativeTimeWithPlural,171w: 'неделя',172ww: relativeTimeWithPlural,173M: 'месяц',174MM: relativeTimeWithPlural,175y: 'год',176yy: relativeTimeWithPlural,177},178meridiemParse: /ночи|утра|дня|вечера/i,179isPM: function (input) {180return /^(дня|вечера)$/.test(input);181},182meridiem: function (hour, minute, isLower) {183if (hour < 4) {184return 'ночи';185} else if (hour < 12) {186return 'утра';187} else if (hour < 17) {188return 'дня';189} else {190return 'вечера';191}192},193dayOfMonthOrdinalParse: /\d{1,2}-(й|го|я)/,194ordinal: function (number, period) {195switch (period) {196case 'M':197case 'd':198case 'DDD':199return number + '-й';200case 'D':201return number + '-го';202case 'w':203case 'W':204return number + '-я';205default:206return number;207}208},209week: {210dow: 1, // Monday is the first day of the week.211doy: 4, // The week that contains Jan 4th is the first week of the year.212},213});214
215return ru;216
217})));218