cscg24-guacamole

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

cs.js (7806B)


      1//! moment.js locale configuration
      2//! locale : Czech [cs]
      3//! author : petrbela : https://github.com/petrbela
      4
      5;(function (global, factory) {
      6   typeof exports === 'object' && typeof module !== 'undefined'
      7       && typeof require === 'function' ? factory(require('../moment')) :
      8   typeof define === 'function' && define.amd ? define(['../moment'], factory) :
      9   factory(global.moment)
     10}(this, (function (moment) { 'use strict';
     11
     12    //! moment.js locale configuration
     13
     14    var months = {
     15            standalone:
     16                'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
     17                    '_'
     18                ),
     19            format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
     20                '_'
     21            ),
     22            isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
     23        },
     24        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
     25        monthsParse = [
     26            /^led/i,
     27            /^úno/i,
     28            /^bře/i,
     29            /^dub/i,
     30            /^kvě/i,
     31            /^(čvn|červen$|června)/i,
     32            /^(čvc|červenec|července)/i,
     33            /^srp/i,
     34            /^zář/i,
     35            /^říj/i,
     36            /^lis/i,
     37            /^pro/i,
     38        ],
     39        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
     40        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
     41        monthsRegex =
     42            /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
     43
     44    function plural(n) {
     45        return n > 1 && n < 5 && ~~(n / 10) !== 1;
     46    }
     47    function translate(number, withoutSuffix, key, isFuture) {
     48        var result = number + ' ';
     49        switch (key) {
     50            case 's': // a few seconds / in a few seconds / a few seconds ago
     51                return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
     52            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
     53                if (withoutSuffix || isFuture) {
     54                    return result + (plural(number) ? 'sekundy' : 'sekund');
     55                } else {
     56                    return result + 'sekundami';
     57                }
     58            case 'm': // a minute / in a minute / a minute ago
     59                return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
     60            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
     61                if (withoutSuffix || isFuture) {
     62                    return result + (plural(number) ? 'minuty' : 'minut');
     63                } else {
     64                    return result + 'minutami';
     65                }
     66            case 'h': // an hour / in an hour / an hour ago
     67                return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
     68            case 'hh': // 9 hours / in 9 hours / 9 hours ago
     69                if (withoutSuffix || isFuture) {
     70                    return result + (plural(number) ? 'hodiny' : 'hodin');
     71                } else {
     72                    return result + 'hodinami';
     73                }
     74            case 'd': // a day / in a day / a day ago
     75                return withoutSuffix || isFuture ? 'den' : 'dnem';
     76            case 'dd': // 9 days / in 9 days / 9 days ago
     77                if (withoutSuffix || isFuture) {
     78                    return result + (plural(number) ? 'dny' : 'dní');
     79                } else {
     80                    return result + 'dny';
     81                }
     82            case 'M': // a month / in a month / a month ago
     83                return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
     84            case 'MM': // 9 months / in 9 months / 9 months ago
     85                if (withoutSuffix || isFuture) {
     86                    return result + (plural(number) ? 'měsíce' : 'měsíců');
     87                } else {
     88                    return result + 'měsíci';
     89                }
     90            case 'y': // a year / in a year / a year ago
     91                return withoutSuffix || isFuture ? 'rok' : 'rokem';
     92            case 'yy': // 9 years / in 9 years / 9 years ago
     93                if (withoutSuffix || isFuture) {
     94                    return result + (plural(number) ? 'roky' : 'let');
     95                } else {
     96                    return result + 'lety';
     97                }
     98        }
     99    }
    100
    101    var cs = moment.defineLocale('cs', {
    102        months: months,
    103        monthsShort: monthsShort,
    104        monthsRegex: monthsRegex,
    105        monthsShortRegex: monthsRegex,
    106        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
    107        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
    108        monthsStrictRegex:
    109            /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
    110        monthsShortStrictRegex:
    111            /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
    112        monthsParse: monthsParse,
    113        longMonthsParse: monthsParse,
    114        shortMonthsParse: monthsParse,
    115        weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
    116        weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
    117        weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
    118        longDateFormat: {
    119            LT: 'H:mm',
    120            LTS: 'H:mm:ss',
    121            L: 'DD.MM.YYYY',
    122            LL: 'D. MMMM YYYY',
    123            LLL: 'D. MMMM YYYY H:mm',
    124            LLLL: 'dddd D. MMMM YYYY H:mm',
    125            l: 'D. M. YYYY',
    126        },
    127        calendar: {
    128            sameDay: '[dnes v] LT',
    129            nextDay: '[zítra v] LT',
    130            nextWeek: function () {
    131                switch (this.day()) {
    132                    case 0:
    133                        return '[v neděli v] LT';
    134                    case 1:
    135                    case 2:
    136                        return '[v] dddd [v] LT';
    137                    case 3:
    138                        return '[ve středu v] LT';
    139                    case 4:
    140                        return '[ve čtvrtek v] LT';
    141                    case 5:
    142                        return '[v pátek v] LT';
    143                    case 6:
    144                        return '[v sobotu v] LT';
    145                }
    146            },
    147            lastDay: '[včera v] LT',
    148            lastWeek: function () {
    149                switch (this.day()) {
    150                    case 0:
    151                        return '[minulou neděli v] LT';
    152                    case 1:
    153                    case 2:
    154                        return '[minulé] dddd [v] LT';
    155                    case 3:
    156                        return '[minulou středu v] LT';
    157                    case 4:
    158                    case 5:
    159                        return '[minulý] dddd [v] LT';
    160                    case 6:
    161                        return '[minulou sobotu v] LT';
    162                }
    163            },
    164            sameElse: 'L',
    165        },
    166        relativeTime: {
    167            future: 'za %s',
    168            past: 'před %s',
    169            s: translate,
    170            ss: translate,
    171            m: translate,
    172            mm: translate,
    173            h: translate,
    174            hh: translate,
    175            d: translate,
    176            dd: translate,
    177            M: translate,
    178            MM: translate,
    179            y: translate,
    180            yy: translate,
    181        },
    182        dayOfMonthOrdinalParse: /\d{1,2}\./,
    183        ordinal: '%d.',
    184        week: {
    185            dow: 1, // Monday is the first day of the week.
    186            doy: 4, // The week that contains Jan 4th is the first week of the year.
    187        },
    188    });
    189
    190    return cs;
    191
    192})));