fi.js 3.5 KB

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