cscg24-guacamole

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

fi.js (3632B)


      1//! moment.js locale configuration
      2//! locale : Finnish [fi]
      3//! author : Tarmo Aidantausta : https://github.com/bleadof
      4
      5import moment from '../moment';
      6
      7var numbersPast =
      8        'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(
      9            ' '
     10        ),
     11    numbersFuture = [
     12        'nolla',
     13        'yhden',
     14        'kahden',
     15        'kolmen',
     16        'neljän',
     17        'viiden',
     18        'kuuden',
     19        numbersPast[7],
     20        numbersPast[8],
     21        numbersPast[9],
     22    ];
     23function translate(number, withoutSuffix, key, isFuture) {
     24    var result = '';
     25    switch (key) {
     26        case 's':
     27            return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
     28        case 'ss':
     29            result = isFuture ? 'sekunnin' : 'sekuntia';
     30            break;
     31        case 'm':
     32            return isFuture ? 'minuutin' : 'minuutti';
     33        case 'mm':
     34            result = isFuture ? 'minuutin' : 'minuuttia';
     35            break;
     36        case 'h':
     37            return isFuture ? 'tunnin' : 'tunti';
     38        case 'hh':
     39            result = isFuture ? 'tunnin' : 'tuntia';
     40            break;
     41        case 'd':
     42            return isFuture ? 'päivän' : 'päivä';
     43        case 'dd':
     44            result = isFuture ? 'päivän' : 'päivää';
     45            break;
     46        case 'M':
     47            return isFuture ? 'kuukauden' : 'kuukausi';
     48        case 'MM':
     49            result = isFuture ? 'kuukauden' : 'kuukautta';
     50            break;
     51        case 'y':
     52            return isFuture ? 'vuoden' : 'vuosi';
     53        case 'yy':
     54            result = isFuture ? 'vuoden' : 'vuotta';
     55            break;
     56    }
     57    result = verbalNumber(number, isFuture) + ' ' + result;
     58    return result;
     59}
     60function verbalNumber(number, isFuture) {
     61    return number < 10
     62        ? isFuture
     63            ? numbersFuture[number]
     64            : numbersPast[number]
     65        : number;
     66}
     67
     68export default moment.defineLocale('fi', {
     69    months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split(
     70        '_'
     71    ),
     72    monthsShort:
     73        'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split(
     74            '_'
     75        ),
     76    weekdays:
     77        'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split(
     78            '_'
     79        ),
     80    weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
     81    weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
     82    longDateFormat: {
     83        LT: 'HH.mm',
     84        LTS: 'HH.mm.ss',
     85        L: 'DD.MM.YYYY',
     86        LL: 'Do MMMM[ta] YYYY',
     87        LLL: 'Do MMMM[ta] YYYY, [klo] HH.mm',
     88        LLLL: 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
     89        l: 'D.M.YYYY',
     90        ll: 'Do MMM YYYY',
     91        lll: 'Do MMM YYYY, [klo] HH.mm',
     92        llll: 'ddd, Do MMM YYYY, [klo] HH.mm',
     93    },
     94    calendar: {
     95        sameDay: '[tänään] [klo] LT',
     96        nextDay: '[huomenna] [klo] LT',
     97        nextWeek: 'dddd [klo] LT',
     98        lastDay: '[eilen] [klo] LT',
     99        lastWeek: '[viime] dddd[na] [klo] LT',
    100        sameElse: 'L',
    101    },
    102    relativeTime: {
    103        future: '%s päästä',
    104        past: '%s sitten',
    105        s: translate,
    106        ss: translate,
    107        m: translate,
    108        mm: translate,
    109        h: translate,
    110        hh: translate,
    111        d: translate,
    112        dd: translate,
    113        M: translate,
    114        MM: translate,
    115        y: translate,
    116        yy: translate,
    117    },
    118    dayOfMonthOrdinalParse: /\d{1,2}\./,
    119    ordinal: '%d.',
    120    week: {
    121        dow: 1, // Monday is the first day of the week.
    122        doy: 4, // The week that contains Jan 4th is the first week of the year.
    123    },
    124});