UNPKG

@freshworks/crayons

Version:
565 lines (541 loc) 18.1 kB
import { b as buildFormatLongFn, a as buildLocalizeFn, c as buildMatchPatternFn, d as buildMatchFn } from './index-dc611d24.js'; import { i as isSameUTCWeek } from './index-d2a6c100.js'; function declension(scheme, count) { // scheme for count=1 exists if (scheme.one !== undefined && count === 1) { return scheme.one; } var rem10 = count % 10; var rem100 = count % 100; // 1, 21, 31, ... if (rem10 === 1 && rem100 !== 11) { return scheme.singularNominative.replace('{{count}}', count); // 2, 3, 4, 22, 23, 24, 32 ... } else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) { return scheme.singularGenitive.replace('{{count}}', count); // 5, 6, 7, 8, 9, 10, 11, ... } else { return scheme.pluralGenitive.replace('{{count}}', count); } } function buildLocalizeTokenFn(scheme) { return function (count, options) { if (options.addSuffix) { if (options.comparison > 0) { if (scheme.future) { return declension(scheme.future, count); } else { return declension(scheme.regular, count) + ' кейін'; } } else { if (scheme.past) { return declension(scheme.past, count); } else { return declension(scheme.regular, count) + ' бұрын'; } } } else { return declension(scheme.regular, count); } }; } var formatDistanceLocale = { lessThanXSeconds: buildLocalizeTokenFn({ regular: { one: '1 секундтан аз', singularNominative: '{{count}} секундтан аз', singularGenitive: '{{count}} секундтан аз', pluralGenitive: '{{count}} секундтан аз' }, future: { one: 'бір секундтан кейін', singularNominative: '{{count}} секундтан кейін', singularGenitive: '{{count}} секундтан кейін', pluralGenitive: '{{count}} секундтан кейін' } }), xSeconds: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} секунд', singularGenitive: '{{count}} секунд', pluralGenitive: '{{count}} секунд' }, past: { singularNominative: '{{count}} секунд бұрын', singularGenitive: '{{count}} секунд бұрын', pluralGenitive: '{{count}} секунд бұрын' }, future: { singularNominative: '{{count}} секундтан кейін', singularGenitive: '{{count}} секундтан кейін', pluralGenitive: '{{count}} секундтан кейін' } }), halfAMinute: function halfAMinute(_, options) { if (options.addSuffix) { if (options.comparison > 0) { return 'жарты минут ішінде'; } else { return 'жарты минут бұрын'; } } return 'жарты минут'; }, lessThanXMinutes: buildLocalizeTokenFn({ regular: { one: '1 минуттан аз', singularNominative: '{{count}} минуттан аз', singularGenitive: '{{count}} минуттан аз', pluralGenitive: '{{count}} минуттан аз' }, future: { one: 'минуттан кем ', singularNominative: '{{count}} минуттан кем', singularGenitive: '{{count}} минуттан кем', pluralGenitive: '{{count}} минуттан кем' } }), xMinutes: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} минут', singularGenitive: '{{count}} минут', pluralGenitive: '{{count}} минут' }, past: { singularNominative: '{{count}} минут бұрын', singularGenitive: '{{count}} минут бұрын', pluralGenitive: '{{count}} минут бұрын' }, future: { singularNominative: '{{count}} минуттан кейін', singularGenitive: '{{count}} минуттан кейін', pluralGenitive: '{{count}} минуттан кейін' } }), aboutXHours: buildLocalizeTokenFn({ regular: { singularNominative: 'шамамен {{count}} сағат', singularGenitive: 'шамамен {{count}} сағат', pluralGenitive: 'шамамен {{count}} сағат' }, future: { singularNominative: 'шамамен {{count}} сағаттан кейін', singularGenitive: 'шамамен {{count}} сағаттан кейін', pluralGenitive: 'шамамен {{count}} сағаттан кейін' } }), xHours: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} сағат', singularGenitive: '{{count}} сағат', pluralGenitive: '{{count}} сағат' } }), xDays: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} күн', singularGenitive: '{{count}} күн', pluralGenitive: '{{count}} күн' }, future: { singularNominative: '{{count}} күннен кейін', singularGenitive: '{{count}} күннен кейін', pluralGenitive: '{{count}} күннен кейін' } }), aboutXWeeks: { one: 'шамамен 1 апта', other: 'шамамен {{count}} апта' }, xWeeks: { one: '1 апта', other: '{{count}} апта' }, aboutXMonths: buildLocalizeTokenFn({ regular: { singularNominative: 'шамамен {{count}} ай', singularGenitive: 'шамамен {{count}} ай', pluralGenitive: 'шамамен {{count}} ай' }, future: { singularNominative: 'шамамен {{count}} айдан кейін', singularGenitive: 'шамамен {{count}} айдан кейін', pluralGenitive: 'шамамен {{count}} айдан кейін' } }), xMonths: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} ай', singularGenitive: '{{count}} ай', pluralGenitive: '{{count}} ай' } }), aboutXYears: buildLocalizeTokenFn({ regular: { singularNominative: 'шамамен {{count}} жыл', singularGenitive: 'шамамен {{count}} жыл', pluralGenitive: 'шамамен {{count}} жыл' }, future: { singularNominative: 'шамамен {{count}} жылдан кейін', singularGenitive: 'шамамен {{count}} жылдан кейін', pluralGenitive: 'шамамен {{count}} жылдан кейін' } }), xYears: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} жыл', singularGenitive: '{{count}} жыл', pluralGenitive: '{{count}} жыл' }, future: { singularNominative: '{{count}} жылдан кейін', singularGenitive: '{{count}} жылдан кейін', pluralGenitive: '{{count}} жылдан кейін' } }), overXYears: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} жылдан астам', singularGenitive: '{{count}} жылдан астам', pluralGenitive: '{{count}} жылдан астам' }, future: { singularNominative: '{{count}} жылдан астам', singularGenitive: '{{count}} жылдан астам', pluralGenitive: '{{count}} жылдан астам' } }), almostXYears: buildLocalizeTokenFn({ regular: { singularNominative: '{{count}} жылға жақын', singularGenitive: '{{count}} жылға жақын', pluralGenitive: '{{count}} жылға жақын' }, future: { singularNominative: '{{count}} жылдан кейін', singularGenitive: '{{count}} жылдан кейін', pluralGenitive: '{{count}} жылдан кейін' } }) }; function formatDistance(token, count, options) { options = options || {}; return formatDistanceLocale[token](count, options); } var dateFormats = { full: "EEEE, do MMMM y 'ж.'", "long": "do MMMM y 'ж.'", medium: "d MMM y 'ж.'", "short": 'dd.MM.yyyy' }; var timeFormats = { full: 'H:mm:ss zzzz', "long": 'H:mm:ss z', medium: 'H: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 accusativeWeekdays = ['жексенбіде', 'дүйсенбіде', 'сейсенбіде', 'сәрсенбіде', 'бейсенбіде', 'жұмада', 'сенбіде']; function _lastWeek(day) { var weekday = accusativeWeekdays[day]; return "'өткен " + weekday + " сағат' p'-де'"; } function thisWeek(day) { var weekday = accusativeWeekdays[day]; return "'" + weekday + " сағат' p'-де'"; } function _nextWeek(day) { var weekday = accusativeWeekdays[day]; return "'келесі " + weekday + " сағат' p'-де'"; } var formatRelativeLocale = { lastWeek: function lastWeek(date, baseDate, options) { var day = date.getUTCDay(); if (isSameUTCWeek(date, baseDate, options)) { return thisWeek(day); } else { return _lastWeek(day); } }, yesterday: "'кеше сағат' p'-де'", today: "'бүгін сағат' p'-де'", tomorrow: "'ертең сағат' p'-де'", nextWeek: function nextWeek(date, baseDate, options) { var day = date.getUTCDay(); if (isSameUTCWeek(date, baseDate, options)) { return thisWeek(day); } else { return _nextWeek(day); } }, other: 'P' }; 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 = { narrow: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'], abbreviated: ['қаң', 'ақп', 'нау', 'сәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'], wide: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'] }; var formattingMonthValues = { narrow: ['Қ', 'А', 'Н', 'С', 'М', 'М', 'Ш', 'Т', 'Қ', 'Қ', 'Қ', 'Ж'], abbreviated: ['қаң', 'ақп', 'нау', 'сәу', 'мам', 'мау', 'шіл', 'там', 'қыр', 'қаз', 'қар', 'жел'], wide: ['қаңтар', 'ақпан', 'наурыз', 'сәуір', 'мамыр', 'маусым', 'шілде', 'тамыз', 'қыркүйек', 'қазан', 'қараша', 'желтоқсан'] }; var dayValues = { narrow: ['Ж', 'Д', 'С', 'С', 'Б', 'Ж', 'С'], "short": ['жс', 'дс', 'сс', 'ср', 'бс', 'жм', 'сб'], abbreviated: ['жс', 'дс', 'сс', 'ср', 'бс', 'жм', 'сб'], wide: ['жексенбі', 'дүйсенбі', 'сейсенбі', 'сәрсенбі', 'бейсенбі', 'жұма', 'сенбі'] }; var dayPeriodValues = { narrow: { am: 'ТД', pm: 'ТК', midnight: 'түн ортасы', noon: 'түс', morning: 'таң', afternoon: 'күндіз', evening: 'кеш', night: 'түн' }, wide: { am: 'ТД', pm: 'ТК', midnight: 'түн ортасы', noon: 'түс', morning: 'таң', afternoon: 'күндіз', evening: 'кеш', night: 'түн' } }; var formattingDayPeriodValues = { narrow: { am: 'ТД', pm: 'ТК', midnight: 'түн ортасында', noon: 'түс', morning: 'таң', afternoon: 'күн', evening: 'кеш', night: 'түн' }, wide: { am: 'ТД', pm: 'ТК', midnight: 'түн ортасында', noon: 'түсте', morning: 'таңертең', afternoon: 'күндіз', evening: 'кеште', night: 'түнде' } }; var suffixes = { 0: '-ші', 1: '-ші', 2: '-ші', 3: '-ші', 4: '-ші', 5: '-ші', 6: '-шы', 7: '-ші', 8: '-ші', 9: '-шы', 10: '-шы', 20: '-шы', 30: '-шы', 40: '-шы', 50: '-ші', 60: '-шы', 70: '-ші', 80: '-ші', 90: '-шы', 100: '-ші' }; function ordinalNumber(dirtyNumber) { var number = Number(dirtyNumber); var a = number % 10; var b = number >= 100 ? 100 : null; return number + (suffixes[number] || suffixes[a] || suffixes[b]); } 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', formattingValues: formattingMonthValues, defaultFormattingWidth: 'wide' }), day: buildLocalizeFn({ values: dayValues, defaultWidth: 'wide' }), dayPeriod: buildLocalizeFn({ values: dayPeriodValues, defaultWidth: 'any', formattingValues: formattingDayPeriodValues, defaultFormattingWidth: '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](-?ші)? тоқ.?/i, wide: /^[1234](-?ші)? тоқсан/i }; var parseQuarterPatterns = { any: [/1/i, /2/i, /3/i, /4/i] }; var matchMonthPatterns = { narrow: /^(қ|а|н|с|м|мау|ш|т|қыр|қаз|қар|ж)/i, abbreviated: /^(қаң|ақп|нау|сәу|мам|мау|шіл|там|қыр|қаз|қар|жел)/i, wide: /^(қаңтар|ақпан|наурыз|сәуір|мамыр|маусым|шілде|тамыз|қыркүйек|қазан|қараша|желтоқсан)/i }; var parseMonthPatterns = { narrow: [/^қ/i, /^а/i, /^н/i, /^с/i, /^м/i, /^м/i, /^ш/i, /^т/i, /^қ/i, /^қ/i, /^қ/i, /^ж/i], abbreviated: [/^қаң/i, /^ақп/i, /^нау/i, /^сәу/i, /^мам/i, /^мау/i, /^шіл/i, /^там/i, /^қыр/i, /^қаз/i, /^қар/i, /^жел/i], any: [/^қ/i, /^а/i, /^н/i, /^с/i, /^м/i, /^м/i, /^ш/i, /^т/i, /^қ/i, /^қ/i, /^қ/i, /^ж/i] }; var matchDayPatterns = { narrow: /^(ж|д|с|с|б|ж|с)/i, "short": /^(жс|дс|сс|ср|бс|жм|сб)/i, wide: /^(жексенбі|дүйсенбі|сейсенбі|сәрсенбі|бейсенбі|жұма|сенбі)/i }; var parseDayPatterns = { narrow: [/^ж/i, /^д/i, /^с/i, /^с/i, /^б/i, /^ж/i, /^с/i], "short": [/^жс/i, /^дс/i, /^сс/i, /^ср/i, /^бс/i, /^жм/i, /^сб/i], any: [/^ж[ек]/i, /^д[үй]/i, /^сe[й]/i, /^сә[р]/i, /^б[ей]/i, /^ж[ұм]/i, /^се[н]/i] }; var matchDayPeriodPatterns = { narrow: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i, wide: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/i, any: /^Т\.?\s?[ДК]\.?|түн ортасында|((түсте|таңертең|таңда|таңертең|таңмен|таң|күндіз|күн|кеште|кеш|түнде|түн)\.?)/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 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: 'wide', parsePatterns: parseDayPeriodPatterns, defaultParseWidth: 'any' }) }; /** * @type {Locale} * @category Locales * @summary Kazakh locale. * @language Kazakh * @iso-639-2 kaz * @author Nikita Bayev [@drugoi]{@link https://github.com/drugoi} */ var locale = { code: 'kk', formatDistance: formatDistance, formatLong: formatLong, formatRelative: formatRelative, localize: localize, match: match, options: { weekStartsOn: 1 /* Monday */ , firstWeekContainsDate: 1 } }; export default locale;