UNPKG

sugar

Version:

A Javascript library for working with native objects.

82 lines (79 loc) 3.58 kB
/* * * Date.addLocale(<code>) adds this locale to Sugar. * To set the locale globally, simply call: * * Date.setLocale('pl'); * * var locale = Date.getLocale(<code>) will return this object, which * can be tweaked to change the behavior of parsing/formatting in the locales. * * locale.addFormat adds a date format (see this file for examples). * Special tokens in the date format will be parsed out into regex tokens: * * {0} is a reference to an entry in locale.optionals. Output: (?:the)? * {unit} is a reference to all units. Output: (day|week|month|...) * {unit3} is a reference to a specific unit. Output: (hour) * {unit3-5} is a reference to a subset of the units array. Output: (hour|day|week) * {unit?} "?" makes that token optional. Output: (day|week|month)? * * {day} Any reference to tokens in the modifiers array will include all with the same name. Output: (yesterday|today|tomorrow) * * All spaces are optional and will be converted to "\s*" * * Locale arrays months, weekdays, units, numbers, as well as the "src" field for * all entries in the modifiers array follow a special format indicated by a colon: * * minute:|s = minute|minutes * thicke:n|r = thicken|thicker * * Additionally in the months, weekdays, units, and numbers array these will be added at indexes that are multiples * of the relevant number for retrieval. For example having "sunday:|s" in the units array will result in: * * units: ['sunday', 'monday', 'tuesday', 'wednesday', 'thursday', 'friday', 'saturday', 'sundays'] * * When matched, the index will be found using: * * units.indexOf(match) % 7; * * Resulting in the correct index with any number of alternates for that entry. * */ Date.addLocale('pl', { 'plural': true, 'months': 'Styczeń|Stycznia,Luty|Lutego,Marzec|Marca,Kwiecień|Kwietnia,Maj|Maja,Czerwiec|Czerwca,Lipiec|Lipca,Sierpień|Sierpnia,Wrzesień|Września,Październik|Października,Listopad|Listopada,Grudzień|Grudnia', 'weekdays': 'Niedziela|Niedzielę,Poniedziałek,Wtorek,Środ:a|ę,Czwartek,Piątek,Sobota|Sobotę', 'units': 'milisekund:a|y|,sekund:a|y|,minut:a|y|,godzin:a|y|,dzień|dni,tydzień|tygodnie|tygodni,miesiące|miesiące|miesięcy,rok|lata|lat', 'numbers': 'jeden|jedną,dwa|dwie,trzy,cztery,pięć,sześć,siedem,osiem,dziewięć,dziesięć', 'optionals': 'w|we,roku', 'short': '{d} {Month} {yyyy}', 'long': '{d} {Month} {yyyy} {H}:{mm}', 'full' : '{Weekday}, {d} {Month} {yyyy} {H}:{mm}:{ss}', 'past': '{num} {unit} {sign}', 'future': '{sign} {num} {unit}', 'duration': '{num} {unit}', 'timeMarker':'o', 'ampm': 'am,pm', 'modifiers': [ { 'name': 'day', 'src': 'przedwczoraj', 'value': -2 }, { 'name': 'day', 'src': 'wczoraj', 'value': -1 }, { 'name': 'day', 'src': 'dzisiaj|dziś', 'value': 0 }, { 'name': 'day', 'src': 'jutro', 'value': 1 }, { 'name': 'day', 'src': 'pojutrze', 'value': 2 }, { 'name': 'sign', 'src': 'temu|przed', 'value': -1 }, { 'name': 'sign', 'src': 'za', 'value': 1 }, { 'name': 'shift', 'src': 'zeszły|zeszła|ostatni|ostatnia', 'value': -1 }, { 'name': 'shift', 'src': 'następny|następna|następnego|przyszły|przyszła|przyszłego', 'value': 1 } ], 'dateParse': [ '{num} {unit} {sign}', '{sign} {num} {unit}', '{month} {year}', '{shift} {unit=5-7}', '{0} {shift?} {weekday}' ], 'timeParse': [ '{date} {month} {year?} {1}', '{0} {shift?} {weekday}' ] });