text: (function () {
      var numbers_past = ['nolla', 'yksi', 'kaksi', 'kolme', 'neljä', 'viisi',
                          'kuusi', 'seitsemän', 'kahdeksan', 'yhdeksän'];
      var numbers_future = ['nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden',
                            'kuuden', numbers_past[7], numbers_past[8], numbers_past[9]];
  
      function translate(number, withoutSuffix, key, isFuture) {
          var result = "";
          switch (key) {
          case 's':
              return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
          case 'm':
              return isFuture ? 'minuutin' : 'minuutti';
          case 'mm':
              result = isFuture ? 'minuutin' : 'minuuttia';
              break;
          case 'h':
              return isFuture ? 'tunnin' : 'tunti';
          case 'hh':
              result = isFuture ? 'tunnin' : 'tuntia';
              break;
          case 'd':
              return isFuture ? 'päivän' : 'päivä';
          case 'dd':
              result = isFuture ? 'päivän' : 'päivää';
              break;
          case 'M':
              return isFuture ? 'kuukauden' : 'kuukausi';
          case 'MM':
              result = isFuture ? 'kuukauden' : 'kuukautta';
              break;
          case 'y':
              return isFuture ? 'vuoden' : 'vuosi';
          case 'yy':
              result = isFuture ? 'vuoden' : 'vuotta';
              break;
          }
          result = verbal_number(number, isFuture) + " " + result;
          return result;
      }
  
      function verbal_number(number, isFuture) {
          return number < 10 ? (isFuture ? numbers_future[number] : numbers_past[number]) : number;
      }
  
      var lang = {
              months : "tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),
              monthsShort : "tam_hel_maa_huh_tou_kes_hei_elo_syy_lok_mar_jou".split("_"),
              weekdays : "sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),
              weekdaysShort : "su_ma_ti_ke_to_pe_la".split("_"),
              longDateFormat : {
                  LT : "HH.mm",
                  L : "DD.MM.YYYY",
                  LL : "Do MMMMt\\a YYYY",
                  LLL : "Do MMMMt\\a YYYY, klo LT",
                  LLLL : "dddd, Do MMMMt\\a YYYY, klo LT"
              },
              calendar : {
                  sameDay : '[tänään] [klo] LT',
                  nextDay : '[huomenna] [klo] LT',
                  nextWeek : 'dddd [klo] LT',
                  lastDay : '[eilen] [klo] LT',
                  lastWeek : '[viime] dddd[na] [klo] LT',
                  sameElse : 'L'
              },
              relativeTime : {
                  future : "%s päästä",
                  past : "%s sitten",
                  s : translate,
                  m : translate,
                  mm : translate,
                  h : translate,
                  hh : translate,
                  d : translate,
                  dd : translate,
                  M : translate,
                  MM : translate,
                  y : translate,
                  yy : translate
              },
              ordinal : function (number) {
                  return ".";
              }
          };
  
      // Node
      if (typeof module !== 'undefined') {
          module.exports = lang;
      }
      // Browser
      if (typeof window !== 'undefined' && this.moment && this.moment.lang) {
          this.moment.lang('fi', lang);
      }
  }());