fi.js 3.8 KB

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