fi.js 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. // Finnish [fi]
  2. import dayjs from '../index';
  3. function relativeTimeFormatter(number, withoutSuffix, key, isFuture) {
  4. var past = {
  5. s: 'muutama sekunti',
  6. m: 'minuutti',
  7. mm: '%d minuuttia',
  8. h: 'tunti',
  9. hh: '%d tuntia',
  10. d: 'päivä',
  11. dd: '%d päivää',
  12. M: 'kuukausi',
  13. MM: '%d kuukautta',
  14. y: 'vuosi',
  15. yy: '%d vuotta',
  16. numbers: 'nolla_yksi_kaksi_kolme_neljä_viisi_kuusi_seitsemän_kahdeksan_yhdeksän'.split('_')
  17. };
  18. var future = {
  19. s: 'muutaman sekunnin',
  20. m: 'minuutin',
  21. mm: '%d minuutin',
  22. h: 'tunnin',
  23. hh: '%d tunnin',
  24. d: 'päivän',
  25. dd: '%d päivän',
  26. M: 'kuukauden',
  27. MM: '%d kuukauden',
  28. y: 'vuoden',
  29. yy: '%d vuoden',
  30. numbers: 'nollan_yhden_kahden_kolmen_neljän_viiden_kuuden_seitsemän_kahdeksan_yhdeksän'.split('_')
  31. };
  32. var words = isFuture && !withoutSuffix ? future : past;
  33. var result = words[key];
  34. if (number < 10) {
  35. return result.replace('%d', words.numbers[number]);
  36. }
  37. return result.replace('%d', number);
  38. }
  39. var locale = {
  40. name: 'fi',
  41. // Finnish
  42. weekdays: 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
  43. // Note weekdays are not capitalized in Finnish
  44. weekdaysShort: 'su_ma_ti_ke_to_pe_la'.split('_'),
  45. // There is no short form of weekdays in Finnish except this 2 letter format so it is used for both 'weekdaysShort' and 'weekdaysMin'
  46. weekdaysMin: 'su_ma_ti_ke_to_pe_la'.split('_'),
  47. months: 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
  48. // Note month names are not capitalized in Finnish
  49. monthsShort: 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
  50. ordinal: function ordinal(n) {
  51. return n + ".";
  52. },
  53. weekStart: 1,
  54. yearStart: 4,
  55. relativeTime: {
  56. future: '%s päästä',
  57. past: '%s sitten',
  58. s: relativeTimeFormatter,
  59. m: relativeTimeFormatter,
  60. mm: relativeTimeFormatter,
  61. h: relativeTimeFormatter,
  62. hh: relativeTimeFormatter,
  63. d: relativeTimeFormatter,
  64. dd: relativeTimeFormatter,
  65. M: relativeTimeFormatter,
  66. MM: relativeTimeFormatter,
  67. y: relativeTimeFormatter,
  68. yy: relativeTimeFormatter
  69. },
  70. formats: {
  71. LT: 'HH.mm',
  72. LTS: 'HH.mm.ss',
  73. L: 'DD.MM.YYYY',
  74. LL: 'D. MMMM[ta] YYYY',
  75. LLL: 'D. MMMM[ta] YYYY, [klo] HH.mm',
  76. LLLL: 'dddd, D. MMMM[ta] YYYY, [klo] HH.mm',
  77. l: 'D.M.YYYY',
  78. ll: 'D. MMM YYYY',
  79. lll: 'D. MMM YYYY, [klo] HH.mm',
  80. llll: 'ddd, D. MMM YYYY, [klo] HH.mm'
  81. }
  82. };
  83. dayjs.locale(locale, null, true);
  84. export default locale;