import type { Quarter } from '../../../../types' ; import type { Localize , LocalizeFn } from '../../../types' ; import buildLocalizeFn from '../../../_lib/buildLocalizeFn/index' ; const eraValues = { narrow : [ 'eaa.' , 'jaa.' ] as const , abbreviated : [ 'eaa.' , 'jaa.' ] as const , wide : [ 'ennen ajanlaskun alkua' , 'jälkeen ajanlaskun alun' ] as const , } ; const quarterValues = { narrow : [ '1' , '2' , '3' , '4' ] as const , abbreviated : [ 'Q1' , 'Q2' , 'Q3' , 'Q4' ] as const , wide : [ '1. kvartaali' , '2. kvartaali' , '3. kvartaali' , '4. kvartaali' , ] as const , } ; const monthValues = { narrow : [ 'T' , 'H' , 'M' , 'H' , 'T' , 'K' , 'H' , 'E' , 'S' , 'L' , 'M' , 'J' ] as const , abbreviated : [ 'tammi' , 'helmi' , 'maalis' , 'huhti' , 'touko' , 'kesä' , 'heinä' , 'elo' , 'syys' , 'loka' , 'marras' , 'joulu' , ] as const , wide : [ 'tammikuu' , 'helmikuu' , 'maaliskuu' , 'huhtikuu' , 'toukokuu' , 'kesäkuu' , 'heinäkuu' , 'elokuu' , 'syyskuu' , 'lokakuu' , 'marraskuu' , 'joulukuu' , ] as const , } ; const formattingMonthValues = { narrow : monthValues . narrow , abbreviated : monthValues . abbreviated , wide : [ 'tammikuuta' , 'helmikuuta' , 'maaliskuuta' , 'huhtikuuta' , 'toukokuuta' , 'kesäkuuta' , 'heinäkuuta' , 'elokuuta' , 'syyskuuta' , 'lokakuuta' , 'marraskuuta' , 'joulukuuta' , ] as const , } ; const dayValues = { narrow : [ 'S' , 'M' , 'T' , 'K' , 'T' , 'P' , 'L' ] as const , short : [ 'su' , 'ma' , 'ti' , 'ke' , 'to' , 'pe' , 'la' ] as const , abbreviated : [ 'sunn.' , 'maan.' , 'tiis.' , 'kesk.' , 'torst.' , 'perj.' , 'la' , ] as const , wide : [ 'sunnuntai' , 'maanantai' , 'tiistai' , 'keskiviikko' , 'torstai' , 'perjantai' , 'lauantai' , ] as const , } ; const formattingDayValues = { narrow : dayValues . narrow , short : dayValues . short , abbreviated : dayValues . abbreviated , wide : [ 'sunnuntaina' , 'maanantaina' , 'tiistaina' , 'keskiviikkona' , 'torstaina' , 'perjantaina' , 'lauantaina' , ] as const , } ; const dayPeriodValues = { narrow : { am : 'ap' , pm : 'ip' , midnight : 'keskiyö' , noon : 'keskipäivä' , morning : 'ap' , afternoon : 'ip' , evening : 'illalla' , night : 'yöllä' , } , abbreviated : { am : 'ap' , pm : 'ip' , midnight : 'keskiyö' , noon : 'keskipäivä' , morning : 'ap' , afternoon : 'ip' , evening : 'illalla' , night : 'yöllä' , } , wide : { am : 'ap' , pm : 'ip' , midnight : 'keskiyöllä' , noon : 'keskipäivällä' , morning : 'aamupäivällä' , afternoon : 'iltapäivällä' , evening : 'illalla' , night : 'yöllä' , } , } ; const ordinalNumber = ( dirtyNumber , _options ) => { const number = Number ( dirtyNumber ) ; return number + '.' ; } ; const localize = { ordinalNumber , era : buildLocalizeFn ( { values : eraValues , defaultWidth : 'wide' , } ) , quarter : buildLocalizeFn ( { values : quarterValues , defaultWidth : 'wide' , argumentCallback : ( quarter ) => ( quarter - 1 ) as Quarter , } ) , month : buildLocalizeFn ( { values : monthValues , defaultWidth : 'wide' , formattingValues : formattingMonthValues , defaultFormattingWidth : 'wide' , } ) , day : buildLocalizeFn ( { values : dayValues , defaultWidth : 'wide' , formattingValues : formattingDayValues , defaultFormattingWidth : 'wide' , } ) , dayPeriod : buildLocalizeFn ( { values : dayPeriodValues , defaultWidth : 'wide' , } ) , } ; export default localize ;