2015-07-22 17:10:40 +03:00
( function ( global , factory ) {
typeof exports === 'object' && typeof module !== 'undefined' ? module . exports = factory ( ) :
typeof define === 'function' && define . amd ? define ( factory ) :
global . moment = factory ( )
} ( this , function ( ) { 'use strict' ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var hookCallback ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function utils _hooks _ _hooks ( ) {
return hookCallback . apply ( null , arguments ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// This is done to register the method called with moment()
// without creating circular dependencies.
function setHookCallback ( callback ) {
hookCallback = callback ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function isArray ( input ) {
return Object . prototype . toString . call ( input ) === '[object Array]' ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function isDate ( input ) {
return input instanceof Date || Object . prototype . toString . call ( input ) === '[object Date]' ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function map ( arr , fn ) {
var res = [ ] , i ;
for ( i = 0 ; i < arr . length ; ++ i ) {
res . push ( fn ( arr [ i ] , i ) ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return res ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function hasOwnProp ( a , b ) {
return Object . prototype . hasOwnProperty . call ( a , b ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function extend ( a , b ) {
for ( var i in b ) {
if ( hasOwnProp ( b , i ) ) {
a [ i ] = b [ i ] ;
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( hasOwnProp ( b , 'toString' ) ) {
a . toString = b . toString ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( hasOwnProp ( b , 'valueOf' ) ) {
a . valueOf = b . valueOf ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return a ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function create _utc _ _createUTC ( input , format , locale , strict ) {
return createLocalOrUTC ( input , format , locale , strict , true ) . utc ( ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function defaultParsingFlags ( ) {
// We need to deep clone this object.
return {
empty : false ,
unusedTokens : [ ] ,
unusedInput : [ ] ,
overflow : - 2 ,
charsLeftOver : 0 ,
nullInput : false ,
invalidMonth : null ,
invalidFormat : false ,
userInvalidated : false ,
iso : false
} ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function getParsingFlags ( m ) {
if ( m . _pf == null ) {
m . _pf = defaultParsingFlags ( ) ;
}
return m . _pf ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function valid _ _isValid ( m ) {
if ( m . _isValid == null ) {
var flags = getParsingFlags ( m ) ;
m . _isValid = ! isNaN ( m . _d . getTime ( ) ) &&
flags . overflow < 0 &&
! flags . empty &&
! flags . invalidMonth &&
! flags . nullInput &&
! flags . invalidFormat &&
! flags . userInvalidated ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( m . _strict ) {
m . _isValid = m . _isValid &&
flags . charsLeftOver === 0 &&
flags . unusedTokens . length === 0 &&
flags . bigHour === undefined ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
return m . _isValid ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function valid _ _createInvalid ( flags ) {
var m = create _utc _ _createUTC ( NaN ) ;
if ( flags != null ) {
extend ( getParsingFlags ( m ) , flags ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
else {
getParsingFlags ( m ) . userInvalidated = true ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return m ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var momentProperties = utils _hooks _ _hooks . momentProperties = [ ] ;
2014-08-26 19:39:15 +04:00
function copyConfig ( to , from ) {
var i , prop , val ;
if ( typeof from . _isAMomentObject !== 'undefined' ) {
to . _isAMomentObject = from . _isAMomentObject ;
}
if ( typeof from . _i !== 'undefined' ) {
to . _i = from . _i ;
}
if ( typeof from . _f !== 'undefined' ) {
to . _f = from . _f ;
}
if ( typeof from . _l !== 'undefined' ) {
to . _l = from . _l ;
}
if ( typeof from . _strict !== 'undefined' ) {
to . _strict = from . _strict ;
}
if ( typeof from . _tzm !== 'undefined' ) {
to . _tzm = from . _tzm ;
}
if ( typeof from . _isUTC !== 'undefined' ) {
to . _isUTC = from . _isUTC ;
}
if ( typeof from . _offset !== 'undefined' ) {
to . _offset = from . _offset ;
}
if ( typeof from . _pf !== 'undefined' ) {
2015-07-22 17:10:40 +03:00
to . _pf = getParsingFlags ( from ) ;
2014-08-26 19:39:15 +04:00
}
if ( typeof from . _locale !== 'undefined' ) {
to . _locale = from . _locale ;
}
if ( momentProperties . length > 0 ) {
for ( i in momentProperties ) {
prop = momentProperties [ i ] ;
val = from [ prop ] ;
if ( typeof val !== 'undefined' ) {
to [ prop ] = val ;
}
}
}
return to ;
}
2015-07-22 17:10:40 +03:00
var updateInProgress = false ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Moment prototype object
function Moment ( config ) {
copyConfig ( this , config ) ;
this . _d = new Date ( + config . _d ) ;
// Prevent infinite loop in case updateOffset creates new moment
// objects.
if ( updateInProgress === false ) {
updateInProgress = true ;
utils _hooks _ _hooks . updateOffset ( this ) ;
updateInProgress = false ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
function isMoment ( obj ) {
return obj instanceof Moment || ( obj != null && obj . _isAMomentObject != null ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function toInt ( argumentForCoercion ) {
var coercedNumber = + argumentForCoercion ,
value = 0 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( coercedNumber !== 0 && isFinite ( coercedNumber ) ) {
if ( coercedNumber >= 0 ) {
value = Math . floor ( coercedNumber ) ;
} else {
value = Math . ceil ( coercedNumber ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
return value ;
2014-08-26 19:39:15 +04:00
}
function compareArrays ( array1 , array2 , dontConvert ) {
var len = Math . min ( array1 . length , array2 . length ) ,
lengthDiff = Math . abs ( array1 . length - array2 . length ) ,
diffs = 0 ,
i ;
for ( i = 0 ; i < len ; i ++ ) {
if ( ( dontConvert && array1 [ i ] !== array2 [ i ] ) ||
( ! dontConvert && toInt ( array1 [ i ] ) !== toInt ( array2 [ i ] ) ) ) {
diffs ++ ;
}
}
return diffs + lengthDiff ;
}
2015-07-22 17:10:40 +03:00
function Locale ( ) {
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var locales = { } ;
var globalLocale ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function normalizeLocale ( key ) {
return key ? key . toLowerCase ( ) . replace ( '_' , '-' ) : key ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// pick the locale from the array
// try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
// substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
function chooseLocale ( names ) {
var i = 0 , j , next , locale , split ;
2014-08-26 19:39:15 +04:00
while ( i < names . length ) {
split = normalizeLocale ( names [ i ] ) . split ( '-' ) ;
j = split . length ;
next = normalizeLocale ( names [ i + 1 ] ) ;
next = next ? next . split ( '-' ) : null ;
while ( j > 0 ) {
locale = loadLocale ( split . slice ( 0 , j ) . join ( '-' ) ) ;
if ( locale ) {
return locale ;
}
if ( next && next . length >= j && compareArrays ( split , next , true ) >= j - 1 ) {
//the next array item is better than a shallower substring of this one
break ;
}
j -- ;
}
i ++ ;
}
return null ;
}
function loadLocale ( name ) {
var oldLocale = null ;
2015-07-22 17:10:40 +03:00
// TODO: Find a better way to register and load all the locales in Node
if ( ! locales [ name ] && typeof module !== 'undefined' &&
module && module . exports ) {
2014-08-26 19:39:15 +04:00
try {
2015-07-22 17:10:40 +03:00
oldLocale = globalLocale . _abbr ;
2014-08-26 19:39:15 +04:00
require ( './locale/' + name ) ;
2015-07-22 17:10:40 +03:00
// because defineLocale currently also sets the global locale, we
// want to undo that for lazy loaded locales
locale _locales _ _getSetGlobalLocale ( oldLocale ) ;
2014-08-26 19:39:15 +04:00
} catch ( e ) { }
}
return locales [ name ] ;
}
2015-07-22 17:10:40 +03:00
// This function will load locale and then set the global locale. If
// no arguments are passed in, it will simply return the current global
// locale key.
function locale _locales _ _getSetGlobalLocale ( key , values ) {
var data ;
if ( key ) {
if ( typeof values === 'undefined' ) {
data = locale _locales _ _getLocale ( key ) ;
}
else {
data = defineLocale ( key , values ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( data ) {
// moment.duration._locale = moment._locale = data;
globalLocale = data ;
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return globalLocale . _abbr ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function defineLocale ( name , values ) {
if ( values !== null ) {
values . abbr = name ;
if ( ! locales [ name ] ) {
locales [ name ] = new Locale ( ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
locales [ name ] . set ( values ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// backwards compat for now: also set the locale
locale _locales _ _getSetGlobalLocale ( name ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return locales [ name ] ;
} else {
// useful for testing
delete locales [ name ] ;
return null ;
}
}
// returns locale data
function locale _locales _ _getLocale ( key ) {
var locale ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( key && key . _locale && key . _locale . _abbr ) {
key = key . _locale . _abbr ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( ! key ) {
return globalLocale ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( ! isArray ( key ) ) {
//short-circuit everything else
locale = loadLocale ( key ) ;
if ( locale ) {
return locale ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
key = [ key ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return chooseLocale ( key ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var aliases = { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function addUnitAlias ( unit , shorthand ) {
var lowerCase = unit . toLowerCase ( ) ;
aliases [ lowerCase ] = aliases [ lowerCase + 's' ] = aliases [ shorthand ] = unit ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function normalizeUnits ( units ) {
return typeof units === 'string' ? aliases [ units ] || aliases [ units . toLowerCase ( ) ] : undefined ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function normalizeObjectUnits ( inputObject ) {
var normalizedInput = { } ,
normalizedProp ,
prop ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
for ( prop in inputObject ) {
if ( hasOwnProp ( inputObject , prop ) ) {
normalizedProp = normalizeUnits ( prop ) ;
if ( normalizedProp ) {
normalizedInput [ normalizedProp ] = inputObject [ prop ] ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return normalizedInput ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function makeGetSet ( unit , keepTime ) {
return function ( value ) {
if ( value != null ) {
get _set _ _set ( this , unit , value ) ;
utils _hooks _ _hooks . updateOffset ( this , keepTime ) ;
return this ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
return get _set _ _get ( this , unit ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
} ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function get _set _ _get ( mom , unit ) {
return mom . _d [ 'get' + ( mom . _isUTC ? 'UTC' : '' ) + unit ] ( ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function get _set _ _set ( mom , unit , value ) {
return mom . _d [ 'set' + ( mom . _isUTC ? 'UTC' : '' ) + unit ] ( value ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSet ( units , value ) {
var unit ;
if ( typeof units === 'object' ) {
for ( unit in units ) {
this . set ( unit , units [ unit ] ) ;
}
} else {
units = normalizeUnits ( units ) ;
if ( typeof this [ units ] === 'function' ) {
return this [ units ] ( value ) ;
}
}
return this ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function zeroFill ( number , targetLength , forceSign ) {
var output = '' + Math . abs ( number ) ,
sign = number >= 0 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
while ( output . length < targetLength ) {
output = '0' + output ;
}
return ( sign ? ( forceSign ? '+' : '' ) : '-' ) + output ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|x|X|zz?|ZZ?|.)/g ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var formatFunctions = { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var formatTokenFunctions = { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// token: 'M'
// padded: ['MM', 2]
// ordinal: 'Mo'
// callback: function () { this.month() + 1 }
function addFormatToken ( token , padded , ordinal , callback ) {
var func = callback ;
if ( typeof callback === 'string' ) {
func = function ( ) {
return this [ callback ] ( ) ;
} ;
}
if ( token ) {
formatTokenFunctions [ token ] = func ;
}
if ( padded ) {
formatTokenFunctions [ padded [ 0 ] ] = function ( ) {
return zeroFill ( func . apply ( this , arguments ) , padded [ 1 ] , padded [ 2 ] ) ;
} ;
}
if ( ordinal ) {
formatTokenFunctions [ ordinal ] = function ( ) {
return this . localeData ( ) . ordinal ( func . apply ( this , arguments ) , token ) ;
} ;
}
}
2014-08-26 19:39:15 +04:00
function removeFormattingTokens ( input ) {
if ( input . match ( /\[[\s\S]/ ) ) {
return input . replace ( /^\[|\]$/g , '' ) ;
}
return input . replace ( /\\/g , '' ) ;
}
function makeFormatFunction ( format ) {
var array = format . match ( formattingTokens ) , i , length ;
for ( i = 0 , length = array . length ; i < length ; i ++ ) {
if ( formatTokenFunctions [ array [ i ] ] ) {
array [ i ] = formatTokenFunctions [ array [ i ] ] ;
} else {
array [ i ] = removeFormattingTokens ( array [ i ] ) ;
}
}
return function ( mom ) {
var output = '' ;
for ( i = 0 ; i < length ; i ++ ) {
output += array [ i ] instanceof Function ? array [ i ] . call ( mom , format ) : array [ i ] ;
}
return output ;
} ;
}
// format date using native date object
function formatMoment ( m , format ) {
if ( ! m . isValid ( ) ) {
return m . localeData ( ) . invalidDate ( ) ;
}
format = expandFormat ( format , m . localeData ( ) ) ;
if ( ! formatFunctions [ format ] ) {
formatFunctions [ format ] = makeFormatFunction ( format ) ;
}
return formatFunctions [ format ] ( m ) ;
}
function expandFormat ( format , locale ) {
var i = 5 ;
function replaceLongDateFormatTokens ( input ) {
return locale . longDateFormat ( input ) || input ;
}
localFormattingTokens . lastIndex = 0 ;
while ( i >= 0 && localFormattingTokens . test ( format ) ) {
format = format . replace ( localFormattingTokens , replaceLongDateFormatTokens ) ;
localFormattingTokens . lastIndex = 0 ;
i -= 1 ;
}
return format ;
}
2015-07-22 17:10:40 +03:00
var match1 = /\d/ ; // 0 - 9
var match2 = /\d\d/ ; // 00 - 99
var match3 = /\d{3}/ ; // 000 - 999
var match4 = /\d{4}/ ; // 0000 - 9999
var match6 = /[+-]?\d{6}/ ; // -999999 - 999999
var match1to2 = /\d\d?/ ; // 0 - 99
var match1to3 = /\d{1,3}/ ; // 0 - 999
var match1to4 = /\d{1,4}/ ; // 0 - 9999
var match1to6 = /[+-]?\d{1,6}/ ; // -999999 - 999999
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var matchUnsigned = /\d+/ ; // 0 - inf
var matchSigned = /[+-]?\d+/ ; // -inf - inf
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var matchOffset = /Z|[+-]\d\d:?\d\d/gi ; // +00:00 -00:00 +0000 -0000 or Z
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/ ; // 123456789 123456789.123
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// any word (or two) characters or numbers including two/three word month in arabic.
var matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var regexes = { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function addRegexToken ( token , regex , strictRegex ) {
regexes [ token ] = typeof regex === 'function' ? regex : function ( isStrict ) {
return ( isStrict && strictRegex ) ? strictRegex : regex ;
} ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function getParseRegexForToken ( token , config ) {
if ( ! hasOwnProp ( regexes , token ) ) {
return new RegExp ( unescapeFormat ( token ) ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return regexes [ token ] ( config . _strict , config . _locale ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
function unescapeFormat ( s ) {
return s . replace ( '\\' , '' ) . replace ( /\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g , function ( matched , p1 , p2 , p3 , p4 ) {
return p1 || p2 || p3 || p4 ;
} ) . replace ( /[-\/\\^$*+?.()|[\]{}]/g , '\\$&' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var tokens = { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function addParseToken ( token , callback ) {
var i , func = callback ;
if ( typeof token === 'string' ) {
token = [ token ] ;
}
if ( typeof callback === 'number' ) {
func = function ( input , array ) {
array [ callback ] = toInt ( input ) ;
} ;
}
for ( i = 0 ; i < token . length ; i ++ ) {
tokens [ token [ i ] ] = func ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
function addWeekParseToken ( token , callback ) {
addParseToken ( token , function ( input , array , config , token ) {
config . _w = config . _w || { } ;
callback ( input , config . _w , config , token ) ;
} ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function addTimeToArrayFromToken ( token , input , config ) {
if ( input != null && hasOwnProp ( tokens , token ) ) {
tokens [ token ] ( input , config . _a , config , token ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var YEAR = 0 ;
var MONTH = 1 ;
var DATE = 2 ;
var HOUR = 3 ;
var MINUTE = 4 ;
var SECOND = 5 ;
var MILLISECOND = 6 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function daysInMonth ( year , month ) {
return new Date ( Date . UTC ( year , month + 1 , 0 ) ) . getUTCDate ( ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// FORMATTING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'M' , [ 'MM' , 2 ] , 'Mo' , function ( ) {
return this . month ( ) + 1 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'MMM' , 0 , 0 , function ( format ) {
return this . localeData ( ) . monthsShort ( this , format ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'MMMM' , 0 , 0 , function ( format ) {
return this . localeData ( ) . months ( this , format ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'month' , 'M' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'M' , match1to2 ) ;
addRegexToken ( 'MM' , match1to2 , match2 ) ;
addRegexToken ( 'MMM' , matchWord ) ;
addRegexToken ( 'MMMM' , matchWord ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addParseToken ( [ 'M' , 'MM' ] , function ( input , array ) {
array [ MONTH ] = toInt ( input ) - 1 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addParseToken ( [ 'MMM' , 'MMMM' ] , function ( input , array , config , token ) {
var month = config . _locale . monthsParse ( input , token , config . _strict ) ;
// if we didn't find a month name, mark the date as invalid.
if ( month != null ) {
array [ MONTH ] = month ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
getParsingFlags ( config ) . invalidMonth = input ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// LOCALES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December' . split ( '_' ) ;
function localeMonths ( m ) {
return this . _months [ m . month ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec' . split ( '_' ) ;
function localeMonthsShort ( m ) {
return this . _monthsShort [ m . month ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function localeMonthsParse ( monthName , format , strict ) {
var i , mom , regex ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( ! this . _monthsParse ) {
this . _monthsParse = [ ] ;
this . _longMonthsParse = [ ] ;
this . _shortMonthsParse = [ ] ;
}
for ( i = 0 ; i < 12 ; i ++ ) {
// make the regex if we don't have it already
mom = create _utc _ _createUTC ( [ 2000 , i ] ) ;
if ( strict && ! this . _longMonthsParse [ i ] ) {
this . _longMonthsParse [ i ] = new RegExp ( '^' + this . months ( mom , '' ) . replace ( '.' , '' ) + '$' , 'i' ) ;
this . _shortMonthsParse [ i ] = new RegExp ( '^' + this . monthsShort ( mom , '' ) . replace ( '.' , '' ) + '$' , 'i' ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
if ( ! strict && ! this . _monthsParse [ i ] ) {
regex = '^' + this . months ( mom , '' ) + '|^' + this . monthsShort ( mom , '' ) ;
this . _monthsParse [ i ] = new RegExp ( regex . replace ( '.' , '' ) , 'i' ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// test the regex
if ( strict && format === 'MMMM' && this . _longMonthsParse [ i ] . test ( monthName ) ) {
return i ;
} else if ( strict && format === 'MMM' && this . _shortMonthsParse [ i ] . test ( monthName ) ) {
return i ;
} else if ( ! strict && this . _monthsParse [ i ] . test ( monthName ) ) {
return i ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function setMonth ( mom , value ) {
var dayOfMonth ;
// TODO: Move this out of here!
if ( typeof value === 'string' ) {
value = mom . localeData ( ) . monthsParse ( value ) ;
// TODO: Another silent failure?
if ( typeof value !== 'number' ) {
return mom ;
}
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
dayOfMonth = Math . min ( mom . date ( ) , daysInMonth ( mom . year ( ) , value ) ) ;
mom . _d [ 'set' + ( mom . _isUTC ? 'UTC' : '' ) + 'Month' ] ( value , dayOfMonth ) ;
return mom ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function getSetMonth ( value ) {
if ( value != null ) {
setMonth ( this , value ) ;
utils _hooks _ _hooks . updateOffset ( this , true ) ;
return this ;
} else {
return get _set _ _get ( this , 'Month' ) ;
}
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function getDaysInMonth ( ) {
return daysInMonth ( this . year ( ) , this . month ( ) ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function checkOverflow ( m ) {
var overflow ;
var a = m . _a ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( a && getParsingFlags ( m ) . overflow === - 2 ) {
overflow =
a [ MONTH ] < 0 || a [ MONTH ] > 11 ? MONTH :
a [ DATE ] < 1 || a [ DATE ] > daysInMonth ( a [ YEAR ] , a [ MONTH ] ) ? DATE :
a [ HOUR ] < 0 || a [ HOUR ] > 24 || ( a [ HOUR ] === 24 && ( a [ MINUTE ] !== 0 || a [ SECOND ] !== 0 || a [ MILLISECOND ] !== 0 ) ) ? HOUR :
a [ MINUTE ] < 0 || a [ MINUTE ] > 59 ? MINUTE :
a [ SECOND ] < 0 || a [ SECOND ] > 59 ? SECOND :
a [ MILLISECOND ] < 0 || a [ MILLISECOND ] > 999 ? MILLISECOND :
- 1 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( getParsingFlags ( m ) . _overflowDayOfYear && ( overflow < YEAR || overflow > DATE ) ) {
overflow = DATE ;
2014-11-03 13:18:52 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
getParsingFlags ( m ) . overflow = overflow ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return m ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function warn ( msg ) {
if ( utils _hooks _ _hooks . suppressDeprecationWarnings === false && typeof console !== 'undefined' && console . warn ) {
console . warn ( 'Deprecation warning: ' + msg ) ;
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function deprecate ( msg , fn ) {
var firstTime = true ,
msgWithStack = msg + '\n' + ( new Error ( ) ) . stack ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return extend ( function ( ) {
if ( firstTime ) {
warn ( msgWithStack ) ;
firstTime = false ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return fn . apply ( this , arguments ) ;
} , fn ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var deprecations = { } ;
function deprecateSimple ( name , msg ) {
if ( ! deprecations [ name ] ) {
warn ( msg ) ;
deprecations [ name ] = true ;
}
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
utils _hooks _ _hooks . suppressDeprecationWarnings = false ;
var from _string _ _isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/ ;
var isoDates = [
[ 'YYYYYY-MM-DD' , /[+-]\d{6}-\d{2}-\d{2}/ ] ,
[ 'YYYY-MM-DD' , /\d{4}-\d{2}-\d{2}/ ] ,
[ 'GGGG-[W]WW-E' , /\d{4}-W\d{2}-\d/ ] ,
[ 'GGGG-[W]WW' , /\d{4}-W\d{2}/ ] ,
[ 'YYYY-DDD' , /\d{4}-\d{3}/ ]
] ;
// iso time formats and regexes
var isoTimes = [
[ 'HH:mm:ss.SSSS' , /(T| )\d\d:\d\d:\d\d\.\d+/ ] ,
[ 'HH:mm:ss' , /(T| )\d\d:\d\d:\d\d/ ] ,
[ 'HH:mm' , /(T| )\d\d:\d\d/ ] ,
[ 'HH' , /(T| )\d\d/ ]
] ;
var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i ;
2014-08-26 19:39:15 +04:00
// date from iso format
2015-07-22 17:10:40 +03:00
function configFromISO ( config ) {
2014-08-26 19:39:15 +04:00
var i , l ,
string = config . _i ,
2015-07-22 17:10:40 +03:00
match = from _string _ _isoRegex . exec ( string ) ;
2014-08-26 19:39:15 +04:00
if ( match ) {
2015-07-22 17:10:40 +03:00
getParsingFlags ( config ) . iso = true ;
2014-08-26 19:39:15 +04:00
for ( i = 0 , l = isoDates . length ; i < l ; i ++ ) {
if ( isoDates [ i ] [ 1 ] . exec ( string ) ) {
// match[5] should be 'T' or undefined
config . _f = isoDates [ i ] [ 0 ] + ( match [ 6 ] || ' ' ) ;
break ;
}
}
for ( i = 0 , l = isoTimes . length ; i < l ; i ++ ) {
if ( isoTimes [ i ] [ 1 ] . exec ( string ) ) {
config . _f += isoTimes [ i ] [ 0 ] ;
break ;
}
}
2015-07-22 17:10:40 +03:00
if ( string . match ( matchOffset ) ) {
2014-08-26 19:39:15 +04:00
config . _f += 'Z' ;
}
2015-07-22 17:10:40 +03:00
configFromStringAndFormat ( config ) ;
2014-08-26 19:39:15 +04:00
} else {
config . _isValid = false ;
}
}
// date from iso format or fallback
2015-07-22 17:10:40 +03:00
function configFromString ( config ) {
var matched = aspNetJsonRegex . exec ( config . _i ) ;
if ( matched !== null ) {
config . _d = new Date ( + matched [ 1 ] ) ;
return ;
}
configFromISO ( config ) ;
2014-08-26 19:39:15 +04:00
if ( config . _isValid === false ) {
delete config . _isValid ;
2015-07-22 17:10:40 +03:00
utils _hooks _ _hooks . createFromInputFallback ( config ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
utils _hooks _ _hooks . createFromInputFallback = deprecate (
'moment construction falls back to js Date. This is ' +
'discouraged and will be removed in upcoming major ' +
'release. Please refer to ' +
'https://github.com/moment/moment/issues/1407 for more info.' ,
function ( config ) {
config . _d = new Date ( config . _i + ( config . _useUTC ? ' UTC' : '' ) ) ;
2014-11-03 13:18:52 +03:00
}
2015-07-22 17:10:40 +03:00
) ;
2014-11-03 13:18:52 +03:00
2015-07-22 17:10:40 +03:00
function createDate ( y , m , d , h , M , s , ms ) {
2014-08-26 19:39:15 +04:00
//can't just apply() to create a date:
//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
var date = new Date ( y , m , d , h , M , s , ms ) ;
//the date constructor doesn't accept years < 1970
if ( y < 1970 ) {
date . setFullYear ( y ) ;
}
return date ;
}
2015-07-22 17:10:40 +03:00
function createUTCDate ( y ) {
2014-08-26 19:39:15 +04:00
var date = new Date ( Date . UTC . apply ( null , arguments ) ) ;
if ( y < 1970 ) {
date . setUTCFullYear ( y ) ;
}
return date ;
}
2015-07-22 17:10:40 +03:00
addFormatToken ( 0 , [ 'YY' , 2 ] , 0 , function ( ) {
return this . year ( ) % 100 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 0 , [ 'YYYY' , 4 ] , 0 , 'year' ) ;
addFormatToken ( 0 , [ 'YYYYY' , 5 ] , 0 , 'year' ) ;
addFormatToken ( 0 , [ 'YYYYYY' , 6 , true ] , 0 , 'year' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'year' , 'y' ) ;
// PARSING
addRegexToken ( 'Y' , matchSigned ) ;
addRegexToken ( 'YY' , match1to2 , match2 ) ;
addRegexToken ( 'YYYY' , match1to4 , match4 ) ;
addRegexToken ( 'YYYYY' , match1to6 , match6 ) ;
addRegexToken ( 'YYYYYY' , match1to6 , match6 ) ;
addParseToken ( [ 'YYYY' , 'YYYYY' , 'YYYYYY' ] , YEAR ) ;
addParseToken ( 'YY' , function ( input , array ) {
array [ YEAR ] = utils _hooks _ _hooks . parseTwoDigitYear ( input ) ;
} ) ;
// HELPERS
function daysInYear ( year ) {
return isLeapYear ( year ) ? 366 : 365 ;
}
function isLeapYear ( year ) {
return ( year % 4 === 0 && year % 100 !== 0 ) || year % 400 === 0 ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// HOOKS
utils _hooks _ _hooks . parseTwoDigitYear = function ( input ) {
return toInt ( input ) + ( toInt ( input ) > 68 ? 1900 : 2000 ) ;
} ;
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var getSetYear = makeGetSet ( 'FullYear' , false ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getIsLeapYear ( ) {
return isLeapYear ( this . year ( ) ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
addFormatToken ( 'w' , [ 'ww' , 2 ] , 'wo' , 'week' ) ;
addFormatToken ( 'W' , [ 'WW' , 2 ] , 'Wo' , 'isoWeek' ) ;
// ALIASES
addUnitAlias ( 'week' , 'w' ) ;
addUnitAlias ( 'isoWeek' , 'W' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'w' , match1to2 ) ;
addRegexToken ( 'ww' , match1to2 , match2 ) ;
addRegexToken ( 'W' , match1to2 ) ;
addRegexToken ( 'WW' , match1to2 , match2 ) ;
addWeekParseToken ( [ 'w' , 'ww' , 'W' , 'WW' ] , function ( input , week , config , token ) {
week [ token . substr ( 0 , 1 ) ] = toInt ( input ) ;
} ) ;
// HELPERS
2014-08-26 19:39:15 +04:00
// firstDayOfWeek 0 = sun, 6 = sat
// the day of the week that starts the week
// (usually sunday or monday)
// firstDayOfWeekOfYear 0 = sun, 6 = sat
// the first week is the week that contains the first
// of this day of the week
// (eg. ISO weeks use thursday (4))
function weekOfYear ( mom , firstDayOfWeek , firstDayOfWeekOfYear ) {
var end = firstDayOfWeekOfYear - firstDayOfWeek ,
daysToDayOfWeek = firstDayOfWeekOfYear - mom . day ( ) ,
adjustedMoment ;
if ( daysToDayOfWeek > end ) {
daysToDayOfWeek -= 7 ;
}
if ( daysToDayOfWeek < end - 7 ) {
daysToDayOfWeek += 7 ;
}
2015-07-22 17:10:40 +03:00
adjustedMoment = local _ _createLocal ( mom ) . add ( daysToDayOfWeek , 'd' ) ;
2014-08-26 19:39:15 +04:00
return {
week : Math . ceil ( adjustedMoment . dayOfYear ( ) / 7 ) ,
year : adjustedMoment . year ( )
} ;
}
2015-07-22 17:10:40 +03:00
// LOCALES
function localeWeek ( mom ) {
return weekOfYear ( mom , this . _week . dow , this . _week . doy ) . week ;
}
var defaultLocaleWeek = {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
} ;
function localeFirstDayOfWeek ( ) {
return this . _week . dow ;
}
function localeFirstDayOfYear ( ) {
return this . _week . doy ;
}
// MOMENTS
function getSetWeek ( input ) {
var week = this . localeData ( ) . week ( this ) ;
return input == null ? week : this . add ( ( input - week ) * 7 , 'd' ) ;
}
function getSetISOWeek ( input ) {
var week = weekOfYear ( this , 1 , 4 ) . week ;
return input == null ? week : this . add ( ( input - week ) * 7 , 'd' ) ;
}
addFormatToken ( 'DDD' , [ 'DDDD' , 3 ] , 'DDDo' , 'dayOfYear' ) ;
// ALIASES
addUnitAlias ( 'dayOfYear' , 'DDD' ) ;
// PARSING
addRegexToken ( 'DDD' , match1to3 ) ;
addRegexToken ( 'DDDD' , match3 ) ;
addParseToken ( [ 'DDD' , 'DDDD' ] , function ( input , array , config ) {
config . _dayOfYear = toInt ( input ) ;
} ) ;
// HELPERS
2014-08-26 19:39:15 +04:00
//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
function dayOfYearFromWeeks ( year , week , weekday , firstDayOfWeekOfYear , firstDayOfWeek ) {
2015-07-22 17:10:40 +03:00
var d = createUTCDate ( year , 0 , 1 ) . getUTCDay ( ) ;
var daysToAdd ;
var dayOfYear ;
2014-08-26 19:39:15 +04:00
d = d === 0 ? 7 : d ;
weekday = weekday != null ? weekday : firstDayOfWeek ;
daysToAdd = firstDayOfWeek - d + ( d > firstDayOfWeekOfYear ? 7 : 0 ) - ( d < firstDayOfWeek ? 7 : 0 ) ;
dayOfYear = 7 * ( week - 1 ) + ( weekday - firstDayOfWeek ) + daysToAdd + 1 ;
return {
2015-07-22 17:10:40 +03:00
year : dayOfYear > 0 ? year : year - 1 ,
dayOfYear : dayOfYear > 0 ? dayOfYear : daysInYear ( year - 1 ) + dayOfYear
2014-08-26 19:39:15 +04:00
} ;
}
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetDayOfYear ( input ) {
var dayOfYear = Math . round ( ( this . clone ( ) . startOf ( 'day' ) - this . clone ( ) . startOf ( 'year' ) ) / 864e5 ) + 1 ;
return input == null ? dayOfYear : this . add ( ( input - dayOfYear ) , 'd' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Pick the first defined of two or three arguments.
function defaults ( a , b , c ) {
if ( a != null ) {
return a ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
if ( b != null ) {
return b ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return c ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function currentDateArray ( config ) {
var now = new Date ( ) ;
if ( config . _useUTC ) {
return [ now . getUTCFullYear ( ) , now . getUTCMonth ( ) , now . getUTCDate ( ) ] ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return [ now . getFullYear ( ) , now . getMonth ( ) , now . getDate ( ) ] ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// convert an array to a date.
// the array should mirror the parameters below
// note: all values past the year are optional and will default to the lowest possible value.
// [year, month, day , hour, minute, second, millisecond]
function configFromArray ( config ) {
var i , date , input = [ ] , currentDate , yearToUse ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( config . _d ) {
return ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
currentDate = currentDateArray ( config ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
//compute day of the year from weeks and weekdays
if ( config . _w && config . _a [ DATE ] == null && config . _a [ MONTH ] == null ) {
dayOfYearFromWeekInfo ( config ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
//if the day of the year is set, figure out what it is
if ( config . _dayOfYear ) {
yearToUse = defaults ( config . _a [ YEAR ] , currentDate [ YEAR ] ) ;
if ( config . _dayOfYear > daysInYear ( yearToUse ) ) {
getParsingFlags ( config ) . _overflowDayOfYear = true ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
date = createUTCDate ( yearToUse , 0 , config . _dayOfYear ) ;
config . _a [ MONTH ] = date . getUTCMonth ( ) ;
config . _a [ DATE ] = date . getUTCDate ( ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Default to current date.
// * if no year, month, day of month are given, default to today
// * if day of month is given, default month and year
// * if month is given, default only year
// * if year is given, don't default anything
for ( i = 0 ; i < 3 && config . _a [ i ] == null ; ++ i ) {
config . _a [ i ] = input [ i ] = currentDate [ i ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Zero out whatever was not defaulted, including time
for ( ; i < 7 ; i ++ ) {
config . _a [ i ] = input [ i ] = ( config . _a [ i ] == null ) ? ( i === 2 ? 1 : 0 ) : config . _a [ i ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Check for 24:00:00.000
if ( config . _a [ HOUR ] === 24 &&
config . _a [ MINUTE ] === 0 &&
config . _a [ SECOND ] === 0 &&
config . _a [ MILLISECOND ] === 0 ) {
config . _nextDay = true ;
config . _a [ HOUR ] = 0 ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
config . _d = ( config . _useUTC ? createUTCDate : createDate ) . apply ( null , input ) ;
// Apply timezone offset from input. The actual utcOffset can be changed
// with parseZone.
if ( config . _tzm != null ) {
config . _d . setUTCMinutes ( config . _d . getUTCMinutes ( ) - config . _tzm ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( config . _nextDay ) {
config . _a [ HOUR ] = 24 ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function dayOfYearFromWeekInfo ( config ) {
var w , weekYear , week , weekday , dow , doy , temp ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
w = config . _w ;
if ( w . GG != null || w . W != null || w . E != null ) {
dow = 1 ;
doy = 4 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// TODO: We need to take the current isoWeekYear, but that depends on
// how we interpret now (local, utc, fixed offset). So create
// a now version of current config (take local/utc/offset flags, and
// create now).
weekYear = defaults ( w . GG , config . _a [ YEAR ] , weekOfYear ( local _ _createLocal ( ) , 1 , 4 ) . year ) ;
week = defaults ( w . W , 1 ) ;
weekday = defaults ( w . E , 1 ) ;
} else {
dow = config . _locale . _week . dow ;
doy = config . _locale . _week . doy ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
weekYear = defaults ( w . gg , config . _a [ YEAR ] , weekOfYear ( local _ _createLocal ( ) , dow , doy ) . year ) ;
week = defaults ( w . w , 1 ) ;
if ( w . d != null ) {
// weekday -- low day numbers are considered next week
weekday = w . d ;
if ( weekday < dow ) {
++ week ;
}
} else if ( w . e != null ) {
// local weekday -- counting starts from begining of week
weekday = w . e + dow ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
// default to begining of week
weekday = dow ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
temp = dayOfYearFromWeeks ( weekYear , week , weekday , doy , dow ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
config . _a [ YEAR ] = temp . year ;
config . _dayOfYear = temp . dayOfYear ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
utils _hooks _ _hooks . ISO _8601 = function ( ) { } ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// date from string and format string
function configFromStringAndFormat ( config ) {
// TODO: Move this to another part of the creation flow to prevent circular deps
if ( config . _f === utils _hooks _ _hooks . ISO _8601 ) {
configFromISO ( config ) ;
return ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
config . _a = [ ] ;
getParsingFlags ( config ) . empty = true ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// This array is used to make a Date, either with `new Date` or `Date.UTC`
var string = '' + config . _i ,
i , parsedInput , tokens , token , skipped ,
stringLength = string . length ,
totalParsedInputLength = 0 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
tokens = expandFormat ( config . _f , config . _locale ) . match ( formattingTokens ) || [ ] ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
for ( i = 0 ; i < tokens . length ; i ++ ) {
token = tokens [ i ] ;
parsedInput = ( string . match ( getParseRegexForToken ( token , config ) ) || [ ] ) [ 0 ] ;
if ( parsedInput ) {
skipped = string . substr ( 0 , string . indexOf ( parsedInput ) ) ;
if ( skipped . length > 0 ) {
getParsingFlags ( config ) . unusedInput . push ( skipped ) ;
}
string = string . slice ( string . indexOf ( parsedInput ) + parsedInput . length ) ;
totalParsedInputLength += parsedInput . length ;
}
// don't parse if it's not a known token
if ( formatTokenFunctions [ token ] ) {
if ( parsedInput ) {
getParsingFlags ( config ) . empty = false ;
}
else {
getParsingFlags ( config ) . unusedTokens . push ( token ) ;
}
addTimeToArrayFromToken ( token , parsedInput , config ) ;
}
else if ( config . _strict && ! parsedInput ) {
getParsingFlags ( config ) . unusedTokens . push ( token ) ;
}
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// add remaining unparsed input length to the string
getParsingFlags ( config ) . charsLeftOver = stringLength - totalParsedInputLength ;
if ( string . length > 0 ) {
getParsingFlags ( config ) . unusedInput . push ( string ) ;
}
// clear _12h flag if hour is <= 12
if ( getParsingFlags ( config ) . bigHour === true &&
config . _a [ HOUR ] <= 12 &&
config . _a [ HOUR ] > 0 ) {
getParsingFlags ( config ) . bigHour = undefined ;
}
// handle meridiem
config . _a [ HOUR ] = meridiemFixWrap ( config . _locale , config . _a [ HOUR ] , config . _meridiem ) ;
configFromArray ( config ) ;
checkOverflow ( config ) ;
}
function meridiemFixWrap ( locale , hour , meridiem ) {
var isPm ;
if ( meridiem == null ) {
// nothing to do
return hour ;
}
if ( locale . meridiemHour != null ) {
return locale . meridiemHour ( hour , meridiem ) ;
} else if ( locale . isPM != null ) {
// Fallback
isPm = locale . isPM ( meridiem ) ;
if ( isPm && hour < 12 ) {
hour += 12 ;
}
if ( ! isPm && hour === 12 ) {
hour = 0 ;
}
return hour ;
} else {
// this is not supposed to happen
return hour ;
}
}
function configFromStringAndArray ( config ) {
var tempConfig ,
bestMoment ,
scoreToBeat ,
i ,
currentScore ;
if ( config . _f . length === 0 ) {
getParsingFlags ( config ) . invalidFormat = true ;
config . _d = new Date ( NaN ) ;
return ;
}
for ( i = 0 ; i < config . _f . length ; i ++ ) {
currentScore = 0 ;
tempConfig = copyConfig ( { } , config ) ;
if ( config . _useUTC != null ) {
tempConfig . _useUTC = config . _useUTC ;
}
tempConfig . _f = config . _f [ i ] ;
configFromStringAndFormat ( tempConfig ) ;
if ( ! valid _ _isValid ( tempConfig ) ) {
continue ;
}
// if there is any input that was not parsed add a penalty for that format
currentScore += getParsingFlags ( tempConfig ) . charsLeftOver ;
//or tokens
currentScore += getParsingFlags ( tempConfig ) . unusedTokens . length * 10 ;
getParsingFlags ( tempConfig ) . score = currentScore ;
if ( scoreToBeat == null || currentScore < scoreToBeat ) {
scoreToBeat = currentScore ;
bestMoment = tempConfig ;
}
}
extend ( config , bestMoment || tempConfig ) ;
}
function configFromObject ( config ) {
if ( config . _d ) {
return ;
}
var i = normalizeObjectUnits ( config . _i ) ;
config . _a = [ i . year , i . month , i . day || i . date , i . hour , i . minute , i . second , i . millisecond ] ;
configFromArray ( config ) ;
}
function createFromConfig ( config ) {
var input = config . _i ,
format = config . _f ,
res ;
config . _locale = config . _locale || locale _locales _ _getLocale ( config . _l ) ;
if ( input === null || ( format === undefined && input === '' ) ) {
return valid _ _createInvalid ( { nullInput : true } ) ;
}
if ( typeof input === 'string' ) {
config . _i = input = config . _locale . preparse ( input ) ;
}
if ( isMoment ( input ) ) {
return new Moment ( checkOverflow ( input ) ) ;
} else if ( isArray ( format ) ) {
configFromStringAndArray ( config ) ;
} else if ( format ) {
configFromStringAndFormat ( config ) ;
} else if ( isDate ( input ) ) {
config . _d = input ;
} else {
configFromInput ( config ) ;
}
res = new Moment ( checkOverflow ( config ) ) ;
if ( res . _nextDay ) {
// Adding is smart enough around DST
res . add ( 1 , 'd' ) ;
res . _nextDay = undefined ;
}
return res ;
}
function configFromInput ( config ) {
var input = config . _i ;
if ( input === undefined ) {
config . _d = new Date ( ) ;
} else if ( isDate ( input ) ) {
config . _d = new Date ( + input ) ;
} else if ( typeof input === 'string' ) {
configFromString ( config ) ;
} else if ( isArray ( input ) ) {
config . _a = map ( input . slice ( 0 ) , function ( obj ) {
return parseInt ( obj , 10 ) ;
} ) ;
configFromArray ( config ) ;
} else if ( typeof ( input ) === 'object' ) {
configFromObject ( config ) ;
} else if ( typeof ( input ) === 'number' ) {
// from milliseconds
config . _d = new Date ( input ) ;
} else {
utils _hooks _ _hooks . createFromInputFallback ( config ) ;
}
}
function createLocalOrUTC ( input , format , locale , strict , isUTC ) {
var c = { } ;
if ( typeof ( locale ) === 'boolean' ) {
strict = locale ;
locale = undefined ;
}
// object construction must be done this way.
// https://github.com/moment/moment/issues/1423
c . _isAMomentObject = true ;
c . _useUTC = c . _isUTC = isUTC ;
c . _l = locale ;
c . _i = input ;
c . _f = format ;
c . _strict = strict ;
return createFromConfig ( c ) ;
}
function local _ _createLocal ( input , format , locale , strict ) {
return createLocalOrUTC ( input , format , locale , strict , false ) ;
}
var prototypeMin = deprecate (
'moment().min is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548' ,
function ( ) {
var other = local _ _createLocal . apply ( null , arguments ) ;
return other < this ? this : other ;
}
) ;
var prototypeMax = deprecate (
'moment().max is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548' ,
function ( ) {
var other = local _ _createLocal . apply ( null , arguments ) ;
return other > this ? this : other ;
}
) ;
// Pick a moment m from moments so that m[fn](other) is true for all
// other. This relies on the function fn to be transitive.
//
// moments should either be an array of moment objects or an array, whose
// first element is an array of moment objects.
function pickBy ( fn , moments ) {
var res , i ;
if ( moments . length === 1 && isArray ( moments [ 0 ] ) ) {
moments = moments [ 0 ] ;
}
if ( ! moments . length ) {
return local _ _createLocal ( ) ;
}
res = moments [ 0 ] ;
for ( i = 1 ; i < moments . length ; ++ i ) {
if ( moments [ i ] [ fn ] ( res ) ) {
res = moments [ i ] ;
}
}
return res ;
}
// TODO: Use [].sort instead?
function min ( ) {
var args = [ ] . slice . call ( arguments , 0 ) ;
return pickBy ( 'isBefore' , args ) ;
}
function max ( ) {
var args = [ ] . slice . call ( arguments , 0 ) ;
return pickBy ( 'isAfter' , args ) ;
}
function Duration ( duration ) {
var normalizedInput = normalizeObjectUnits ( duration ) ,
years = normalizedInput . year || 0 ,
quarters = normalizedInput . quarter || 0 ,
months = normalizedInput . month || 0 ,
weeks = normalizedInput . week || 0 ,
days = normalizedInput . day || 0 ,
hours = normalizedInput . hour || 0 ,
minutes = normalizedInput . minute || 0 ,
seconds = normalizedInput . second || 0 ,
milliseconds = normalizedInput . millisecond || 0 ;
// representation for dateAddRemove
this . _milliseconds = + milliseconds +
seconds * 1e3 + // 1000
minutes * 6e4 + // 1000 * 60
hours * 36e5 ; // 1000 * 60 * 60
// Because of dateAddRemove treats 24 hours as different from a
// day when working around DST, we need to store them separately
this . _days = + days +
weeks * 7 ;
// It is impossible translate months into days without knowing
// which months you are are talking about, so we have to store
// it separately.
this . _months = + months +
quarters * 3 +
years * 12 ;
this . _data = { } ;
this . _locale = locale _locales _ _getLocale ( ) ;
this . _bubble ( ) ;
}
function isDuration ( obj ) {
return obj instanceof Duration ;
}
function offset ( token , separator ) {
addFormatToken ( token , 0 , 0 , function ( ) {
var offset = this . utcOffset ( ) ;
var sign = '+' ;
if ( offset < 0 ) {
offset = - offset ;
sign = '-' ;
}
return sign + zeroFill ( ~ ~ ( offset / 60 ) , 2 ) + separator + zeroFill ( ~ ~ ( offset ) % 60 , 2 ) ;
} ) ;
}
offset ( 'Z' , ':' ) ;
offset ( 'ZZ' , '' ) ;
// PARSING
addRegexToken ( 'Z' , matchOffset ) ;
addRegexToken ( 'ZZ' , matchOffset ) ;
addParseToken ( [ 'Z' , 'ZZ' ] , function ( input , array , config ) {
config . _useUTC = true ;
config . _tzm = offsetFromString ( input ) ;
} ) ;
// HELPERS
// timezone chunker
// '+10:00' > ['10', '00']
// '-1530' > ['-15', '30']
var chunkOffset = /([\+\-]|\d\d)/gi ;
function offsetFromString ( string ) {
var matches = ( ( string || '' ) . match ( matchOffset ) || [ ] ) ;
var chunk = matches [ matches . length - 1 ] || [ ] ;
var parts = ( chunk + '' ) . match ( chunkOffset ) || [ '-' , 0 , 0 ] ;
var minutes = + ( parts [ 1 ] * 60 ) + toInt ( parts [ 2 ] ) ;
return parts [ 0 ] === '+' ? minutes : - minutes ;
}
// Return a moment from input, that is local/utc/zone equivalent to model.
function cloneWithOffset ( input , model ) {
var res , diff ;
if ( model . _isUTC ) {
res = model . clone ( ) ;
diff = ( isMoment ( input ) || isDate ( input ) ? + input : + local _ _createLocal ( input ) ) - ( + res ) ;
// Use low-level api, because this fn is low-level api.
res . _d . setTime ( + res . _d + diff ) ;
utils _hooks _ _hooks . updateOffset ( res , false ) ;
return res ;
} else {
return local _ _createLocal ( input ) . local ( ) ;
}
return model . _isUTC ? local _ _createLocal ( input ) . zone ( model . _offset || 0 ) : local _ _createLocal ( input ) . local ( ) ;
}
function getDateOffset ( m ) {
// On Firefox.24 Date#getTimezoneOffset returns a floating point.
// https://github.com/moment/moment/pull/1871
return - Math . round ( m . _d . getTimezoneOffset ( ) / 15 ) * 15 ;
}
// HOOKS
// This function will be called whenever a moment is mutated.
// It is intended to keep the offset in sync with the timezone.
utils _hooks _ _hooks . updateOffset = function ( ) { } ;
// MOMENTS
// keepLocalTime = true means only change the timezone, without
// affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
// 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
// +0200, so we adjust the time as needed, to be valid.
//
// Keeping the time actually adds/subtracts (one hour)
// from the actual represented time. That is why we call updateOffset
// a second time. In case it wants us to change the offset again
// _changeInProgress == true case, then we have to adjust, because
// there is no such time in the given timezone.
function getSetOffset ( input , keepLocalTime ) {
var offset = this . _offset || 0 ,
localAdjust ;
if ( input != null ) {
if ( typeof input === 'string' ) {
input = offsetFromString ( input ) ;
}
if ( Math . abs ( input ) < 16 ) {
input = input * 60 ;
}
if ( ! this . _isUTC && keepLocalTime ) {
localAdjust = getDateOffset ( this ) ;
}
this . _offset = input ;
this . _isUTC = true ;
if ( localAdjust != null ) {
this . add ( localAdjust , 'm' ) ;
}
if ( offset !== input ) {
if ( ! keepLocalTime || this . _changeInProgress ) {
add _subtract _ _addSubtract ( this , create _ _createDuration ( input - offset , 'm' ) , 1 , false ) ;
} else if ( ! this . _changeInProgress ) {
this . _changeInProgress = true ;
utils _hooks _ _hooks . updateOffset ( this , true ) ;
this . _changeInProgress = null ;
}
}
return this ;
} else {
return this . _isUTC ? offset : getDateOffset ( this ) ;
}
}
function getSetZone ( input , keepLocalTime ) {
if ( input != null ) {
if ( typeof input !== 'string' ) {
input = - input ;
}
this . utcOffset ( input , keepLocalTime ) ;
return this ;
} else {
return - this . utcOffset ( ) ;
}
}
function setOffsetToUTC ( keepLocalTime ) {
return this . utcOffset ( 0 , keepLocalTime ) ;
}
function setOffsetToLocal ( keepLocalTime ) {
if ( this . _isUTC ) {
this . utcOffset ( 0 , keepLocalTime ) ;
this . _isUTC = false ;
if ( keepLocalTime ) {
this . subtract ( getDateOffset ( this ) , 'm' ) ;
}
}
return this ;
}
function setOffsetToParsedOffset ( ) {
if ( this . _tzm ) {
this . utcOffset ( this . _tzm ) ;
} else if ( typeof this . _i === 'string' ) {
this . utcOffset ( offsetFromString ( this . _i ) ) ;
}
return this ;
}
function hasAlignedHourOffset ( input ) {
if ( ! input ) {
input = 0 ;
}
else {
input = local _ _createLocal ( input ) . utcOffset ( ) ;
}
return ( this . utcOffset ( ) - input ) % 60 === 0 ;
}
function isDaylightSavingTime ( ) {
return (
this . utcOffset ( ) > this . clone ( ) . month ( 0 ) . utcOffset ( ) ||
this . utcOffset ( ) > this . clone ( ) . month ( 5 ) . utcOffset ( )
) ;
}
function isDaylightSavingTimeShifted ( ) {
if ( this . _a ) {
var other = this . _isUTC ? create _utc _ _createUTC ( this . _a ) : local _ _createLocal ( this . _a ) ;
return this . isValid ( ) && compareArrays ( this . _a , other . toArray ( ) ) > 0 ;
}
return false ;
}
function isLocal ( ) {
return ! this . _isUTC ;
}
function isUtcOffset ( ) {
return this . _isUTC ;
}
function isUtc ( ) {
return this . _isUTC && this . _offset === 0 ;
}
var aspNetRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/ ;
// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
var create _ _isoRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/ ;
function create _ _createDuration ( input , key ) {
var duration = input ,
// matching against regexp is expensive, do it on demand
match = null ,
sign ,
ret ,
diffRes ;
if ( isDuration ( input ) ) {
duration = {
ms : input . _milliseconds ,
d : input . _days ,
M : input . _months
} ;
} else if ( typeof input === 'number' ) {
duration = { } ;
if ( key ) {
duration [ key ] = input ;
} else {
duration . milliseconds = input ;
}
} else if ( ! ! ( match = aspNetRegex . exec ( input ) ) ) {
sign = ( match [ 1 ] === '-' ) ? - 1 : 1 ;
duration = {
y : 0 ,
d : toInt ( match [ DATE ] ) * sign ,
h : toInt ( match [ HOUR ] ) * sign ,
m : toInt ( match [ MINUTE ] ) * sign ,
s : toInt ( match [ SECOND ] ) * sign ,
ms : toInt ( match [ MILLISECOND ] ) * sign
} ;
} else if ( ! ! ( match = create _ _isoRegex . exec ( input ) ) ) {
sign = ( match [ 1 ] === '-' ) ? - 1 : 1 ;
duration = {
y : parseIso ( match [ 2 ] , sign ) ,
M : parseIso ( match [ 3 ] , sign ) ,
d : parseIso ( match [ 4 ] , sign ) ,
h : parseIso ( match [ 5 ] , sign ) ,
m : parseIso ( match [ 6 ] , sign ) ,
s : parseIso ( match [ 7 ] , sign ) ,
w : parseIso ( match [ 8 ] , sign )
} ;
} else if ( duration == null ) { // checks for null or undefined
duration = { } ;
} else if ( typeof duration === 'object' && ( 'from' in duration || 'to' in duration ) ) {
diffRes = momentsDifference ( local _ _createLocal ( duration . from ) , local _ _createLocal ( duration . to ) ) ;
duration = { } ;
duration . ms = diffRes . milliseconds ;
duration . M = diffRes . months ;
}
ret = new Duration ( duration ) ;
if ( isDuration ( input ) && hasOwnProp ( input , '_locale' ) ) {
ret . _locale = input . _locale ;
}
return ret ;
}
create _ _createDuration . fn = Duration . prototype ;
function parseIso ( inp , sign ) {
// We'd normally use ~~inp for this, but unfortunately it also
// converts floats to ints.
// inp may be undefined, so careful calling replace on it.
var res = inp && parseFloat ( inp . replace ( ',' , '.' ) ) ;
// apply sign while we're at it
return ( isNaN ( res ) ? 0 : res ) * sign ;
}
function positiveMomentsDifference ( base , other ) {
var res = { milliseconds : 0 , months : 0 } ;
res . months = other . month ( ) - base . month ( ) +
( other . year ( ) - base . year ( ) ) * 12 ;
if ( base . clone ( ) . add ( res . months , 'M' ) . isAfter ( other ) ) {
-- res . months ;
}
res . milliseconds = + other - + ( base . clone ( ) . add ( res . months , 'M' ) ) ;
return res ;
}
function momentsDifference ( base , other ) {
var res ;
other = cloneWithOffset ( other , base ) ;
if ( base . isBefore ( other ) ) {
res = positiveMomentsDifference ( base , other ) ;
} else {
res = positiveMomentsDifference ( other , base ) ;
res . milliseconds = - res . milliseconds ;
res . months = - res . months ;
}
return res ;
}
function createAdder ( direction , name ) {
return function ( val , period ) {
var dur , tmp ;
//invert the arguments, but complain about it
if ( period !== null && ! isNaN ( + period ) ) {
deprecateSimple ( name , 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period).' ) ;
tmp = val ; val = period ; period = tmp ;
}
val = typeof val === 'string' ? + val : val ;
dur = create _ _createDuration ( val , period ) ;
add _subtract _ _addSubtract ( this , dur , direction ) ;
return this ;
} ;
}
function add _subtract _ _addSubtract ( mom , duration , isAdding , updateOffset ) {
var milliseconds = duration . _milliseconds ,
days = duration . _days ,
months = duration . _months ;
updateOffset = updateOffset == null ? true : updateOffset ;
if ( milliseconds ) {
mom . _d . setTime ( + mom . _d + milliseconds * isAdding ) ;
}
if ( days ) {
get _set _ _set ( mom , 'Date' , get _set _ _get ( mom , 'Date' ) + days * isAdding ) ;
}
if ( months ) {
setMonth ( mom , get _set _ _get ( mom , 'Month' ) + months * isAdding ) ;
}
if ( updateOffset ) {
utils _hooks _ _hooks . updateOffset ( mom , days || months ) ;
}
}
var add _subtract _ _add = createAdder ( 1 , 'add' ) ;
var add _subtract _ _subtract = createAdder ( - 1 , 'subtract' ) ;
function moment _calendar _ _calendar ( time ) {
// We want to compare the start of today, vs this.
// Getting start-of-today depends on whether we're local/utc/offset or not.
var now = time || local _ _createLocal ( ) ,
sod = cloneWithOffset ( now , this ) . startOf ( 'day' ) ,
diff = this . diff ( sod , 'days' , true ) ,
format = diff < - 6 ? 'sameElse' :
diff < - 1 ? 'lastWeek' :
diff < 0 ? 'lastDay' :
diff < 1 ? 'sameDay' :
diff < 2 ? 'nextDay' :
diff < 7 ? 'nextWeek' : 'sameElse' ;
return this . format ( this . localeData ( ) . calendar ( format , this , local _ _createLocal ( now ) ) ) ;
}
function clone ( ) {
return new Moment ( this ) ;
}
function isAfter ( input , units ) {
var inputMs ;
units = normalizeUnits ( typeof units !== 'undefined' ? units : 'millisecond' ) ;
if ( units === 'millisecond' ) {
input = isMoment ( input ) ? input : local _ _createLocal ( input ) ;
return + this > + input ;
} else {
inputMs = isMoment ( input ) ? + input : + local _ _createLocal ( input ) ;
return inputMs < + this . clone ( ) . startOf ( units ) ;
}
}
function isBefore ( input , units ) {
var inputMs ;
units = normalizeUnits ( typeof units !== 'undefined' ? units : 'millisecond' ) ;
if ( units === 'millisecond' ) {
input = isMoment ( input ) ? input : local _ _createLocal ( input ) ;
return + this < + input ;
} else {
inputMs = isMoment ( input ) ? + input : + local _ _createLocal ( input ) ;
return + this . clone ( ) . endOf ( units ) < inputMs ;
}
}
function isBetween ( from , to , units ) {
return this . isAfter ( from , units ) && this . isBefore ( to , units ) ;
}
function isSame ( input , units ) {
var inputMs ;
units = normalizeUnits ( units || 'millisecond' ) ;
if ( units === 'millisecond' ) {
input = isMoment ( input ) ? input : local _ _createLocal ( input ) ;
return + this === + input ;
} else {
inputMs = + local _ _createLocal ( input ) ;
return + ( this . clone ( ) . startOf ( units ) ) <= inputMs && inputMs <= + ( this . clone ( ) . endOf ( units ) ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function absFloor ( number ) {
if ( number < 0 ) {
return Math . ceil ( number ) ;
} else {
return Math . floor ( number ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function diff ( input , units , asFloat ) {
var that = cloneWithOffset ( input , this ) ,
zoneDelta = ( that . utcOffset ( ) - this . utcOffset ( ) ) * 6e4 ,
delta , output ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
units = normalizeUnits ( units ) ;
if ( units === 'year' || units === 'month' || units === 'quarter' ) {
output = monthDiff ( this , that ) ;
if ( units === 'quarter' ) {
output = output / 3 ;
} else if ( units === 'year' ) {
output = output / 12 ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
} else {
delta = this - that ;
output = units === 'second' ? delta / 1e3 : // 1000
units === 'minute' ? delta / 6e4 : // 1000 * 60
units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60
units === 'day' ? ( delta - zoneDelta ) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
units === 'week' ? ( delta - zoneDelta ) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
delta ;
}
return asFloat ? output : absFloor ( output ) ;
}
function monthDiff ( a , b ) {
// difference in months
var wholeMonthDiff = ( ( b . year ( ) - a . year ( ) ) * 12 ) + ( b . month ( ) - a . month ( ) ) ,
// b is in (anchor - 1 month, anchor + 1 month)
anchor = a . clone ( ) . add ( wholeMonthDiff , 'months' ) ,
anchor2 , adjust ;
if ( b - anchor < 0 ) {
anchor2 = a . clone ( ) . add ( wholeMonthDiff - 1 , 'months' ) ;
// linear across the month
adjust = ( b - anchor ) / ( anchor - anchor2 ) ;
} else {
anchor2 = a . clone ( ) . add ( wholeMonthDiff + 1 , 'months' ) ;
// linear across the month
adjust = ( b - anchor ) / ( anchor2 - anchor ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return - ( wholeMonthDiff + adjust ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
utils _hooks _ _hooks . defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ' ;
function toString ( ) {
return this . clone ( ) . locale ( 'en' ) . format ( 'ddd MMM DD YYYY HH:mm:ss [GMT]ZZ' ) ;
}
function moment _format _ _toISOString ( ) {
var m = this . clone ( ) . utc ( ) ;
if ( 0 < m . year ( ) && m . year ( ) <= 9999 ) {
if ( 'function' === typeof Date . prototype . toISOString ) {
// native implementation is ~50x faster, use it when we can
return this . toDate ( ) . toISOString ( ) ;
} else {
return formatMoment ( m , 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
} else {
return formatMoment ( m , 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' ) ;
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function moment _format _ _format ( inputString ) {
var output = formatMoment ( this , inputString || utils _hooks _ _hooks . defaultFormat ) ;
return this . localeData ( ) . postformat ( output ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function from ( time , withoutSuffix ) {
if ( ! this . isValid ( ) ) {
return this . localeData ( ) . invalidDate ( ) ;
}
return create _ _createDuration ( { to : this , from : time } ) . locale ( this . locale ( ) ) . humanize ( ! withoutSuffix ) ;
}
function fromNow ( withoutSuffix ) {
return this . from ( local _ _createLocal ( ) , withoutSuffix ) ;
}
function to ( time , withoutSuffix ) {
if ( ! this . isValid ( ) ) {
return this . localeData ( ) . invalidDate ( ) ;
}
return create _ _createDuration ( { from : this , to : time } ) . locale ( this . locale ( ) ) . humanize ( ! withoutSuffix ) ;
}
function toNow ( withoutSuffix ) {
return this . to ( local _ _createLocal ( ) , withoutSuffix ) ;
}
function locale ( key ) {
var newLocaleData ;
if ( key === undefined ) {
return this . _locale . _abbr ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
newLocaleData = locale _locales _ _getLocale ( key ) ;
if ( newLocaleData != null ) {
this . _locale = newLocaleData ;
}
return this ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var lang = deprecate (
'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.' ,
2014-08-26 19:39:15 +04:00
function ( key ) {
2015-07-22 17:10:40 +03:00
if ( key === undefined ) {
return this . localeData ( ) ;
} else {
return this . locale ( key ) ;
}
2014-08-26 19:39:15 +04:00
}
) ;
2015-07-22 17:10:40 +03:00
function localeData ( ) {
return this . _locale ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function startOf ( units ) {
units = normalizeUnits ( units ) ;
// the following switch intentionally omits break keywords
// to utilize falling through the cases.
switch ( units ) {
case 'year' :
this . month ( 0 ) ;
/* falls through */
case 'quarter' :
case 'month' :
this . date ( 1 ) ;
/* falls through */
case 'week' :
case 'isoWeek' :
case 'day' :
this . hours ( 0 ) ;
/* falls through */
case 'hour' :
this . minutes ( 0 ) ;
/* falls through */
case 'minute' :
this . seconds ( 0 ) ;
/* falls through */
case 'second' :
this . milliseconds ( 0 ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// weeks are a special case
if ( units === 'week' ) {
this . weekday ( 0 ) ;
}
if ( units === 'isoWeek' ) {
this . isoWeekday ( 1 ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// quarters are also special
if ( units === 'quarter' ) {
this . month ( Math . floor ( this . month ( ) / 3 ) * 3 ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return this ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function endOf ( units ) {
units = normalizeUnits ( units ) ;
if ( units === undefined || units === 'millisecond' ) {
return this ;
}
return this . startOf ( units ) . add ( 1 , ( units === 'isoWeek' ? 'week' : units ) ) . subtract ( 1 , 'ms' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function to _type _ _valueOf ( ) {
return + this . _d - ( ( this . _offset || 0 ) * 60000 ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function unix ( ) {
return Math . floor ( + this / 1 0 0 0 ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function toDate ( ) {
return this . _offset ? new Date ( + this ) : this . _d ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function toArray ( ) {
var m = this ;
return [ m . year ( ) , m . month ( ) , m . date ( ) , m . hour ( ) , m . minute ( ) , m . second ( ) , m . millisecond ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function moment _valid _ _isValid ( ) {
return valid _ _isValid ( this ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function parsingFlags ( ) {
return extend ( { } , getParsingFlags ( this ) ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function invalidAt ( ) {
return getParsingFlags ( this ) . overflow ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 0 , [ 'gg' , 2 ] , 0 , function ( ) {
return this . weekYear ( ) % 100 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 0 , [ 'GG' , 2 ] , 0 , function ( ) {
return this . isoWeekYear ( ) % 100 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function addWeekYearFormatToken ( token , getter ) {
addFormatToken ( 0 , [ token , token . length ] , 0 , getter ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addWeekYearFormatToken ( 'gggg' , 'weekYear' ) ;
addWeekYearFormatToken ( 'ggggg' , 'weekYear' ) ;
addWeekYearFormatToken ( 'GGGG' , 'isoWeekYear' ) ;
addWeekYearFormatToken ( 'GGGGG' , 'isoWeekYear' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'weekYear' , 'gg' ) ;
addUnitAlias ( 'isoWeekYear' , 'GG' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'G' , matchSigned ) ;
addRegexToken ( 'g' , matchSigned ) ;
addRegexToken ( 'GG' , match1to2 , match2 ) ;
addRegexToken ( 'gg' , match1to2 , match2 ) ;
addRegexToken ( 'GGGG' , match1to4 , match4 ) ;
addRegexToken ( 'gggg' , match1to4 , match4 ) ;
addRegexToken ( 'GGGGG' , match1to6 , match6 ) ;
addRegexToken ( 'ggggg' , match1to6 , match6 ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addWeekParseToken ( [ 'gggg' , 'ggggg' , 'GGGG' , 'GGGGG' ] , function ( input , week , config , token ) {
week [ token . substr ( 0 , 2 ) ] = toInt ( input ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addWeekParseToken ( [ 'gg' , 'GG' ] , function ( input , week , config , token ) {
week [ token ] = utils _hooks _ _hooks . parseTwoDigitYear ( input ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// HELPERS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function weeksInYear ( year , dow , doy ) {
return weekOfYear ( local _ _createLocal ( [ year , 11 , 31 + dow - doy ] ) , dow , doy ) . week ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetWeekYear ( input ) {
var year = weekOfYear ( this , this . localeData ( ) . _week . dow , this . localeData ( ) . _week . doy ) . year ;
return input == null ? year : this . add ( ( input - year ) , 'y' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetISOWeekYear ( input ) {
var year = weekOfYear ( this , 1 , 4 ) . year ;
return input == null ? year : this . add ( ( input - year ) , 'y' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getISOWeeksInYear ( ) {
return weeksInYear ( this . year ( ) , 1 , 4 ) ;
}
function getWeeksInYear ( ) {
var weekInfo = this . localeData ( ) . _week ;
return weeksInYear ( this . year ( ) , weekInfo . dow , weekInfo . doy ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'Q' , 0 , 0 , 'quarter' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'quarter' , 'Q' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'Q' , match1 ) ;
addParseToken ( 'Q' , function ( input , array ) {
array [ MONTH ] = ( toInt ( input ) - 1 ) * 3 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetQuarter ( input ) {
return input == null ? Math . ceil ( ( this . month ( ) + 1 ) / 3 ) : this . month ( ( input - 1 ) * 3 + this . month ( ) % 3 ) ;
}
addFormatToken ( 'D' , [ 'DD' , 2 ] , 'Do' , 'date' ) ;
// ALIASES
addUnitAlias ( 'date' , 'D' ) ;
// PARSING
addRegexToken ( 'D' , match1to2 ) ;
addRegexToken ( 'DD' , match1to2 , match2 ) ;
addRegexToken ( 'Do' , function ( isStrict , locale ) {
return isStrict ? locale . _ordinalParse : locale . _ordinalParseLenient ;
} ) ;
addParseToken ( [ 'D' , 'DD' ] , DATE ) ;
addParseToken ( 'Do' , function ( input , array ) {
array [ DATE ] = toInt ( input . match ( match1to2 ) [ 0 ] , 10 ) ;
} ) ;
// MOMENTS
var getSetDayOfMonth = makeGetSet ( 'Date' , true ) ;
addFormatToken ( 'd' , 0 , 'do' , 'day' ) ;
addFormatToken ( 'dd' , 0 , 0 , function ( format ) {
return this . localeData ( ) . weekdaysMin ( this , format ) ;
} ) ;
addFormatToken ( 'ddd' , 0 , 0 , function ( format ) {
return this . localeData ( ) . weekdaysShort ( this , format ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'dddd' , 0 , 0 , function ( format ) {
return this . localeData ( ) . weekdays ( this , format ) ;
} ) ;
addFormatToken ( 'e' , 0 , 0 , 'weekday' ) ;
addFormatToken ( 'E' , 0 , 0 , 'isoWeekday' ) ;
// ALIASES
addUnitAlias ( 'day' , 'd' ) ;
addUnitAlias ( 'weekday' , 'e' ) ;
addUnitAlias ( 'isoWeekday' , 'E' ) ;
// PARSING
addRegexToken ( 'd' , match1to2 ) ;
addRegexToken ( 'e' , match1to2 ) ;
addRegexToken ( 'E' , match1to2 ) ;
addRegexToken ( 'dd' , matchWord ) ;
addRegexToken ( 'ddd' , matchWord ) ;
addRegexToken ( 'dddd' , matchWord ) ;
addWeekParseToken ( [ 'dd' , 'ddd' , 'dddd' ] , function ( input , week , config ) {
var weekday = config . _locale . weekdaysParse ( input ) ;
// if we didn't get a weekday name, mark the date as invalid
if ( weekday != null ) {
week . d = weekday ;
} else {
getParsingFlags ( config ) . invalidWeekday = input ;
}
} ) ;
addWeekParseToken ( [ 'd' , 'e' , 'E' ] , function ( input , week , config , token ) {
week [ token ] = toInt ( input ) ;
} ) ;
// HELPERS
function parseWeekday ( input , locale ) {
if ( typeof input === 'string' ) {
if ( ! isNaN ( input ) ) {
input = parseInt ( input , 10 ) ;
}
else {
input = locale . weekdaysParse ( input ) ;
if ( typeof input !== 'number' ) {
return null ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
}
return input ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// LOCALES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday' . split ( '_' ) ;
function localeWeekdays ( m ) {
return this . _weekdays [ m . day ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat' . split ( '_' ) ;
function localeWeekdaysShort ( m ) {
return this . _weekdaysShort [ m . day ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa' . split ( '_' ) ;
function localeWeekdaysMin ( m ) {
return this . _weekdaysMin [ m . day ( ) ] ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function localeWeekdaysParse ( weekdayName ) {
var i , mom , regex ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( ! this . _weekdaysParse ) {
this . _weekdaysParse = [ ] ;
}
for ( i = 0 ; i < 7 ; i ++ ) {
// make the regex if we don't have it already
if ( ! this . _weekdaysParse [ i ] ) {
mom = local _ _createLocal ( [ 2000 , 1 ] ) . day ( i ) ;
regex = '^' + this . weekdays ( mom , '' ) + '|^' + this . weekdaysShort ( mom , '' ) + '|^' + this . weekdaysMin ( mom , '' ) ;
this . _weekdaysParse [ i ] = new RegExp ( regex . replace ( '.' , '' ) , 'i' ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
// test the regex
if ( this . _weekdaysParse [ i ] . test ( weekdayName ) ) {
return i ;
}
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetDayOfWeek ( input ) {
var day = this . _isUTC ? this . _d . getUTCDay ( ) : this . _d . getDay ( ) ;
if ( input != null ) {
input = parseWeekday ( input , this . localeData ( ) ) ;
return this . add ( input - day , 'd' ) ;
} else {
return day ;
}
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetLocaleDayOfWeek ( input ) {
var weekday = ( this . day ( ) + 7 - this . localeData ( ) . _week . dow ) % 7 ;
return input == null ? weekday : this . add ( input - weekday , 'd' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function getSetISODayOfWeek ( input ) {
// behaves the same as moment#day except
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
// as a setter, sunday should belong to the previous week.
return input == null ? this . day ( ) || 7 : this . day ( this . day ( ) % 7 ? input : input - 7 ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'H' , [ 'HH' , 2 ] , 0 , 'hour' ) ;
addFormatToken ( 'h' , [ 'hh' , 2 ] , 0 , function ( ) {
return this . hours ( ) % 12 || 12 ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function meridiem ( token , lowercase ) {
addFormatToken ( token , 0 , 0 , function ( ) {
return this . localeData ( ) . meridiem ( this . hours ( ) , this . minutes ( ) , lowercase ) ;
} ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
meridiem ( 'a' , true ) ;
meridiem ( 'A' , false ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'hour' , 'h' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
function matchMeridiem ( isStrict , locale ) {
return locale . _meridiemParse ;
}
addRegexToken ( 'a' , matchMeridiem ) ;
addRegexToken ( 'A' , matchMeridiem ) ;
addRegexToken ( 'H' , match1to2 ) ;
addRegexToken ( 'h' , match1to2 ) ;
addRegexToken ( 'HH' , match1to2 , match2 ) ;
addRegexToken ( 'hh' , match1to2 , match2 ) ;
addParseToken ( [ 'H' , 'HH' ] , HOUR ) ;
addParseToken ( [ 'a' , 'A' ] , function ( input , array , config ) {
config . _isPm = config . _locale . isPM ( input ) ;
config . _meridiem = input ;
} ) ;
addParseToken ( [ 'h' , 'hh' ] , function ( input , array , config ) {
array [ HOUR ] = toInt ( input ) ;
getParsingFlags ( config ) . bigHour = true ;
} ) ;
// LOCALES
function localeIsPM ( input ) {
// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
// Using charAt should be more compatible.
return ( ( input + '' ) . toLowerCase ( ) . charAt ( 0 ) === 'p' ) ;
}
var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i ;
function localeMeridiem ( hours , minutes , isLower ) {
if ( hours > 11 ) {
return isLower ? 'pm' : 'PM' ;
} else {
return isLower ? 'am' : 'AM' ;
}
}
// MOMENTS
// Setting the hour should keep the time, because the user explicitly
// specified which hour he wants. So trying to maintain the same hour (in
// a new timezone) makes sense. Adding/subtracting hours does not follow
// this rule.
var getSetHour = makeGetSet ( 'Hours' , true ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'm' , [ 'mm' , 2 ] , 0 , 'minute' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'minute' , 'm' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'm' , match1to2 ) ;
addRegexToken ( 'mm' , match1to2 , match2 ) ;
addParseToken ( [ 'm' , 'mm' ] , MINUTE ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var getSetMinute = makeGetSet ( 'Minutes' , false ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 's' , [ 'ss' , 2 ] , 0 , 'second' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'second' , 's' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 's' , match1to2 ) ;
addRegexToken ( 'ss' , match1to2 , match2 ) ;
addParseToken ( [ 's' , 'ss' ] , SECOND ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// MOMENTS
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var getSetSecond = makeGetSet ( 'Seconds' , false ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 'S' , 0 , 0 , function ( ) {
return ~ ~ ( this . millisecond ( ) / 100 ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addFormatToken ( 0 , [ 'SS' , 2 ] , 0 , function ( ) {
return ~ ~ ( this . millisecond ( ) / 10 ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function millisecond _ _milliseconds ( token ) {
addFormatToken ( 0 , [ token , 3 ] , 0 , 'millisecond' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
millisecond _ _milliseconds ( 'SSS' ) ;
millisecond _ _milliseconds ( 'SSSS' ) ;
2014-11-03 13:18:52 +03:00
2015-07-22 17:10:40 +03:00
// ALIASES
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
addUnitAlias ( 'millisecond' , 'ms' ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// PARSING
2014-11-03 13:18:52 +03:00
2015-07-22 17:10:40 +03:00
addRegexToken ( 'S' , match1to3 , match1 ) ;
addRegexToken ( 'SS' , match1to3 , match2 ) ;
addRegexToken ( 'SSS' , match1to3 , match3 ) ;
addRegexToken ( 'SSSS' , matchUnsigned ) ;
addParseToken ( [ 'S' , 'SS' , 'SSS' , 'SSSS' ] , function ( input , array ) {
array [ MILLISECOND ] = toInt ( ( '0.' + input ) * 1000 ) ;
2014-08-26 19:39:15 +04:00
} ) ;
2015-07-22 17:10:40 +03:00
// MOMENTS
var getSetMillisecond = makeGetSet ( 'Milliseconds' , false ) ;
addFormatToken ( 'z' , 0 , 0 , 'zoneAbbr' ) ;
addFormatToken ( 'zz' , 0 , 0 , 'zoneName' ) ;
// MOMENTS
function getZoneAbbr ( ) {
return this . _isUTC ? 'UTC' : '' ;
}
function getZoneName ( ) {
return this . _isUTC ? 'Coordinated Universal Time' : '' ;
}
var momentPrototype _ _proto = Moment . prototype ;
momentPrototype _ _proto . add = add _subtract _ _add ;
momentPrototype _ _proto . calendar = moment _calendar _ _calendar ;
momentPrototype _ _proto . clone = clone ;
momentPrototype _ _proto . diff = diff ;
momentPrototype _ _proto . endOf = endOf ;
momentPrototype _ _proto . format = moment _format _ _format ;
momentPrototype _ _proto . from = from ;
momentPrototype _ _proto . fromNow = fromNow ;
momentPrototype _ _proto . to = to ;
momentPrototype _ _proto . toNow = toNow ;
momentPrototype _ _proto . get = getSet ;
momentPrototype _ _proto . invalidAt = invalidAt ;
momentPrototype _ _proto . isAfter = isAfter ;
momentPrototype _ _proto . isBefore = isBefore ;
momentPrototype _ _proto . isBetween = isBetween ;
momentPrototype _ _proto . isSame = isSame ;
momentPrototype _ _proto . isValid = moment _valid _ _isValid ;
momentPrototype _ _proto . lang = lang ;
momentPrototype _ _proto . locale = locale ;
momentPrototype _ _proto . localeData = localeData ;
momentPrototype _ _proto . max = prototypeMax ;
momentPrototype _ _proto . min = prototypeMin ;
momentPrototype _ _proto . parsingFlags = parsingFlags ;
momentPrototype _ _proto . set = getSet ;
momentPrototype _ _proto . startOf = startOf ;
momentPrototype _ _proto . subtract = add _subtract _ _subtract ;
momentPrototype _ _proto . toArray = toArray ;
momentPrototype _ _proto . toDate = toDate ;
momentPrototype _ _proto . toISOString = moment _format _ _toISOString ;
momentPrototype _ _proto . toJSON = moment _format _ _toISOString ;
momentPrototype _ _proto . toString = toString ;
momentPrototype _ _proto . unix = unix ;
momentPrototype _ _proto . valueOf = to _type _ _valueOf ;
// Year
momentPrototype _ _proto . year = getSetYear ;
momentPrototype _ _proto . isLeapYear = getIsLeapYear ;
// Week Year
momentPrototype _ _proto . weekYear = getSetWeekYear ;
momentPrototype _ _proto . isoWeekYear = getSetISOWeekYear ;
// Quarter
momentPrototype _ _proto . quarter = momentPrototype _ _proto . quarters = getSetQuarter ;
// Month
momentPrototype _ _proto . month = getSetMonth ;
momentPrototype _ _proto . daysInMonth = getDaysInMonth ;
// Week
momentPrototype _ _proto . week = momentPrototype _ _proto . weeks = getSetWeek ;
momentPrototype _ _proto . isoWeek = momentPrototype _ _proto . isoWeeks = getSetISOWeek ;
momentPrototype _ _proto . weeksInYear = getWeeksInYear ;
momentPrototype _ _proto . isoWeeksInYear = getISOWeeksInYear ;
// Day
momentPrototype _ _proto . date = getSetDayOfMonth ;
momentPrototype _ _proto . day = momentPrototype _ _proto . days = getSetDayOfWeek ;
momentPrototype _ _proto . weekday = getSetLocaleDayOfWeek ;
momentPrototype _ _proto . isoWeekday = getSetISODayOfWeek ;
momentPrototype _ _proto . dayOfYear = getSetDayOfYear ;
// Hour
momentPrototype _ _proto . hour = momentPrototype _ _proto . hours = getSetHour ;
// Minute
momentPrototype _ _proto . minute = momentPrototype _ _proto . minutes = getSetMinute ;
// Second
momentPrototype _ _proto . second = momentPrototype _ _proto . seconds = getSetSecond ;
// Millisecond
momentPrototype _ _proto . millisecond = momentPrototype _ _proto . milliseconds = getSetMillisecond ;
// Offset
momentPrototype _ _proto . utcOffset = getSetOffset ;
momentPrototype _ _proto . utc = setOffsetToUTC ;
momentPrototype _ _proto . local = setOffsetToLocal ;
momentPrototype _ _proto . parseZone = setOffsetToParsedOffset ;
momentPrototype _ _proto . hasAlignedHourOffset = hasAlignedHourOffset ;
momentPrototype _ _proto . isDST = isDaylightSavingTime ;
momentPrototype _ _proto . isDSTShifted = isDaylightSavingTimeShifted ;
momentPrototype _ _proto . isLocal = isLocal ;
momentPrototype _ _proto . isUtcOffset = isUtcOffset ;
momentPrototype _ _proto . isUtc = isUtc ;
momentPrototype _ _proto . isUTC = isUtc ;
// Timezone
momentPrototype _ _proto . zoneAbbr = getZoneAbbr ;
momentPrototype _ _proto . zoneName = getZoneName ;
// Deprecations
momentPrototype _ _proto . dates = deprecate ( 'dates accessor is deprecated. Use date instead.' , getSetDayOfMonth ) ;
momentPrototype _ _proto . months = deprecate ( 'months accessor is deprecated. Use month instead' , getSetMonth ) ;
momentPrototype _ _proto . years = deprecate ( 'years accessor is deprecated. Use year instead' , getSetYear ) ;
momentPrototype _ _proto . zone = deprecate ( 'moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779' , getSetZone ) ;
var momentPrototype = momentPrototype _ _proto ;
function moment _moment _ _createUnix ( input ) {
return local _ _createLocal ( input * 1000 ) ;
}
function moment _moment _ _createInZone ( ) {
return local _ _createLocal . apply ( null , arguments ) . parseZone ( ) ;
}
var defaultCalendar = {
sameDay : '[Today at] LT' ,
nextDay : '[Tomorrow at] LT' ,
nextWeek : 'dddd [at] LT' ,
lastDay : '[Yesterday at] LT' ,
lastWeek : '[Last] dddd [at] LT' ,
sameElse : 'L'
} ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function locale _calendar _ _calendar ( key , mom , now ) {
var output = this . _calendar [ key ] ;
return typeof output === 'function' ? output . call ( mom , now ) : output ;
}
var defaultLongDateFormat = {
LTS : 'h:mm:ss A' ,
LT : 'h:mm A' ,
L : 'MM/DD/YYYY' ,
LL : 'MMMM D, YYYY' ,
LLL : 'MMMM D, YYYY LT' ,
LLLL : 'dddd, MMMM D, YYYY LT'
} ;
function longDateFormat ( key ) {
var output = this . _longDateFormat [ key ] ;
if ( ! output && this . _longDateFormat [ key . toUpperCase ( ) ] ) {
output = this . _longDateFormat [ key . toUpperCase ( ) ] . replace ( /MMMM|MM|DD|dddd/g , function ( val ) {
return val . slice ( 1 ) ;
} ) ;
this . _longDateFormat [ key ] = output ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
return output ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var defaultInvalidDate = 'Invalid date' ;
function invalidDate ( ) {
return this . _invalidDate ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var defaultOrdinal = '%d' ;
var defaultOrdinalParse = /\d{1,2}/ ;
function ordinal ( number ) {
return this . _ordinal . replace ( '%d' , number ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function preParsePostFormat ( string ) {
return string ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var defaultRelativeTime = {
future : 'in %s' ,
past : '%s ago' ,
s : 'a few seconds' ,
m : 'a minute' ,
mm : '%d minutes' ,
h : 'an hour' ,
hh : '%d hours' ,
d : 'a day' ,
dd : '%d days' ,
M : 'a month' ,
MM : '%d months' ,
y : 'a year' ,
yy : '%d years'
} ;
function relative _ _relativeTime ( number , withoutSuffix , string , isFuture ) {
var output = this . _relativeTime [ string ] ;
return ( typeof output === 'function' ) ?
output ( number , withoutSuffix , string , isFuture ) :
output . replace ( /%d/i , number ) ;
}
function pastFuture ( diff , output ) {
var format = this . _relativeTime [ diff > 0 ? 'future' : 'past' ] ;
return typeof format === 'function' ? format ( output ) : format . replace ( /%s/i , output ) ;
}
function locale _set _ _set ( config ) {
var prop , i ;
for ( i in config ) {
prop = config [ i ] ;
if ( typeof prop === 'function' ) {
this [ i ] = prop ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
this [ '_' + i ] = prop ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
// Lenient ordinal parsing accepts just a number in addition to
// number + (possibly) stuff coming from _ordinalParseLenient.
this . _ordinalParseLenient = new RegExp ( this . _ordinalParse . source + '|' + ( /\d{1,2}/ ) . source ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var prototype _ _proto = Locale . prototype ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
prototype _ _proto . _calendar = defaultCalendar ;
prototype _ _proto . calendar = locale _calendar _ _calendar ;
prototype _ _proto . _longDateFormat = defaultLongDateFormat ;
prototype _ _proto . longDateFormat = longDateFormat ;
prototype _ _proto . _invalidDate = defaultInvalidDate ;
prototype _ _proto . invalidDate = invalidDate ;
prototype _ _proto . _ordinal = defaultOrdinal ;
prototype _ _proto . ordinal = ordinal ;
prototype _ _proto . _ordinalParse = defaultOrdinalParse ;
prototype _ _proto . preparse = preParsePostFormat ;
prototype _ _proto . postformat = preParsePostFormat ;
prototype _ _proto . _relativeTime = defaultRelativeTime ;
prototype _ _proto . relativeTime = relative _ _relativeTime ;
prototype _ _proto . pastFuture = pastFuture ;
prototype _ _proto . set = locale _set _ _set ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Month
prototype _ _proto . months = localeMonths ;
prototype _ _proto . _months = defaultLocaleMonths ;
prototype _ _proto . monthsShort = localeMonthsShort ;
prototype _ _proto . _monthsShort = defaultLocaleMonthsShort ;
prototype _ _proto . monthsParse = localeMonthsParse ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Week
prototype _ _proto . week = localeWeek ;
prototype _ _proto . _week = defaultLocaleWeek ;
prototype _ _proto . firstDayOfYear = localeFirstDayOfYear ;
prototype _ _proto . firstDayOfWeek = localeFirstDayOfWeek ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Day of Week
prototype _ _proto . weekdays = localeWeekdays ;
prototype _ _proto . _weekdays = defaultLocaleWeekdays ;
prototype _ _proto . weekdaysMin = localeWeekdaysMin ;
prototype _ _proto . _weekdaysMin = defaultLocaleWeekdaysMin ;
prototype _ _proto . weekdaysShort = localeWeekdaysShort ;
prototype _ _proto . _weekdaysShort = defaultLocaleWeekdaysShort ;
prototype _ _proto . weekdaysParse = localeWeekdaysParse ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Hours
prototype _ _proto . isPM = localeIsPM ;
prototype _ _proto . _meridiemParse = defaultLocaleMeridiemParse ;
prototype _ _proto . meridiem = localeMeridiem ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _get ( format , index , field , setter ) {
var locale = locale _locales _ _getLocale ( ) ;
var utc = create _utc _ _createUTC ( ) . set ( setter , index ) ;
return locale [ field ] ( utc , format ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function list ( format , index , field , count , setter ) {
if ( typeof format === 'number' ) {
index = format ;
format = undefined ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
format = format || '' ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
if ( index != null ) {
return lists _ _get ( format , index , field , setter ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var i ;
var out = [ ] ;
for ( i = 0 ; i < count ; i ++ ) {
out [ i ] = lists _ _get ( format , i , field , setter ) ;
}
return out ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _listMonths ( format , index ) {
return list ( format , index , 'months' , 12 , 'month' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _listMonthsShort ( format , index ) {
return list ( format , index , 'monthsShort' , 12 , 'month' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _listWeekdays ( format , index ) {
return list ( format , index , 'weekdays' , 7 , 'day' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _listWeekdaysShort ( format , index ) {
return list ( format , index , 'weekdaysShort' , 7 , 'day' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function lists _ _listWeekdaysMin ( format , index ) {
return list ( format , index , 'weekdaysMin' , 7 , 'day' ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
locale _locales _ _getSetGlobalLocale ( 'en' , {
ordinalParse : /\d{1,2}(th|st|nd|rd)/ ,
ordinal : function ( number ) {
var b = number % 10 ,
output = ( toInt ( number % 100 / 10 ) === 1 ) ? 'th' :
( b === 1 ) ? 'st' :
( b === 2 ) ? 'nd' :
( b === 3 ) ? 'rd' : 'th' ;
return number + output ;
}
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Side effect imports
utils _hooks _ _hooks . lang = deprecate ( 'moment.lang is deprecated. Use moment.locale instead.' , locale _locales _ _getSetGlobalLocale ) ;
utils _hooks _ _hooks . langData = deprecate ( 'moment.langData is deprecated. Use moment.localeData instead.' , locale _locales _ _getLocale ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var mathAbs = Math . abs ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function duration _abs _ _abs ( ) {
var data = this . _data ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
this . _milliseconds = mathAbs ( this . _milliseconds ) ;
this . _days = mathAbs ( this . _days ) ;
this . _months = mathAbs ( this . _months ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
data . milliseconds = mathAbs ( data . milliseconds ) ;
data . seconds = mathAbs ( data . seconds ) ;
data . minutes = mathAbs ( data . minutes ) ;
data . hours = mathAbs ( data . hours ) ;
data . months = mathAbs ( data . months ) ;
data . years = mathAbs ( data . years ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return this ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function duration _add _subtract _ _addSubtract ( duration , input , value , direction ) {
var other = create _ _createDuration ( input , value ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
duration . _milliseconds += direction * other . _milliseconds ;
duration . _days += direction * other . _days ;
duration . _months += direction * other . _months ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return duration . _bubble ( ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// supports only 2.0-style add(1, 's') or add(duration)
function duration _add _subtract _ _add ( input , value ) {
return duration _add _subtract _ _addSubtract ( this , input , value , 1 ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// supports only 2.0-style subtract(1, 's') or subtract(duration)
function duration _add _subtract _ _subtract ( input , value ) {
return duration _add _subtract _ _addSubtract ( this , input , value , - 1 ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function bubble ( ) {
var milliseconds = this . _milliseconds ;
var days = this . _days ;
var months = this . _months ;
var data = this . _data ;
var seconds , minutes , hours , years = 0 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// The following code bubbles up values, see the tests for
// examples of what that means.
data . milliseconds = milliseconds % 1000 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
seconds = absFloor ( milliseconds / 1000 ) ;
data . seconds = seconds % 60 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
minutes = absFloor ( seconds / 60 ) ;
data . minutes = minutes % 60 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
hours = absFloor ( minutes / 60 ) ;
data . hours = hours % 24 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
days += absFloor ( hours / 24 ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Accurately convert days to years, assume start from year 0.
years = absFloor ( daysToYears ( days ) ) ;
days -= absFloor ( yearsToDays ( years ) ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// 30 days to a month
// TODO (iskren): Use anchor date (like 1st Jan) to compute this.
months += absFloor ( days / 30 ) ;
days %= 30 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// 12 months -> 1 year
years += absFloor ( months / 12 ) ;
months %= 12 ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
data . days = days ;
data . months = months ;
data . years = years ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return this ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function daysToYears ( days ) {
// 400 years have 146097 days (taking into account leap year rules)
return days * 400 / 146097 ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function yearsToDays ( years ) {
// years * 365 + absFloor(years / 4) -
// absFloor(years / 100) + absFloor(years / 400);
return years * 146097 / 400 ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function as ( units ) {
var days ;
var months ;
var milliseconds = this . _milliseconds ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
units = normalizeUnits ( units ) ;
if ( units === 'month' || units === 'year' ) {
days = this . _days + milliseconds / 864e5 ;
months = this . _months + daysToYears ( days ) * 12 ;
return units === 'month' ? months : months / 12 ;
} else {
// handle milliseconds separately because of floating point math errors (issue #1867)
days = this . _days + Math . round ( yearsToDays ( this . _months / 12 ) ) ;
switch ( units ) {
case 'week' : return days / 7 + milliseconds / 6048e5 ;
case 'day' : return days + milliseconds / 864e5 ;
case 'hour' : return days * 24 + milliseconds / 36e5 ;
case 'minute' : return days * 1440 + milliseconds / 6e4 ;
case 'second' : return days * 86400 + milliseconds / 1000 ;
// Math.floor prevents floating point math errors here
case 'millisecond' : return Math . floor ( days * 864e5 ) + milliseconds ;
default : throw new Error ( 'Unknown unit ' + units ) ;
}
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// TODO: Use this.as('ms')?
function duration _as _ _valueOf ( ) {
return (
this . _milliseconds +
this . _days * 864e5 +
( this . _months % 12 ) * 2592e6 +
toInt ( this . _months / 12 ) * 31536e6
) ;
}
function makeAs ( alias ) {
return function ( ) {
return this . as ( alias ) ;
} ;
}
var asMilliseconds = makeAs ( 'ms' ) ;
var asSeconds = makeAs ( 's' ) ;
var asMinutes = makeAs ( 'm' ) ;
var asHours = makeAs ( 'h' ) ;
var asDays = makeAs ( 'd' ) ;
var asWeeks = makeAs ( 'w' ) ;
var asMonths = makeAs ( 'M' ) ;
var asYears = makeAs ( 'y' ) ;
function duration _get _ _get ( units ) {
units = normalizeUnits ( units ) ;
return this [ units + 's' ] ( ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function makeGetter ( name ) {
return function ( ) {
2014-08-26 19:39:15 +04:00
return this . _data [ name ] ;
} ;
}
2015-07-22 17:10:40 +03:00
var duration _get _ _milliseconds = makeGetter ( 'milliseconds' ) ;
var seconds = makeGetter ( 'seconds' ) ;
var minutes = makeGetter ( 'minutes' ) ;
var hours = makeGetter ( 'hours' ) ;
var days = makeGetter ( 'days' ) ;
var duration _get _ _months = makeGetter ( 'months' ) ;
var years = makeGetter ( 'years' ) ;
function weeks ( ) {
return absFloor ( this . days ( ) / 7 ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var round = Math . round ;
var thresholds = {
s : 45 , // seconds to minute
m : 45 , // minutes to hour
h : 22 , // hours to day
d : 26 , // days to month
M : 11 // months to year
2014-08-26 19:39:15 +04:00
} ;
2015-07-22 17:10:40 +03:00
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
function substituteTimeAgo ( string , number , withoutSuffix , isFuture , locale ) {
return locale . relativeTime ( number || 1 , ! ! withoutSuffix , string , isFuture ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function duration _humanize _ _relativeTime ( posNegDuration , withoutSuffix , locale ) {
var duration = create _ _createDuration ( posNegDuration ) . abs ( ) ;
var seconds = round ( duration . as ( 's' ) ) ;
var minutes = round ( duration . as ( 'm' ) ) ;
var hours = round ( duration . as ( 'h' ) ) ;
var days = round ( duration . as ( 'd' ) ) ;
var months = round ( duration . as ( 'M' ) ) ;
var years = round ( duration . as ( 'y' ) ) ;
var a = seconds < thresholds . s && [ 's' , seconds ] ||
minutes === 1 && [ 'm' ] ||
minutes < thresholds . m && [ 'mm' , minutes ] ||
hours === 1 && [ 'h' ] ||
hours < thresholds . h && [ 'hh' , hours ] ||
days === 1 && [ 'd' ] ||
days < thresholds . d && [ 'dd' , days ] ||
months === 1 && [ 'M' ] ||
months < thresholds . M && [ 'MM' , months ] ||
years === 1 && [ 'y' ] || [ 'yy' , years ] ;
a [ 2 ] = withoutSuffix ;
a [ 3 ] = + posNegDuration > 0 ;
a [ 4 ] = locale ;
return substituteTimeAgo . apply ( null , a ) ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// This function allows you to set a threshold for relative time strings
function duration _humanize _ _getSetRelativeTimeThreshold ( threshold , limit ) {
if ( thresholds [ threshold ] === undefined ) {
return false ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
if ( limit === undefined ) {
return thresholds [ threshold ] ;
}
thresholds [ threshold ] = limit ;
return true ;
}
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function humanize ( withSuffix ) {
var locale = this . localeData ( ) ;
var output = duration _humanize _ _relativeTime ( this , ! withSuffix , locale ) ;
if ( withSuffix ) {
output = locale . pastFuture ( + this , output ) ;
}
return locale . postformat ( output ) ;
}
var iso _string _ _abs = Math . abs ;
function iso _string _ _toISOString ( ) {
// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
var Y = iso _string _ _abs ( this . years ( ) ) ;
var M = iso _string _ _abs ( this . months ( ) ) ;
var D = iso _string _ _abs ( this . days ( ) ) ;
var h = iso _string _ _abs ( this . hours ( ) ) ;
var m = iso _string _ _abs ( this . minutes ( ) ) ;
var s = iso _string _ _abs ( this . seconds ( ) + this . milliseconds ( ) / 1000 ) ;
var total = this . asSeconds ( ) ;
if ( ! total ) {
// this is the same as C#'s (Noda) and python (isodate)...
// but not other JS (goog.date)
return 'P0D' ;
}
return ( total < 0 ? '-' : '' ) +
'P' +
( Y ? Y + 'Y' : '' ) +
( M ? M + 'M' : '' ) +
( D ? D + 'D' : '' ) +
( ( h || m || s ) ? 'T' : '' ) +
( h ? h + 'H' : '' ) +
( m ? m + 'M' : '' ) +
( s ? s + 'S' : '' ) ;
}
var duration _prototype _ _proto = Duration . prototype ;
duration _prototype _ _proto . abs = duration _abs _ _abs ;
duration _prototype _ _proto . add = duration _add _subtract _ _add ;
duration _prototype _ _proto . subtract = duration _add _subtract _ _subtract ;
duration _prototype _ _proto . as = as ;
duration _prototype _ _proto . asMilliseconds = asMilliseconds ;
duration _prototype _ _proto . asSeconds = asSeconds ;
duration _prototype _ _proto . asMinutes = asMinutes ;
duration _prototype _ _proto . asHours = asHours ;
duration _prototype _ _proto . asDays = asDays ;
duration _prototype _ _proto . asWeeks = asWeeks ;
duration _prototype _ _proto . asMonths = asMonths ;
duration _prototype _ _proto . asYears = asYears ;
duration _prototype _ _proto . valueOf = duration _as _ _valueOf ;
duration _prototype _ _proto . _bubble = bubble ;
duration _prototype _ _proto . get = duration _get _ _get ;
duration _prototype _ _proto . milliseconds = duration _get _ _milliseconds ;
duration _prototype _ _proto . seconds = seconds ;
duration _prototype _ _proto . minutes = minutes ;
duration _prototype _ _proto . hours = hours ;
duration _prototype _ _proto . days = days ;
duration _prototype _ _proto . weeks = weeks ;
duration _prototype _ _proto . months = duration _get _ _months ;
duration _prototype _ _proto . years = years ;
duration _prototype _ _proto . humanize = humanize ;
duration _prototype _ _proto . toISOString = iso _string _ _toISOString ;
duration _prototype _ _proto . toString = iso _string _ _toISOString ;
duration _prototype _ _proto . toJSON = iso _string _ _toISOString ;
duration _prototype _ _proto . locale = locale ;
duration _prototype _ _proto . localeData = localeData ;
// Deprecations
duration _prototype _ _proto . toIsoString = deprecate ( 'toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)' , iso _string _ _toISOString ) ;
duration _prototype _ _proto . lang = lang ;
// Side effect imports
addFormatToken ( 'X' , 0 , 0 , 'unix' ) ;
addFormatToken ( 'x' , 0 , 0 , 'valueOf' ) ;
// PARSING
addRegexToken ( 'x' , matchSigned ) ;
addRegexToken ( 'X' , matchTimestamp ) ;
addParseToken ( 'X' , function ( input , array , config ) {
config . _d = new Date ( parseFloat ( input , 10 ) * 1000 ) ;
} ) ;
addParseToken ( 'x' , function ( input , array , config ) {
config . _d = new Date ( toInt ( input ) ) ;
} ) ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
// Side effect imports
;
//! moment.js
//! version : 2.10.3
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
//! license : MIT
//! momentjs.com
utils _hooks _ _hooks . version = '2.10.3' ;
setHookCallback ( local _ _createLocal ) ;
utils _hooks _ _hooks . fn = momentPrototype ;
utils _hooks _ _hooks . min = min ;
utils _hooks _ _hooks . max = max ;
utils _hooks _ _hooks . utc = create _utc _ _createUTC ;
utils _hooks _ _hooks . unix = moment _moment _ _createUnix ;
utils _hooks _ _hooks . months = lists _ _listMonths ;
utils _hooks _ _hooks . isDate = isDate ;
utils _hooks _ _hooks . locale = locale _locales _ _getSetGlobalLocale ;
utils _hooks _ _hooks . invalid = valid _ _createInvalid ;
utils _hooks _ _hooks . duration = create _ _createDuration ;
utils _hooks _ _hooks . isMoment = isMoment ;
utils _hooks _ _hooks . weekdays = lists _ _listWeekdays ;
utils _hooks _ _hooks . parseZone = moment _moment _ _createInZone ;
utils _hooks _ _hooks . localeData = locale _locales _ _getLocale ;
utils _hooks _ _hooks . isDuration = isDuration ;
utils _hooks _ _hooks . monthsShort = lists _ _listMonthsShort ;
utils _hooks _ _hooks . weekdaysMin = lists _ _listWeekdaysMin ;
utils _hooks _ _hooks . defineLocale = defineLocale ;
utils _hooks _ _hooks . weekdaysShort = lists _ _listWeekdaysShort ;
utils _hooks _ _hooks . normalizeUnits = normalizeUnits ;
utils _hooks _ _hooks . relativeTimeThreshold = duration _humanize _ _getSetRelativeTimeThreshold ;
var _moment _ _default = utils _hooks _ _hooks ;
//! moment.js locale configuration
//! locale : afrikaans (af)
//! author : Werner Mollentze : https://github.com/wernerm
var af = _moment _ _default . defineLocale ( 'af' , {
2014-08-26 19:39:15 +04:00
months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des' . split ( '_' ) ,
weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag' . split ( '_' ) ,
weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat' . split ( '_' ) ,
weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
meridiemParse : /vm|nm/i ,
isPM : function ( input ) {
return /^nm$/i . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
if ( hours < 12 ) {
return isLower ? 'vm' : 'VM' ;
} else {
return isLower ? 'nm' : 'NM' ;
}
} ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Vandag om] LT' ,
nextDay : '[Môre om] LT' ,
nextWeek : 'dddd [om] LT' ,
lastDay : '[Gister om] LT' ,
lastWeek : '[Laas] dddd [om] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'oor %s' ,
past : '%s gelede' ,
s : '\'n paar sekondes' ,
m : '\'n minuut' ,
mm : '%d minute' ,
h : '\'n uur' ,
hh : '%d ure' ,
d : '\'n dag' ,
dd : '%d dae' ,
M : '\'n maand' ,
MM : '%d maande' ,
y : '\'n jaar' ,
yy : '%d jaar'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(ste|de)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + ( ( number === 1 || number === 8 || number >= 20 ) ? 'ste' : 'de' ) ; // Thanks to Joris Röling : https://github.com/jjupiter
} ,
week : {
dow : 1 , // Maandag is die eerste dag van die week.
doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Moroccan Arabic (ar-ma)
//! author : ElFadili Yassine : https://github.com/ElFadiliY
//! author : Abdel Said : https://github.com/abdelsaid
var ar _ma = _moment _ _default . defineLocale ( 'ar-ma' , {
2014-08-26 19:39:15 +04:00
months : 'ينا ير_فبرا ير_ما رس_أبريل_ما ي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر' . split ( '_' ) ,
monthsShort : 'ينا ير_فبرا ير_ما رس_أبريل_ما ي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر' . split ( '_' ) ,
weekdays : 'ا لأحد_ا لإتنين_ا لثلا ثا ء_ا لأربعا ء_ا لخميس_ا لجمعة_ا لسبت' . split ( '_' ) ,
weekdaysShort : 'ا حد_ا تنين_ثلا ثا ء_ا ربعا ء_خميس_جمعة_سبت' . split ( '_' ) ,
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[اليوم على الساعة] LT' ,
nextDay : '[غدا على الساعة] LT' ,
nextWeek : 'dddd [على الساعة] LT' ,
lastDay : '[أمس على الساعة] LT' ,
lastWeek : 'dddd [على الساعة] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'في %s' ,
past : 'منذ %s' ,
s : 'ثوان' ,
m : 'دقيقة' ,
mm : '%d دقائق' ,
h : 'ساعة' ,
hh : '%d ساعات' ,
d : 'يوم' ,
dd : '%d أيام' ,
M : 'شهر' ,
MM : '%d أشهر' ,
y : 'سنة' ,
yy : '%d سنوات'
} ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Arabic Saudi Arabia (ar-sa)
//! author : Suhail Alkowaileet : https://github.com/xsoh
var ar _sa _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '١ ' ,
'2' : '٢' ,
'3' : '٣' ,
'4' : '٤' ,
'5' : '٥ ' ,
'6' : '٦' ,
'7' : '٧ ' ,
'8' : '٨' ,
'9' : '٩' ,
'0' : '٠ '
2015-07-22 17:10:40 +03:00
} , ar _sa _ _numberMap = {
2014-08-26 19:39:15 +04:00
'١ ' : '1' ,
'٢' : '2' ,
'٣' : '3' ,
'٤' : '4' ,
'٥ ' : '5' ,
'٦' : '6' ,
'٧ ' : '7' ,
'٨' : '8' ,
'٩' : '9' ,
'٠ ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var ar _sa = _moment _ _default . defineLocale ( 'ar-sa' , {
2014-08-26 19:39:15 +04:00
months : 'ينا ير_فبرا ير_ما رس_أبريل_ما يو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر' . split ( '_' ) ,
monthsShort : 'ينا ير_فبرا ير_ما رس_أبريل_ما يو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر' . split ( '_' ) ,
weekdays : 'ا لأحد_ا لإثنين_ا لثلا ثا ء_ا لأربعا ء_ا لخميس_ا لجمعة_ا لسبت' . split ( '_' ) ,
weekdaysShort : 'أحد_إثنين_ثلا ثا ء_أربعا ء_خميس_جمعة_سبت' . split ( '_' ) ,
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'HH:mm:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /ص|م/ ,
isPM : function ( input ) {
return 'م' === input ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 12 ) {
return 'ص' ;
} else {
return 'م' ;
}
} ,
calendar : {
sameDay : '[اليوم على الساعة] LT' ,
nextDay : '[غدا على الساعة] LT' ,
nextWeek : 'dddd [على الساعة] LT' ,
lastDay : '[أمس على الساعة] LT' ,
lastWeek : 'dddd [على الساعة] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'في %s' ,
past : 'منذ %s' ,
s : 'ثوان' ,
m : 'دقيقة' ,
mm : '%d دقائق' ,
h : 'ساعة' ,
hh : '%d ساعات' ,
d : 'يوم' ,
dd : '%d أيام' ,
M : 'شهر' ,
MM : '%d أشهر' ,
y : 'سنة' ,
yy : '%d سنوات'
} ,
preparse : function ( string ) {
2015-07-22 17:10:40 +03:00
return string . replace ( /[١٢٣٤٥٦٧٨٩٠]/g , function ( match ) {
return ar _sa _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /،/g , ',' ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return ar _sa _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /,/g , '،' ) ;
} ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Tunisian Arabic (ar-tn)
var ar _tn = _moment _ _default . defineLocale ( 'ar-tn' , {
months : 'جا نفي_فيفري_ما رس_أفريل_ما ي_جوا ن_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر' . split ( '_' ) ,
monthsShort : 'جا نفي_فيفري_ما رس_أفريل_ما ي_جوا ن_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر' . split ( '_' ) ,
weekdays : 'ا لأحد_ا لإثنين_ا لثلا ثا ء_ا لأربعا ء_ا لخميس_ا لجمعة_ا لسبت' . split ( '_' ) ,
weekdaysShort : 'أحد_إثنين_ثلا ثا ء_أربعا ء_خميس_جمعة_سبت' . split ( '_' ) ,
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
LTS : 'LT:ss' ,
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[اليوم على الساعة] LT' ,
nextDay : '[غدا على الساعة] LT' ,
nextWeek : 'dddd [على الساعة] LT' ,
lastDay : '[أمس على الساعة] LT' ,
lastWeek : 'dddd [على الساعة] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'في %s' ,
past : 'منذ %s' ,
s : 'ثوان' ,
m : 'دقيقة' ,
mm : '%d دقائق' ,
h : 'ساعة' ,
hh : '%d ساعات' ,
d : 'يوم' ,
dd : '%d أيام' ,
M : 'شهر' ,
MM : '%d أشهر' ,
y : 'سنة' ,
yy : '%d سنوات'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
//! moment.js locale configuration
//! Locale: Arabic (ar)
//! Author: Abdel Said: https://github.com/abdelsaid
//! Changes in months, weekdays: Ahmed Elkhatib
//! Native plural forms: forabi https://github.com/forabi
var ar _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '١ ' ,
'2' : '٢' ,
'3' : '٣' ,
'4' : '٤' ,
'5' : '٥ ' ,
'6' : '٦' ,
'7' : '٧ ' ,
'8' : '٨' ,
'9' : '٩' ,
'0' : '٠ '
2015-07-22 17:10:40 +03:00
} , ar _ _numberMap = {
2014-08-26 19:39:15 +04:00
'١ ' : '1' ,
'٢' : '2' ,
'٣' : '3' ,
'٤' : '4' ,
'٥ ' : '5' ,
'٦' : '6' ,
'٧ ' : '7' ,
'٨' : '8' ,
'٩' : '9' ,
'٠ ' : '0'
2014-11-03 13:18:52 +03:00
} , pluralForm = function ( n ) {
return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5 ;
} , plurals = {
s : [ 'أقل من ثانية' , 'ثانية واحدة' , [ 'ثانيتان' , 'ثانيتين' ] , '%d ثوان' , '%d ثانية' , '%d ثانية' ] ,
m : [ 'أقل من دقيقة' , 'دقيقة واحدة' , [ 'دقيقتان' , 'دقيقتين' ] , '%d دقائق' , '%d دقيقة' , '%d دقيقة' ] ,
h : [ 'أقل من ساعة' , 'ساعة واحدة' , [ 'ساعتان' , 'ساعتين' ] , '%d ساعات' , '%d ساعة' , '%d ساعة' ] ,
d : [ 'أقل من يوم' , 'يوم واحد' , [ 'يومان' , 'يومين' ] , '%d أيام' , '%d يومًا' , '%d يوم' ] ,
M : [ 'أقل من شهر' , 'شهر واحد' , [ 'شهران' , 'شهرين' ] , '%d أشهر' , '%d شهرا' , '%d شهر' ] ,
y : [ 'أقل من عام' , 'عام واحد' , [ 'عامان' , 'عامين' ] , '%d أعوام' , '%d عامًا' , '%d عام' ]
} , pluralize = function ( u ) {
return function ( number , withoutSuffix , string , isFuture ) {
var f = pluralForm ( number ) ,
str = plurals [ u ] [ pluralForm ( number ) ] ;
if ( f === 2 ) {
str = str [ withoutSuffix ? 0 : 1 ] ;
}
return str . replace ( /%d/i , number ) ;
} ;
2015-07-22 17:10:40 +03:00
} , ar _ _months = [
2014-11-03 13:18:52 +03:00
'كانون الثاني يناير' ,
'شباط فبراير' ,
'آذار مارس' ,
'نيسان أبريل' ,
'أيار مايو' ,
'حزيران يونيو' ,
'تموز يوليو' ,
'آب أغسطس' ,
'أيلول سبتمبر' ,
'تشرين الأول أكتوبر' ,
'تشرين الثاني نوفمبر' ,
'كانون الأول ديسمبر'
] ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
var ar = _moment _ _default . defineLocale ( 'ar' , {
months : ar _ _months ,
monthsShort : ar _ _months ,
2014-08-26 19:39:15 +04:00
weekdays : 'ا لأحد_ا لإثنين_ا لثلا ثا ء_ا لأربعا ء_ا لخميس_ا لجمعة_ا لسبت' . split ( '_' ) ,
weekdaysShort : 'أحد_إثنين_ثلا ثا ء_أربعا ء_خميس_جمعة_سبت' . split ( '_' ) ,
weekdaysMin : 'ح_ن_ث_ر_خ_ج_س' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'HH:mm:ss' ,
L : 'D/\u200FM/\u200FYYYY' ,
2014-08-26 19:39:15 +04:00
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /ص|م/ ,
isPM : function ( input ) {
return 'م' === input ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 12 ) {
return 'ص' ;
} else {
return 'م' ;
}
} ,
calendar : {
2014-11-03 13:18:52 +03:00
sameDay : '[اليوم عند الساعة] LT' ,
nextDay : '[غدًا عند الساعة] LT' ,
nextWeek : 'dddd [عند الساعة] LT' ,
lastDay : '[أمس عند الساعة] LT' ,
lastWeek : 'dddd [عند الساعة] LT' ,
2014-08-26 19:39:15 +04:00
sameElse : 'L'
} ,
relativeTime : {
2014-11-03 13:18:52 +03:00
future : 'بعد %s' ,
2014-08-26 19:39:15 +04:00
past : 'منذ %s' ,
2014-11-03 13:18:52 +03:00
s : pluralize ( 's' ) ,
m : pluralize ( 'm' ) ,
mm : pluralize ( 'm' ) ,
h : pluralize ( 'h' ) ,
hh : pluralize ( 'h' ) ,
d : pluralize ( 'd' ) ,
dd : pluralize ( 'd' ) ,
M : pluralize ( 'M' ) ,
MM : pluralize ( 'M' ) ,
y : pluralize ( 'y' ) ,
yy : pluralize ( 'y' )
2014-08-26 19:39:15 +04:00
} ,
preparse : function ( string ) {
2015-07-22 17:10:40 +03:00
return string . replace ( /\u200f/g , '' ) . replace ( /[١٢٣٤٥٦٧٨٩٠]/g , function ( match ) {
return ar _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /،/g , ',' ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return ar _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /,/g , '،' ) ;
} ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : azerbaijani (az)
//! author : topchiyev : https://github.com/topchiyev
var az _ _suffixes = {
2014-08-26 19:39:15 +04:00
1 : '-inci' ,
5 : '-inci' ,
8 : '-inci' ,
70 : '-inci' ,
80 : '-inci' ,
2 : '-nci' ,
7 : '-nci' ,
20 : '-nci' ,
50 : '-nci' ,
3 : '-üncü' ,
4 : '-üncü' ,
100 : '-üncü' ,
6 : '-ncı ' ,
9 : '-uncu' ,
10 : '-uncu' ,
30 : '-uncu' ,
60 : '-ı ncı ' ,
90 : '-ı ncı '
} ;
2015-07-22 17:10:40 +03:00
var az = _moment _ _default . defineLocale ( 'az' , {
2014-08-26 19:39:15 +04:00
months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr' . split ( '_' ) ,
monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek' . split ( '_' ) ,
weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı _Çərşənbə_Cümə axşamı _Cümə_Şənbə' . split ( '_' ) ,
weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən' . split ( '_' ) ,
weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[bugün saat] LT' ,
nextDay : '[sabah saat] LT' ,
nextWeek : '[gələn həftə] dddd [saat] LT' ,
lastDay : '[dünən] LT' ,
lastWeek : '[keçən həftə] dddd [saat] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s sonra' ,
past : '%s əvvəl' ,
s : 'birneçə saniyyə' ,
m : 'bir dəqiqə' ,
mm : '%d dəqiqə' ,
h : 'bir saat' ,
hh : '%d saat' ,
d : 'bir gün' ,
dd : '%d gün' ,
M : 'bir ay' ,
MM : '%d ay' ,
y : 'bir il' ,
yy : '%d il'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /gecə|səhər|gündüz|axşam/ ,
isPM : function ( input ) {
return /^(gündüz|axşam)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'gecə' ;
} else if ( hour < 12 ) {
return 'səhər' ;
} else if ( hour < 17 ) {
return 'gündüz' ;
} else {
return 'axşam' ;
}
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(ı ncı |inci|nci|üncü|ncı |uncu)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
if ( number === 0 ) { // special case for zero
return number + '-ı ncı ' ;
}
var a = number % 10 ,
b = number % 100 - a ,
c = number >= 100 ? 100 : null ;
2015-07-22 17:10:40 +03:00
return number + ( az _ _suffixes [ a ] || az _ _suffixes [ b ] || az _ _suffixes [ c ] ) ;
2014-08-26 19:39:15 +04:00
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : belarusian (be)
//! author : Dmitry Demidov : https://github.com/demidov91
//! author: Praleska: http://praleska.pro/
//! Author : Menelion Elensúle : https://github.com/Oire
function be _ _plural ( word , num ) {
2014-08-26 19:39:15 +04:00
var forms = word . split ( '_' ) ;
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 ] ) ;
}
2015-07-22 17:10:40 +03:00
function be _ _relativeTimeWithPlural ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var format = {
'mm' : withoutSuffix ? 'х ві лі на _х ві лі ны_х ві лі н' : 'х ві лі ну _х ві лі ны_х ві лі н' ,
'hh' : withoutSuffix ? 'г а дзі на _г а дзі ны_г а дзі н' : 'г а дзі ну _г а дзі ны_г а дзі н' ,
'dd' : 'дзе нь_дні _дзён' ,
'MM' : 'ме с яц_ме с яцы_ме с яца ў' ,
'yy' : 'г о д_г а ды_г а до ў'
} ;
if ( key === 'm' ) {
return withoutSuffix ? 'хвіліна' : 'хвіліну' ;
}
else if ( key === 'h' ) {
return withoutSuffix ? 'гадзіна' : 'гадзіну' ;
}
else {
2015-07-22 17:10:40 +03:00
return number + ' ' + be _ _plural ( format [ key ] , + number ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
function be _ _monthsCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var months = {
'nominative' : 'с ту дзе нь_люты_с а ка ві к_кр а с а ві к_тр а ве нь_чэр ве нь_лі пе нь_жні ве нь_ве р а с е нь_ка с тр ычні к_лі с та па д_с не жа нь' . split ( '_' ) ,
'accusative' : 'с ту дзе ня_люта г а _с а ка ві ка _кр а с а ві ка _тр а ўня_чэр ве ня_лі пе ня_жні ўня_ве р а с ня_ка с тр ычні ка _лі с та па да _с не жня' . split ( '_' )
} ,
nounCase = ( /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return months [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function be _ _weekdaysCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var weekdays = {
'nominative' : 'нядзе ля_па нядзе ла к_а ўто р а к_с е р а да _ча цве р _пятні ца _с у б о та ' . split ( '_' ) ,
'accusative' : 'нядзе лю_па нядзе ла к_а ўто р а к_с е р а ду _ча цве р _пятні цу _с у б о ту ' . split ( '_' )
} ,
nounCase = ( /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return weekdays [ nounCase ] [ m . day ( ) ] ;
}
2015-07-22 17:10:40 +03:00
var be = _moment _ _default . defineLocale ( 'be' , {
months : be _ _monthsCaseReplace ,
2014-08-26 19:39:15 +04:00
monthsShort : 'с ту д_лют_с а к_кр а с _тр а в_чэр в_лі п_жні в_ве р _ка с т_лі с т_с не ж' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
weekdays : be _ _weekdaysCaseReplace ,
2014-08-26 19:39:15 +04:00
weekdaysShort : 'нд_пн_а т_с р _чц_пт_с б ' . split ( '_' ) ,
weekdaysMin : 'нд_пн_а т_с р _чц_пт_с б ' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY г .' ,
LLL : 'D MMMM YYYY г ., LT' ,
LLLL : 'dddd, D MMMM YYYY г ., LT'
} ,
calendar : {
sameDay : '[Сёння ў] LT' ,
nextDay : '[Заўтра ў] LT' ,
lastDay : '[Учора ў] LT' ,
nextWeek : function ( ) {
return '[У ] dddd [ў] LT' ;
} ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
case 5 :
case 6 :
return '[У мінулую] dddd [ў] LT' ;
case 1 :
case 2 :
case 4 :
return '[У мінулы] dddd [ў] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'праз %s' ,
past : '%s таму' ,
s : 'некалькі секунд' ,
2015-07-22 17:10:40 +03:00
m : be _ _relativeTimeWithPlural ,
mm : be _ _relativeTimeWithPlural ,
h : be _ _relativeTimeWithPlural ,
hh : be _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
d : 'дзень' ,
2015-07-22 17:10:40 +03:00
dd : be _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
M : 'месяц' ,
2015-07-22 17:10:40 +03:00
MM : be _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
y : 'год' ,
2015-07-22 17:10:40 +03:00
yy : be _ _relativeTimeWithPlural
} ,
meridiemParse : /ночы|раніцы|дня|вечара/ ,
isPM : function ( input ) {
return /^(дня|вечара)$/ . test ( input ) ;
2014-08-26 19:39:15 +04:00
} ,
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'ночы' ;
} else if ( hour < 12 ) {
return 'раніцы' ;
} else if ( hour < 17 ) {
return 'дня' ;
} else {
return 'вечара' ;
}
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(і |ы|г а )/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'M' :
case 'd' :
case 'DDD' :
case 'w' :
case 'W' :
return ( number % 10 === 2 || number % 10 === 3 ) && ( number % 100 !== 12 && number % 100 !== 13 ) ? number + '-і ' : number + '-ы' ;
case 'D' :
return number + '-г а ' ;
default :
return number ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : bulgarian (bg)
//! author : Krasen Borisov : https://github.com/kraz
var bg = _moment _ _default . defineLocale ( 'bg' , {
2014-08-26 19:39:15 +04:00
months : 'яну а р и_фе вр у а р и_ма р т_а пр ил_ма й_юни_юли_а вг у с т_с е пте мвр и_о кто мвр и_но е мвр и_де ке мвр и' . split ( '_' ) ,
monthsShort : 'янр _фе в_ма р _а пр _ма й_юни_юли_а вг _с е п_о кт_но е _де к' . split ( '_' ) ,
weekdays : 'не де ля_по не де лник_вто р ник_с р яда _че твър тък_пе тък_с ъб о та ' . split ( '_' ) ,
weekdaysShort : 'не д_по н_вто _с р я_че т_пе т_с ъб ' . split ( '_' ) ,
weekdaysMin : 'нд_пн_вт_с р _чт_пт_с б ' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'D.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Днес в] LT' ,
nextDay : '[Утре в] LT' ,
nextWeek : 'dddd [в] LT' ,
lastDay : '[Вчера в] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
case 6 :
return '[В изминалата] dddd [в] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[В изминалия] dddd [в] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'след %s' ,
past : 'преди %s' ,
s : 'няколко секунди' ,
m : 'минута' ,
mm : '%d минути' ,
h : 'час' ,
hh : '%d часа' ,
d : 'ден' ,
dd : '%d дни' ,
M : 'месец' ,
MM : '%d месеца' ,
y : 'година' ,
yy : '%d години'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(ев|ен|ти|ви|ри|ми)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var lastDigit = number % 10 ,
last2Digits = number % 100 ;
if ( number === 0 ) {
return number + '-ев' ;
} else if ( last2Digits === 0 ) {
return number + '-ен' ;
} else if ( last2Digits > 10 && last2Digits < 20 ) {
return number + '-ти' ;
} else if ( lastDigit === 1 ) {
return number + '-ви' ;
} else if ( lastDigit === 2 ) {
return number + '-ри' ;
} else if ( lastDigit === 7 || lastDigit === 8 ) {
return number + '-ми' ;
} else {
return number + '-ти' ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Bengali (bn)
//! author : Kaushik Gandhi : https://github.com/kaushikgandhi
var bn _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '১' ,
'2' : '২' ,
'3' : '৩' ,
'4' : '৪ ' ,
'5' : '৫' ,
'6' : '৬' ,
'7' : '৭ ' ,
'8' : '৮' ,
'9' : '৯' ,
'0' : '০ '
} ,
2015-07-22 17:10:40 +03:00
bn _ _numberMap = {
2014-08-26 19:39:15 +04:00
'১' : '1' ,
'২' : '2' ,
'৩' : '3' ,
'৪ ' : '4' ,
'৫' : '5' ,
'৬' : '6' ,
'৭ ' : '7' ,
'৮' : '8' ,
'৯' : '9' ,
'০ ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var bn = _moment _ _default . defineLocale ( 'bn' , {
2014-08-26 19:39:15 +04:00
months : 'জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর' . split ( '_' ) ,
monthsShort : 'জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্' . split ( '_' ) ,
weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রুবার_শনিবার' . split ( '_' ) ,
weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্রু_শনি' . split ( '_' ) ,
weekdaysMin : 'রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি' . split ( '_' ) ,
longDateFormat : {
LT : 'A h:mm সময়' ,
2015-07-22 17:10:40 +03:00
LTS : 'A h:mm:ss সময়' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[আজ] LT' ,
nextDay : '[আগামীকাল] LT' ,
nextWeek : 'dddd, LT' ,
lastDay : '[গতকাল] LT' ,
lastWeek : '[গত] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s পরে' ,
past : '%s আগে' ,
s : 'কএক সেকেন্ড' ,
m : 'এক মিনিট' ,
mm : '%d মিনিট' ,
h : 'এক ঘন্টা' ,
hh : '%d ঘন্টা' ,
d : 'এক দিন' ,
dd : '%d দিন' ,
M : 'এক মাস' ,
MM : '%d মাস' ,
y : 'এক বছর' ,
yy : '%d বছর'
} ,
preparse : function ( string ) {
return string . replace ( /[১২৩৪৫৬৭৮৯০]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return bn _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return bn _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /রাত|শকাল|দুপুর|বিকেল|রাত/ ,
isPM : function ( input ) {
return /^(দুপুর|বিকেল|রাত)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
//Bengali is a vast language its spoken
//in different forms in various parts of the world.
//I have just generalized with most common one used
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'রাত' ;
} else if ( hour < 10 ) {
return 'শকাল' ;
} else if ( hour < 17 ) {
return 'দুপুর' ;
} else if ( hour < 20 ) {
return 'বিকেল' ;
} else {
return 'রাত' ;
}
} ,
week : {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : tibetan (bo)
//! author : Thupten N. Chakrishar : https://github.com/vajradog
var bo _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '༡' ,
'2' : '༢' ,
'3' : '༣' ,
'4' : '༤' ,
'5' : '༥' ,
'6' : '༦' ,
'7' : '༧' ,
'8' : '༨' ,
'9' : '༩' ,
'0' : '༠'
} ,
2015-07-22 17:10:40 +03:00
bo _ _numberMap = {
2014-08-26 19:39:15 +04:00
'༡' : '1' ,
'༢' : '2' ,
'༣' : '3' ,
'༤' : '4' ,
'༥' : '5' ,
'༦' : '6' ,
'༧' : '7' ,
'༨' : '8' ,
'༩' : '9' ,
'༠' : '0'
} ;
2015-07-22 17:10:40 +03:00
var bo = _moment _ _default . defineLocale ( 'bo' , {
2014-08-26 19:39:15 +04:00
months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ' . split ( '_' ) ,
monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ' . split ( '_' ) ,
weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་' . split ( '_' ) ,
weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་' . split ( '_' ) ,
weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་' . split ( '_' ) ,
longDateFormat : {
LT : 'A h:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[དི་རིང] LT' ,
nextDay : '[སང་ཉིན] LT' ,
nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT' ,
lastDay : '[ཁ་སང] LT' ,
lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s ལ་' ,
past : '%s སྔན་ལ' ,
s : 'ལམ་སང' ,
m : 'སྐར་མ་གཅིག' ,
mm : '%d སྐར་མ' ,
h : 'ཆུ་ཚོད་གཅིག' ,
hh : '%d ཆུ་ཚོད' ,
d : 'ཉིན་གཅིག' ,
dd : '%d ཉིན་' ,
M : 'ཟླ་བ་གཅིག' ,
MM : '%d ཟླ་བ' ,
y : 'ལོ་གཅིག' ,
yy : '%d ལོ'
} ,
preparse : function ( string ) {
return string . replace ( /[༡༢༣༤༥༦༧༨༩༠]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return bo _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return bo _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/ ,
isPM : function ( input ) {
return /^(ཉིན་གུང|དགོང་དག|མཚན་མོ)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'མཚན་མོ' ;
} else if ( hour < 10 ) {
return 'ཞོགས་ཀས' ;
} else if ( hour < 17 ) {
return 'ཉིན་གུང' ;
} else if ( hour < 20 ) {
return 'དགོང་དག' ;
} else {
return 'མཚན་མོ' ;
}
} ,
week : {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : breton (br)
//! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
2014-08-26 19:39:15 +04:00
function relativeTimeWithMutation ( number , withoutSuffix , key ) {
var format = {
'mm' : 'munutenn' ,
'MM' : 'miz' ,
'dd' : 'devezh'
} ;
return number + ' ' + mutation ( format [ key ] , number ) ;
}
function specialMutationForYears ( number ) {
switch ( lastNumber ( number ) ) {
case 1 :
case 3 :
case 4 :
case 5 :
case 9 :
return number + ' bloaz' ;
default :
return number + ' vloaz' ;
}
}
function lastNumber ( number ) {
if ( number > 9 ) {
return lastNumber ( number % 10 ) ;
}
return number ;
}
function mutation ( text , number ) {
if ( number === 2 ) {
return softMutation ( text ) ;
}
return text ;
}
function softMutation ( text ) {
var mutationTable = {
'm' : 'v' ,
'b' : 'v' ,
'd' : 'z'
} ;
if ( mutationTable [ text . charAt ( 0 ) ] === undefined ) {
return text ;
}
return mutationTable [ text . charAt ( 0 ) ] + text . substring ( 1 ) ;
}
2015-07-22 17:10:40 +03:00
var br = _moment _ _default . defineLocale ( 'br' , {
2014-08-26 19:39:15 +04:00
months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu' . split ( '_' ) ,
monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker' . split ( '_' ) ,
weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn' . split ( '_' ) ,
weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad' . split ( '_' ) ,
weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'h[e]mm A' ,
2015-07-22 17:10:40 +03:00
LTS : 'h[e]mm:ss A' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D [a viz] MMMM YYYY' ,
LLL : 'D [a viz] MMMM YYYY LT' ,
LLLL : 'dddd, D [a viz] MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Hiziv da] LT' ,
nextDay : '[Warc\'hoazh da] LT' ,
nextWeek : 'dddd [da] LT' ,
lastDay : '[Dec\'h da] LT' ,
lastWeek : 'dddd [paset da] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'a-benn %s' ,
past : '%s \'zo' ,
s : 'un nebeud segondennoù' ,
m : 'ur vunutenn' ,
mm : relativeTimeWithMutation ,
h : 'un eur' ,
hh : '%d eur' ,
d : 'un devezh' ,
dd : relativeTimeWithMutation ,
M : 'ur miz' ,
MM : relativeTimeWithMutation ,
y : 'ur bloaz' ,
yy : specialMutationForYears
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(añ|vet)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var output = ( number === 1 ) ? 'añ' : 'vet' ;
return number + output ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : bosnian (bs)
//! author : Nedim Cholich : https://github.com/frontyard
//! based on (hr) translation by Bojan Marković
function bs _ _translate ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 'm' :
return withoutSuffix ? 'jedna minuta' : 'jedne minute' ;
case 'mm' :
if ( number === 1 ) {
result += 'minuta' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'minute' ;
} else {
result += 'minuta' ;
}
return result ;
case 'h' :
return withoutSuffix ? 'jedan sat' : 'jednog sata' ;
case 'hh' :
if ( number === 1 ) {
result += 'sat' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'sata' ;
} else {
result += 'sati' ;
}
return result ;
case 'dd' :
if ( number === 1 ) {
result += 'dan' ;
} else {
result += 'dana' ;
}
return result ;
case 'MM' :
if ( number === 1 ) {
result += 'mjesec' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'mjeseca' ;
} else {
result += 'mjeseci' ;
}
return result ;
case 'yy' :
if ( number === 1 ) {
result += 'godina' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'godine' ;
} else {
result += 'godina' ;
}
return result ;
}
}
2015-07-22 17:10:40 +03:00
var bs = _moment _ _default . defineLocale ( 'bs' , {
months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar' . split ( '_' ) ,
monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota' . split ( '_' ) ,
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.' . split ( '_' ) ,
weekdaysMin : 'ne_po_ut_sr_če_pe_su' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[danas u] LT' ,
nextDay : '[sutra u] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[u] [nedjelju] [u] LT' ;
case 3 :
return '[u] [srijedu] [u] LT' ;
case 6 :
return '[u] [subotu] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[u] dddd [u] LT' ;
}
} ,
lastDay : '[jučer u] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
return '[prošlu] dddd [u] LT' ;
case 6 :
return '[prošle] [subote] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[prošli] dddd [u] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : 'prije %s' ,
s : 'par sekundi' ,
2015-07-22 17:10:40 +03:00
m : bs _ _translate ,
mm : bs _ _translate ,
h : bs _ _translate ,
hh : bs _ _translate ,
2014-08-26 19:39:15 +04:00
d : 'dan' ,
2015-07-22 17:10:40 +03:00
dd : bs _ _translate ,
2014-08-26 19:39:15 +04:00
M : 'mjesec' ,
2015-07-22 17:10:40 +03:00
MM : bs _ _translate ,
2014-08-26 19:39:15 +04:00
y : 'godinu' ,
2015-07-22 17:10:40 +03:00
yy : bs _ _translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : catalan (ca)
//! author : Juan G. Hurtado : https://github.com/juanghurtado
var ca = _moment _ _default . defineLocale ( 'ca' , {
2014-08-26 19:39:15 +04:00
months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre' . split ( '_' ) ,
monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.' . split ( '_' ) ,
weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte' . split ( '_' ) ,
weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.' . split ( '_' ) ,
weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : function ( ) {
return '[avui a ' + ( ( this . hours ( ) !== 1 ) ? 'les' : 'la' ) + '] LT' ;
} ,
nextDay : function ( ) {
return '[demà a ' + ( ( this . hours ( ) !== 1 ) ? 'les' : 'la' ) + '] LT' ;
} ,
nextWeek : function ( ) {
return 'dddd [a ' + ( ( this . hours ( ) !== 1 ) ? 'les' : 'la' ) + '] LT' ;
} ,
lastDay : function ( ) {
return '[ahir a ' + ( ( this . hours ( ) !== 1 ) ? 'les' : 'la' ) + '] LT' ;
} ,
lastWeek : function ( ) {
return '[el] dddd [passat a ' + ( ( this . hours ( ) !== 1 ) ? 'les' : 'la' ) + '] LT' ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'en %s' ,
past : 'fa %s' ,
s : 'uns segons' ,
m : 'un minut' ,
mm : '%d minuts' ,
h : 'una hora' ,
hh : '%d hores' ,
d : 'un dia' ,
dd : '%d dies' ,
M : 'un mes' ,
MM : '%d mesos' ,
y : 'un any' ,
yy : '%d anys'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(r|n|t|è|a)/ ,
ordinal : function ( number , period ) {
var output = ( number === 1 ) ? 'r' :
( number === 2 ) ? 'n' :
( number === 3 ) ? 'r' :
( number === 4 ) ? 't' : 'è' ;
if ( period === 'w' || period === 'W' ) {
output = 'a' ;
}
return number + output ;
} ,
2014-08-26 19:39:15 +04:00
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : czech (cs)
//! author : petrbela : https://github.com/petrbela
var cs _ _months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec' . split ( '_' ) ,
cs _ _monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro' . split ( '_' ) ;
function cs _ _plural ( n ) {
2014-08-26 19:39:15 +04:00
return ( n > 1 ) && ( n < 5 ) && ( ~ ~ ( n / 10 ) !== 1 ) ;
}
2015-07-22 17:10:40 +03:00
function cs _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 's' : // a few seconds / in a few seconds / a few seconds ago
return ( withoutSuffix || isFuture ) ? 'pár sekund' : 'pár sekundami' ;
case 'm' : // a minute / in a minute / a minute ago
return withoutSuffix ? 'minuta' : ( isFuture ? 'minutu' : 'minutou' ) ;
case 'mm' : // 9 minutes / in 9 minutes / 9 minutes ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( cs _ _plural ( number ) ? 'minuty' : 'minut' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'minutami' ;
}
break ;
case 'h' : // an hour / in an hour / an hour ago
return withoutSuffix ? 'hodina' : ( isFuture ? 'hodinu' : 'hodinou' ) ;
case 'hh' : // 9 hours / in 9 hours / 9 hours ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( cs _ _plural ( number ) ? 'hodiny' : 'hodin' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'hodinami' ;
}
break ;
case 'd' : // a day / in a day / a day ago
return ( withoutSuffix || isFuture ) ? 'den' : 'dnem' ;
case 'dd' : // 9 days / in 9 days / 9 days ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( cs _ _plural ( number ) ? 'dny' : 'dní' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'dny' ;
}
break ;
case 'M' : // a month / in a month / a month ago
return ( withoutSuffix || isFuture ) ? 'měsíc' : 'měsícem' ;
case 'MM' : // 9 months / in 9 months / 9 months ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( cs _ _plural ( number ) ? 'měsíce' : 'měsíců' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'měsíci' ;
}
break ;
case 'y' : // a year / in a year / a year ago
return ( withoutSuffix || isFuture ) ? 'rok' : 'rokem' ;
case 'yy' : // 9 years / in 9 years / 9 years ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( cs _ _plural ( number ) ? 'roky' : 'let' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'lety' ;
}
break ;
}
}
2015-07-22 17:10:40 +03:00
var cs = _moment _ _default . defineLocale ( 'cs' , {
months : cs _ _months ,
monthsShort : cs _ _monthsShort ,
2014-08-26 19:39:15 +04:00
monthsParse : ( function ( months , monthsShort ) {
var i , _monthsParse = [ ] ;
for ( i = 0 ; i < 12 ; i ++ ) {
// use custom parser to solve problem with July (červenec)
_monthsParse [ i ] = new RegExp ( '^' + months [ i ] + '$|^' + monthsShort [ i ] + '$' , 'i' ) ;
}
return _monthsParse ;
2015-07-22 17:10:40 +03:00
} ( cs _ _months , cs _ _monthsShort ) ) ,
2014-08-26 19:39:15 +04:00
weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota' . split ( '_' ) ,
weekdaysShort : 'ne_po_út_st_čt_pá_so' . split ( '_' ) ,
weekdaysMin : 'ne_po_út_st_čt_pá_so' . split ( '_' ) ,
longDateFormat : {
2014-11-03 13:18:52 +03:00
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
L : 'DD.MM.YYYY' ,
2014-08-26 19:39:15 +04:00
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[dnes v] LT' ,
nextDay : '[zítra v] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[v neděli v] LT' ;
case 1 :
case 2 :
return '[v] dddd [v] LT' ;
case 3 :
return '[ve středu v] LT' ;
case 4 :
return '[ve čtvrtek v] LT' ;
case 5 :
return '[v pátek v] LT' ;
case 6 :
return '[v sobotu v] LT' ;
}
} ,
lastDay : '[včera v] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[minulou neděli v] LT' ;
case 1 :
case 2 :
return '[minulé] dddd [v] LT' ;
case 3 :
return '[minulou středu v] LT' ;
case 4 :
case 5 :
return '[minulý] dddd [v] LT' ;
case 6 :
return '[minulou sobotu v] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : 'před %s' ,
2015-07-22 17:10:40 +03:00
s : cs _ _translate ,
m : cs _ _translate ,
mm : cs _ _translate ,
h : cs _ _translate ,
hh : cs _ _translate ,
d : cs _ _translate ,
dd : cs _ _translate ,
M : cs _ _translate ,
MM : cs _ _translate ,
y : cs _ _translate ,
yy : cs _ _translate
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : chuvash (cv)
//! author : Anatoly Mironov : https://github.com/mirontoli
var cv = _moment _ _default . defineLocale ( 'cv' , {
months : 'кӑр ла ч_на р ӑс _пу ш_а ка _ма й_ҫӗр тме _у тӑ_ҫу р ла _а вӑн_юпа _чӳк_р а шта в' . split ( '_' ) ,
monthsShort : 'кӑр _на р _пу ш_а ка _ма й_ҫӗр _у тӑ_ҫу р _а вн_юпа _чӳк_р а ш' . split ( '_' ) ,
weekdays : 'выр с а р нику н_ту нтику н_ытла р ику н_юнку н_кӗҫне р нику н_эр не ку н_шӑма тку н' . split ( '_' ) ,
weekdaysShort : 'выр _ту н_ытл_юн_кӗҫ_эр н_шӑм' . split ( '_' ) ,
weekdaysMin : 'вр _тн_ыт_юн_кҫ_эр _шм' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD-MM-YYYY' ,
2015-07-22 17:10:40 +03:00
LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]' ,
LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], LT' ,
LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], LT'
2014-08-26 19:39:15 +04:00
} ,
calendar : {
sameDay : '[Паян] LT [сехетре]' ,
nextDay : '[Ыран] LT [сехетре]' ,
2015-07-22 17:10:40 +03:00
lastDay : '[Ӗнер] LT [сехетре]' ,
nextWeek : '[Ҫитес] dddd LT [сехетре]' ,
lastWeek : '[Иртнӗ] dddd LT [сехетре]' ,
2014-08-26 19:39:15 +04:00
sameElse : 'L'
} ,
relativeTime : {
future : function ( output ) {
2015-07-22 17:10:40 +03:00
var affix = /сехет$/i . exec ( output ) ? 'рен' : /ҫул$/i . exec ( output ) ? 'тан' : 'ран' ;
2014-08-26 19:39:15 +04:00
return output + affix ;
} ,
past : '%s каялла' ,
2015-07-22 17:10:40 +03:00
s : 'пӗр-ик ҫеккунт' ,
m : 'пӗр минут' ,
2014-08-26 19:39:15 +04:00
mm : '%d минут' ,
2015-07-22 17:10:40 +03:00
h : 'пӗр сехет' ,
2014-08-26 19:39:15 +04:00
hh : '%d сехет' ,
2015-07-22 17:10:40 +03:00
d : 'пӗр кун' ,
2014-08-26 19:39:15 +04:00
dd : '%d кун' ,
2015-07-22 17:10:40 +03:00
M : 'пӗр уйӑх' ,
MM : '%d уйӑх' ,
y : 'пӗр ҫул' ,
yy : '%d ҫул'
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-мӗш/ ,
ordinal : '%d-мӗш' ,
2014-08-26 19:39:15 +04:00
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Welsh (cy)
//! author : Robert Allen
var cy = _moment _ _default . defineLocale ( 'cy' , {
2014-08-26 19:39:15 +04:00
months : 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr' . split ( '_' ) ,
monthsShort : 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag' . split ( '_' ) ,
weekdays : 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn' . split ( '_' ) ,
weekdaysShort : 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad' . split ( '_' ) ,
weekdaysMin : 'Su_Ll_Ma_Me_Ia_Gw_Sa' . split ( '_' ) ,
// time formats are the same as en-gb
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Heddiw am] LT' ,
nextDay : '[Yfory am] LT' ,
nextWeek : 'dddd [am] LT' ,
lastDay : '[Ddoe am] LT' ,
lastWeek : 'dddd [diwethaf am] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'mewn %s' ,
past : '%s yn ôl' ,
s : 'ychydig eiliadau' ,
m : 'munud' ,
mm : '%d munud' ,
h : 'awr' ,
hh : '%d awr' ,
d : 'diwrnod' ,
dd : '%d diwrnod' ,
M : 'mis' ,
MM : '%d mis' ,
y : 'blwyddyn' ,
yy : '%d flynedd'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/ ,
2014-08-26 19:39:15 +04:00
// traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
ordinal : function ( number ) {
var b = number ,
output = '' ,
lookup = [
'' , 'af' , 'il' , 'ydd' , 'ydd' , 'ed' , 'ed' , 'ed' , 'fed' , 'fed' , 'fed' , // 1af to 10fed
'eg' , 'fed' , 'eg' , 'eg' , 'fed' , 'eg' , 'eg' , 'fed' , 'eg' , 'fed' // 11eg to 20fed
] ;
if ( b > 20 ) {
if ( b === 40 || b === 50 || b === 60 || b === 80 || b === 100 ) {
output = 'fed' ; // not 30ain, 70ain or 90ain
} else {
output = 'ain' ;
}
} else if ( b > 0 ) {
output = lookup [ b ] ;
}
return number + output ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : danish (da)
//! author : Ulrik Nielsen : https://github.com/mrbase
var da = _moment _ _default . defineLocale ( 'da' , {
2014-08-26 19:39:15 +04:00
months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec' . split ( '_' ) ,
weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag' . split ( '_' ) ,
weekdaysShort : 'søn_man_tir_ons_tor_fre_lør' . split ( '_' ) ,
weekdaysMin : 'sø_ma_ti_on_to_fr_lø' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd [d.] D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[I dag kl.] LT' ,
nextDay : '[I morgen kl.] LT' ,
nextWeek : 'dddd [kl.] LT' ,
lastDay : '[I går kl.] LT' ,
lastWeek : '[sidste] dddd [kl] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'om %s' ,
past : '%s siden' ,
s : 'få sekunder' ,
m : 'et minut' ,
mm : '%d minutter' ,
h : 'en time' ,
hh : '%d timer' ,
d : 'en dag' ,
dd : '%d dage' ,
M : 'en måned' ,
MM : '%d måneder' ,
y : 'et år' ,
yy : '%d år'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : austrian german (de-at)
//! author : lluchs : https://github.com/lluchs
//! author: Menelion Elensúle: https://github.com/Oire
//! author : Martin Groller : https://github.com/MadMG
function de _at _ _processRelativeTime ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var format = {
'm' : [ 'eine Minute' , 'einer Minute' ] ,
'h' : [ 'eine Stunde' , 'einer Stunde' ] ,
'd' : [ 'ein Tag' , 'einem Tag' ] ,
'dd' : [ number + ' Tage' , number + ' Tagen' ] ,
'M' : [ 'ein Monat' , 'einem Monat' ] ,
'MM' : [ number + ' Monate' , number + ' Monaten' ] ,
'y' : [ 'ein Jahr' , 'einem Jahr' ] ,
'yy' : [ number + ' Jahre' , number + ' Jahren' ]
} ;
return withoutSuffix ? format [ key ] [ 0 ] : format [ key ] [ 1 ] ;
}
2015-07-22 17:10:40 +03:00
var de _at = _moment _ _default . defineLocale ( 'de-at' , {
2014-08-26 19:39:15 +04:00
months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember' . split ( '_' ) ,
monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.' . split ( '_' ) ,
weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag' . split ( '_' ) ,
weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.' . split ( '_' ) ,
weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
2015-07-22 17:10:40 +03:00
LT : 'HH:mm' ,
LTS : 'HH:mm:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
2015-07-22 17:10:40 +03:00
sameDay : '[Heute um] LT [Uhr]' ,
2014-08-26 19:39:15 +04:00
sameElse : 'L' ,
2015-07-22 17:10:40 +03:00
nextDay : '[Morgen um] LT [Uhr]' ,
nextWeek : 'dddd [um] LT [Uhr]' ,
lastDay : '[Gestern um] LT [Uhr]' ,
lastWeek : '[letzten] dddd [um] LT [Uhr]'
2014-08-26 19:39:15 +04:00
} ,
relativeTime : {
future : 'in %s' ,
past : 'vor %s' ,
s : 'ein paar Sekunden' ,
2015-07-22 17:10:40 +03:00
m : de _at _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
mm : '%d Minuten' ,
2015-07-22 17:10:40 +03:00
h : de _at _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
hh : '%d Stunden' ,
2015-07-22 17:10:40 +03:00
d : de _at _ _processRelativeTime ,
dd : de _at _ _processRelativeTime ,
M : de _at _ _processRelativeTime ,
MM : de _at _ _processRelativeTime ,
y : de _at _ _processRelativeTime ,
yy : de _at _ _processRelativeTime
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : german (de)
//! author : lluchs : https://github.com/lluchs
//! author: Menelion Elensúle: https://github.com/Oire
function de _ _processRelativeTime ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var format = {
'm' : [ 'eine Minute' , 'einer Minute' ] ,
'h' : [ 'eine Stunde' , 'einer Stunde' ] ,
'd' : [ 'ein Tag' , 'einem Tag' ] ,
'dd' : [ number + ' Tage' , number + ' Tagen' ] ,
'M' : [ 'ein Monat' , 'einem Monat' ] ,
'MM' : [ number + ' Monate' , number + ' Monaten' ] ,
'y' : [ 'ein Jahr' , 'einem Jahr' ] ,
'yy' : [ number + ' Jahre' , number + ' Jahren' ]
} ;
return withoutSuffix ? format [ key ] [ 0 ] : format [ key ] [ 1 ] ;
}
2015-07-22 17:10:40 +03:00
var de = _moment _ _default . defineLocale ( 'de' , {
2014-08-26 19:39:15 +04:00
months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember' . split ( '_' ) ,
monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.' . split ( '_' ) ,
weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag' . split ( '_' ) ,
weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.' . split ( '_' ) ,
weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
2015-07-22 17:10:40 +03:00
LT : 'HH:mm' ,
LTS : 'HH:mm:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
2015-07-22 17:10:40 +03:00
sameDay : '[Heute um] LT [Uhr]' ,
2014-08-26 19:39:15 +04:00
sameElse : 'L' ,
2015-07-22 17:10:40 +03:00
nextDay : '[Morgen um] LT [Uhr]' ,
nextWeek : 'dddd [um] LT [Uhr]' ,
lastDay : '[Gestern um] LT [Uhr]' ,
lastWeek : '[letzten] dddd [um] LT [Uhr]'
2014-08-26 19:39:15 +04:00
} ,
relativeTime : {
future : 'in %s' ,
past : 'vor %s' ,
s : 'ein paar Sekunden' ,
2015-07-22 17:10:40 +03:00
m : de _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
mm : '%d Minuten' ,
2015-07-22 17:10:40 +03:00
h : de _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
hh : '%d Stunden' ,
2015-07-22 17:10:40 +03:00
d : de _ _processRelativeTime ,
dd : de _ _processRelativeTime ,
M : de _ _processRelativeTime ,
MM : de _ _processRelativeTime ,
y : de _ _processRelativeTime ,
yy : de _ _processRelativeTime
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : modern greek (el)
//! author : Aggelos Karalias : https://github.com/mehiel
var el = _moment _ _default . defineLocale ( 'el' , {
2014-08-26 19:39:15 +04:00
monthsNominativeEl : 'Ι α ν ο υ άρ ι ο ς_Φεβρ ο υ άρ ι ο ς_Μ άρ τι ο ς_Α πρ ίλι ο ς_Μ άι ο ς_Ι ο ύν ι ο ς_Ι ο ύλι ο ς_Α ύγ ο υ σ το ς_Σεπτέμβρ ι ο ς_Ο κτώβρ ι ο ς_Ν ο έμβρ ι ο ς_Δεκέμβρ ι ο ς' . split ( '_' ) ,
monthsGenitiveEl : 'Ι α ν ο υ α ρ ίο υ _Φεβρ ο υ α ρ ίο υ _Μ α ρ τίο υ _Α πρ ι λίο υ _Μ α ΐο υ _Ι ο υ ν ίο υ _Ι ο υ λίο υ _Α υ γ ο ύσ το υ _Σεπτεμβρ ίο υ _Ο κτωβρ ίο υ _Ν ο εμβρ ίο υ _Δεκεμβρ ίο υ ' . split ( '_' ) ,
months : function ( momentToFormat , format ) {
if ( /D/ . test ( format . substring ( 0 , format . indexOf ( 'MMMM' ) ) ) ) { // if there is a day number before 'MMMM'
return this . _monthsGenitiveEl [ momentToFormat . month ( ) ] ;
} else {
return this . _monthsNominativeEl [ momentToFormat . month ( ) ] ;
}
} ,
monthsShort : 'Ι α ν _Φεβ_Μ α ρ _Α πρ _Μ α ϊ_Ι ο υ ν _Ι ο υ λ_Α υ γ _Σεπ_Ο κτ_Ν ο ε_Δεκ' . split ( '_' ) ,
weekdays : 'Κ υ ρ ι α κή_Δευ τέρ α _Τ ρ ίτη_Τ ετάρ τη_Πέμπτη_Πα ρ α σ κευ ή_Σάββα το ' . split ( '_' ) ,
weekdaysShort : 'Κ υ ρ _Δευ _Τ ρ ι _Τ ετ_Πεμ_Πα ρ _Σα β' . split ( '_' ) ,
weekdaysMin : 'Κ υ _Δε_Τ ρ _Τ ε_Πε_Πα _Σα ' . split ( '_' ) ,
meridiem : function ( hours , minutes , isLower ) {
if ( hours > 11 ) {
return isLower ? 'μμ' : 'Μ Μ ' ;
} else {
return isLower ? 'πμ' : 'ΠΜ' ;
}
} ,
isPM : function ( input ) {
return ( ( input + '' ) . toLowerCase ( ) [ 0 ] === 'μ' ) ;
} ,
meridiemParse : /[ΠΜ]\.?Μ ?\.?/i ,
longDateFormat : {
LT : 'h:mm A' ,
2015-07-22 17:10:40 +03:00
LTS : 'h:mm:ss A' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendarEl : {
sameDay : '[Σήμερα {}] LT' ,
nextDay : '[Αύριο {}] LT' ,
nextWeek : 'dddd [{}] LT' ,
lastDay : '[Χθες {}] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 6 :
return '[το προηγούμενο] dddd [{}] LT' ;
default :
return '[την προηγούμενη] dddd [{}] LT' ;
}
} ,
sameElse : 'L'
} ,
calendar : function ( key , mom ) {
var output = this . _calendarEl [ key ] ,
hours = mom && mom . hours ( ) ;
if ( typeof output === 'function' ) {
output = output . apply ( mom ) ;
}
return output . replace ( '{}' , ( hours % 12 === 1 ? 'στη' : 'στις' ) ) ;
} ,
relativeTime : {
future : 'σε %s' ,
past : '%s πριν' ,
2015-07-22 17:10:40 +03:00
s : 'λίγα δευτερόλεπτα' ,
2014-08-26 19:39:15 +04:00
m : 'ένα λεπτό' ,
mm : '%d λεπτά' ,
h : 'μία ώρα' ,
hh : '%d ώρες' ,
d : 'μία μέρα' ,
dd : '%d μέρες' ,
M : 'ένας μήνας' ,
MM : '%d μήνες' ,
y : 'ένας χρόνος' ,
yy : '%d χρόνια'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}η/ ,
ordinal : '%dη' ,
2014-08-26 19:39:15 +04:00
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : australian english (en-au)
var en _au = _moment _ _default . defineLocale ( 'en-au' , {
2014-08-26 19:39:15 +04:00
months : 'January_February_March_April_May_June_July_August_September_October_November_December' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec' . split ( '_' ) ,
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday' . split ( '_' ) ,
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat' . split ( '_' ) ,
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'h:mm A' ,
2015-07-22 17:10:40 +03:00
LTS : 'h:mm:ss A' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Today at] LT' ,
nextDay : '[Tomorrow at] LT' ,
nextWeek : 'dddd [at] LT' ,
lastDay : '[Yesterday at] LT' ,
lastWeek : '[Last] dddd [at] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'in %s' ,
past : '%s ago' ,
s : 'a few seconds' ,
m : 'a minute' ,
mm : '%d minutes' ,
h : 'an hour' ,
hh : '%d hours' ,
d : 'a day' ,
dd : '%d days' ,
M : 'a month' ,
MM : '%d months' ,
y : 'a year' ,
yy : '%d years'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(st|nd|rd|th)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var b = number % 10 ,
output = ( ~ ~ ( number % 100 / 10 ) === 1 ) ? 'th' :
( b === 1 ) ? 'st' :
( b === 2 ) ? 'nd' :
( b === 3 ) ? 'rd' : 'th' ;
return number + output ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : canadian english (en-ca)
//! author : Jonathan Abourbih : https://github.com/jonbca
var en _ca = _moment _ _default . defineLocale ( 'en-ca' , {
2014-08-26 19:39:15 +04:00
months : 'January_February_March_April_May_June_July_August_September_October_November_December' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec' . split ( '_' ) ,
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday' . split ( '_' ) ,
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat' . split ( '_' ) ,
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'h:mm A' ,
2015-07-22 17:10:40 +03:00
LTS : 'h:mm:ss A' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'D MMMM, YYYY' ,
LLL : 'D MMMM, YYYY LT' ,
LLLL : 'dddd, D MMMM, YYYY LT'
} ,
calendar : {
sameDay : '[Today at] LT' ,
nextDay : '[Tomorrow at] LT' ,
nextWeek : 'dddd [at] LT' ,
lastDay : '[Yesterday at] LT' ,
lastWeek : '[Last] dddd [at] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'in %s' ,
past : '%s ago' ,
s : 'a few seconds' ,
m : 'a minute' ,
mm : '%d minutes' ,
h : 'an hour' ,
hh : '%d hours' ,
d : 'a day' ,
dd : '%d days' ,
M : 'a month' ,
MM : '%d months' ,
y : 'a year' ,
yy : '%d years'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(st|nd|rd|th)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var b = number % 10 ,
output = ( ~ ~ ( number % 100 / 10 ) === 1 ) ? 'th' :
( b === 1 ) ? 'st' :
( b === 2 ) ? 'nd' :
( b === 3 ) ? 'rd' : 'th' ;
return number + output ;
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : great britain english (en-gb)
//! author : Chris Gedrim : https://github.com/chrisgedrim
var en _gb = _moment _ _default . defineLocale ( 'en-gb' , {
2014-08-26 19:39:15 +04:00
months : 'January_February_March_April_May_June_July_August_September_October_November_December' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec' . split ( '_' ) ,
weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday' . split ( '_' ) ,
weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat' . split ( '_' ) ,
weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'HH:mm:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Today at] LT' ,
nextDay : '[Tomorrow at] LT' ,
nextWeek : 'dddd [at] LT' ,
lastDay : '[Yesterday at] LT' ,
lastWeek : '[Last] dddd [at] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'in %s' ,
past : '%s ago' ,
s : 'a few seconds' ,
m : 'a minute' ,
mm : '%d minutes' ,
h : 'an hour' ,
hh : '%d hours' ,
d : 'a day' ,
dd : '%d days' ,
M : 'a month' ,
MM : '%d months' ,
y : 'a year' ,
yy : '%d years'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(st|nd|rd|th)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var b = number % 10 ,
output = ( ~ ~ ( number % 100 / 10 ) === 1 ) ? 'th' :
( b === 1 ) ? 'st' :
( b === 2 ) ? 'nd' :
( b === 3 ) ? 'rd' : 'th' ;
return number + output ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : esperanto (eo)
//! author : Colin Dean : https://github.com/colindean
//! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
//! Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
var eo = _moment _ _default . defineLocale ( 'eo' , {
2014-08-26 19:39:15 +04:00
months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec' . split ( '_' ) ,
weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato' . split ( '_' ) ,
weekdaysShort : 'Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab' . split ( '_' ) ,
weekdaysMin : 'Di_Lu_Ma_Me_Ĵa_Ve_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'D[-an de] MMMM, YYYY' ,
LLL : 'D[-an de] MMMM, YYYY LT' ,
LLLL : 'dddd, [la] D[-an de] MMMM, YYYY LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /[ap]\.t\.m/i ,
isPM : function ( input ) {
return input . charAt ( 0 ) . toLowerCase ( ) === 'p' ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
if ( hours > 11 ) {
return isLower ? 'p.t.m.' : 'P.T.M.' ;
} else {
return isLower ? 'a.t.m.' : 'A.T.M.' ;
}
} ,
calendar : {
sameDay : '[Hodiaŭ je] LT' ,
nextDay : '[Morgaŭ je] LT' ,
nextWeek : 'dddd [je] LT' ,
lastDay : '[Hieraŭ je] LT' ,
lastWeek : '[pasinta] dddd [je] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'je %s' ,
past : 'antaŭ %s' ,
s : 'sekundoj' ,
m : 'minuto' ,
mm : '%d minutoj' ,
h : 'horo' ,
hh : '%d horoj' ,
d : 'tago' , //ne 'diurno', ĉar estas uzita por proksimumo
dd : '%d tagoj' ,
M : 'monato' ,
MM : '%d monatoj' ,
y : 'jaro' ,
yy : '%d jaroj'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}a/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%da' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : spanish (es)
//! author : Julio Napurí : https://github.com/julionc
var monthsShortDot = 'Ene._Feb._Mar._Abr._May._Jun._Jul._Ago._Sep._Oct._Nov._Dic.' . split ( '_' ) ,
es _ _monthsShort = 'Ene_Feb_Mar_Abr_May_Jun_Jul_Ago_Sep_Oct_Nov_Dic' . split ( '_' ) ;
var es = _moment _ _default . defineLocale ( 'es' , {
months : 'Enero_Febrero_Marzo_Abril_Mayo_Junio_Julio_Agosto_Septiembre_Octubre_Noviembre_Diciembre' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
monthsShort : function ( m , format ) {
if ( /-MMM-/ . test ( format ) ) {
2015-07-22 17:10:40 +03:00
return es _ _monthsShort [ m . month ( ) ] ;
2014-08-26 19:39:15 +04:00
} else {
return monthsShortDot [ m . month ( ) ] ;
}
} ,
2015-07-22 17:10:40 +03:00
weekdays : 'Domingo_Lunes_Martes_Miércoles_Jueves_Viernes_Sábado' . split ( '_' ) ,
weekdaysShort : 'Dom._Lun._Mar._Mié._Jue._Vie._Sáb.' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
weekdaysMin : 'Do_Lu_Ma_Mi_Ju_Vi_Sá' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D [de] MMMM [de] YYYY' ,
LLL : 'D [de] MMMM [de] YYYY LT' ,
LLLL : 'dddd, D [de] MMMM [de] YYYY LT'
} ,
calendar : {
sameDay : function ( ) {
return '[hoy a la' + ( ( this . hours ( ) !== 1 ) ? 's' : '' ) + '] LT' ;
} ,
nextDay : function ( ) {
return '[mañana a la' + ( ( this . hours ( ) !== 1 ) ? 's' : '' ) + '] LT' ;
} ,
nextWeek : function ( ) {
return 'dddd [a la' + ( ( this . hours ( ) !== 1 ) ? 's' : '' ) + '] LT' ;
} ,
lastDay : function ( ) {
return '[ayer a la' + ( ( this . hours ( ) !== 1 ) ? 's' : '' ) + '] LT' ;
} ,
lastWeek : function ( ) {
return '[el] dddd [pasado a la' + ( ( this . hours ( ) !== 1 ) ? 's' : '' ) + '] LT' ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'en %s' ,
past : 'hace %s' ,
s : 'unos segundos' ,
m : 'un minuto' ,
mm : '%d minutos' ,
h : 'una hora' ,
hh : '%d horas' ,
d : 'un día' ,
dd : '%d días' ,
M : 'un mes' ,
MM : '%d meses' ,
y : 'un año' ,
yy : '%d años'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}º/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dº' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : estonian (et)
//! author : Henry Kehlmann : https://github.com/madhenry
//! improvements : Illimar Tambek : https://github.com/ragulka
function et _ _processRelativeTime ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var format = {
's' : [ 'mõne sekundi' , 'mõni sekund' , 'paar sekundit' ] ,
'm' : [ 'ühe minuti' , 'üks minut' ] ,
'mm' : [ number + ' minuti' , number + ' minutit' ] ,
'h' : [ 'ühe tunni' , 'tund aega' , 'üks tund' ] ,
'hh' : [ number + ' tunni' , number + ' tundi' ] ,
'd' : [ 'ühe päeva' , 'üks päev' ] ,
'M' : [ 'kuu aja' , 'kuu aega' , 'üks kuu' ] ,
'MM' : [ number + ' kuu' , number + ' kuud' ] ,
'y' : [ 'ühe aasta' , 'aasta' , 'üks aasta' ] ,
'yy' : [ number + ' aasta' , number + ' aastat' ]
} ;
if ( withoutSuffix ) {
return format [ key ] [ 2 ] ? format [ key ] [ 2 ] : format [ key ] [ 1 ] ;
}
return isFuture ? format [ key ] [ 0 ] : format [ key ] [ 1 ] ;
}
2015-07-22 17:10:40 +03:00
var et = _moment _ _default . defineLocale ( 'et' , {
2014-08-26 19:39:15 +04:00
months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember' . split ( '_' ) ,
monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets' . split ( '_' ) ,
weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev' . split ( '_' ) ,
weekdaysShort : 'P_E_T_K_N_R_L' . split ( '_' ) ,
weekdaysMin : 'P_E_T_K_N_R_L' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Täna,] LT' ,
nextDay : '[Homme,] LT' ,
nextWeek : '[Järgmine] dddd LT' ,
lastDay : '[Eile,] LT' ,
lastWeek : '[Eelmine] dddd LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s pärast' ,
past : '%s tagasi' ,
2015-07-22 17:10:40 +03:00
s : et _ _processRelativeTime ,
m : et _ _processRelativeTime ,
mm : et _ _processRelativeTime ,
h : et _ _processRelativeTime ,
hh : et _ _processRelativeTime ,
d : et _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
dd : '%d päeva' ,
2015-07-22 17:10:40 +03:00
M : et _ _processRelativeTime ,
MM : et _ _processRelativeTime ,
y : et _ _processRelativeTime ,
yy : et _ _processRelativeTime
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : euskara (eu)
//! author : Eneko Illarramendi : https://github.com/eillarra
var eu = _moment _ _default . defineLocale ( 'eu' , {
2014-08-26 19:39:15 +04:00
months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua' . split ( '_' ) ,
monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.' . split ( '_' ) ,
weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata' . split ( '_' ) ,
weekdaysShort : 'ig._al._ar._az._og._ol._lr.' . split ( '_' ) ,
weekdaysMin : 'ig_al_ar_az_og_ol_lr' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'YYYY[ko] MMMM[ren] D[a]' ,
LLL : 'YYYY[ko] MMMM[ren] D[a] LT' ,
LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] LT' ,
l : 'YYYY-M-D' ,
ll : 'YYYY[ko] MMM D[a]' ,
lll : 'YYYY[ko] MMM D[a] LT' ,
llll : 'ddd, YYYY[ko] MMM D[a] LT'
} ,
calendar : {
sameDay : '[gaur] LT[etan]' ,
nextDay : '[bihar] LT[etan]' ,
nextWeek : 'dddd LT[etan]' ,
lastDay : '[atzo] LT[etan]' ,
lastWeek : '[aurreko] dddd LT[etan]' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s barru' ,
past : 'duela %s' ,
s : 'segundo batzuk' ,
m : 'minutu bat' ,
mm : '%d minutu' ,
h : 'ordu bat' ,
hh : '%d ordu' ,
d : 'egun bat' ,
dd : '%d egun' ,
M : 'hilabete bat' ,
MM : '%d hilabete' ,
y : 'urte bat' ,
yy : '%d urte'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Persian (fa)
//! author : Ebrahim Byagowi : https://github.com/ebraminio
var fa _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '۱ ' ,
'2' : '۲' ,
'3' : '۳' ,
'4' : '۴' ,
'5' : '۵ ' ,
'6' : '۶' ,
'7' : '۷ ' ,
'8' : '۸' ,
'9' : '۹' ,
'0' : '۰ '
2015-07-22 17:10:40 +03:00
} , fa _ _numberMap = {
2014-08-26 19:39:15 +04:00
'۱ ' : '1' ,
'۲' : '2' ,
'۳' : '3' ,
'۴' : '4' ,
'۵ ' : '5' ,
'۶' : '6' ,
'۷ ' : '7' ,
'۸' : '8' ,
'۹' : '9' ,
'۰ ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var fa = _moment _ _default . defineLocale ( 'fa' , {
2014-08-26 19:39:15 +04:00
months : 'ژا نویه _فوریه _ما رس_آوریل_مه _ژوئن_ژوئیه _ا وت_سپتا مبر_ا کتبر_نوا مبر_دسا مبر' . split ( '_' ) ,
monthsShort : 'ژا نویه _فوریه _ما رس_آوریل_مه _ژوئن_ژوئیه _ا وت_سپتا مبر_ا کتبر_نوا مبر_دسا مبر' . split ( '_' ) ,
weekdays : 'یک\u200cشنبه _دوشنبه _سه \u200cشنبه _چه ا رشنبه _پنج\u200cشنبه _جمعه _شنبه ' . split ( '_' ) ,
weekdaysShort : 'یک\u200cشنبه _دوشنبه _سه \u200cشنبه _چه ا رشنبه _پنج\u200cشنبه _جمعه _شنبه ' . split ( '_' ) ,
weekdaysMin : 'ی_د_س_چ_پ_ج_ش' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /قبل از ظهر|بعد از ظهر/ ,
isPM : function ( input ) {
return /بعد از ظهر/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 12 ) {
return 'قبل از ظهر' ;
} else {
return 'بعد از ظهر' ;
}
} ,
calendar : {
sameDay : '[امروز ساعت] LT' ,
nextDay : '[فردا ساعت] LT' ,
nextWeek : 'dddd [ساعت] LT' ,
lastDay : '[دیروز ساعت] LT' ,
lastWeek : 'dddd [پیش] [ساعت] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'در %s' ,
past : '%s پیش' ,
s : 'چندین ثانیه' ,
m : 'یک دقیقه' ,
mm : '%d دقیقه' ,
h : 'یک ساعت' ,
hh : '%d ساعت' ,
d : 'یک روز' ,
dd : '%d روز' ,
M : 'یک ماه' ,
MM : '%d ماه' ,
y : 'یک سال' ,
yy : '%d سال'
} ,
preparse : function ( string ) {
return string . replace ( /[۰ -۹]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return fa _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /،/g , ',' ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return fa _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) . replace ( /,/g , '،' ) ;
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}م/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dم' ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : finnish (fi)
//! author : Tarmo Aidantausta : https://github.com/bleadof
2014-08-26 19:39:15 +04:00
var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän' . split ( ' ' ) ,
numbersFuture = [
'nolla' , 'yhden' , 'kahden' , 'kolmen' , 'neljän' , 'viiden' , 'kuuden' ,
numbersPast [ 7 ] , numbersPast [ 8 ] , numbersPast [ 9 ]
] ;
2015-07-22 17:10:40 +03:00
function fi _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = '' ;
switch ( key ) {
case 's' :
return isFuture ? 'muutaman sekunnin' : 'muutama sekunti' ;
case 'm' :
return isFuture ? 'minuutin' : 'minuutti' ;
case 'mm' :
result = isFuture ? 'minuutin' : 'minuuttia' ;
break ;
case 'h' :
return isFuture ? 'tunnin' : 'tunti' ;
case 'hh' :
result = isFuture ? 'tunnin' : 'tuntia' ;
break ;
case 'd' :
return isFuture ? 'päivän' : 'päivä' ;
case 'dd' :
result = isFuture ? 'päivän' : 'päivää' ;
break ;
case 'M' :
return isFuture ? 'kuukauden' : 'kuukausi' ;
case 'MM' :
result = isFuture ? 'kuukauden' : 'kuukautta' ;
break ;
case 'y' :
return isFuture ? 'vuoden' : 'vuosi' ;
case 'yy' :
result = isFuture ? 'vuoden' : 'vuotta' ;
break ;
}
result = verbalNumber ( number , isFuture ) + ' ' + result ;
return result ;
}
function verbalNumber ( number , isFuture ) {
return number < 10 ? ( isFuture ? numbersFuture [ number ] : numbersPast [ number ] ) : number ;
}
2015-07-22 17:10:40 +03:00
var fi = _moment _ _default . defineLocale ( 'fi' , {
2014-08-26 19:39:15 +04:00
months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu' . split ( '_' ) ,
monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu' . split ( '_' ) ,
weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai' . split ( '_' ) ,
weekdaysShort : 'su_ma_ti_ke_to_pe_la' . split ( '_' ) ,
weekdaysMin : 'su_ma_ti_ke_to_pe_la' . split ( '_' ) ,
longDateFormat : {
LT : 'HH.mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'HH.mm.ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'Do MMMM[ta] YYYY' ,
LLL : 'Do MMMM[ta] YYYY, [klo] LT' ,
LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] LT' ,
l : 'D.M.YYYY' ,
ll : 'Do MMM YYYY' ,
lll : 'Do MMM YYYY, [klo] LT' ,
llll : 'ddd, Do MMM YYYY, [klo] LT'
} ,
calendar : {
sameDay : '[tänään] [klo] LT' ,
nextDay : '[huomenna] [klo] LT' ,
nextWeek : 'dddd [klo] LT' ,
lastDay : '[eilen] [klo] LT' ,
lastWeek : '[viime] dddd[na] [klo] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s päästä' ,
past : '%s sitten' ,
2015-07-22 17:10:40 +03:00
s : fi _ _translate ,
m : fi _ _translate ,
mm : fi _ _translate ,
h : fi _ _translate ,
hh : fi _ _translate ,
d : fi _ _translate ,
dd : fi _ _translate ,
M : fi _ _translate ,
MM : fi _ _translate ,
y : fi _ _translate ,
yy : fi _ _translate
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : faroese (fo)
//! author : Ragnar Johannesen : https://github.com/ragnar123
var fo = _moment _ _default . defineLocale ( 'fo' , {
2014-08-26 19:39:15 +04:00
months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des' . split ( '_' ) ,
weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur' . split ( '_' ) ,
weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley' . split ( '_' ) ,
weekdaysMin : 'su_má_tý_mi_hó_fr_le' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D. MMMM, YYYY LT'
} ,
calendar : {
sameDay : '[Í dag kl.] LT' ,
nextDay : '[Í morgin kl.] LT' ,
nextWeek : 'dddd [kl.] LT' ,
lastDay : '[Í gjár kl.] LT' ,
lastWeek : '[síðstu] dddd [kl] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'um %s' ,
past : '%s síðani' ,
s : 'fá sekund' ,
m : 'ein minutt' ,
mm : '%d minuttir' ,
h : 'ein tími' ,
hh : '%d tímar' ,
d : 'ein dagur' ,
dd : '%d dagar' ,
M : 'ein mánaði' ,
MM : '%d mánaðir' ,
y : 'eitt ár' ,
yy : '%d ár'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : canadian french (fr-ca)
//! author : Jonathan Abourbih : https://github.com/jonbca
var fr _ca = _moment _ _default . defineLocale ( 'fr-ca' , {
2014-08-26 19:39:15 +04:00
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre' . split ( '_' ) ,
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.' . split ( '_' ) ,
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi' . split ( '_' ) ,
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.' . split ( '_' ) ,
weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Aujourd\'hui à] LT' ,
nextDay : '[Demain à] LT' ,
nextWeek : 'dddd [à] LT' ,
lastDay : '[Hier à] LT' ,
lastWeek : 'dddd [dernier à] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'dans %s' ,
past : 'il y a %s' ,
s : 'quelques secondes' ,
m : 'une minute' ,
mm : '%d minutes' ,
h : 'une heure' ,
hh : '%d heures' ,
d : 'un jour' ,
dd : '%d jours' ,
M : 'un mois' ,
MM : '%d mois' ,
y : 'un an' ,
yy : '%d ans'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(er|)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + ( number === 1 ? 'er' : '' ) ;
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : french (fr)
//! author : John Fischer : https://github.com/jfroffice
var fr = _moment _ _default . defineLocale ( 'fr' , {
2014-08-26 19:39:15 +04:00
months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre' . split ( '_' ) ,
monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.' . split ( '_' ) ,
weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi' . split ( '_' ) ,
weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.' . split ( '_' ) ,
weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Aujourd\'hui à] LT' ,
nextDay : '[Demain à] LT' ,
nextWeek : 'dddd [à] LT' ,
lastDay : '[Hier à] LT' ,
lastWeek : 'dddd [dernier à] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'dans %s' ,
past : 'il y a %s' ,
s : 'quelques secondes' ,
m : 'une minute' ,
mm : '%d minutes' ,
h : 'une heure' ,
hh : '%d heures' ,
d : 'un jour' ,
dd : '%d jours' ,
M : 'un mois' ,
MM : '%d mois' ,
y : 'un an' ,
yy : '%d ans'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(er|)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + ( number === 1 ? 'er' : '' ) ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : frisian (fy)
//! author : Robin van der Vliet : https://github.com/robin0van0der0v
var fy _ _monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.' . split ( '_' ) ,
fy _ _monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des' . split ( '_' ) ;
var fy = _moment _ _default . defineLocale ( 'fy' , {
months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber' . split ( '_' ) ,
monthsShort : function ( m , format ) {
if ( /-MMM-/ . test ( format ) ) {
return fy _ _monthsShortWithoutDots [ m . month ( ) ] ;
} else {
return fy _ _monthsShortWithDots [ m . month ( ) ] ;
}
} ,
weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon' . split ( '_' ) ,
weekdaysShort : 'si._mo._ti._wo._to._fr._so.' . split ( '_' ) ,
weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
LTS : 'LT:ss' ,
L : 'DD-MM-YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[hjoed om] LT' ,
nextDay : '[moarn om] LT' ,
nextWeek : 'dddd [om] LT' ,
lastDay : '[juster om] LT' ,
lastWeek : '[ôfrûne] dddd [om] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'oer %s' ,
past : '%s lyn' ,
s : 'in pear sekonden' ,
m : 'ien minút' ,
mm : '%d minuten' ,
h : 'ien oere' ,
hh : '%d oeren' ,
d : 'ien dei' ,
dd : '%d dagen' ,
M : 'ien moanne' ,
MM : '%d moannen' ,
y : 'ien jier' ,
yy : '%d jierren'
} ,
ordinalParse : /\d{1,2}(ste|de)/ ,
ordinal : function ( number ) {
return number + ( ( number === 1 || number === 8 || number >= 20 ) ? 'ste' : 'de' ) ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
//! moment.js locale configuration
//! locale : galician (gl)
//! author : Juan G. Hurtado : https://github.com/juanghurtado
var gl = _moment _ _default . defineLocale ( 'gl' , {
2014-08-26 19:39:15 +04:00
months : 'Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro' . split ( '_' ) ,
monthsShort : 'Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.' . split ( '_' ) ,
weekdays : 'Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado' . split ( '_' ) ,
weekdaysShort : 'Dom._Lun._Mar._Mér._Xov._Ven._Sáb.' . split ( '_' ) ,
weekdaysMin : 'Do_Lu_Ma_Mé_Xo_Ve_Sá' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : function ( ) {
return '[hoxe ' + ( ( this . hours ( ) !== 1 ) ? 'ás' : 'á' ) + '] LT' ;
} ,
nextDay : function ( ) {
return '[mañá ' + ( ( this . hours ( ) !== 1 ) ? 'ás' : 'á' ) + '] LT' ;
} ,
nextWeek : function ( ) {
return 'dddd [' + ( ( this . hours ( ) !== 1 ) ? 'ás' : 'a' ) + '] LT' ;
} ,
lastDay : function ( ) {
return '[onte ' + ( ( this . hours ( ) !== 1 ) ? 'á' : 'a' ) + '] LT' ;
} ,
lastWeek : function ( ) {
return '[o] dddd [pasado ' + ( ( this . hours ( ) !== 1 ) ? 'ás' : 'a' ) + '] LT' ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : function ( str ) {
if ( str === 'uns segundos' ) {
return 'nuns segundos' ;
}
return 'en ' + str ;
} ,
past : 'hai %s' ,
s : 'uns segundos' ,
m : 'un minuto' ,
mm : '%d minutos' ,
h : 'unha hora' ,
hh : '%d horas' ,
d : 'un día' ,
dd : '%d días' ,
M : 'un mes' ,
MM : '%d meses' ,
y : 'un ano' ,
yy : '%d anos'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}º/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dº' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Hebrew (he)
//! author : Tomer Cohen : https://github.com/tomer
//! author : Moshe Simantov : https://github.com/DevelopmentIL
//! author : Tal Ater : https://github.com/TalAter
var he = _moment _ _default . defineLocale ( 'he' , {
2014-08-26 19:39:15 +04:00
months : 'י נו אר_פברו אר_מרץ_אפרי ל_מאי _י ו ני _י ו לי _או גו ס ט _ס פט מבר_או קט ו בר_נו במבר_דצמבר' . split ( '_' ) ,
monthsShort : 'י נו ׳ _פבר׳ _מרץ_אפר׳ _מאי _י ו ני _י ו לי _או ג׳ _ס פט ׳ _או ק׳ _נו ב׳ _דצמ׳ ' . split ( '_' ) ,
weekdays : 'ראשו ן _שני _שלי שי _רבי עי _חמי שי _שי שי _שבת' . split ( '_' ) ,
weekdaysShort : 'א׳ _ב׳ _ג׳ _ד׳ _ה׳ _ו ׳ _ש׳ ' . split ( '_' ) ,
weekdaysMin : 'א_ב_ג_ד_ה_ו _ש' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D [ב]MMMM YYYY' ,
LLL : 'D [ב]MMMM YYYY LT' ,
LLLL : 'dddd, D [ב]MMMM YYYY LT' ,
l : 'D/M/YYYY' ,
ll : 'D MMM YYYY' ,
lll : 'D MMM YYYY LT' ,
llll : 'ddd, D MMM YYYY LT'
} ,
calendar : {
sameDay : '[היום ב־]LT' ,
nextDay : '[מחר ב־]LT' ,
nextWeek : 'dddd [בשעה] LT' ,
lastDay : '[אתמול ב־]LT' ,
lastWeek : '[ביום] dddd [האחרון בשעה] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'בעוד %s' ,
past : 'לפני %s' ,
s : 'מספר שניות' ,
m : 'דקה' ,
mm : '%d דקות' ,
h : 'שעה' ,
hh : function ( number ) {
if ( number === 2 ) {
return 'שעתיים' ;
}
return number + ' שעות' ;
} ,
d : 'יום' ,
dd : function ( number ) {
if ( number === 2 ) {
return 'יומיים' ;
}
return number + ' ימים' ;
} ,
M : 'חודש' ,
MM : function ( number ) {
if ( number === 2 ) {
return 'חודשיים' ;
}
return number + ' חודשים' ;
} ,
y : 'שנה' ,
yy : function ( number ) {
if ( number === 2 ) {
return 'שנתיים' ;
2015-07-22 17:10:40 +03:00
} else if ( number % 10 === 0 && number !== 10 ) {
return number + ' שנה' ;
2014-08-26 19:39:15 +04:00
}
return number + ' שנים' ;
}
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : hindi (hi)
//! author : Mayank Singhal : https://github.com/mayanksinghal
var hi _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '१' ,
'2' : '२' ,
'3' : '३' ,
'4' : '४' ,
'5' : '५' ,
'6' : '६' ,
'7' : '७' ,
'8' : '८' ,
'9' : '९' ,
'0' : '० '
} ,
2015-07-22 17:10:40 +03:00
hi _ _numberMap = {
2014-08-26 19:39:15 +04:00
'१' : '1' ,
'२' : '2' ,
'३' : '3' ,
'४' : '4' ,
'५' : '5' ,
'६' : '6' ,
'७' : '7' ,
'८' : '8' ,
'९' : '9' ,
'० ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var hi = _moment _ _default . defineLocale ( 'hi' , {
2014-08-26 19:39:15 +04:00
months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर' . split ( '_' ) ,
monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.' . split ( '_' ) ,
weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार' . split ( '_' ) ,
weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि' . split ( '_' ) ,
weekdaysMin : 'र_सो_मं_बु_गु_शु_श' . split ( '_' ) ,
longDateFormat : {
LT : 'A h:mm बजे' ,
2015-07-22 17:10:40 +03:00
LTS : 'A h:mm:ss बजे' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[आज] LT' ,
nextDay : '[कल] LT' ,
nextWeek : 'dddd, LT' ,
lastDay : '[कल] LT' ,
lastWeek : '[पिछले] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s में' ,
past : '%s पहले' ,
s : 'कुछ ही क्षण' ,
m : 'एक मिनट' ,
mm : '%d मिनट' ,
h : 'एक घंटा' ,
hh : '%d घंटे' ,
d : 'एक दिन' ,
dd : '%d दिन' ,
M : 'एक महीने' ,
MM : '%d महीने' ,
y : 'एक वर्ष' ,
yy : '%d वर्ष'
} ,
preparse : function ( string ) {
return string . replace ( /[१२३४५६७८९०]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return hi _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return hi _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
// Hindi notation for meridiems are quite fuzzy in practice. While there exists
// a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
2015-07-22 17:10:40 +03:00
meridiemParse : /रात|सुबह|दोपहर|शाम/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'रात' ) {
return hour < 4 ? hour : hour + 12 ;
} else if ( meridiem === 'सुबह' ) {
return hour ;
} else if ( meridiem === 'दोपहर' ) {
return hour >= 10 ? hour : hour + 12 ;
} else if ( meridiem === 'शाम' ) {
return hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'रात' ;
} else if ( hour < 10 ) {
return 'सुबह' ;
} else if ( hour < 17 ) {
return 'दोपहर' ;
} else if ( hour < 20 ) {
return 'शाम' ;
} else {
return 'रात' ;
}
} ,
week : {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : hrvatski (hr)
//! author : Bojan Marković : https://github.com/bmarkovic
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
function hr _ _translate ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 'm' :
return withoutSuffix ? 'jedna minuta' : 'jedne minute' ;
case 'mm' :
if ( number === 1 ) {
result += 'minuta' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'minute' ;
} else {
result += 'minuta' ;
}
return result ;
case 'h' :
return withoutSuffix ? 'jedan sat' : 'jednog sata' ;
case 'hh' :
if ( number === 1 ) {
result += 'sat' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'sata' ;
} else {
result += 'sati' ;
}
return result ;
case 'dd' :
if ( number === 1 ) {
result += 'dan' ;
} else {
result += 'dana' ;
}
return result ;
case 'MM' :
if ( number === 1 ) {
result += 'mjesec' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'mjeseca' ;
} else {
result += 'mjeseci' ;
}
return result ;
case 'yy' :
if ( number === 1 ) {
result += 'godina' ;
} else if ( number === 2 || number === 3 || number === 4 ) {
result += 'godine' ;
} else {
result += 'godina' ;
}
return result ;
}
}
2015-07-22 17:10:40 +03:00
var hr = _moment _ _default . defineLocale ( 'hr' , {
months : 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac' . split ( '_' ) ,
monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota' . split ( '_' ) ,
weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.' . split ( '_' ) ,
weekdaysMin : 'ne_po_ut_sr_če_pe_su' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[danas u] LT' ,
nextDay : '[sutra u] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[u] [nedjelju] [u] LT' ;
case 3 :
return '[u] [srijedu] [u] LT' ;
case 6 :
return '[u] [subotu] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[u] dddd [u] LT' ;
}
} ,
lastDay : '[jučer u] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
return '[prošlu] dddd [u] LT' ;
case 6 :
return '[prošle] [subote] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[prošli] dddd [u] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : 'prije %s' ,
s : 'par sekundi' ,
2015-07-22 17:10:40 +03:00
m : hr _ _translate ,
mm : hr _ _translate ,
h : hr _ _translate ,
hh : hr _ _translate ,
2014-08-26 19:39:15 +04:00
d : 'dan' ,
2015-07-22 17:10:40 +03:00
dd : hr _ _translate ,
2014-08-26 19:39:15 +04:00
M : 'mjesec' ,
2015-07-22 17:10:40 +03:00
MM : hr _ _translate ,
2014-08-26 19:39:15 +04:00
y : 'godinu' ,
2015-07-22 17:10:40 +03:00
yy : hr _ _translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : hungarian (hu)
//! author : Adam Brunner : https://github.com/adambrunner
var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton' . split ( ' ' ) ;
function hu _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var num = number ,
suffix ;
switch ( key ) {
case 's' :
return ( isFuture || withoutSuffix ) ? 'néhány másodperc' : 'néhány másodperce' ;
case 'm' :
return 'egy' + ( isFuture || withoutSuffix ? ' perc' : ' perce' ) ;
case 'mm' :
return num + ( isFuture || withoutSuffix ? ' perc' : ' perce' ) ;
case 'h' :
return 'egy' + ( isFuture || withoutSuffix ? ' óra' : ' órája' ) ;
case 'hh' :
return num + ( isFuture || withoutSuffix ? ' óra' : ' órája' ) ;
case 'd' :
return 'egy' + ( isFuture || withoutSuffix ? ' nap' : ' napja' ) ;
case 'dd' :
return num + ( isFuture || withoutSuffix ? ' nap' : ' napja' ) ;
case 'M' :
return 'egy' + ( isFuture || withoutSuffix ? ' hónap' : ' hónapja' ) ;
case 'MM' :
return num + ( isFuture || withoutSuffix ? ' hónap' : ' hónapja' ) ;
case 'y' :
return 'egy' + ( isFuture || withoutSuffix ? ' év' : ' éve' ) ;
case 'yy' :
return num + ( isFuture || withoutSuffix ? ' év' : ' éve' ) ;
}
return '' ;
}
function week ( isFuture ) {
return ( isFuture ? '' : '[múlt] ' ) + '[' + weekEndings [ this . day ( ) ] + '] LT[-kor]' ;
}
2015-07-22 17:10:40 +03:00
var hu = _moment _ _default . defineLocale ( 'hu' , {
2014-08-26 19:39:15 +04:00
months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december' . split ( '_' ) ,
monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec' . split ( '_' ) ,
weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat' . split ( '_' ) ,
weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo' . split ( '_' ) ,
weekdaysMin : 'v_h_k_sze_cs_p_szo' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY.MM.DD.' ,
LL : 'YYYY. MMMM D.' ,
LLL : 'YYYY. MMMM D., LT' ,
LLLL : 'YYYY. MMMM D., dddd LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /de|du/i ,
isPM : function ( input ) {
return input . charAt ( 1 ) . toLowerCase ( ) === 'u' ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
if ( hours < 12 ) {
return isLower === true ? 'de' : 'DE' ;
} else {
return isLower === true ? 'du' : 'DU' ;
}
} ,
calendar : {
sameDay : '[ma] LT[-kor]' ,
nextDay : '[holnap] LT[-kor]' ,
nextWeek : function ( ) {
return week . call ( this , true ) ;
} ,
lastDay : '[tegnap] LT[-kor]' ,
lastWeek : function ( ) {
return week . call ( this , false ) ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s múlva' ,
past : '%s' ,
2015-07-22 17:10:40 +03:00
s : hu _ _translate ,
m : hu _ _translate ,
mm : hu _ _translate ,
h : hu _ _translate ,
hh : hu _ _translate ,
d : hu _ _translate ,
dd : hu _ _translate ,
M : hu _ _translate ,
MM : hu _ _translate ,
y : hu _ _translate ,
yy : hu _ _translate
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Armenian (hy-am)
//! author : Armendarabyan : https://github.com/armendarabyan
function hy _am _ _monthsCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var months = {
'nominative' : 'հ ո ւնվա ր_փետրվա ր_մա րտ_ա պրիլ_մա յիս _հ ո ւնիս _հ ո ւլիս _օ գ ո ս տո ս _ս եպտեմբեր_հ ո կտեմբեր_նո յեմբեր_դեկտեմբեր' . split ( '_' ) ,
'accusative' : 'հ ո ւնվա րի_փետրվա րի_մա րտի_ա պրիլի_մա յիս ի_հ ո ւնիս ի_հ ո ւլիս ի_օ գ ո ս տո ս ի_ս եպտեմբերի_հ ո կտեմբերի_նո յեմբերի_դեկտեմբերի' . split ( '_' )
} ,
nounCase = ( /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return months [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function hy _am _ _monthsShortCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var monthsShort = 'հ նվ_փտր_մրտ_ա պր_մյս _հ նս _հ լս _օ գ ս _ս պտ_հ կտ_նմբ_դկտ' . split ( '_' ) ;
return monthsShort [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function hy _am _ _weekdaysCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var weekdays = 'կիրա կի_երկո ւշա բթի_երեք շա բթի_չո րեք շա բթի_հ ինգ շա բթի_ո ւրբա թ_շա բա թ' . split ( '_' ) ;
return weekdays [ m . day ( ) ] ;
}
2015-07-22 17:10:40 +03:00
var hy _am = _moment _ _default . defineLocale ( 'hy-am' , {
months : hy _am _ _monthsCaseReplace ,
monthsShort : hy _am _ _monthsShortCaseReplace ,
weekdays : hy _am _ _weekdaysCaseReplace ,
2014-08-26 19:39:15 +04:00
weekdaysShort : 'կրկ_երկ_երք _չրք _հ նգ _ո ւրբ_շբթ' . split ( '_' ) ,
weekdaysMin : 'կրկ_երկ_երք _չրք _հ նգ _ո ւրբ_շբթ' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY թ.' ,
LLL : 'D MMMM YYYY թ., LT' ,
LLLL : 'dddd, D MMMM YYYY թ., LT'
} ,
calendar : {
sameDay : '[այսօր] LT' ,
nextDay : '[վաղը] LT' ,
lastDay : '[երեկ] LT' ,
nextWeek : function ( ) {
return 'dddd [օրը ժամը] LT' ;
} ,
lastWeek : function ( ) {
return '[անցած] dddd [օրը ժամը] LT' ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s հետո' ,
past : '%s առաջ' ,
s : 'մի քանի վայրկյան' ,
m : 'րոպե' ,
mm : '%d րոպե' ,
h : 'ժամ' ,
hh : '%d ժամ' ,
d : 'օր' ,
dd : '%d օր' ,
M : 'ամիս' ,
MM : '%d ամիս' ,
y : 'տարի' ,
yy : '%d տարի'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/ ,
isPM : function ( input ) {
return /^(ցերեկվա|երեկոյան)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour ) {
if ( hour < 4 ) {
return 'գիշերվա' ;
} else if ( hour < 12 ) {
return 'առավոտվա' ;
} else if ( hour < 17 ) {
return 'ցերեկվա' ;
} else {
return 'երեկոյան' ;
}
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}|\d{1,2}-(ին|րդ)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'DDD' :
case 'w' :
case 'W' :
case 'DDDo' :
if ( number === 1 ) {
return number + '-ին' ;
}
return number + '-րդ' ;
default :
return number ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Bahasa Indonesia (id)
//! author : Mohammad Satrio Utomo : https://github.com/tyok
//! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
var id = _moment _ _default . defineLocale ( 'id' , {
2014-08-26 19:39:15 +04:00
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des' . split ( '_' ) ,
weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu' . split ( '_' ) ,
weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab' . split ( '_' ) ,
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb' . split ( '_' ) ,
longDateFormat : {
LT : 'HH.mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT.ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY [pukul] LT' ,
LLLL : 'dddd, D MMMM YYYY [pukul] LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /pagi|siang|sore|malam/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'pagi' ) {
return hour ;
} else if ( meridiem === 'siang' ) {
return hour >= 11 ? hour : hour + 12 ;
} else if ( meridiem === 'sore' || meridiem === 'malam' ) {
return hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
if ( hours < 11 ) {
return 'pagi' ;
} else if ( hours < 15 ) {
return 'siang' ;
} else if ( hours < 19 ) {
return 'sore' ;
} else {
return 'malam' ;
}
} ,
calendar : {
sameDay : '[Hari ini pukul] LT' ,
nextDay : '[Besok pukul] LT' ,
nextWeek : 'dddd [pukul] LT' ,
lastDay : '[Kemarin pukul] LT' ,
lastWeek : 'dddd [lalu pukul] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'dalam %s' ,
past : '%s yang lalu' ,
s : 'beberapa detik' ,
m : 'semenit' ,
mm : '%d menit' ,
h : 'sejam' ,
hh : '%d jam' ,
d : 'sehari' ,
dd : '%d hari' ,
M : 'sebulan' ,
MM : '%d bulan' ,
y : 'setahun' ,
yy : '%d tahun'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : icelandic (is)
//! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
function is _ _plural ( n ) {
2014-08-26 19:39:15 +04:00
if ( n % 100 === 11 ) {
return true ;
} else if ( n % 10 === 1 ) {
return false ;
}
return true ;
}
2015-07-22 17:10:40 +03:00
function is _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 's' :
return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum' ;
case 'm' :
return withoutSuffix ? 'mínúta' : 'mínútu' ;
case 'mm' :
2015-07-22 17:10:40 +03:00
if ( is _ _plural ( number ) ) {
2014-08-26 19:39:15 +04:00
return result + ( withoutSuffix || isFuture ? 'mínútur' : 'mínútum' ) ;
} else if ( withoutSuffix ) {
return result + 'mínúta' ;
}
return result + 'mínútu' ;
case 'hh' :
2015-07-22 17:10:40 +03:00
if ( is _ _plural ( number ) ) {
2014-08-26 19:39:15 +04:00
return result + ( withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum' ) ;
}
return result + 'klukkustund' ;
case 'd' :
if ( withoutSuffix ) {
return 'dagur' ;
}
return isFuture ? 'dag' : 'degi' ;
case 'dd' :
2015-07-22 17:10:40 +03:00
if ( is _ _plural ( number ) ) {
2014-08-26 19:39:15 +04:00
if ( withoutSuffix ) {
return result + 'dagar' ;
}
return result + ( isFuture ? 'daga' : 'dögum' ) ;
} else if ( withoutSuffix ) {
return result + 'dagur' ;
}
return result + ( isFuture ? 'dag' : 'degi' ) ;
case 'M' :
if ( withoutSuffix ) {
return 'mánuður' ;
}
return isFuture ? 'mánuð' : 'mánuði' ;
case 'MM' :
2015-07-22 17:10:40 +03:00
if ( is _ _plural ( number ) ) {
2014-08-26 19:39:15 +04:00
if ( withoutSuffix ) {
return result + 'mánuðir' ;
}
return result + ( isFuture ? 'mánuði' : 'mánuðum' ) ;
} else if ( withoutSuffix ) {
return result + 'mánuður' ;
}
return result + ( isFuture ? 'mánuð' : 'mánuði' ) ;
case 'y' :
return withoutSuffix || isFuture ? 'ár' : 'ári' ;
case 'yy' :
2015-07-22 17:10:40 +03:00
if ( is _ _plural ( number ) ) {
2014-08-26 19:39:15 +04:00
return result + ( withoutSuffix || isFuture ? 'ár' : 'árum' ) ;
}
return result + ( withoutSuffix || isFuture ? 'ár' : 'ári' ) ;
}
}
2015-07-22 17:10:40 +03:00
var is = _moment _ _default . defineLocale ( 'is' , {
2014-08-26 19:39:15 +04:00
months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des' . split ( '_' ) ,
weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur' . split ( '_' ) ,
weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau' . split ( '_' ) ,
weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY [kl.] LT' ,
LLLL : 'dddd, D. MMMM YYYY [kl.] LT'
} ,
calendar : {
sameDay : '[í dag kl.] LT' ,
nextDay : '[á morgun kl.] LT' ,
nextWeek : 'dddd [kl.] LT' ,
lastDay : '[í gær kl.] LT' ,
lastWeek : '[síðasta] dddd [kl.] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'eftir %s' ,
past : 'fyrir %s síðan' ,
2015-07-22 17:10:40 +03:00
s : is _ _translate ,
m : is _ _translate ,
mm : is _ _translate ,
2014-08-26 19:39:15 +04:00
h : 'klukkustund' ,
2015-07-22 17:10:40 +03:00
hh : is _ _translate ,
d : is _ _translate ,
dd : is _ _translate ,
M : is _ _translate ,
MM : is _ _translate ,
y : is _ _translate ,
yy : is _ _translate
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : italian (it)
//! author : Lorenzo : https://github.com/aliem
//! author: Mattia Larentis: https://github.com/nostalgiaz
var it = _moment _ _default . defineLocale ( 'it' , {
2014-08-26 19:39:15 +04:00
months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre' . split ( '_' ) ,
monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic' . split ( '_' ) ,
weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato' . split ( '_' ) ,
weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab' . split ( '_' ) ,
weekdaysMin : 'D_L_Ma_Me_G_V_S' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Oggi alle] LT' ,
nextDay : '[Domani alle] LT' ,
nextWeek : 'dddd [alle] LT' ,
lastDay : '[Ieri alle] LT' ,
2015-07-22 17:10:40 +03:00
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[la scorsa] dddd [alle] LT' ;
default :
return '[lo scorso] dddd [alle] LT' ;
}
} ,
2014-08-26 19:39:15 +04:00
sameElse : 'L'
} ,
relativeTime : {
future : function ( s ) {
return ( ( /^[0-9].+$/ ) . test ( s ) ? 'tra' : 'in' ) + ' ' + s ;
} ,
past : '%s fa' ,
s : 'alcuni secondi' ,
m : 'un minuto' ,
mm : '%d minuti' ,
h : 'un\'ora' ,
hh : '%d ore' ,
d : 'un giorno' ,
dd : '%d giorni' ,
M : 'un mese' ,
MM : '%d mesi' ,
y : 'un anno' ,
yy : '%d anni'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}º/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dº' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : japanese (ja)
//! author : LI Long : https://github.com/baryon
var ja = _moment _ _default . defineLocale ( 'ja' , {
2014-08-26 19:39:15 +04:00
months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月' . split ( '_' ) ,
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月' . split ( '_' ) ,
weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日' . split ( '_' ) ,
weekdaysShort : '日_月_火_水_木_金_土' . split ( '_' ) ,
weekdaysMin : '日_月_火_水_木_金_土' . split ( '_' ) ,
longDateFormat : {
LT : 'Ah時m分' ,
2015-07-22 17:10:40 +03:00
LTS : 'LTs秒' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY/MM/DD' ,
LL : 'YYYY年M月D日' ,
LLL : 'YYYY年M月D日LT' ,
LLLL : 'YYYY年M月D日LT dddd'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /午前|午後/i ,
isPM : function ( input ) {
return input === '午後' ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 12 ) {
return '午前' ;
} else {
return '午後' ;
}
} ,
calendar : {
sameDay : '[今日] LT' ,
nextDay : '[明日] LT' ,
nextWeek : '[来週]dddd LT' ,
lastDay : '[昨日] LT' ,
lastWeek : '[前週]dddd LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s後' ,
past : '%s前' ,
s : '数秒' ,
m : '1分' ,
mm : '%d分' ,
h : '1時間' ,
hh : '%d時間' ,
d : '1日' ,
dd : '%d日' ,
M : '1ヶ月' ,
MM : '%dヶ月' ,
y : '1年' ,
yy : '%d年'
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Boso Jowo (jv)
//! author : Rony Lantip : https://github.com/lantip
//! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
var jv = _moment _ _default . defineLocale ( 'jv' , {
months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des' . split ( '_' ) ,
weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu' . split ( '_' ) ,
weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep' . split ( '_' ) ,
weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp' . split ( '_' ) ,
longDateFormat : {
LT : 'HH.mm' ,
LTS : 'LT.ss' ,
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY [pukul] LT' ,
LLLL : 'dddd, D MMMM YYYY [pukul] LT'
} ,
meridiemParse : /enjing|siyang|sonten|ndalu/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'enjing' ) {
return hour ;
} else if ( meridiem === 'siyang' ) {
return hour >= 11 ? hour : hour + 12 ;
} else if ( meridiem === 'sonten' || meridiem === 'ndalu' ) {
return hour + 12 ;
}
} ,
meridiem : function ( hours , minutes , isLower ) {
if ( hours < 11 ) {
return 'enjing' ;
} else if ( hours < 15 ) {
return 'siyang' ;
} else if ( hours < 19 ) {
return 'sonten' ;
} else {
return 'ndalu' ;
}
} ,
calendar : {
sameDay : '[Dinten puniko pukul] LT' ,
nextDay : '[Mbenjang pukul] LT' ,
nextWeek : 'dddd [pukul] LT' ,
lastDay : '[Kala wingi pukul] LT' ,
lastWeek : 'dddd [kepengker pukul] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'wonten ing %s' ,
past : '%s ingkang kepengker' ,
s : 'sawetawis detik' ,
m : 'setunggal menit' ,
mm : '%d menit' ,
h : 'setunggal jam' ,
hh : '%d jam' ,
d : 'sedinten' ,
dd : '%d dinten' ,
M : 'sewulan' ,
MM : '%d wulan' ,
y : 'setaun' ,
yy : '%d taun'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
//! moment.js locale configuration
//! locale : Georgian (ka)
//! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
function ka _ _monthsCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var months = {
'nominative' : 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი' . split ( '_' ) ,
'accusative' : 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს' . split ( '_' )
} ,
nounCase = ( /D[oD] *MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return months [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function ka _ _weekdaysCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var weekdays = {
'nominative' : 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი' . split ( '_' ) ,
'accusative' : 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს' . split ( '_' )
} ,
nounCase = ( /(წინა|შემდეგ)/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return weekdays [ nounCase ] [ m . day ( ) ] ;
}
2015-07-22 17:10:40 +03:00
var ka = _moment _ _default . defineLocale ( 'ka' , {
months : ka _ _monthsCaseReplace ,
2014-08-26 19:39:15 +04:00
monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
weekdays : ka _ _weekdaysCaseReplace ,
2014-08-26 19:39:15 +04:00
weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ' . split ( '_' ) ,
weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა' . split ( '_' ) ,
longDateFormat : {
LT : 'h:mm A' ,
2015-07-22 17:10:40 +03:00
LTS : 'h:mm:ss A' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[დღეს] LT[-ზე]' ,
nextDay : '[ხვალ] LT[-ზე]' ,
lastDay : '[გუშინ] LT[-ზე]' ,
nextWeek : '[შემდეგ] dddd LT[-ზე]' ,
lastWeek : '[წინა] dddd LT-ზე' ,
sameElse : 'L'
} ,
relativeTime : {
future : function ( s ) {
return ( /(წამი|წუთი|საათი|წელი)/ ) . test ( s ) ?
s . replace ( /ი$/ , 'ში' ) :
s + 'ში' ;
} ,
past : function ( s ) {
if ( ( /(წამი|წუთი|საათი|დღე|თვე)/ ) . test ( s ) ) {
return s . replace ( /(ი|ე)$/ , 'ის წინ' ) ;
}
if ( ( /წელი/ ) . test ( s ) ) {
return s . replace ( /წელი$/ , 'წლის წინ' ) ;
}
} ,
s : 'რამდენიმე წამი' ,
m : 'წუთი' ,
mm : '%d წუთი' ,
h : 'საათი' ,
hh : '%d საათი' ,
d : 'დღე' ,
dd : '%d დღე' ,
M : 'თვე' ,
MM : '%d თვე' ,
y : 'წელი' ,
yy : '%d წელი'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
if ( number === 0 ) {
return number ;
}
if ( number === 1 ) {
return number + '-ლი' ;
}
if ( ( number < 20 ) || ( number <= 100 && ( number % 20 === 0 ) ) || ( number % 100 === 0 ) ) {
return 'მე-' + number ;
}
return number + '-ე' ;
} ,
week : {
dow : 1 ,
doy : 7
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : khmer (km)
//! author : Kruy Vanna : https://github.com/kruyvanna
var km = _moment _ _default . defineLocale ( 'km' , {
2014-08-26 19:39:15 +04:00
months : 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ' . split ( '_' ) ,
monthsShort : 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ' . split ( '_' ) ,
weekdays : 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍' . split ( '_' ) ,
weekdaysShort : 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍' . split ( '_' ) ,
weekdaysMin : 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[ថ្ងៃនៈ ម៉ោង] LT' ,
nextDay : '[ស្អែក ម៉ោង] LT' ,
nextWeek : 'dddd [ម៉ោង] LT' ,
lastDay : '[ម្សិលមិញ ម៉ោង] LT' ,
lastWeek : 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%sទៀត' ,
past : '%sមុន' ,
s : 'ប៉ុន្មានវិនាទី' ,
m : 'មួយនាទី' ,
mm : '%d នាទី' ,
h : 'មួយម៉ោង' ,
hh : '%d ម៉ោង' ,
d : 'មួយថ្ងៃ' ,
dd : '%d ថ្ងៃ' ,
M : 'មួយខែ' ,
MM : '%d ខែ' ,
y : 'មួយឆ្នាំ' ,
yy : '%d ឆ្នាំ'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : korean (ko)
//!
//! authors
//!
//! - Kyungwook, Park : https://github.com/kyungw00k
//! - Jeeeyul Lee <jeeeyul@gmail.com>
var ko = _moment _ _default . defineLocale ( 'ko' , {
2014-08-26 19:39:15 +04:00
months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월' . split ( '_' ) ,
monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월' . split ( '_' ) ,
weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일' . split ( '_' ) ,
weekdaysShort : '일_월_화_수_목_금_토' . split ( '_' ) ,
weekdaysMin : '일_월_화_수_목_금_토' . split ( '_' ) ,
longDateFormat : {
LT : 'A h시 m분' ,
2015-07-22 17:10:40 +03:00
LTS : 'A h시 m분 s초' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY.MM.DD' ,
LL : 'YYYY년 MMMM D일' ,
LLL : 'YYYY년 MMMM D일 LT' ,
LLLL : 'YYYY년 MMMM D일 dddd LT'
} ,
calendar : {
sameDay : '오늘 LT' ,
nextDay : '내일 LT' ,
nextWeek : 'dddd LT' ,
lastDay : '어제 LT' ,
lastWeek : '지난주 dddd LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s 후' ,
past : '%s 전' ,
s : '몇초' ,
ss : '%d초' ,
m : '일분' ,
mm : '%d분' ,
h : '한시간' ,
hh : '%d시간' ,
d : '하루' ,
dd : '%d일' ,
M : '한달' ,
MM : '%d달' ,
y : '일년' ,
yy : '%d년'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}일/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d일' ,
2015-07-22 17:10:40 +03:00
meridiemParse : /오전|오후/ ,
2014-08-26 19:39:15 +04:00
isPM : function ( token ) {
return token === '오후' ;
2015-07-22 17:10:40 +03:00
} ,
meridiem : function ( hour , minute , isUpper ) {
return hour < 12 ? '오전' : '오후' ;
2014-08-26 19:39:15 +04:00
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Luxembourgish (lb)
//! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
function lb _ _processRelativeTime ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var format = {
'm' : [ 'eng Minutt' , 'enger Minutt' ] ,
'h' : [ 'eng Stonn' , 'enger Stonn' ] ,
'd' : [ 'een Dag' , 'engem Dag' ] ,
'M' : [ 'ee Mount' , 'engem Mount' ] ,
'y' : [ 'ee Joer' , 'engem Joer' ]
} ;
return withoutSuffix ? format [ key ] [ 0 ] : format [ key ] [ 1 ] ;
}
function processFutureTime ( string ) {
var number = string . substr ( 0 , string . indexOf ( ' ' ) ) ;
if ( eifelerRegelAppliesToNumber ( number ) ) {
return 'a ' + string ;
}
return 'an ' + string ;
}
function processPastTime ( string ) {
var number = string . substr ( 0 , string . indexOf ( ' ' ) ) ;
if ( eifelerRegelAppliesToNumber ( number ) ) {
return 'viru ' + string ;
}
return 'virun ' + string ;
}
/ * *
* Returns true if the word before the given number loses the '-n' ending .
* e . g . 'an 10 Deeg' but 'a 5 Deeg'
*
* @ param number { integer }
* @ returns { boolean }
* /
function eifelerRegelAppliesToNumber ( number ) {
number = parseInt ( number , 10 ) ;
if ( isNaN ( number ) ) {
return false ;
}
if ( number < 0 ) {
// Negative Number --> always true
return true ;
} else if ( number < 10 ) {
// Only 1 digit
if ( 4 <= number && number <= 7 ) {
return true ;
}
return false ;
} else if ( number < 100 ) {
// 2 digits
var lastDigit = number % 10 , firstDigit = number / 10 ;
if ( lastDigit === 0 ) {
return eifelerRegelAppliesToNumber ( firstDigit ) ;
}
return eifelerRegelAppliesToNumber ( lastDigit ) ;
} else if ( number < 10000 ) {
// 3 or 4 digits --> recursively check first digit
while ( number >= 10 ) {
number = number / 10 ;
}
return eifelerRegelAppliesToNumber ( number ) ;
} else {
// Anything larger than 4 digits: recursively check first n-3 digits
number = number / 1000 ;
return eifelerRegelAppliesToNumber ( number ) ;
}
}
2015-07-22 17:10:40 +03:00
var lb = _moment _ _default . defineLocale ( 'lb' , {
2014-08-26 19:39:15 +04:00
months : 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember' . split ( '_' ) ,
monthsShort : 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.' . split ( '_' ) ,
weekdays : 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg' . split ( '_' ) ,
weekdaysShort : 'So._Mé._Dë._Më._Do._Fr._Sa.' . split ( '_' ) ,
weekdaysMin : 'So_Mé_Dë_Më_Do_Fr_Sa' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm [Auer]' ,
2015-07-22 17:10:40 +03:00
LTS : 'H:mm:ss [Auer]' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Haut um] LT' ,
sameElse : 'L' ,
nextDay : '[Muer um] LT' ,
nextWeek : 'dddd [um] LT' ,
lastDay : '[Gëschter um] LT' ,
lastWeek : function ( ) {
// Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
switch ( this . day ( ) ) {
case 2 :
case 4 :
return '[Leschten] dddd [um] LT' ;
default :
return '[Leschte] dddd [um] LT' ;
}
}
} ,
relativeTime : {
future : processFutureTime ,
past : processPastTime ,
s : 'e puer Sekonnen' ,
2015-07-22 17:10:40 +03:00
m : lb _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
mm : '%d Minutten' ,
2015-07-22 17:10:40 +03:00
h : lb _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
hh : '%d Stonnen' ,
2015-07-22 17:10:40 +03:00
d : lb _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
dd : '%d Deeg' ,
2015-07-22 17:10:40 +03:00
M : lb _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
MM : '%d Méint' ,
2015-07-22 17:10:40 +03:00
y : lb _ _processRelativeTime ,
2014-08-26 19:39:15 +04:00
yy : '%d Joer'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Lithuanian (lt)
//! author : Mindaugas Mozūras : https://github.com/mmozuras
var lt _ _units = {
2014-08-26 19:39:15 +04:00
'm' : 'minutė_minutės_minutę' ,
'mm' : 'minutės_minučių_minutes' ,
'h' : 'valanda_valandos_valandą' ,
'hh' : 'valandos_valandų_valandas' ,
'd' : 'diena_dienos_dieną' ,
'dd' : 'dienos_dienų_dienas' ,
'M' : 'mėnuo_mėnesio_mėnesį' ,
'MM' : 'mėnesiai_mėnesių_mėnesius' ,
'y' : 'metai_metų_metus' ,
'yy' : 'metai_metų_metus'
} ,
weekDays = 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis' . split ( '_' ) ;
function translateSeconds ( number , withoutSuffix , key , isFuture ) {
if ( withoutSuffix ) {
return 'kelios sekundės' ;
} else {
return isFuture ? 'kelių sekundžių' : 'kelias sekundes' ;
}
}
function translateSingular ( number , withoutSuffix , key , isFuture ) {
return withoutSuffix ? forms ( key ) [ 0 ] : ( isFuture ? forms ( key ) [ 1 ] : forms ( key ) [ 2 ] ) ;
}
function special ( number ) {
return number % 10 === 0 || ( number > 10 && number < 20 ) ;
}
function forms ( key ) {
2015-07-22 17:10:40 +03:00
return lt _ _units [ key ] . split ( '_' ) ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
function lt _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
if ( number === 1 ) {
return result + translateSingular ( number , withoutSuffix , key [ 0 ] , isFuture ) ;
} else if ( withoutSuffix ) {
return result + ( special ( number ) ? forms ( key ) [ 1 ] : forms ( key ) [ 0 ] ) ;
} else {
if ( isFuture ) {
return result + forms ( key ) [ 1 ] ;
} else {
return result + ( special ( number ) ? forms ( key ) [ 1 ] : forms ( key ) [ 2 ] ) ;
}
}
}
function relativeWeekDay ( moment , format ) {
var nominative = format . indexOf ( 'dddd HH:mm' ) === - 1 ,
weekDay = weekDays [ moment . day ( ) ] ;
return nominative ? weekDay : weekDay . substring ( 0 , weekDay . length - 2 ) + 'į' ;
}
2015-07-22 17:10:40 +03:00
var lt = _moment _ _default . defineLocale ( 'lt' , {
2014-08-26 19:39:15 +04:00
months : 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio' . split ( '_' ) ,
monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd' . split ( '_' ) ,
weekdays : relativeWeekDay ,
weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš' . split ( '_' ) ,
weekdaysMin : 'S_P_A_T_K_Pn_Š' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'YYYY [m.] MMMM D [d.]' ,
LLL : 'YYYY [m.] MMMM D [d.], LT [val.]' ,
LLLL : 'YYYY [m.] MMMM D [d.], dddd, LT [val.]' ,
l : 'YYYY-MM-DD' ,
ll : 'YYYY [m.] MMMM D [d.]' ,
lll : 'YYYY [m.] MMMM D [d.], LT [val.]' ,
llll : 'YYYY [m.] MMMM D [d.], ddd, LT [val.]'
} ,
calendar : {
sameDay : '[Šiandien] LT' ,
nextDay : '[Rytoj] LT' ,
nextWeek : 'dddd LT' ,
lastDay : '[Vakar] LT' ,
lastWeek : '[Praėjusį] dddd LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'po %s' ,
past : 'prieš %s' ,
s : translateSeconds ,
m : translateSingular ,
2015-07-22 17:10:40 +03:00
mm : lt _ _translate ,
2014-08-26 19:39:15 +04:00
h : translateSingular ,
2015-07-22 17:10:40 +03:00
hh : lt _ _translate ,
2014-08-26 19:39:15 +04:00
d : translateSingular ,
2015-07-22 17:10:40 +03:00
dd : lt _ _translate ,
2014-08-26 19:39:15 +04:00
M : translateSingular ,
2015-07-22 17:10:40 +03:00
MM : lt _ _translate ,
2014-08-26 19:39:15 +04:00
y : translateSingular ,
2015-07-22 17:10:40 +03:00
yy : lt _ _translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-oji/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + '-oji' ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : latvian (lv)
//! author : Kristaps Karlsons : https://github.com/skakri
//! author : Jānis Elmeris : https://github.com/JanisE
var lv _ _units = {
'm' : 'minūtes_minūtēm_minūte_minūtes' . split ( '_' ) ,
'mm' : 'minūtes_minūtēm_minūte_minūtes' . split ( '_' ) ,
'h' : 'stundas_stundām_stunda_stundas' . split ( '_' ) ,
'hh' : 'stundas_stundām_stunda_stundas' . split ( '_' ) ,
'd' : 'dienas_dienām_diena_dienas' . split ( '_' ) ,
'dd' : 'dienas_dienām_diena_dienas' . split ( '_' ) ,
'M' : 'mēneša_mēnešiem_mēnesis_mēneši' . split ( '_' ) ,
'MM' : 'mēneša_mēnešiem_mēnesis_mēneši' . split ( '_' ) ,
'y' : 'gada_gadiem_gads_gadi' . split ( '_' ) ,
'yy' : 'gada_gadiem_gads_gadi' . split ( '_' )
} ;
/ * *
* @ param withoutSuffix boolean true = a length of time ; false = before / after a period of time .
* /
function lv _ _format ( forms , number , withoutSuffix ) {
2014-08-26 19:39:15 +04:00
if ( withoutSuffix ) {
2015-07-22 17:10:40 +03:00
// E.g. "21 minūte", "3 minūtes".
2014-08-26 19:39:15 +04:00
return number % 10 === 1 && number !== 11 ? forms [ 2 ] : forms [ 3 ] ;
} else {
2015-07-22 17:10:40 +03:00
// E.g. "21 minūtes" as in "pēc 21 minūtes".
// E.g. "3 minūtēm" as in "pēc 3 minūtēm".
2014-08-26 19:39:15 +04:00
return number % 10 === 1 && number !== 11 ? forms [ 0 ] : forms [ 1 ] ;
}
}
2015-07-22 17:10:40 +03:00
function lv _ _relativeTimeWithPlural ( number , withoutSuffix , key ) {
return number + ' ' + lv _ _format ( lv _ _units [ key ] , number , withoutSuffix ) ;
}
function relativeTimeWithSingular ( number , withoutSuffix , key ) {
return lv _ _format ( lv _ _units [ key ] , number , withoutSuffix ) ;
}
function relativeSeconds ( number , withoutSuffix ) {
return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm' ;
2014-08-26 19:39:15 +04:00
}
2015-07-22 17:10:40 +03:00
var lv = _moment _ _default . defineLocale ( 'lv' , {
2014-08-26 19:39:15 +04:00
months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec' . split ( '_' ) ,
weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena' . split ( '_' ) ,
weekdaysShort : 'Sv_P_O_T_C_Pk_S' . split ( '_' ) ,
weekdaysMin : 'Sv_P_O_T_C_Pk_S' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
L : 'DD.MM.YYYY.' ,
2014-08-26 19:39:15 +04:00
LL : 'YYYY. [gada] D. MMMM' ,
LLL : 'YYYY. [gada] D. MMMM, LT' ,
LLLL : 'YYYY. [gada] D. MMMM, dddd, LT'
} ,
2015-07-22 17:10:40 +03:00
calendar : {
sameDay : '[Šodien pulksten] LT' ,
nextDay : '[Rīt pulksten] LT' ,
nextWeek : 'dddd [pulksten] LT' ,
lastDay : '[Vakar pulksten] LT' ,
lastWeek : '[Pagājušā] dddd [pulksten] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'pēc %s' ,
past : 'pirms %s' ,
s : relativeSeconds ,
m : relativeTimeWithSingular ,
mm : lv _ _relativeTimeWithPlural ,
h : relativeTimeWithSingular ,
hh : lv _ _relativeTimeWithPlural ,
d : relativeTimeWithSingular ,
dd : lv _ _relativeTimeWithPlural ,
M : relativeTimeWithSingular ,
MM : lv _ _relativeTimeWithPlural ,
y : relativeTimeWithSingular ,
yy : lv _ _relativeTimeWithPlural
} ,
ordinalParse : /\d{1,2}\./ ,
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
//! moment.js locale configuration
//! locale : Montenegrin (me)
//! author : Miodrag Nikač <miodrag@restartit.me> : https://github.com/miodragnikac
var me _ _translator = {
words : { //Different grammatical cases
m : [ 'jedan minut' , 'jednog minuta' ] ,
mm : [ 'minut' , 'minuta' , 'minuta' ] ,
h : [ 'jedan sat' , 'jednog sata' ] ,
hh : [ 'sat' , 'sata' , 'sati' ] ,
dd : [ 'dan' , 'dana' , 'dana' ] ,
MM : [ 'mjesec' , 'mjeseca' , 'mjeseci' ] ,
yy : [ 'godina' , 'godine' , 'godina' ]
} ,
correctGrammaticalCase : function ( number , wordKey ) {
return number === 1 ? wordKey [ 0 ] : ( number >= 2 && number <= 4 ? wordKey [ 1 ] : wordKey [ 2 ] ) ;
} ,
translate : function ( number , withoutSuffix , key ) {
var wordKey = me _ _translator . words [ key ] ;
if ( key . length === 1 ) {
return withoutSuffix ? wordKey [ 0 ] : wordKey [ 1 ] ;
} else {
return number + ' ' + me _ _translator . correctGrammaticalCase ( number , wordKey ) ;
}
}
} ;
var me = _moment _ _default . defineLocale ( 'me' , {
months : [ 'januar' , 'februar' , 'mart' , 'april' , 'maj' , 'jun' , 'jul' , 'avgust' , 'septembar' , 'oktobar' , 'novembar' , 'decembar' ] ,
monthsShort : [ 'jan.' , 'feb.' , 'mar.' , 'apr.' , 'maj' , 'jun' , 'jul' , 'avg.' , 'sep.' , 'okt.' , 'nov.' , 'dec.' ] ,
weekdays : [ 'nedjelja' , 'ponedjeljak' , 'utorak' , 'srijeda' , 'četvrtak' , 'petak' , 'subota' ] ,
weekdaysShort : [ 'ned.' , 'pon.' , 'uto.' , 'sri.' , 'čet.' , 'pet.' , 'sub.' ] ,
weekdaysMin : [ 'ne' , 'po' , 'ut' , 'sr' , 'če' , 'pe' , 'su' ] ,
longDateFormat : {
LT : 'H:mm' ,
LTS : 'LT:ss' ,
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[danas u] LT' ,
nextDay : '[sjutra u] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[u] [nedjelju] [u] LT' ;
case 3 :
return '[u] [srijedu] [u] LT' ;
case 6 :
return '[u] [subotu] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[u] dddd [u] LT' ;
}
} ,
lastDay : '[juče u] LT' ,
lastWeek : function ( ) {
var lastWeekDays = [
'[prošle] [nedjelje] [u] LT' ,
'[prošlog] [ponedjeljka] [u] LT' ,
'[prošlog] [utorka] [u] LT' ,
'[prošle] [srijede] [u] LT' ,
'[prošlog] [četvrtka] [u] LT' ,
'[prošlog] [petka] [u] LT' ,
'[prošle] [subote] [u] LT'
] ;
return lastWeekDays [ this . day ( ) ] ;
} ,
2014-08-26 19:39:15 +04:00
sameElse : 'L'
} ,
relativeTime : {
2015-07-22 17:10:40 +03:00
future : 'za %s' ,
past : 'prije %s' ,
s : 'nekoliko sekundi' ,
m : me _ _translator . translate ,
mm : me _ _translator . translate ,
h : me _ _translator . translate ,
hh : me _ _translator . translate ,
d : 'dan' ,
dd : me _ _translator . translate ,
M : 'mjesec' ,
MM : me _ _translator . translate ,
y : 'godinu' ,
yy : me _ _translator . translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
2015-07-22 17:10:40 +03:00
doy : 7 // The week that contains Jan 1st is the first week of the year.
2014-08-26 19:39:15 +04:00
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : macedonian (mk)
//! author : Borislav Mickov : https://github.com/B0k0
var mk = _moment _ _default . defineLocale ( 'mk' , {
2014-08-26 19:39:15 +04:00
months : 'ј а ну а р и_фе вр у а р и_ма р т_а пр ил_ма ј _ј у ни_ј у ли_а вг у с т_с е пте мвр и_о кто мвр и_но е мвр и_де ке мвр и' . split ( '_' ) ,
monthsShort : 'ј а н_фе в_ма р _а пр _ма ј _ј у н_ј у л_а вг _с е п_о кт_но е _де к' . split ( '_' ) ,
weekdays : 'не де ла _по не де лник_вто р ник_с р е да _че твр то к_пе то к_с а б о та ' . split ( '_' ) ,
weekdaysShort : 'не д_по н_вто _с р е _че т_пе т_с а б ' . split ( '_' ) ,
weekdaysMin : 'нe_пo_вт_с р _че _пе _с a' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'D.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Денес во] LT' ,
nextDay : '[Утре во] LT' ,
nextWeek : 'dddd [во] LT' ,
lastDay : '[Вчера во] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
case 6 :
return '[В о изминатата] dddd [во] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[В о изминатиот] dddd [во] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'после %s' ,
past : 'пред %s' ,
s : 'неколку секунди' ,
m : 'минута' ,
mm : '%d минути' ,
h : 'час' ,
hh : '%d часа' ,
d : 'ден' ,
dd : '%d дена' ,
M : 'месец' ,
MM : '%d месеци' ,
y : 'година' ,
yy : '%d години'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(ев|ен|ти|ви|ри|ми)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var lastDigit = number % 10 ,
last2Digits = number % 100 ;
if ( number === 0 ) {
return number + '-ев' ;
} else if ( last2Digits === 0 ) {
return number + '-ен' ;
} else if ( last2Digits > 10 && last2Digits < 20 ) {
return number + '-ти' ;
} else if ( lastDigit === 1 ) {
return number + '-ви' ;
} else if ( lastDigit === 2 ) {
return number + '-ри' ;
} else if ( lastDigit === 7 || lastDigit === 8 ) {
return number + '-ми' ;
} else {
return number + '-ти' ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : malayalam (ml)
//! author : Floyd Pink : https://github.com/floydpink
var ml = _moment _ _default . defineLocale ( 'ml' , {
2014-08-26 19:39:15 +04:00
months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റം ബർ_ഒക്ടോബർ_നവം ബർ_ഡിസം ബർ' . split ( '_' ) ,
monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം ._ഡിസം .' . split ( '_' ) ,
weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച' . split ( '_' ) ,
weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം _വെള്ളി_ശനി' . split ( '_' ) ,
weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ' . split ( '_' ) ,
longDateFormat : {
LT : 'A h:mm -നു' ,
2015-07-22 17:10:40 +03:00
LTS : 'A h:mm:ss -നു' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[ഇന്ന്] LT' ,
nextDay : '[നാളെ] LT' ,
nextWeek : 'dddd, LT' ,
lastDay : '[ഇന്നലെ] LT' ,
lastWeek : '[കഴിഞ്ഞ] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s കഴിഞ്ഞ്' ,
past : '%s മുൻപ്' ,
s : 'അൽപ നിമിഷങ്ങൾ' ,
m : 'ഒരു മിനിറ്റ്' ,
mm : '%d മിനിറ്റ്' ,
h : 'ഒരു മണിക്കൂർ' ,
hh : '%d മണിക്കൂർ' ,
d : 'ഒരു ദിവസം' ,
dd : '%d ദിവസം' ,
M : 'ഒരു മാസം' ,
MM : '%d മാസം' ,
y : 'ഒരു വർഷം' ,
yy : '%d വർഷം'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i ,
isPM : function ( input ) {
return /^(ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'രാത്രി' ;
} else if ( hour < 12 ) {
return 'രാവിലെ' ;
} else if ( hour < 17 ) {
return 'ഉച്ച കഴിഞ്ഞ്' ;
} else if ( hour < 20 ) {
return 'വൈകുന്നേരം' ;
} else {
return 'രാത്രി' ;
}
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Marathi (mr)
//! author : Harshad Kale : https://github.com/kalehv
var mr _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '१' ,
'2' : '२' ,
'3' : '३' ,
'4' : '४' ,
'5' : '५' ,
'6' : '६' ,
'7' : '७' ,
'8' : '८' ,
'9' : '९' ,
'0' : '० '
} ,
2015-07-22 17:10:40 +03:00
mr _ _numberMap = {
2014-08-26 19:39:15 +04:00
'१' : '1' ,
'२' : '2' ,
'३' : '3' ,
'४' : '4' ,
'५' : '5' ,
'६' : '6' ,
'७' : '7' ,
'८' : '8' ,
'९' : '9' ,
'० ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var mr = _moment _ _default . defineLocale ( 'mr' , {
2014-08-26 19:39:15 +04:00
months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर' . split ( '_' ) ,
monthsShort : 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.' . split ( '_' ) ,
weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार' . split ( '_' ) ,
weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि' . split ( '_' ) ,
weekdaysMin : 'र_सो_मं_बु_गु_शु_श' . split ( '_' ) ,
longDateFormat : {
LT : 'A h:mm वाजता' ,
2015-07-22 17:10:40 +03:00
LTS : 'A h:mm:ss वाजता' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[आज] LT' ,
nextDay : '[उद्या] LT' ,
nextWeek : 'dddd, LT' ,
lastDay : '[काल] LT' ,
lastWeek : '[मागील] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s नंतर' ,
past : '%s पूर्वी' ,
s : 'सेकंद' ,
m : 'एक मिनिट' ,
mm : '%d मिनिटे' ,
h : 'एक तास' ,
hh : '%d तास' ,
d : 'एक दिवस' ,
dd : '%d दिवस' ,
M : 'एक महिना' ,
MM : '%d महिने' ,
y : 'एक वर्ष' ,
yy : '%d वर्षे'
} ,
preparse : function ( string ) {
return string . replace ( /[१२३४५६७८९०]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return mr _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return mr _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /रात्री|सकाळी|दुपारी|सायंकाळी/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'रात्री' ) {
return hour < 4 ? hour : hour + 12 ;
} else if ( meridiem === 'सकाळी' ) {
return hour ;
} else if ( meridiem === 'दुपारी' ) {
return hour >= 10 ? hour : hour + 12 ;
} else if ( meridiem === 'सायंकाळी' ) {
return hour + 12 ;
}
} ,
meridiem : function ( hour , minute , isLower ) {
2014-08-26 19:39:15 +04:00
if ( hour < 4 ) {
return 'रात्री' ;
} else if ( hour < 10 ) {
return 'सकाळी' ;
} else if ( hour < 17 ) {
return 'दुपारी' ;
} else if ( hour < 20 ) {
return 'सायंकाळी' ;
} else {
return 'रात्री' ;
}
} ,
week : {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Bahasa Malaysia (ms-MY)
//! author : Weldan Jamili : https://github.com/weldan
var ms _my = _moment _ _default . defineLocale ( 'ms-my' , {
2014-08-26 19:39:15 +04:00
months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember' . split ( '_' ) ,
monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis' . split ( '_' ) ,
weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu' . split ( '_' ) ,
weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab' . split ( '_' ) ,
weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb' . split ( '_' ) ,
longDateFormat : {
LT : 'HH.mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT.ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY [pukul] LT' ,
LLLL : 'dddd, D MMMM YYYY [pukul] LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /pagi|tengahari|petang|malam/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'pagi' ) {
return hour ;
} else if ( meridiem === 'tengahari' ) {
return hour >= 11 ? hour : hour + 12 ;
} else if ( meridiem === 'petang' || meridiem === 'malam' ) {
return hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
if ( hours < 11 ) {
return 'pagi' ;
} else if ( hours < 15 ) {
return 'tengahari' ;
} else if ( hours < 19 ) {
return 'petang' ;
} else {
return 'malam' ;
}
} ,
calendar : {
sameDay : '[Hari ini pukul] LT' ,
nextDay : '[Esok pukul] LT' ,
nextWeek : 'dddd [pukul] LT' ,
lastDay : '[Kelmarin pukul] LT' ,
lastWeek : 'dddd [lepas pukul] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'dalam %s' ,
past : '%s yang lepas' ,
s : 'beberapa saat' ,
m : 'seminit' ,
mm : '%d minit' ,
h : 'sejam' ,
hh : '%d jam' ,
d : 'sehari' ,
dd : '%d hari' ,
M : 'sebulan' ,
MM : '%d bulan' ,
y : 'setahun' ,
yy : '%d tahun'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Burmese (my)
//! author : Squar team, mysquar.com
var my _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '၁' ,
'2' : '၂' ,
'3' : '၃' ,
'4' : '၄' ,
'5' : '၅' ,
'6' : '၆' ,
'7' : '၇' ,
'8' : '၈' ,
'9' : '၉' ,
'0' : '၀ '
2015-07-22 17:10:40 +03:00
} , my _ _numberMap = {
2014-08-26 19:39:15 +04:00
'၁' : '1' ,
'၂' : '2' ,
'၃' : '3' ,
'၄' : '4' ,
'၅' : '5' ,
'၆' : '6' ,
'၇' : '7' ,
'၈' : '8' ,
'၉' : '9' ,
'၀ ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var my = _moment _ _default . defineLocale ( 'my' , {
2014-08-26 19:39:15 +04:00
months : 'ဇန်နဝ ါရီ_ဖေဖော်ဝ ါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝ င်ဘာ_ဒီဇင်ဘာ' . split ( '_' ) ,
monthsShort : 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ' . split ( '_' ) ,
weekdays : 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
weekdaysShort : 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ' . split ( '_' ) ,
weekdaysMin : 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'HH:mm:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[ယနေ.] LT [မှာ]' ,
nextDay : '[မနက်ဖြန်] LT [မှာ]' ,
nextWeek : 'dddd LT [မှာ]' ,
lastDay : '[မနေ.က] LT [မှာ]' ,
lastWeek : '[ပြီးခဲ့သော] dddd LT [မှာ]' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'လာမည့် %s မှာ' ,
past : 'လွန်ခဲ့သော %s က' ,
s : 'စက္ကန်.အနည်းငယ်' ,
m : 'တစ်မိနစ်' ,
mm : '%d မိနစ်' ,
h : 'တစ်နာရီ' ,
hh : '%d နာရီ' ,
d : 'တစ်ရက်' ,
dd : '%d ရက်' ,
M : 'တစ်လ' ,
MM : '%d လ' ,
y : 'တစ်နှစ်' ,
yy : '%d နှစ်'
} ,
preparse : function ( string ) {
return string . replace ( /[၁၂၃၄၅၆၇၈၉၀]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return my _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return my _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : norwegian bokmål (nb)
//! authors : Espen Hovlandsdal : https://github.com/rexxars
//! Sigurd Gartmann : https://github.com/sigurdga
var nb = _moment _ _default . defineLocale ( 'nb' , {
2014-08-26 19:39:15 +04:00
months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des' . split ( '_' ) ,
weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag' . split ( '_' ) ,
weekdaysShort : 'søn_man_tirs_ons_tors_fre_lør' . split ( '_' ) ,
weekdaysMin : 'sø_ma_ti_on_to_fr_lø' . split ( '_' ) ,
longDateFormat : {
LT : 'H.mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT.ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY [kl.] LT' ,
LLLL : 'dddd D. MMMM YYYY [kl.] LT'
} ,
calendar : {
sameDay : '[i dag kl.] LT' ,
nextDay : '[i morgen kl.] LT' ,
nextWeek : 'dddd [kl.] LT' ,
lastDay : '[i går kl.] LT' ,
lastWeek : '[forrige] dddd [kl.] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'om %s' ,
past : 'for %s siden' ,
s : 'noen sekunder' ,
m : 'ett minutt' ,
mm : '%d minutter' ,
h : 'en time' ,
hh : '%d timer' ,
d : 'en dag' ,
dd : '%d dager' ,
M : 'en måned' ,
MM : '%d måneder' ,
y : 'ett år' ,
yy : '%d år'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : nepali/nepalese
//! author : suvash : https://github.com/suvash
var ne _ _symbolMap = {
2014-08-26 19:39:15 +04:00
'1' : '१' ,
'2' : '२' ,
'3' : '३' ,
'4' : '४' ,
'5' : '५' ,
'6' : '६' ,
'7' : '७' ,
'8' : '८' ,
'9' : '९' ,
'0' : '० '
} ,
2015-07-22 17:10:40 +03:00
ne _ _numberMap = {
2014-08-26 19:39:15 +04:00
'१' : '1' ,
'२' : '2' ,
'३' : '3' ,
'४' : '4' ,
'५' : '5' ,
'६' : '6' ,
'७' : '7' ,
'८' : '8' ,
'९' : '9' ,
'० ' : '0'
} ;
2015-07-22 17:10:40 +03:00
var ne = _moment _ _default . defineLocale ( 'ne' , {
2014-08-26 19:39:15 +04:00
months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर' . split ( '_' ) ,
monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.' . split ( '_' ) ,
weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार' . split ( '_' ) ,
weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.' . split ( '_' ) ,
weekdaysMin : 'आइ._सो._मङ्_बु._बि._शु._श.' . split ( '_' ) ,
longDateFormat : {
LT : 'Aको h:mm बजे' ,
2015-07-22 17:10:40 +03:00
LTS : 'Aको h:mm:ss बजे' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
preparse : function ( string ) {
return string . replace ( /[१२३४५६७८९०]/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return ne _ _numberMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
postformat : function ( string ) {
return string . replace ( /\d/g , function ( match ) {
2015-07-22 17:10:40 +03:00
return ne _ _symbolMap [ match ] ;
2014-08-26 19:39:15 +04:00
} ) ;
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /राती|बिहान|दिउँसो|बेलुका|साँझ|राती/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'राती' ) {
return hour < 3 ? hour : hour + 12 ;
} else if ( meridiem === 'बिहान' ) {
return hour ;
} else if ( meridiem === 'दिउँसो' ) {
return hour >= 10 ? hour : hour + 12 ;
} else if ( meridiem === 'बेलुका' || meridiem === 'साँझ' ) {
return hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 3 ) {
return 'राती' ;
} else if ( hour < 10 ) {
return 'बिहान' ;
} else if ( hour < 15 ) {
return 'दिउँसो' ;
} else if ( hour < 18 ) {
return 'बेलुका' ;
} else if ( hour < 20 ) {
return 'साँझ' ;
} else {
return 'राती' ;
}
} ,
calendar : {
sameDay : '[आज] LT' ,
nextDay : '[भोली] LT' ,
nextWeek : '[आउँदो] dddd[,] LT' ,
lastDay : '[हिजो] LT' ,
lastWeek : '[गएको] dddd[,] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%sमा' ,
past : '%s अगाडी' ,
s : 'केही समय' ,
m : 'एक मिनेट' ,
mm : '%d मिनेट' ,
h : 'एक घण्टा' ,
hh : '%d घण्टा' ,
d : 'एक दिन' ,
dd : '%d दिन' ,
M : 'एक महिना' ,
MM : '%d महिना' ,
y : 'एक बर्ष' ,
yy : '%d बर्ष'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : dutch (nl)
//! author : Joris Röling : https://github.com/jjupiter
var nl _ _monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.' . split ( '_' ) ,
nl _ _monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec' . split ( '_' ) ;
var nl = _moment _ _default . defineLocale ( 'nl' , {
2014-08-26 19:39:15 +04:00
months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december' . split ( '_' ) ,
monthsShort : function ( m , format ) {
if ( /-MMM-/ . test ( format ) ) {
2015-07-22 17:10:40 +03:00
return nl _ _monthsShortWithoutDots [ m . month ( ) ] ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
return nl _ _monthsShortWithDots [ m . month ( ) ] ;
2014-08-26 19:39:15 +04:00
}
} ,
weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag' . split ( '_' ) ,
weekdaysShort : 'zo._ma._di._wo._do._vr._za.' . split ( '_' ) ,
weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD-MM-YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[vandaag om] LT' ,
nextDay : '[morgen om] LT' ,
nextWeek : 'dddd [om] LT' ,
lastDay : '[gisteren om] LT' ,
lastWeek : '[afgelopen] dddd [om] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'over %s' ,
past : '%s geleden' ,
s : 'een paar seconden' ,
m : 'één minuut' ,
mm : '%d minuten' ,
h : 'één uur' ,
hh : '%d uur' ,
d : 'één dag' ,
dd : '%d dagen' ,
M : 'één maand' ,
MM : '%d maanden' ,
y : 'één jaar' ,
yy : '%d jaar'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(ste|de)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + ( ( number === 1 || number === 8 || number >= 20 ) ? 'ste' : 'de' ) ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : norwegian nynorsk (nn)
//! author : https://github.com/mechuwind
var nn = _moment _ _default . defineLocale ( 'nn' , {
2014-08-26 19:39:15 +04:00
months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des' . split ( '_' ) ,
weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag' . split ( '_' ) ,
weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau' . split ( '_' ) ,
weekdaysMin : 'su_må_ty_on_to_fr_lø' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[I dag klokka] LT' ,
nextDay : '[I morgon klokka] LT' ,
nextWeek : 'dddd [klokka] LT' ,
lastDay : '[I går klokka] LT' ,
lastWeek : '[Føregåande] dddd [klokka] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'om %s' ,
past : 'for %s sidan' ,
s : 'nokre sekund' ,
m : 'eit minutt' ,
mm : '%d minutt' ,
h : 'ein time' ,
hh : '%d timar' ,
d : 'ein dag' ,
dd : '%d dagar' ,
M : 'ein månad' ,
MM : '%d månader' ,
y : 'eit år' ,
yy : '%d år'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : polish (pl)
//! author : Rafal Hirsz : https://github.com/evoL
2014-08-26 19:39:15 +04:00
var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień' . split ( '_' ) ,
monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia' . split ( '_' ) ;
2015-07-22 17:10:40 +03:00
function pl _ _plural ( n ) {
2014-08-26 19:39:15 +04:00
return ( n % 10 < 5 ) && ( n % 10 > 1 ) && ( ( ~ ~ ( n / 10 ) % 10 ) !== 1 ) ;
}
2015-07-22 17:10:40 +03:00
function pl _ _translate ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 'm' :
return withoutSuffix ? 'minuta' : 'minutę' ;
case 'mm' :
2015-07-22 17:10:40 +03:00
return result + ( pl _ _plural ( number ) ? 'minuty' : 'minut' ) ;
2014-08-26 19:39:15 +04:00
case 'h' :
return withoutSuffix ? 'godzina' : 'godzinę' ;
case 'hh' :
2015-07-22 17:10:40 +03:00
return result + ( pl _ _plural ( number ) ? 'godziny' : 'godzin' ) ;
2014-08-26 19:39:15 +04:00
case 'MM' :
2015-07-22 17:10:40 +03:00
return result + ( pl _ _plural ( number ) ? 'miesiące' : 'miesięcy' ) ;
2014-08-26 19:39:15 +04:00
case 'yy' :
2015-07-22 17:10:40 +03:00
return result + ( pl _ _plural ( number ) ? 'lata' : 'lat' ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
var pl = _moment _ _default . defineLocale ( 'pl' , {
2014-08-26 19:39:15 +04:00
months : function ( momentToFormat , format ) {
2015-07-22 17:10:40 +03:00
if ( format === '' ) {
// Hack: if format empty we know this is used to generate
// RegExp by moment. Give then back both valid forms of months
// in RegExp ready format.
return '(' + monthsSubjective [ momentToFormat . month ( ) ] + '|' + monthsNominative [ momentToFormat . month ( ) ] + ')' ;
} else if ( /D MMMM/ . test ( format ) ) {
2014-08-26 19:39:15 +04:00
return monthsSubjective [ momentToFormat . month ( ) ] ;
} else {
return monthsNominative [ momentToFormat . month ( ) ] ;
}
} ,
monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru' . split ( '_' ) ,
weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota' . split ( '_' ) ,
weekdaysShort : 'nie_pon_wt_śr_czw_pt_sb' . split ( '_' ) ,
weekdaysMin : 'N_Pn_Wt_Śr_Cz_Pt_So' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Dziś o] LT' ,
nextDay : '[Jutro o] LT' ,
nextWeek : '[W] dddd [o] LT' ,
lastDay : '[Wczoraj o] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[W zeszłą niedzielę o] LT' ;
case 3 :
return '[W zeszłą środę o] LT' ;
case 6 :
return '[W zeszłą sobotę o] LT' ;
default :
return '[W zeszły] dddd [o] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : '%s temu' ,
s : 'kilka sekund' ,
2015-07-22 17:10:40 +03:00
m : pl _ _translate ,
mm : pl _ _translate ,
h : pl _ _translate ,
hh : pl _ _translate ,
2014-08-26 19:39:15 +04:00
d : '1 dzień' ,
dd : '%d dni' ,
M : 'miesiąc' ,
2015-07-22 17:10:40 +03:00
MM : pl _ _translate ,
2014-08-26 19:39:15 +04:00
y : 'rok' ,
2015-07-22 17:10:40 +03:00
yy : pl _ _translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : brazilian portuguese (pt-br)
//! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
var pt _br = _moment _ _default . defineLocale ( 'pt-br' , {
months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro' . split ( '_' ) ,
monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez' . split ( '_' ) ,
weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado' . split ( '_' ) ,
weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb' . split ( '_' ) ,
weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D [de] MMMM [de] YYYY' ,
LLL : 'D [de] MMMM [de] YYYY [às] LT' ,
LLLL : 'dddd, D [de] MMMM [de] YYYY [às] LT'
} ,
calendar : {
sameDay : '[Hoje às] LT' ,
nextDay : '[Amanhã às] LT' ,
nextWeek : 'dddd [às] LT' ,
lastDay : '[Ontem às] LT' ,
lastWeek : function ( ) {
return ( this . day ( ) === 0 || this . day ( ) === 6 ) ?
'[Último] dddd [às] LT' : // Saturday + Sunday
'[Última] dddd [às] LT' ; // Monday - Friday
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'em %s' ,
past : '%s atrás' ,
s : 'segundos' ,
m : 'um minuto' ,
mm : '%d minutos' ,
h : 'uma hora' ,
hh : '%d horas' ,
d : 'um dia' ,
dd : '%d dias' ,
M : 'um mês' ,
MM : '%d meses' ,
y : 'um ano' ,
yy : '%d anos'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}º/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dº'
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : portuguese (pt)
//! author : Jefferson : https://github.com/jalex79
var pt = _moment _ _default . defineLocale ( 'pt' , {
months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro' . split ( '_' ) ,
monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez' . split ( '_' ) ,
weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado' . split ( '_' ) ,
weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb' . split ( '_' ) ,
weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D [de] MMMM [de] YYYY' ,
LLL : 'D [de] MMMM [de] YYYY LT' ,
LLLL : 'dddd, D [de] MMMM [de] YYYY LT'
} ,
calendar : {
sameDay : '[Hoje às] LT' ,
nextDay : '[Amanhã às] LT' ,
nextWeek : 'dddd [às] LT' ,
lastDay : '[Ontem às] LT' ,
lastWeek : function ( ) {
return ( this . day ( ) === 0 || this . day ( ) === 6 ) ?
'[Último] dddd [às] LT' : // Saturday + Sunday
'[Última] dddd [às] LT' ; // Monday - Friday
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'em %s' ,
past : 'há %s' ,
s : 'segundos' ,
m : 'um minuto' ,
mm : '%d minutos' ,
h : 'uma hora' ,
hh : '%d horas' ,
d : 'um dia' ,
dd : '%d dias' ,
M : 'um mês' ,
MM : '%d meses' ,
y : 'um ano' ,
yy : '%d anos'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}º/ ,
2014-08-26 19:39:15 +04:00
ordinal : '%dº' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : romanian (ro)
//! author : Vlad Gurdiga : https://github.com/gurdiga
//! author : Valentin Agachi : https://github.com/avaly
function ro _ _relativeTimeWithPlural ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var format = {
'mm' : 'minute' ,
'hh' : 'ore' ,
'dd' : 'zile' ,
'MM' : 'luni' ,
'yy' : 'ani'
} ,
separator = ' ' ;
if ( number % 100 >= 20 || ( number >= 100 && number % 100 === 0 ) ) {
separator = ' de ' ;
}
return number + separator + format [ key ] ;
}
2015-07-22 17:10:40 +03:00
var ro = _moment _ _default . defineLocale ( 'ro' , {
2014-08-26 19:39:15 +04:00
months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie' . split ( '_' ) ,
monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.' . split ( '_' ) ,
weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă' . split ( '_' ) ,
weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm' . split ( '_' ) ,
weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY H:mm' ,
LLLL : 'dddd, D MMMM YYYY H:mm'
} ,
calendar : {
sameDay : '[azi la] LT' ,
nextDay : '[mâine la] LT' ,
nextWeek : 'dddd [la] LT' ,
lastDay : '[ieri la] LT' ,
lastWeek : '[fosta] dddd [la] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'peste %s' ,
past : '%s în urmă' ,
s : 'câteva secunde' ,
m : 'un minut' ,
2015-07-22 17:10:40 +03:00
mm : ro _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
h : 'o oră' ,
2015-07-22 17:10:40 +03:00
hh : ro _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
d : 'o zi' ,
2015-07-22 17:10:40 +03:00
dd : ro _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
M : 'o lună' ,
2015-07-22 17:10:40 +03:00
MM : ro _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
y : 'un an' ,
2015-07-22 17:10:40 +03:00
yy : ro _ _relativeTimeWithPlural
2014-08-26 19:39:15 +04:00
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : russian (ru)
//! author : Viktorminator : https://github.com/Viktorminator
//! Author : Menelion Elensúle : https://github.com/Oire
function ru _ _plural ( word , num ) {
2014-08-26 19:39:15 +04:00
var forms = word . split ( '_' ) ;
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 ] ) ;
}
2015-07-22 17:10:40 +03:00
function ru _ _relativeTimeWithPlural ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var format = {
'mm' : withoutSuffix ? 'мину та _мину ты_мину т' : 'мину ту _мину ты_мину т' ,
'hh' : 'ча с _ча с а _ча с о в' ,
'dd' : 'де нь_дня_дне й' ,
'MM' : 'ме с яц_ме с яца _ме с яце в' ,
'yy' : 'г о д_г о да _ле т'
} ;
if ( key === 'm' ) {
return withoutSuffix ? 'минута' : 'минуту' ;
}
else {
2015-07-22 17:10:40 +03:00
return number + ' ' + ru _ _plural ( format [ key ] , + number ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
function ru _ _monthsCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var months = {
'nominative' : 'янва р ь_фе вр а ль_ма р т_а пр е ль_ма й_июнь_июль_а вг у с т_с е нтяб р ь_о ктяб р ь_но яб р ь_де ка б р ь' . split ( '_' ) ,
'accusative' : 'янва р я_фе вр а ля_ма р та _а пр е ля_ма я_июня_июля_а вг у с та _с е нтяб р я_о ктяб р я_но яб р я_де ка б р я' . split ( '_' )
} ,
nounCase = ( /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return months [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function ru _ _monthsShortCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var monthsShort = {
2015-07-22 17:10:40 +03:00
'nominative' : 'янв_фе в_ма р т_а пр _ма й_июнь_июль_а вг _с е н_о кт_но я_де к' . split ( '_' ) ,
2014-08-26 19:39:15 +04:00
'accusative' : 'янв_фе в_ма р _а пр _ма я_июня_июля_а вг _с е н_о кт_но я_де к' . split ( '_' )
} ,
nounCase = ( /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return monthsShort [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function ru _ _weekdaysCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var weekdays = {
'nominative' : 'во с кр е с е нье _по не де льник_вто р ник_с р е да _че тве р г _пятница _с у б б о та ' . split ( '_' ) ,
'accusative' : 'во с кр е с е нье _по не де льник_вто р ник_с р е ду _че тве р г _пятницу _с у б б о ту ' . split ( '_' )
} ,
2015-07-22 17:10:40 +03:00
nounCase = ( /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/ ) . test ( format ) ?
2014-08-26 19:39:15 +04:00
'accusative' :
'nominative' ;
return weekdays [ nounCase ] [ m . day ( ) ] ;
}
2015-07-22 17:10:40 +03:00
var ru = _moment _ _default . defineLocale ( 'ru' , {
months : ru _ _monthsCaseReplace ,
monthsShort : ru _ _monthsShortCaseReplace ,
weekdays : ru _ _weekdaysCaseReplace ,
2014-08-26 19:39:15 +04:00
weekdaysShort : 'вс _пн_вт_с р _чт_пт_с б ' . split ( '_' ) ,
weekdaysMin : 'вс _пн_вт_с р _чт_пт_с б ' . split ( '_' ) ,
monthsParse : [ /^янв/i , /^фев/i , /^мар/i , /^апр/i , /^ма[й|я]/i , /^июн/i , /^июл/i , /^авг/i , /^сен/i , /^окт/i , /^ноя/i , /^дек/i ] ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY г .' ,
LLL : 'D MMMM YYYY г ., LT' ,
LLLL : 'dddd, D MMMM YYYY г ., LT'
} ,
calendar : {
sameDay : '[Сегодня в] LT' ,
nextDay : '[Завтра в] LT' ,
lastDay : '[Вчера в] LT' ,
nextWeek : function ( ) {
return this . day ( ) === 2 ? '[В о ] dddd [в] LT' : '[В ] dddd [в] LT' ;
} ,
2015-07-22 17:10:40 +03:00
lastWeek : function ( now ) {
if ( now . week ( ) !== this . week ( ) ) {
switch ( this . day ( ) ) {
case 0 :
return '[В прошлое] dddd [в] LT' ;
case 1 :
case 2 :
case 4 :
return '[В прошлый] dddd [в] LT' ;
case 3 :
case 5 :
case 6 :
return '[В прошлую] dddd [в] LT' ;
}
} else {
if ( this . day ( ) === 2 ) {
return '[В о ] dddd [в] LT' ;
} else {
return '[В ] dddd [в] LT' ;
}
2014-08-26 19:39:15 +04:00
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'через %s' ,
past : '%s назад' ,
s : 'несколько секунд' ,
2015-07-22 17:10:40 +03:00
m : ru _ _relativeTimeWithPlural ,
mm : ru _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
h : 'час' ,
2015-07-22 17:10:40 +03:00
hh : ru _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
d : 'день' ,
2015-07-22 17:10:40 +03:00
dd : ru _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
M : 'месяц' ,
2015-07-22 17:10:40 +03:00
MM : ru _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
y : 'год' ,
2015-07-22 17:10:40 +03:00
yy : ru _ _relativeTimeWithPlural
2014-08-26 19:39:15 +04:00
} ,
meridiemParse : /ночи|утра|дня|вечера/i ,
isPM : function ( input ) {
return /^(дня|вечера)$/ . test ( input ) ;
} ,
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'ночи' ;
} else if ( hour < 12 ) {
return 'утра' ;
} else if ( hour < 17 ) {
return 'дня' ;
} else {
return 'вечера' ;
}
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(й|г о |я)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'M' :
case 'd' :
case 'DDD' :
return number + '-й' ;
case 'D' :
return number + '-г о ' ;
case 'w' :
case 'W' :
return number + '-я' ;
default :
return number ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Sinhalese (si)
//! author : Sampath Sitinamaluwa : https://github.com/sampathsris
var si = _moment _ _default . defineLocale ( 'si' , {
months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප් රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්' . split ( '_' ) ,
monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ' . split ( '_' ) ,
weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ් රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා' . split ( '_' ) ,
weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ් රහ_සිකු_සෙන' . split ( '_' ) ,
weekdaysMin : 'ඉ_ස_අ_බ_බ් ර_සි_සෙ' . split ( '_' ) ,
longDateFormat : {
LT : 'a h:mm' ,
LTS : 'a h:mm:ss' ,
L : 'YYYY/MM/DD' ,
LL : 'YYYY MMMM D' ,
LLL : 'YYYY MMMM D, LT' ,
LLLL : 'YYYY MMMM D [වැනි] dddd, LTS'
} ,
calendar : {
sameDay : '[අද] LT[ට]' ,
nextDay : '[හෙට] LT[ට]' ,
nextWeek : 'dddd LT[ට]' ,
lastDay : '[ඊයේ] LT[ට]' ,
lastWeek : '[පසුගිය] dddd LT[ට]' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%sකින්' ,
past : '%sකට පෙර' ,
s : 'තත්පර කිහිපය' ,
m : 'මිනිත්තුව' ,
mm : 'මිනිත්තු %d' ,
h : 'පැය' ,
hh : 'පැය %d' ,
d : 'දිනය' ,
dd : 'දින %d' ,
M : 'මාසය' ,
MM : 'මාස %d' ,
y : 'වසර' ,
yy : 'වසර %d'
} ,
ordinalParse : /\d{1,2} වැනි/ ,
ordinal : function ( number ) {
return number + ' වැනි' ;
} ,
meridiem : function ( hours , minutes , isLower ) {
if ( hours > 11 ) {
return isLower ? 'ප.ව.' : 'පස් වරු' ;
} else {
return isLower ? 'පෙ.ව.' : 'පෙර වරු' ;
}
}
} ) ;
//! moment.js locale configuration
//! locale : slovak (sk)
//! author : Martin Minka : https://github.com/k2s
//! based on work of petrbela : https://github.com/petrbela
var sk _ _months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december' . split ( '_' ) ,
sk _ _monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec' . split ( '_' ) ;
function sk _ _plural ( n ) {
2014-08-26 19:39:15 +04:00
return ( n > 1 ) && ( n < 5 ) ;
}
2015-07-22 17:10:40 +03:00
function sk _ _translate ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
case 's' : // a few seconds / in a few seconds / a few seconds ago
return ( withoutSuffix || isFuture ) ? 'pár sekúnd' : 'pár sekundami' ;
case 'm' : // a minute / in a minute / a minute ago
return withoutSuffix ? 'minúta' : ( isFuture ? 'minútu' : 'minútou' ) ;
case 'mm' : // 9 minutes / in 9 minutes / 9 minutes ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( sk _ _plural ( number ) ? 'minúty' : 'minút' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'minútami' ;
}
break ;
case 'h' : // an hour / in an hour / an hour ago
return withoutSuffix ? 'hodina' : ( isFuture ? 'hodinu' : 'hodinou' ) ;
case 'hh' : // 9 hours / in 9 hours / 9 hours ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( sk _ _plural ( number ) ? 'hodiny' : 'hodín' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'hodinami' ;
}
break ;
case 'd' : // a day / in a day / a day ago
return ( withoutSuffix || isFuture ) ? 'deň' : 'dňom' ;
case 'dd' : // 9 days / in 9 days / 9 days ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( sk _ _plural ( number ) ? 'dni' : 'dní' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'dňami' ;
}
break ;
case 'M' : // a month / in a month / a month ago
return ( withoutSuffix || isFuture ) ? 'mesiac' : 'mesiacom' ;
case 'MM' : // 9 months / in 9 months / 9 months ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( sk _ _plural ( number ) ? 'mesiace' : 'mesiacov' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'mesiacmi' ;
}
break ;
case 'y' : // a year / in a year / a year ago
return ( withoutSuffix || isFuture ) ? 'rok' : 'rokom' ;
case 'yy' : // 9 years / in 9 years / 9 years ago
if ( withoutSuffix || isFuture ) {
2015-07-22 17:10:40 +03:00
return result + ( sk _ _plural ( number ) ? 'roky' : 'rokov' ) ;
2014-08-26 19:39:15 +04:00
} else {
return result + 'rokmi' ;
}
break ;
}
}
2015-07-22 17:10:40 +03:00
var sk = _moment _ _default . defineLocale ( 'sk' , {
months : sk _ _months ,
monthsShort : sk _ _monthsShort ,
2014-08-26 19:39:15 +04:00
monthsParse : ( function ( months , monthsShort ) {
var i , _monthsParse = [ ] ;
for ( i = 0 ; i < 12 ; i ++ ) {
// use custom parser to solve problem with July (červenec)
_monthsParse [ i ] = new RegExp ( '^' + months [ i ] + '$|^' + monthsShort [ i ] + '$' , 'i' ) ;
}
return _monthsParse ;
2015-07-22 17:10:40 +03:00
} ( sk _ _months , sk _ _monthsShort ) ) ,
2014-08-26 19:39:15 +04:00
weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota' . split ( '_' ) ,
weekdaysShort : 'ne_po_ut_st_št_pi_so' . split ( '_' ) ,
weekdaysMin : 'ne_po_ut_st_št_pi_so' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[dnes o] LT' ,
nextDay : '[zajtra o] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[v nedeľu o] LT' ;
case 1 :
case 2 :
return '[v] dddd [o] LT' ;
case 3 :
return '[v stredu o] LT' ;
case 4 :
return '[vo štvrtok o] LT' ;
case 5 :
return '[v piatok o] LT' ;
case 6 :
return '[v sobotu o] LT' ;
}
} ,
lastDay : '[včera o] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[minulú nedeľu o] LT' ;
case 1 :
case 2 :
return '[minulý] dddd [o] LT' ;
case 3 :
return '[minulú stredu o] LT' ;
case 4 :
case 5 :
return '[minulý] dddd [o] LT' ;
case 6 :
return '[minulú sobotu o] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : 'pred %s' ,
2015-07-22 17:10:40 +03:00
s : sk _ _translate ,
m : sk _ _translate ,
mm : sk _ _translate ,
h : sk _ _translate ,
hh : sk _ _translate ,
d : sk _ _translate ,
dd : sk _ _translate ,
M : sk _ _translate ,
MM : sk _ _translate ,
y : sk _ _translate ,
yy : sk _ _translate
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : slovenian (sl)
//! author : Robert Sedovšek : https://github.com/sedovsek
function sl _ _processRelativeTime ( number , withoutSuffix , key , isFuture ) {
2014-08-26 19:39:15 +04:00
var result = number + ' ' ;
switch ( key ) {
2015-07-22 17:10:40 +03:00
case 's' :
return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami' ;
2014-08-26 19:39:15 +04:00
case 'm' :
return withoutSuffix ? 'ena minuta' : 'eno minuto' ;
case 'mm' :
if ( number === 1 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix ? 'minuta' : 'minuto' ;
2014-08-26 19:39:15 +04:00
} else if ( number === 2 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'minuti' : 'minutama' ;
} else if ( number < 5 ) {
result += withoutSuffix || isFuture ? 'minute' : 'minutami' ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'minut' : 'minutami' ;
2014-08-26 19:39:15 +04:00
}
return result ;
case 'h' :
return withoutSuffix ? 'ena ura' : 'eno uro' ;
case 'hh' :
if ( number === 1 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix ? 'ura' : 'uro' ;
2014-08-26 19:39:15 +04:00
} else if ( number === 2 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'uri' : 'urama' ;
} else if ( number < 5 ) {
result += withoutSuffix || isFuture ? 'ure' : 'urami' ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'ur' : 'urami' ;
2014-08-26 19:39:15 +04:00
}
return result ;
2015-07-22 17:10:40 +03:00
case 'd' :
return withoutSuffix || isFuture ? 'en dan' : 'enim dnem' ;
2014-08-26 19:39:15 +04:00
case 'dd' :
if ( number === 1 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'dan' : 'dnem' ;
} else if ( number === 2 ) {
result += withoutSuffix || isFuture ? 'dni' : 'dnevoma' ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'dni' : 'dnevi' ;
2014-08-26 19:39:15 +04:00
}
return result ;
2015-07-22 17:10:40 +03:00
case 'M' :
return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem' ;
2014-08-26 19:39:15 +04:00
case 'MM' :
if ( number === 1 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'mesec' : 'mesecem' ;
2014-08-26 19:39:15 +04:00
} else if ( number === 2 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'meseca' : 'mesecema' ;
} else if ( number < 5 ) {
result += withoutSuffix || isFuture ? 'mesece' : 'meseci' ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'mesecev' : 'meseci' ;
2014-08-26 19:39:15 +04:00
}
return result ;
2015-07-22 17:10:40 +03:00
case 'y' :
return withoutSuffix || isFuture ? 'eno leto' : 'enim letom' ;
2014-08-26 19:39:15 +04:00
case 'yy' :
if ( number === 1 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'leto' : 'letom' ;
2014-08-26 19:39:15 +04:00
} else if ( number === 2 ) {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'leti' : 'letoma' ;
} else if ( number < 5 ) {
result += withoutSuffix || isFuture ? 'leta' : 'leti' ;
2014-08-26 19:39:15 +04:00
} else {
2015-07-22 17:10:40 +03:00
result += withoutSuffix || isFuture ? 'let' : 'leti' ;
2014-08-26 19:39:15 +04:00
}
return result ;
}
}
2015-07-22 17:10:40 +03:00
var sl = _moment _ _default . defineLocale ( 'sl' , {
2014-08-26 19:39:15 +04:00
months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december' . split ( '_' ) ,
monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.' . split ( '_' ) ,
weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota' . split ( '_' ) ,
weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.' . split ( '_' ) ,
weekdaysMin : 'ne_po_to_sr_če_pe_so' . split ( '_' ) ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[danes ob] LT' ,
nextDay : '[jutri ob] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[v] [nedeljo] [ob] LT' ;
case 3 :
return '[v] [sredo] [ob] LT' ;
case 6 :
return '[v] [soboto] [ob] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[v] dddd [ob] LT' ;
}
} ,
lastDay : '[včeraj ob] LT' ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
2015-07-22 17:10:40 +03:00
return '[prejšnjo] [nedeljo] [ob] LT' ;
2014-08-26 19:39:15 +04:00
case 3 :
2015-07-22 17:10:40 +03:00
return '[prejšnjo] [sredo] [ob] LT' ;
2014-08-26 19:39:15 +04:00
case 6 :
2015-07-22 17:10:40 +03:00
return '[prejšnjo] [soboto] [ob] LT' ;
2014-08-26 19:39:15 +04:00
case 1 :
case 2 :
case 4 :
case 5 :
return '[prejšnji] dddd [ob] LT' ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'čez %s' ,
2015-07-22 17:10:40 +03:00
past : 'pred %s' ,
s : sl _ _processRelativeTime ,
m : sl _ _processRelativeTime ,
mm : sl _ _processRelativeTime ,
h : sl _ _processRelativeTime ,
hh : sl _ _processRelativeTime ,
d : sl _ _processRelativeTime ,
dd : sl _ _processRelativeTime ,
M : sl _ _processRelativeTime ,
MM : sl _ _processRelativeTime ,
y : sl _ _processRelativeTime ,
yy : sl _ _processRelativeTime
} ,
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Albanian (sq)
//! author : Flakërim Ismani : https://github.com/flakerimi
//! author: Menelion Elensúle: https://github.com/Oire (tests)
//! author : Oerd Cukalla : https://github.com/oerd (fixes)
var sq = _moment _ _default . defineLocale ( 'sq' , {
2014-08-26 19:39:15 +04:00
months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor' . split ( '_' ) ,
monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj' . split ( '_' ) ,
weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë' . split ( '_' ) ,
weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht' . split ( '_' ) ,
weekdaysMin : 'D_H_Ma_Më_E_P_Sh' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
meridiemParse : /PD|MD/ ,
isPM : function ( input ) {
return input . charAt ( 0 ) === 'M' ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hours , minutes , isLower ) {
return hours < 12 ? 'PD' : 'MD' ;
} ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Sot në] LT' ,
nextDay : '[Nesër në] LT' ,
nextWeek : 'dddd [në] LT' ,
lastDay : '[Dje në] LT' ,
lastWeek : 'dddd [e kaluar në] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'në %s' ,
past : '%s më parë' ,
s : 'disa sekonda' ,
m : 'një minutë' ,
mm : '%d minuta' ,
h : 'një orë' ,
hh : '%d orë' ,
d : 'një ditë' ,
dd : '%d ditë' ,
M : 'një muaj' ,
MM : '%d muaj' ,
y : 'një vit' ,
yy : '%d vite'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Serbian-cyrillic (sr-cyrl)
//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
var sr _cyrl _ _translator = {
2014-08-26 19:39:15 +04:00
words : { //Different grammatical cases
m : [ 'један минут' , 'једне минуте' ] ,
mm : [ 'минут' , 'минуте' , 'минута' ] ,
h : [ 'један сат' , 'једног сата' ] ,
hh : [ 'сат' , 'сата' , 'сати' ] ,
dd : [ 'дан' , 'дана' , 'дана' ] ,
MM : [ 'месец' , 'месеца' , 'месеци' ] ,
yy : [ 'година' , 'године' , 'година' ]
} ,
correctGrammaticalCase : function ( number , wordKey ) {
return number === 1 ? wordKey [ 0 ] : ( number >= 2 && number <= 4 ? wordKey [ 1 ] : wordKey [ 2 ] ) ;
} ,
translate : function ( number , withoutSuffix , key ) {
2015-07-22 17:10:40 +03:00
var wordKey = sr _cyrl _ _translator . words [ key ] ;
2014-08-26 19:39:15 +04:00
if ( key . length === 1 ) {
return withoutSuffix ? wordKey [ 0 ] : wordKey [ 1 ] ;
} else {
2015-07-22 17:10:40 +03:00
return number + ' ' + sr _cyrl _ _translator . correctGrammaticalCase ( number , wordKey ) ;
2014-08-26 19:39:15 +04:00
}
}
} ;
2015-07-22 17:10:40 +03:00
var sr _cyrl = _moment _ _default . defineLocale ( 'sr-cyrl' , {
2014-08-26 19:39:15 +04:00
months : [ 'јануар' , 'фебруар' , 'март' , 'април' , 'мај' , 'јун' , 'јул' , 'август' , 'септембар' , 'октобар' , 'новембар' , 'децембар' ] ,
monthsShort : [ 'јан.' , 'феб.' , 'мар.' , 'апр.' , 'мај' , 'јун' , 'јул' , 'авг.' , 'сеп.' , 'окт.' , 'нов.' , 'дец.' ] ,
weekdays : [ 'недеља' , 'понедељак' , 'уторак' , 'среда' , 'четвртак' , 'петак' , 'субота' ] ,
weekdaysShort : [ 'нед.' , 'пон.' , 'уто.' , 'с р е .' , 'чет.' , 'пет.' , 'с у б .' ] ,
weekdaysMin : [ 'не' , 'по' , 'ут' , 'с р ' , 'че' , 'пе' , 'с у ' ] ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[данас у ] LT' ,
nextDay : '[сутра у ] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[у ] [недељу] [у ] LT' ;
case 3 :
return '[у ] [среду] [у ] LT' ;
case 6 :
return '[у ] [суботу] [у ] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[у ] dddd [у ] LT' ;
}
} ,
lastDay : '[јуче у ] LT' ,
lastWeek : function ( ) {
var lastWeekDays = [
'[прошле] [недеље] [у ] LT' ,
'[прошлог] [понедељка] [у ] LT' ,
'[прошлог] [уторка] [у ] LT' ,
'[прошле] [среде] [у ] LT' ,
'[прошлог] [четвртка] [у ] LT' ,
'[прошлог] [петка] [у ] LT' ,
'[прошле] [суботе] [у ] LT'
] ;
return lastWeekDays [ this . day ( ) ] ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'за %s' ,
past : 'пре %s' ,
s : 'неколико секунди' ,
2015-07-22 17:10:40 +03:00
m : sr _cyrl _ _translator . translate ,
mm : sr _cyrl _ _translator . translate ,
h : sr _cyrl _ _translator . translate ,
hh : sr _cyrl _ _translator . translate ,
2014-08-26 19:39:15 +04:00
d : 'дан' ,
2015-07-22 17:10:40 +03:00
dd : sr _cyrl _ _translator . translate ,
2014-08-26 19:39:15 +04:00
M : 'месец' ,
2015-07-22 17:10:40 +03:00
MM : sr _cyrl _ _translator . translate ,
2014-08-26 19:39:15 +04:00
y : 'годину' ,
2015-07-22 17:10:40 +03:00
yy : sr _cyrl _ _translator . translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Serbian-latin (sr)
//! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
var sr _ _translator = {
2014-08-26 19:39:15 +04:00
words : { //Different grammatical cases
m : [ 'jedan minut' , 'jedne minute' ] ,
mm : [ 'minut' , 'minute' , 'minuta' ] ,
h : [ 'jedan sat' , 'jednog sata' ] ,
hh : [ 'sat' , 'sata' , 'sati' ] ,
dd : [ 'dan' , 'dana' , 'dana' ] ,
MM : [ 'mesec' , 'meseca' , 'meseci' ] ,
yy : [ 'godina' , 'godine' , 'godina' ]
} ,
correctGrammaticalCase : function ( number , wordKey ) {
return number === 1 ? wordKey [ 0 ] : ( number >= 2 && number <= 4 ? wordKey [ 1 ] : wordKey [ 2 ] ) ;
} ,
translate : function ( number , withoutSuffix , key ) {
2015-07-22 17:10:40 +03:00
var wordKey = sr _ _translator . words [ key ] ;
2014-08-26 19:39:15 +04:00
if ( key . length === 1 ) {
return withoutSuffix ? wordKey [ 0 ] : wordKey [ 1 ] ;
} else {
2015-07-22 17:10:40 +03:00
return number + ' ' + sr _ _translator . correctGrammaticalCase ( number , wordKey ) ;
2014-08-26 19:39:15 +04:00
}
}
} ;
2015-07-22 17:10:40 +03:00
var sr = _moment _ _default . defineLocale ( 'sr' , {
2014-08-26 19:39:15 +04:00
months : [ 'januar' , 'februar' , 'mart' , 'april' , 'maj' , 'jun' , 'jul' , 'avgust' , 'septembar' , 'oktobar' , 'novembar' , 'decembar' ] ,
monthsShort : [ 'jan.' , 'feb.' , 'mar.' , 'apr.' , 'maj' , 'jun' , 'jul' , 'avg.' , 'sep.' , 'okt.' , 'nov.' , 'dec.' ] ,
weekdays : [ 'nedelja' , 'ponedeljak' , 'utorak' , 'sreda' , 'četvrtak' , 'petak' , 'subota' ] ,
weekdaysShort : [ 'ned.' , 'pon.' , 'uto.' , 'sre.' , 'čet.' , 'pet.' , 'sub.' ] ,
weekdaysMin : [ 'ne' , 'po' , 'ut' , 'sr' , 'če' , 'pe' , 'su' ] ,
longDateFormat : {
LT : 'H:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD. MM. YYYY' ,
LL : 'D. MMMM YYYY' ,
LLL : 'D. MMMM YYYY LT' ,
LLLL : 'dddd, D. MMMM YYYY LT'
} ,
calendar : {
sameDay : '[danas u] LT' ,
nextDay : '[sutra u] LT' ,
nextWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
return '[u] [nedelju] [u] LT' ;
case 3 :
return '[u] [sredu] [u] LT' ;
case 6 :
return '[u] [subotu] [u] LT' ;
case 1 :
case 2 :
case 4 :
case 5 :
return '[u] dddd [u] LT' ;
}
} ,
lastDay : '[juče u] LT' ,
lastWeek : function ( ) {
var lastWeekDays = [
'[prošle] [nedelje] [u] LT' ,
'[prošlog] [ponedeljka] [u] LT' ,
'[prošlog] [utorka] [u] LT' ,
'[prošle] [srede] [u] LT' ,
'[prošlog] [četvrtka] [u] LT' ,
'[prošlog] [petka] [u] LT' ,
'[prošle] [subote] [u] LT'
] ;
return lastWeekDays [ this . day ( ) ] ;
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'za %s' ,
past : 'pre %s' ,
s : 'nekoliko sekundi' ,
2015-07-22 17:10:40 +03:00
m : sr _ _translator . translate ,
mm : sr _ _translator . translate ,
h : sr _ _translator . translate ,
hh : sr _ _translator . translate ,
2014-08-26 19:39:15 +04:00
d : 'dan' ,
2015-07-22 17:10:40 +03:00
dd : sr _ _translator . translate ,
2014-08-26 19:39:15 +04:00
M : 'mesec' ,
2015-07-22 17:10:40 +03:00
MM : sr _ _translator . translate ,
2014-08-26 19:39:15 +04:00
y : 'godinu' ,
2015-07-22 17:10:40 +03:00
yy : sr _ _translator . translate
2014-08-26 19:39:15 +04:00
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}\./ ,
2014-08-26 19:39:15 +04:00
ordinal : '%d.' ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : swedish (sv)
//! author : Jens Alm : https://github.com/ulmus
var sv = _moment _ _default . defineLocale ( 'sv' , {
2014-08-26 19:39:15 +04:00
months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december' . split ( '_' ) ,
monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec' . split ( '_' ) ,
weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag' . split ( '_' ) ,
weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör' . split ( '_' ) ,
weekdaysMin : 'sö_må_ti_on_to_fr_lö' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[Idag] LT' ,
nextDay : '[Imorgon] LT' ,
lastDay : '[Igår] LT' ,
2015-07-22 17:10:40 +03:00
nextWeek : '[På] dddd LT' ,
lastWeek : '[I] dddd[s] LT' ,
2014-08-26 19:39:15 +04:00
sameElse : 'L'
} ,
relativeTime : {
future : 'om %s' ,
past : 'för %s sedan' ,
s : 'några sekunder' ,
m : 'en minut' ,
mm : '%d minuter' ,
h : 'en timme' ,
hh : '%d timmar' ,
d : 'en dag' ,
dd : '%d dagar' ,
M : 'en månad' ,
MM : '%d månader' ,
y : 'ett år' ,
yy : '%d år'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(e|a)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
var b = number % 10 ,
output = ( ~ ~ ( number % 100 / 10 ) === 1 ) ? 'e' :
( b === 1 ) ? 'a' :
( b === 2 ) ? 'a' :
( b === 3 ) ? 'e' : 'e' ;
return number + output ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : tamil (ta)
//! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
var ta = _moment _ _default . defineLocale ( 'ta' , {
2014-08-26 19:39:15 +04:00
months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்' . split ( '_' ) ,
monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்' . split ( '_' ) ,
weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை' . split ( '_' ) ,
weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி' . split ( '_' ) ,
weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY, LT' ,
LLLL : 'dddd, D MMMM YYYY, LT'
} ,
calendar : {
sameDay : '[இன்று] LT' ,
nextDay : '[நாளை] LT' ,
nextWeek : 'dddd, LT' ,
lastDay : '[நேற்று] LT' ,
lastWeek : '[கடந்த வாரம்] dddd, LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s இல்' ,
past : '%s முன்' ,
s : 'ஒரு சில விநாடிகள்' ,
m : 'ஒரு நிமிடம்' ,
mm : '%d நிமிடங்கள்' ,
h : 'ஒரு மணி நேரம்' ,
hh : '%d மணி நேரம்' ,
d : 'ஒரு நாள்' ,
dd : '%d நாட்கள்' ,
M : 'ஒரு மாதம்' ,
MM : '%d மாதங்கள்' ,
y : 'ஒரு வருடம்' ,
yy : '%d ஆண்டுகள்'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}வது/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number + 'வது' ;
} ,
// refer http://ta.wikipedia.org/s/1er1
2015-07-22 17:10:40 +03:00
meridiemParse : /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/ ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
2015-07-22 17:10:40 +03:00
if ( hour < 2 ) {
return ' யாமம்' ;
} else if ( hour < 6 ) {
return ' வைகறை' ; // வைகறை
} else if ( hour < 10 ) {
return ' காலை' ; // காலை
} else if ( hour < 14 ) {
return ' நண்பகல்' ; // நண்பகல்
} else if ( hour < 18 ) {
return ' எற்பாடு' ; // எற்பாடு
} else if ( hour < 22 ) {
return ' மாலை' ; // மாலை
} else {
return ' யாமம்' ;
}
} ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === 'யாமம்' ) {
return hour < 2 ? hour : hour + 12 ;
} else if ( meridiem === 'வைகறை' || meridiem === 'காலை' ) {
return hour ;
} else if ( meridiem === 'நண்பகல்' ) {
return hour >= 10 ? hour : hour + 12 ;
} else {
return hour + 12 ;
2014-08-26 19:39:15 +04:00
}
} ,
week : {
dow : 0 , // Sunday is the first day of the week.
doy : 6 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : thai (th)
//! author : Kridsada Thanabulpong : https://github.com/sirn
var th = _moment _ _default . defineLocale ( 'th' , {
2014-08-26 19:39:15 +04:00
months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม' . split ( '_' ) ,
monthsShort : 'มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา' . split ( '_' ) ,
weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์' . split ( '_' ) ,
weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์' . split ( '_' ) , // yes, three characters difference
weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.' . split ( '_' ) ,
longDateFormat : {
LT : 'H นาฬิกา m นาที' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT s วินาที' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY/MM/DD' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY เวลา LT' ,
LLLL : 'วันddddที่ D MMMM YYYY เวลา LT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /ก่อนเที่ยง|หลังเที่ยง/ ,
isPM : function ( input ) {
return input === 'หลังเที่ยง' ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 12 ) {
return 'ก่อนเที่ยง' ;
} else {
return 'หลังเที่ยง' ;
}
} ,
calendar : {
sameDay : '[วันนี้ เวลา] LT' ,
nextDay : '[พรุ่งนี้ เวลา] LT' ,
nextWeek : 'dddd[หน้า เวลา] LT' ,
lastDay : '[เมื่อวานนี้ เวลา] LT' ,
lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'อีก %s' ,
past : '%sที่แล้ว' ,
s : 'ไม่กี่วินาที' ,
m : '1 นาที' ,
mm : '%d นาที' ,
h : '1 ชั่วโมง' ,
hh : '%d ชั่วโมง' ,
d : '1 วัน' ,
dd : '%d วัน' ,
M : '1 เดือน' ,
MM : '%d เดือน' ,
y : '1 ปี' ,
yy : '%d ปี'
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Tagalog/Filipino (tl-ph)
//! author : Dan Hagman
var tl _ph = _moment _ _default . defineLocale ( 'tl-ph' , {
2014-08-26 19:39:15 +04:00
months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre' . split ( '_' ) ,
monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis' . split ( '_' ) ,
weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado' . split ( '_' ) ,
weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab' . split ( '_' ) ,
weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'MM/D/YYYY' ,
LL : 'MMMM D, YYYY' ,
LLL : 'MMMM D, YYYY LT' ,
LLLL : 'dddd, MMMM DD, YYYY LT'
} ,
calendar : {
sameDay : '[Ngayon sa] LT' ,
nextDay : '[Bukas sa] LT' ,
nextWeek : 'dddd [sa] LT' ,
lastDay : '[Kahapon sa] LT' ,
lastWeek : 'dddd [huling linggo] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'sa loob ng %s' ,
past : '%s ang nakalipas' ,
s : 'ilang segundo' ,
m : 'isang minuto' ,
mm : '%d minuto' ,
h : 'isang oras' ,
hh : '%d oras' ,
d : 'isang araw' ,
dd : '%d araw' ,
M : 'isang buwan' ,
MM : '%d buwan' ,
y : 'isang taon' ,
yy : '%d taon'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : turkish (tr)
//! authors : Erhan Gundogan : https://github.com/erhangundogan,
//! Burak Yiğit Kaya: https://github.com/BYK
var tr _ _suffixes = {
2014-08-26 19:39:15 +04:00
1 : '\'inci' ,
5 : '\'inci' ,
8 : '\'inci' ,
70 : '\'inci' ,
80 : '\'inci' ,
2 : '\'nci' ,
7 : '\'nci' ,
20 : '\'nci' ,
50 : '\'nci' ,
3 : '\'üncü' ,
4 : '\'üncü' ,
100 : '\'üncü' ,
6 : '\'ncı ' ,
9 : '\'uncu' ,
10 : '\'uncu' ,
30 : '\'uncu' ,
60 : '\'ı ncı ' ,
90 : '\'ı ncı '
} ;
2015-07-22 17:10:40 +03:00
var tr = _moment _ _default . defineLocale ( 'tr' , {
2014-08-26 19:39:15 +04:00
months : 'Ocak_Şubat_Mart_Nisan_Mayı s_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kası m_Aralı k' . split ( '_' ) ,
monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara' . split ( '_' ) ,
weekdays : 'Pazar_Pazartesi_Salı _Çarşamba_Perşembe_Cuma_Cumartesi' . split ( '_' ) ,
weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts' . split ( '_' ) ,
weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd, D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[bugün saat] LT' ,
nextDay : '[yarı n saat] LT' ,
nextWeek : '[haftaya] dddd [saat] LT' ,
lastDay : '[dün] LT' ,
lastWeek : '[geçen hafta] dddd [saat] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s sonra' ,
past : '%s önce' ,
s : 'birkaç saniye' ,
m : 'bir dakika' ,
mm : '%d dakika' ,
h : 'bir saat' ,
hh : '%d saat' ,
d : 'bir gün' ,
dd : '%d gün' ,
M : 'bir ay' ,
MM : '%d ay' ,
y : 'bir yı l' ,
yy : '%d yı l'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}'(inci|nci|üncü|ncı |uncu|ı ncı )/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
if ( number === 0 ) { // special case for zero
return number + '\'ı ncı ' ;
}
var a = number % 10 ,
b = number % 100 - a ,
c = number >= 100 ? 100 : null ;
2015-07-22 17:10:40 +03:00
return number + ( tr _ _suffixes [ a ] || tr _ _suffixes [ b ] || tr _ _suffixes [ c ] ) ;
2014-08-26 19:39:15 +04:00
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Morocco Central Atlas Tamaziɣ t in Latin (tzm-latn)
//! author : Abdel Said : https://github.com/abdelsaid
var tzm _latn = _moment _ _default . defineLocale ( 'tzm-latn' , {
2014-08-26 19:39:15 +04:00
months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣ wšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir' . split ( '_' ) ,
monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣ wšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir' . split ( '_' ) ,
weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas' . split ( '_' ) ,
weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas' . split ( '_' ) ,
weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[asdkh g] LT' ,
nextDay : '[aska g] LT' ,
nextWeek : 'dddd [g] LT' ,
lastDay : '[assant g] LT' ,
lastWeek : 'dddd [g] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'dadkh s yan %s' ,
past : 'yan %s' ,
s : 'imik' ,
m : 'minuḍ' ,
mm : '%d minuḍ' ,
h : 'saɛa' ,
hh : '%d tassaɛin' ,
d : 'ass' ,
dd : '%d ossan' ,
M : 'ayowr' ,
MM : '%d iyyirn' ,
y : 'asgas' ,
yy : '%d isgasn'
} ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : Morocco Central Atlas Tamaziɣ t (tzm)
//! author : Abdel Said : https://github.com/abdelsaid
var tzm = _moment _ _default . defineLocale ( 'tzm' , {
2014-08-26 19:39:15 +04:00
months : 'ⵉⵏ ⵏ ⴰⵢⵔ _ⴱⵕ ⴰⵢⵕ _ⵎⴰⵕ ⵚ_ⵉⴱⵔ ⵉⵔ _ⵎⴰⵢⵢⵓ_ⵢⵓⵏ ⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏ ⴱⵉⵔ _ⴽⵟⵓⴱⵕ _ⵏ ⵓⵡⴰⵏ ⴱⵉⵔ _ⴷⵓⵊⵏ ⴱⵉⵔ ' . split ( '_' ) ,
monthsShort : 'ⵉⵏ ⵏ ⴰⵢⵔ _ⴱⵕ ⴰⵢⵕ _ⵎⴰⵕ ⵚ_ⵉⴱⵔ ⵉⵔ _ⵎⴰⵢⵢⵓ_ⵢⵓⵏ ⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏ ⴱⵉⵔ _ⴽⵟⵓⴱⵕ _ⵏ ⵓⵡⴰⵏ ⴱⵉⵔ _ⴷⵓⵊⵏ ⴱⵉⵔ ' . split ( '_' ) ,
weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏ ⴰⵙ_ⴰⵙⵉⵏ ⴰⵙ_ⴰⴽⵔ ⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹ ⵢⴰⵙ' . split ( '_' ) ,
weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏ ⴰⵙ_ⴰⵙⵉⵏ ⴰⵙ_ⴰⴽⵔ ⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹ ⵢⴰⵙ' . split ( '_' ) ,
weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏ ⴰⵙ_ⴰⵙⵉⵏ ⴰⵙ_ⴰⴽⵔ ⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹ ⵢⴰⵙ' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'dddd D MMMM YYYY LT'
} ,
calendar : {
sameDay : '[ⴰⵙⴷⵅ ⴴ] LT' ,
nextDay : '[ⴰⵙⴽⴰ ⴴ] LT' ,
nextWeek : 'dddd [ⴴ] LT' ,
lastDay : '[ⴰⵚⴰⵏⵜ ⴴ] LT' ,
lastWeek : 'dddd [ⴴ] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s' ,
past : 'ⵢⴰⵏ %s' ,
s : 'ⵉⵎⵉⴽ' ,
m : 'ⵎⵉⵏⵓⴺ' ,
mm : '%d ⵎⵉⵏⵓⴺ' ,
h : 'ⵙⴰⵄⴰ' ,
hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ' ,
d : 'ⴰⵙⵙ' ,
dd : '%d oⵙⵙⴰⵏ ' ,
M : 'ⴰⵢoⵓⵔ ' ,
MM : '%d ⵉⵢⵢⵉⵔⵏ' ,
y : 'ⴰⵙⴳⴰⵙ' ,
yy : '%d ⵉⵙⴳⴰⵙⵏ'
} ,
week : {
dow : 6 , // Saturday is the first day of the week.
doy : 12 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : ukrainian (uk)
//! author : zemlanin : https://github.com/zemlanin
//! Author : Menelion Elensúle : https://github.com/Oire
function uk _ _plural ( word , num ) {
2014-08-26 19:39:15 +04:00
var forms = word . split ( '_' ) ;
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 ] ) ;
}
2015-07-22 17:10:40 +03:00
function uk _ _relativeTimeWithPlural ( number , withoutSuffix , key ) {
2014-08-26 19:39:15 +04:00
var format = {
'mm' : 'х вилина _х вилини_х вилин' ,
'hh' : 'г о дина _г о дини_г о дин' ,
'dd' : 'де нь_дні _дні в' ,
'MM' : 'мі с яць_мі с яці _мі с яці в' ,
'yy' : 'р і к_р о ки_р о кі в'
} ;
if ( key === 'm' ) {
return withoutSuffix ? 'хвилина' : 'хвилину' ;
}
else if ( key === 'h' ) {
return withoutSuffix ? 'година' : 'годину' ;
}
else {
2015-07-22 17:10:40 +03:00
return number + ' ' + uk _ _plural ( format [ key ] , + number ) ;
2014-08-26 19:39:15 +04:00
}
}
2015-07-22 17:10:40 +03:00
function uk _ _monthsCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var months = {
'nominative' : 'с і че нь_лютий_б е р е зе нь_кві те нь_тр а ве нь_че р ве нь_липе нь_с е р пе нь_ве р е с е нь_жо вте нь_лис то па д_г р у де нь' . split ( '_' ) ,
'accusative' : 'с і чня_люто г о _б е р е зня_кві тня_тр а вня_че р вня_липня_с е р пня_ве р е с ня_жо втня_лис то па да _г р у дня' . split ( '_' )
} ,
nounCase = ( /D[oD]? *MMMM?/ ) . test ( format ) ?
'accusative' :
'nominative' ;
return months [ nounCase ] [ m . month ( ) ] ;
}
2015-07-22 17:10:40 +03:00
function uk _ _weekdaysCaseReplace ( m , format ) {
2014-08-26 19:39:15 +04:00
var weekdays = {
'nominative' : 'не ді ля_по не ді ло к_ві вто р о к_с е р е да _че тве р _п’ ятниця_с у б о та ' . split ( '_' ) ,
'accusative' : 'не ді лю_по не ді ло к_ві вто р о к_с е р е ду _че тве р _п’ ятницю_с у б о ту ' . split ( '_' ) ,
'genitive' : 'не ді лі _по не ді лка _ві вто р ка _с е р е ди_че тве р г а _п’ ятниці _с у б о ти' . split ( '_' )
} ,
nounCase = ( /(\[[ВвУу]\]) ?dddd/ ) . test ( format ) ?
'accusative' :
( ( /\[?(?:минулої|наступної)? ?\] ?dddd/ ) . test ( format ) ?
'genitive' :
'nominative' ) ;
return weekdays [ nounCase ] [ m . day ( ) ] ;
}
function processHoursFunction ( str ) {
return function ( ) {
return str + 'о ' + ( this . hours ( ) === 11 ? 'б ' : '' ) + '] LT' ;
} ;
}
2015-07-22 17:10:40 +03:00
var uk = _moment _ _default . defineLocale ( 'uk' , {
months : uk _ _monthsCaseReplace ,
2014-08-26 19:39:15 +04:00
monthsShort : 'с і ч_лют_б е р _кві т_тр а в_че р в_лип_с е р п_ве р _жо вт_лис т_г р у д' . split ( '_' ) ,
2015-07-22 17:10:40 +03:00
weekdays : uk _ _weekdaysCaseReplace ,
2014-08-26 19:39:15 +04:00
weekdaysShort : 'нд_пн_вт_с р _чт_пт_с б ' . split ( '_' ) ,
weekdaysMin : 'нд_пн_вт_с р _чт_пт_с б ' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD.MM.YYYY' ,
LL : 'D MMMM YYYY р .' ,
LLL : 'D MMMM YYYY р ., LT' ,
LLLL : 'dddd, D MMMM YYYY р ., LT'
} ,
calendar : {
sameDay : processHoursFunction ( '[Сьогодні ' ) ,
nextDay : processHoursFunction ( '[Завтра ' ) ,
lastDay : processHoursFunction ( '[Вчора ' ) ,
nextWeek : processHoursFunction ( '[У ] dddd [' ) ,
lastWeek : function ( ) {
switch ( this . day ( ) ) {
case 0 :
case 3 :
case 5 :
case 6 :
return processHoursFunction ( '[Минулої] dddd [' ) . call ( this ) ;
case 1 :
case 2 :
case 4 :
return processHoursFunction ( '[Минулого] dddd [' ) . call ( this ) ;
}
} ,
sameElse : 'L'
} ,
relativeTime : {
future : 'за %s' ,
past : '%s тому' ,
s : 'декілька секунд' ,
2015-07-22 17:10:40 +03:00
m : uk _ _relativeTimeWithPlural ,
mm : uk _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
h : 'годину' ,
2015-07-22 17:10:40 +03:00
hh : uk _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
d : 'день' ,
2015-07-22 17:10:40 +03:00
dd : uk _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
M : 'місяць' ,
2015-07-22 17:10:40 +03:00
MM : uk _ _relativeTimeWithPlural ,
2014-08-26 19:39:15 +04:00
y : 'рік' ,
2015-07-22 17:10:40 +03:00
yy : uk _ _relativeTimeWithPlural
2014-08-26 19:39:15 +04:00
} ,
// M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
2015-07-22 17:10:40 +03:00
meridiemParse : /ночі|ранку|дня|вечора/ ,
isPM : function ( input ) {
return /^(дня|вечора)$/ . test ( input ) ;
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
if ( hour < 4 ) {
return 'ночі' ;
} else if ( hour < 12 ) {
return 'ранку' ;
} else if ( hour < 17 ) {
return 'дня' ;
} else {
return 'вечора' ;
}
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}-(й|г о )/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'M' :
case 'd' :
case 'DDD' :
case 'w' :
case 'W' :
return number + '-й' ;
case 'D' :
return number + '-г о ' ;
default :
return number ;
}
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 1st is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : uzbek (uz)
//! author : Sardor Muminov : https://github.com/muminoff
var uz = _moment _ _default . defineLocale ( 'uz' , {
2014-08-26 19:39:15 +04:00
months : 'янва р ь_фе вр а ль_ма р т_а пр е ль_ма й_июнь_июль_а вг у с т_с е нтяб р ь_о ктяб р ь_но яб р ь_де ка б р ь' . split ( '_' ) ,
monthsShort : 'янв_фе в_ма р _а пр _ма й_июн_июл_а вг _с е н_о кт_но я_де к' . split ( '_' ) ,
weekdays : 'Якша нб а _Ду ша нб а _С е ша нб а _Чо р ша нб а _Па йша нб а _Жу ма _Ша нб а ' . split ( '_' ) ,
weekdaysShort : 'Якш_Ду ш_С е ш_Чо р _Па й_Жу м_Ша н' . split ( '_' ) ,
weekdaysMin : 'Як_Ду _С е _Чо _Па _Жу _Ша ' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM YYYY' ,
LLL : 'D MMMM YYYY LT' ,
LLLL : 'D MMMM YYYY, dddd LT'
} ,
calendar : {
sameDay : '[Бугун соат] LT [да]' ,
nextDay : '[Эртага] LT [да]' ,
nextWeek : 'dddd [куни соат] LT [да]' ,
lastDay : '[Кеча соат] LT [да]' ,
lastWeek : '[Утган] dddd [куни соат] LT [да]' ,
sameElse : 'L'
} ,
relativeTime : {
future : 'Якин %s ичида' ,
past : 'Бир неча %s олдин' ,
s : 'фурсат' ,
m : 'бир дакика' ,
mm : '%d дакика' ,
h : 'бир соат' ,
hh : '%d соат' ,
d : 'бир кун' ,
dd : '%d кун' ,
M : 'бир ой' ,
MM : '%d ой' ,
y : 'бир йил' ,
yy : '%d йил'
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 7 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : vietnamese (vi)
//! author : Bang Nguyen : https://github.com/bangnk
var vi = _moment _ _default . defineLocale ( 'vi' , {
2014-08-26 19:39:15 +04:00
months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12' . split ( '_' ) ,
monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12' . split ( '_' ) ,
weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy' . split ( '_' ) ,
weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7' . split ( '_' ) ,
weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7' . split ( '_' ) ,
longDateFormat : {
LT : 'HH:mm' ,
2015-07-22 17:10:40 +03:00
LTS : 'LT:ss' ,
2014-08-26 19:39:15 +04:00
L : 'DD/MM/YYYY' ,
LL : 'D MMMM [năm] YYYY' ,
LLL : 'D MMMM [năm] YYYY LT' ,
LLLL : 'dddd, D MMMM [năm] YYYY LT' ,
l : 'DD/M/YYYY' ,
ll : 'D MMM YYYY' ,
lll : 'D MMM YYYY LT' ,
llll : 'ddd, D MMM YYYY LT'
} ,
calendar : {
sameDay : '[Hôm nay lúc] LT' ,
nextDay : '[Ngày mai lúc] LT' ,
nextWeek : 'dddd [tuần tới lúc] LT' ,
lastDay : '[Hôm qua lúc] LT' ,
lastWeek : 'dddd [tuần rồi lúc] LT' ,
sameElse : 'L'
} ,
relativeTime : {
future : '%s tới' ,
past : '%s trước' ,
s : 'vài giây' ,
m : 'một phút' ,
mm : '%d phút' ,
h : 'một giờ' ,
hh : '%d giờ' ,
d : 'một ngày' ,
dd : '%d ngày' ,
M : 'một tháng' ,
MM : '%d tháng' ,
y : 'một năm' ,
yy : '%d năm'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number ) {
return number ;
} ,
week : {
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : chinese (zh-cn)
//! author : suupic : https://github.com/suupic
//! author : Zeno Zeng : https://github.com/zenozeng
var zh _cn = _moment _ _default . defineLocale ( 'zh-cn' , {
2014-08-26 19:39:15 +04:00
months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月' . split ( '_' ) ,
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月' . split ( '_' ) ,
weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六' . split ( '_' ) ,
weekdaysShort : '周日_周一_周二_周三_周四_周五_周六' . split ( '_' ) ,
weekdaysMin : '日_一_二_三_四_五_六' . split ( '_' ) ,
longDateFormat : {
2015-07-22 17:10:40 +03:00
LT : 'Ah点mm分' ,
LTS : 'Ah点m分s秒' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY-MM-DD' ,
LL : 'YYYY年MMMD日' ,
LLL : 'YYYY年MMMD日LT' ,
LLLL : 'YYYY年MMMD日ddddLT' ,
l : 'YYYY-MM-DD' ,
ll : 'YYYY年MMMD日' ,
lll : 'YYYY年MMMD日LT' ,
llll : 'YYYY年MMMD日ddddLT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /凌晨|早上|上午|中午|下午|晚上/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === '凌晨' || meridiem === '早上' ||
meridiem === '上午' ) {
return hour ;
} else if ( meridiem === '下午' || meridiem === '晚上' ) {
return hour + 12 ;
} else {
// '中午'
return hour >= 11 ? hour : hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
var hm = hour * 100 + minute ;
if ( hm < 600 ) {
return '凌晨' ;
} else if ( hm < 900 ) {
return '早上' ;
} else if ( hm < 1130 ) {
return '上午' ;
} else if ( hm < 1230 ) {
return '中午' ;
} else if ( hm < 1800 ) {
return '下午' ;
} else {
return '晚上' ;
}
} ,
calendar : {
sameDay : function ( ) {
return this . minutes ( ) === 0 ? '[今天]Ah[点整]' : '[今天]LT' ;
} ,
nextDay : function ( ) {
return this . minutes ( ) === 0 ? '[明天]Ah[点整]' : '[明天]LT' ;
} ,
lastDay : function ( ) {
return this . minutes ( ) === 0 ? '[昨天]Ah[点整]' : '[昨天]LT' ;
} ,
nextWeek : function ( ) {
var startOfWeek , prefix ;
2015-07-22 17:10:40 +03:00
startOfWeek = _moment _ _default ( ) . startOf ( 'week' ) ;
2014-08-26 19:39:15 +04:00
prefix = this . unix ( ) - startOfWeek . unix ( ) >= 7 * 24 * 3600 ? '[下]' : '[本]' ;
return this . minutes ( ) === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm' ;
} ,
lastWeek : function ( ) {
var startOfWeek , prefix ;
2015-07-22 17:10:40 +03:00
startOfWeek = _moment _ _default ( ) . startOf ( 'week' ) ;
2014-08-26 19:39:15 +04:00
prefix = this . unix ( ) < startOfWeek . unix ( ) ? '[上]' : '[本]' ;
return this . minutes ( ) === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm' ;
} ,
sameElse : 'LL'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(日|月|周)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'd' :
case 'D' :
case 'DDD' :
return number + '日' ;
case 'M' :
return number + '月' ;
case 'w' :
case 'W' :
return number + '周' ;
default :
return number ;
}
} ,
relativeTime : {
future : '%s内' ,
past : '%s前' ,
s : '几秒' ,
2015-07-22 17:10:40 +03:00
m : '1 分钟' ,
mm : '%d 分钟' ,
h : '1 小时' ,
hh : '%d 小时' ,
d : '1 天' ,
dd : '%d 天' ,
M : '1 个月' ,
MM : '%d 个月' ,
y : '1 年' ,
yy : '%d 年'
2014-08-26 19:39:15 +04:00
} ,
week : {
// GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
dow : 1 , // Monday is the first day of the week.
doy : 4 // The week that contains Jan 4th is the first week of the year.
}
} ) ;
2015-07-22 17:10:40 +03:00
//! moment.js locale configuration
//! locale : traditional chinese (zh-tw)
//! author : Ben : https://github.com/ben-lin
var zh _tw = _moment _ _default . defineLocale ( 'zh-tw' , {
2014-08-26 19:39:15 +04:00
months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月' . split ( '_' ) ,
monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月' . split ( '_' ) ,
weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六' . split ( '_' ) ,
weekdaysShort : '週日_週一_週二_週三_週四_週五_週六' . split ( '_' ) ,
weekdaysMin : '日_一_二_三_四_五_六' . split ( '_' ) ,
longDateFormat : {
2015-07-22 17:10:40 +03:00
LT : 'Ah點mm分' ,
LTS : 'Ah點m分s秒' ,
2014-08-26 19:39:15 +04:00
L : 'YYYY年MMMD日' ,
LL : 'YYYY年MMMD日' ,
LLL : 'YYYY年MMMD日LT' ,
LLLL : 'YYYY年MMMD日ddddLT' ,
l : 'YYYY年MMMD日' ,
ll : 'YYYY年MMMD日' ,
lll : 'YYYY年MMMD日LT' ,
llll : 'YYYY年MMMD日ddddLT'
} ,
2015-07-22 17:10:40 +03:00
meridiemParse : /早上|上午|中午|下午|晚上/ ,
meridiemHour : function ( hour , meridiem ) {
if ( hour === 12 ) {
hour = 0 ;
}
if ( meridiem === '早上' || meridiem === '上午' ) {
return hour ;
} else if ( meridiem === '中午' ) {
return hour >= 11 ? hour : hour + 12 ;
} else if ( meridiem === '下午' || meridiem === '晚上' ) {
return hour + 12 ;
}
} ,
2014-08-26 19:39:15 +04:00
meridiem : function ( hour , minute , isLower ) {
var hm = hour * 100 + minute ;
if ( hm < 900 ) {
return '早上' ;
} else if ( hm < 1130 ) {
return '上午' ;
} else if ( hm < 1230 ) {
return '中午' ;
} else if ( hm < 1800 ) {
return '下午' ;
} else {
return '晚上' ;
}
} ,
calendar : {
sameDay : '[今天]LT' ,
nextDay : '[明天]LT' ,
nextWeek : '[下]ddddLT' ,
lastDay : '[昨天]LT' ,
lastWeek : '[上]ddddLT' ,
sameElse : 'L'
} ,
2015-07-22 17:10:40 +03:00
ordinalParse : /\d{1,2}(日|月|週)/ ,
2014-08-26 19:39:15 +04:00
ordinal : function ( number , period ) {
switch ( period ) {
case 'd' :
case 'D' :
case 'DDD' :
return number + '日' ;
case 'M' :
return number + '月' ;
case 'w' :
case 'W' :
return number + '週' ;
default :
return number ;
}
} ,
relativeTime : {
future : '%s內' ,
past : '%s前' ,
s : '幾秒' ,
m : '一分鐘' ,
mm : '%d分鐘' ,
h : '一小時' ,
hh : '%d小時' ,
d : '一天' ,
dd : '%d天' ,
M : '一個月' ,
MM : '%d個月' ,
y : '一年' ,
yy : '%d年'
}
} ) ;
2015-07-22 17:10:40 +03:00
var moment _with _locales = _moment _ _default ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
return moment _with _locales ;
2014-08-26 19:39:15 +04:00
2015-07-22 17:10:40 +03:00
} ) ) ;