1 |
|
2 |
|
3 |
|
4 |
|
5 | import moment from '../moment';
|
6 |
|
7 | var 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 | ];
|
23 | function 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 | }
|
60 | function verbalNumber(number, isFuture) {
|
61 | return number < 10
|
62 | ? isFuture
|
63 | ? numbersFuture[number]
|
64 | : numbersPast[number]
|
65 | : number;
|
66 | }
|
67 |
|
68 | export 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,
|
122 | doy: 4,
|
123 | },
|
124 | });
|