cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

be.js (5158B)


      1//! moment.js locale configuration
      2//! locale : Belarusian [be]
      3//! author : Dmitry Demidov : https://github.com/demidov91
      4//! author: Praleska: http://praleska.pro/
      5//! Author : Menelion Elensúle : https://github.com/Oire
      6
      7import moment from '../moment';
      8
      9function plural(word, num) {
     10    var forms = word.split('_');
     11    return num % 10 === 1 && num % 100 !== 11
     12        ? forms[0]
     13        : num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20)
     14          ? forms[1]
     15          : forms[2];
     16}
     17function relativeTimeWithPlural(number, withoutSuffix, key) {
     18    var format = {
     19        ss: withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',
     20        mm: withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
     21        hh: withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
     22        dd: 'дзень_дні_дзён',
     23        MM: 'месяц_месяцы_месяцаў',
     24        yy: 'год_гады_гадоў',
     25    };
     26    if (key === 'm') {
     27        return withoutSuffix ? 'хвіліна' : 'хвіліну';
     28    } else if (key === 'h') {
     29        return withoutSuffix ? 'гадзіна' : 'гадзіну';
     30    } else {
     31        return number + ' ' + plural(format[key], +number);
     32    }
     33}
     34
     35export default moment.defineLocale('be', {
     36    months: {
     37        format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split(
     38            '_'
     39        ),
     40        standalone:
     41            'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split(
     42                '_'
     43            ),
     44    },
     45    monthsShort:
     46        'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
     47    weekdays: {
     48        format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split(
     49            '_'
     50        ),
     51        standalone:
     52            'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split(
     53                '_'
     54            ),
     55        isFormat: /\[ ?[Ууў] ?(?:мінулую|наступную)? ?\] ?dddd/,
     56    },
     57    weekdaysShort: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
     58    weekdaysMin: 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
     59    longDateFormat: {
     60        LT: 'HH:mm',
     61        LTS: 'HH:mm:ss',
     62        L: 'DD.MM.YYYY',
     63        LL: 'D MMMM YYYY г.',
     64        LLL: 'D MMMM YYYY г., HH:mm',
     65        LLLL: 'dddd, D MMMM YYYY г., HH:mm',
     66    },
     67    calendar: {
     68        sameDay: '[Сёння ў] LT',
     69        nextDay: '[Заўтра ў] LT',
     70        lastDay: '[Учора ў] LT',
     71        nextWeek: function () {
     72            return '[У] dddd [ў] LT';
     73        },
     74        lastWeek: function () {
     75            switch (this.day()) {
     76                case 0:
     77                case 3:
     78                case 5:
     79                case 6:
     80                    return '[У мінулую] dddd [ў] LT';
     81                case 1:
     82                case 2:
     83                case 4:
     84                    return '[У мінулы] dddd [ў] LT';
     85            }
     86        },
     87        sameElse: 'L',
     88    },
     89    relativeTime: {
     90        future: 'праз %s',
     91        past: '%s таму',
     92        s: 'некалькі секунд',
     93        m: relativeTimeWithPlural,
     94        mm: relativeTimeWithPlural,
     95        h: relativeTimeWithPlural,
     96        hh: relativeTimeWithPlural,
     97        d: 'дзень',
     98        dd: relativeTimeWithPlural,
     99        M: 'месяц',
    100        MM: relativeTimeWithPlural,
    101        y: 'год',
    102        yy: relativeTimeWithPlural,
    103    },
    104    meridiemParse: /ночы|раніцы|дня|вечара/,
    105    isPM: function (input) {
    106        return /^(дня|вечара)$/.test(input);
    107    },
    108    meridiem: function (hour, minute, isLower) {
    109        if (hour < 4) {
    110            return 'ночы';
    111        } else if (hour < 12) {
    112            return 'раніцы';
    113        } else if (hour < 17) {
    114            return 'дня';
    115        } else {
    116            return 'вечара';
    117        }
    118    },
    119    dayOfMonthOrdinalParse: /\d{1,2}-(і|ы|га)/,
    120    ordinal: function (number, period) {
    121        switch (period) {
    122            case 'M':
    123            case 'd':
    124            case 'DDD':
    125            case 'w':
    126            case 'W':
    127                return (number % 10 === 2 || number % 10 === 3) &&
    128                    number % 100 !== 12 &&
    129                    number % 100 !== 13
    130                    ? number + '-і'
    131                    : number + '-ы';
    132            case 'D':
    133                return number + '-га';
    134            default:
    135                return number;
    136        }
    137    },
    138    week: {
    139        dow: 1, // Monday is the first day of the week.
    140        doy: 7, // The week that contains Jan 7th is the first week of the year.
    141    },
    142});