UNPKG

@freshworks/crayons

Version:
435 lines (395 loc) 11.8 kB
import { b as buildFormatLongFn, a as buildLocalizeFn, c as buildMatchPatternFn, d as buildMatchFn } from './index-dc611d24.js'; import { t as toDate, i as isSameUTCWeek } from './index-d2a6c100.js'; var formatDistanceLocale = { lessThanXSeconds: { one: 'по-малко от секунда', other: 'по-малко от {{count}} секунди' }, xSeconds: { one: '1 секунда', other: '{{count}} секунди' }, halfAMinute: 'половин минута', lessThanXMinutes: { one: 'по-малко от минута', other: 'по-малко от {{count}} минути' }, xMinutes: { one: '1 минута', other: '{{count}} минути' }, aboutXHours: { one: 'около час', other: 'около {{count}} часа' }, xHours: { one: '1 час', other: '{{count}} часа' }, xDays: { one: '1 ден', other: '{{count}} дни' }, aboutXWeeks: { one: 'около седмица', other: 'около {{count}} седмици' }, xWeeks: { one: '1 седмица', other: '{{count}} седмици' }, aboutXMonths: { one: 'около месец', other: 'около {{count}} месеца' }, xMonths: { one: '1 месец', other: '{{count}} месеца' }, aboutXYears: { one: 'около година', other: 'около {{count}} години' }, xYears: { one: '1 година', other: '{{count}} години' }, overXYears: { one: 'над година', other: 'над {{count}} години' }, almostXYears: { one: 'почти година', other: 'почти {{count}} години' } }; var formatDistance = function formatDistance(token, count) { var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {}; var usageGroup = formatDistanceLocale[token]; var result; if (typeof usageGroup === 'string') { result = usageGroup; } else if (count === 1) { result = usageGroup.one; } else { result = usageGroup.other.replace('{{count}}', String(count)); } if (options.addSuffix) { if (options.comparison && options.comparison > 0) { return 'след ' + result; } else { return 'преди ' + result; } } return result; }; var dateFormats = { full: 'EEEE, dd MMMM yyyy', "long": 'dd MMMM yyyy', medium: 'dd MMM yyyy', "short": 'dd/MM/yyyy' }; var timeFormats = { full: 'HH:mm:ss zzzz', "long": 'HH:mm:ss z', medium: 'HH:mm:ss', "short": 'H:mm' }; var dateTimeFormats = { any: '{{date}} {{time}}' }; var formatLong = { date: buildFormatLongFn({ formats: dateFormats, defaultWidth: 'full' }), time: buildFormatLongFn({ formats: timeFormats, defaultWidth: 'full' }), dateTime: buildFormatLongFn({ formats: dateTimeFormats, defaultWidth: 'any' }) }; var weekdays = ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота']; function lastWeek(day) { var weekday = weekdays[day]; switch (day) { case 0: case 3: case 6: return "'миналата " + weekday + " в' p"; case 1: case 2: case 4: case 5: return "'миналия " + weekday + " в' p"; } } function thisWeek(day) { var weekday = weekdays[day]; if (day === 2 /* Tue */ ) { return "'във " + weekday + " в' p"; } else { return "'в " + weekday + " в' p"; } } function nextWeek(day) { var weekday = weekdays[day]; switch (day) { case 0: case 3: case 6: return "'следващата " + weekday + " в' p"; case 1: case 2: case 4: case 5: return "'следващия " + weekday + " в' p"; } } var lastWeekFormatToken = function lastWeekFormatToken(dirtyDate, baseDate, options) { var date = toDate(dirtyDate); var day = date.getUTCDay(); if (isSameUTCWeek(date, baseDate, options)) { return thisWeek(day); } else { return lastWeek(day); } }; var nextWeekFormatToken = function nextWeekFormatToken(dirtyDate, baseDate, options) { var date = toDate(dirtyDate); var day = date.getUTCDay(); if (isSameUTCWeek(date, baseDate, options)) { return thisWeek(day); } else { return nextWeek(day); } }; var formatRelativeLocale = { lastWeek: lastWeekFormatToken, yesterday: "'вчера в' p", today: "'днес в' p", tomorrow: "'утре в' p", nextWeek: nextWeekFormatToken, other: 'P' }; var formatRelative = function formatRelative(token, date, baseDate, options) { var format = formatRelativeLocale[token]; if (typeof format === 'function') { return format(date, baseDate, options); } return format; }; var eraValues = { narrow: ['пр.н.е.', 'н.е.'], abbreviated: ['преди н. е.', 'н. е.'], wide: ['преди новата ера', 'новата ера'] }; var quarterValues = { narrow: ['1', '2', '3', '4'], abbreviated: ['1-во тримес.', '2-ро тримес.', '3-то тримес.', '4-то тримес.'], wide: ['1-во тримесечие', '2-ро тримесечие', '3-то тримесечие', '4-то тримесечие'] }; var monthValues = { abbreviated: ['яну', 'фев', 'мар', 'апр', 'май', 'юни', 'юли', 'авг', 'сеп', 'окт', 'ное', 'дек'], wide: ['януари', 'февруари', 'март', 'април', 'май', 'юни', 'юли', 'август', 'септември', 'октомври', 'ноември', 'декември'] }; var dayValues = { narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'], "short": ['нд', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], abbreviated: ['нед', 'пон', 'вто', 'сря', 'чет', 'пет', 'съб'], wide: ['неделя', 'понеделник', 'вторник', 'сряда', 'четвъртък', 'петък', 'събота'] }; var dayPeriodValues = { wide: { am: 'преди обяд', pm: 'след обяд', midnight: 'в полунощ', noon: 'на обяд', morning: 'сутринта', afternoon: 'следобед', evening: 'вечерта', night: 'през нощта' } }; function isFeminine(unit) { return unit === 'year' || unit === 'week' || unit === 'minute' || unit === 'second'; } function isNeuter(unit) { return unit === 'quarter'; } function numberWithSuffix(number, unit, masculine, feminine, neuter) { var suffix = isNeuter(unit) ? neuter : isFeminine(unit) ? feminine : masculine; return number + '-' + suffix; } var ordinalNumber = function ordinalNumber(dirtyNumber) { var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; var unit = String(options.unit); var number = Number(dirtyNumber); if (number === 0) { return numberWithSuffix(0, unit, 'ев', 'ева', 'ево'); } else if (number % 1000 === 0) { return numberWithSuffix(number, unit, 'ен', 'на', 'но'); } else if (number % 100 === 0) { return numberWithSuffix(number, unit, 'тен', 'тна', 'тно'); } var rem100 = number % 100; if (rem100 > 20 || rem100 < 10) { switch (rem100 % 10) { case 1: return numberWithSuffix(number, unit, 'ви', 'ва', 'во'); case 2: return numberWithSuffix(number, unit, 'ри', 'ра', 'ро'); case 7: case 8: return numberWithSuffix(number, unit, 'ми', 'ма', 'мо'); } } return numberWithSuffix(number, unit, 'ти', 'та', 'то'); }; var localize = { ordinalNumber: ordinalNumber, era: buildLocalizeFn({ values: eraValues, defaultWidth: 'wide' }), quarter: buildLocalizeFn({ values: quarterValues, defaultWidth: 'wide', argumentCallback: function argumentCallback(quarter) { return Number(quarter) - 1; } }), month: buildLocalizeFn({ values: monthValues, defaultWidth: 'wide' }), day: buildLocalizeFn({ values: dayValues, defaultWidth: 'wide' }), dayPeriod: buildLocalizeFn({ values: dayPeriodValues, defaultWidth: 'wide' }) }; var matchOrdinalNumberPattern = /^(\d+)(-?[врмт][аи]|-?т?(ен|на)|-?(ев|ева))?/i; var parseOrdinalNumberPattern = /\d+/i; var matchEraPatterns = { narrow: /^((пр)?н\.?\s?е\.?)/i, abbreviated: /^((пр)?н\.?\s?е\.?)/i, wide: /^(преди новата ера|новата ера|нова ера)/i }; var parseEraPatterns = { any: [/^п/i, /^н/i] }; var matchQuarterPatterns = { narrow: /^[1234]/i, abbreviated: /^[1234](-?[врт]?o?)? тримес.?/i, wide: /^[1234](-?[врт]?о?)? тримесечие/i }; var parseQuarterPatterns = { any: [/1/i, /2/i, /3/i, /4/i] }; var matchDayPatterns = { narrow: /^[нпвсч]/i, "short": /^(нд|пн|вт|ср|чт|пт|сб)/i, abbreviated: /^(нед|пон|вто|сря|чет|пет|съб)/i, wide: /^(неделя|понеделник|вторник|сряда|четвъртък|петък|събота)/i }; var parseDayPatterns = { narrow: [/^н/i, /^п/i, /^в/i, /^с/i, /^ч/i, /^п/i, /^с/i], any: [/^н[ед]/i, /^п[он]/i, /^вт/i, /^ср/i, /^ч[ет]/i, /^п[ет]/i, /^с[ъб]/i] }; var matchMonthPatterns = { abbreviated: /^(яну|фев|мар|апр|май|юни|юли|авг|сеп|окт|ное|дек)/i, wide: /^(януари|февруари|март|април|май|юни|юли|август|септември|октомври|ноември|декември)/i }; var parseMonthPatterns = { any: [/^я/i, /^ф/i, /^мар/i, /^ап/i, /^май/i, /^юн/i, /^юл/i, /^ав/i, /^се/i, /^окт/i, /^но/i, /^де/i] }; var matchDayPeriodPatterns = { any: /^(преди о|след о|в по|на о|през|веч|сут|следо)/i }; var parseDayPeriodPatterns = { any: { am: /^преди о/i, pm: /^след о/i, midnight: /^в пол/i, noon: /^на об/i, morning: /^сут/i, afternoon: /^следо/i, evening: /^веч/i, night: /^през н/i } }; var match = { ordinalNumber: buildMatchPatternFn({ matchPattern: matchOrdinalNumberPattern, parsePattern: parseOrdinalNumberPattern, valueCallback: function valueCallback(value) { return parseInt(value, 10); } }), era: buildMatchFn({ matchPatterns: matchEraPatterns, defaultMatchWidth: 'wide', parsePatterns: parseEraPatterns, defaultParseWidth: 'any' }), quarter: buildMatchFn({ matchPatterns: matchQuarterPatterns, defaultMatchWidth: 'wide', parsePatterns: parseQuarterPatterns, defaultParseWidth: 'any', valueCallback: function valueCallback(index) { return Number(index) + 1; } }), month: buildMatchFn({ matchPatterns: matchMonthPatterns, defaultMatchWidth: 'wide', parsePatterns: parseMonthPatterns, defaultParseWidth: 'any' }), day: buildMatchFn({ matchPatterns: matchDayPatterns, defaultMatchWidth: 'wide', parsePatterns: parseDayPatterns, defaultParseWidth: 'any' }), dayPeriod: buildMatchFn({ matchPatterns: matchDayPeriodPatterns, defaultMatchWidth: 'any', parsePatterns: parseDayPeriodPatterns, defaultParseWidth: 'any' }) }; /** * @type {Locale} * @category Locales * @summary Bulgarian locale. * @language Bulgarian * @iso-639-2 bul * @author Nikolay Stoynov [@arvigeus]{@link https://github.com/arvigeus} * @author Tsvetan Ovedenski [@fintara]{@link https://github.com/fintara} */ var locale = { code: 'bg', formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: match, options: { weekStartsOn: 1 /* Monday */ , firstWeekContainsDate: 1 } }; export default locale;