UNPKG

@oxog/kairos

Version:

Revolutionary zero-dependency JavaScript date/time library with modular architecture and dynamic holiday system

142 lines 4.63 kB
import { holidays, observances, regionalHolidays, allHolidays } from './holidays.js'; import { localeManager } from '../../../core/locale-manager.js'; const locale = { name: 'Русский (Россия)', code: 'ru-RU', months: [ 'январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь', ], monthsShort: [ 'янв.', 'фев.', 'мар.', 'апр.', 'май', 'июн.', 'июл.', 'авг.', 'сен.', 'окт.', 'ноя.', 'дек.', ], weekdays: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'], weekdaysShort: ['вс.', 'пн.', 'вт.', 'ср.', 'чт.', 'пт.', 'сб.'], weekdaysMin: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'], formats: { LT: 'H:mm', LTS: 'H:mm:ss', L: 'DD.MM.YYYY', LL: 'D MMMM YYYY [г.]', LLL: 'D MMMM YYYY [г.], H:mm', LLLL: 'dddd, D MMMM YYYY [г.], H:mm', }, ordinal: (n) => { return `${n}-й`; }, meridiem: (hour, _minute, _isLower) => { return hour < 4 ? 'ночи' : hour < 12 ? 'утра' : hour < 17 ? 'дня' : 'вечера'; }, relativeTime: { future: 'через %s', past: '%s назад', s: 'несколько секунд', ss: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} секунду` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} секунды` : `${n} секунд`; }, m: 'минуту', mm: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} минуту` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} минуты` : `${n} минут`; }, h: 'час', hh: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} час` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} часа` : `${n} часов`; }, d: 'день', dd: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} день` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} дня` : `${n} дней`; }, M: 'месяц', MM: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} месяц` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} месяца` : `${n} месяцев`; }, y: 'год', yy: (n) => { return n % 10 === 1 && n % 100 !== 11 ? `${n} год` : [2, 3, 4].includes(n % 10) && ![12, 13, 14].includes(n % 100) ? `${n} года` : `${n} лет`; }, }, }; export default { name: 'locale-ru-RU', version: '1.0.0', size: 1024, dependencies: ['holiday-engine'], locale, install(kairos, _utils) { localeManager.register('ru-RU', { ...locale, holidays, observances, regionalHolidays, }); kairos.locales = kairos.locales || {}; kairos.locales['ru-RU'] = locale; kairos.extend({ getRussianHolidays(region) { if (region) { const regionLower = region.toLowerCase(); const regionHols = regionalHolidays[regionLower]; if (regionHols) { return [...holidays, ...regionHols]; } } return holidays; }, getRussianObservances() { return observances; }, getRegionalRussianHolidays(region) { return regionalHolidays[region.toLowerCase()] || []; }, getAllRussianHolidays() { return allHolidays; }, }); }, }; //# sourceMappingURL=index.js.map