cscg24-guacamole

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

lt.js (4009B)


      1//! moment.js locale configuration
      2//! locale : Lithuanian [lt]
      3//! author : Mindaugas Mozūras : https://github.com/mmozuras
      4
      5import moment from '../moment';
      6
      7var units = {
      8    ss: 'sekundė_sekundžių_sekundes',
      9    m: 'minutė_minutės_minutę',
     10    mm: 'minutės_minučių_minutes',
     11    h: 'valanda_valandos_valandą',
     12    hh: 'valandos_valandų_valandas',
     13    d: 'diena_dienos_dieną',
     14    dd: 'dienos_dienų_dienas',
     15    M: 'mėnuo_mėnesio_mėnesį',
     16    MM: 'mėnesiai_mėnesių_mėnesius',
     17    y: 'metai_metų_metus',
     18    yy: 'metai_metų_metus',
     19};
     20function translateSeconds(number, withoutSuffix, key, isFuture) {
     21    if (withoutSuffix) {
     22        return 'kelios sekundės';
     23    } else {
     24        return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
     25    }
     26}
     27function translateSingular(number, withoutSuffix, key, isFuture) {
     28    return withoutSuffix
     29        ? forms(key)[0]
     30        : isFuture
     31          ? forms(key)[1]
     32          : forms(key)[2];
     33}
     34function special(number) {
     35    return number % 10 === 0 || (number > 10 && number < 20);
     36}
     37function forms(key) {
     38    return units[key].split('_');
     39}
     40function translate(number, withoutSuffix, key, isFuture) {
     41    var result = number + ' ';
     42    if (number === 1) {
     43        return (
     44            result + translateSingular(number, withoutSuffix, key[0], isFuture)
     45        );
     46    } else if (withoutSuffix) {
     47        return result + (special(number) ? forms(key)[1] : forms(key)[0]);
     48    } else {
     49        if (isFuture) {
     50            return result + forms(key)[1];
     51        } else {
     52            return result + (special(number) ? forms(key)[1] : forms(key)[2]);
     53        }
     54    }
     55}
     56export default moment.defineLocale('lt', {
     57    months: {
     58        format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split(
     59            '_'
     60        ),
     61        standalone:
     62            'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split(
     63                '_'
     64            ),
     65        isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/,
     66    },
     67    monthsShort: 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
     68    weekdays: {
     69        format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split(
     70            '_'
     71        ),
     72        standalone:
     73            'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split(
     74                '_'
     75            ),
     76        isFormat: /dddd HH:mm/,
     77    },
     78    weekdaysShort: 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
     79    weekdaysMin: 'S_P_A_T_K_Pn_Š'.split('_'),
     80    weekdaysParseExact: true,
     81    longDateFormat: {
     82        LT: 'HH:mm',
     83        LTS: 'HH:mm:ss',
     84        L: 'YYYY-MM-DD',
     85        LL: 'YYYY [m.] MMMM D [d.]',
     86        LLL: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
     87        LLLL: 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
     88        l: 'YYYY-MM-DD',
     89        ll: 'YYYY [m.] MMMM D [d.]',
     90        lll: 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
     91        llll: 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]',
     92    },
     93    calendar: {
     94        sameDay: '[Šiandien] LT',
     95        nextDay: '[Rytoj] LT',
     96        nextWeek: 'dddd LT',
     97        lastDay: '[Vakar] LT',
     98        lastWeek: '[Praėjusį] dddd LT',
     99        sameElse: 'L',
    100    },
    101    relativeTime: {
    102        future: 'po %s',
    103        past: 'prieš %s',
    104        s: translateSeconds,
    105        ss: translate,
    106        m: translateSingular,
    107        mm: translate,
    108        h: translateSingular,
    109        hh: translate,
    110        d: translateSingular,
    111        dd: translate,
    112        M: translateSingular,
    113        MM: translate,
    114        y: translateSingular,
    115        yy: translate,
    116    },
    117    dayOfMonthOrdinalParse: /\d{1,2}-oji/,
    118    ordinal: function (number) {
    119        return number + '-oji';
    120    },
    121    week: {
    122        dow: 1, // Monday is the first day of the week.
    123        doy: 4, // The week that contains Jan 4th is the first week of the year.
    124    },
    125});