sr-cyrl.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. //! moment.js locale configuration
  2. //! locale : Serbian-cyrillic (sr-cyrl)
  3. //! author : Milan Janačković<milanjanackovic@gmail.com> : https://github.com/milan-j
  4. (function (global, factory) {
  5. typeof exports === 'object' && typeof module !== 'undefined' ? factory(require('../moment')) :
  6. typeof define === 'function' && define.amd ? define(['moment'], factory) :
  7. factory(global.moment)
  8. }(this, function (moment) { 'use strict';
  9. var translator = {
  10. words: { //Different grammatical cases
  11. m: ['један минут', 'једне минуте'],
  12. mm: ['минут', 'минуте', 'минута'],
  13. h: ['један сат', 'једног сата'],
  14. hh: ['сат', 'сата', 'сати'],
  15. dd: ['дан', 'дана', 'дана'],
  16. MM: ['месец', 'месеца', 'месеци'],
  17. yy: ['година', 'године', 'година']
  18. },
  19. correctGrammaticalCase: function (number, wordKey) {
  20. return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
  21. },
  22. translate: function (number, withoutSuffix, key) {
  23. var wordKey = translator.words[key];
  24. if (key.length === 1) {
  25. return withoutSuffix ? wordKey[0] : wordKey[1];
  26. } else {
  27. return number + ' ' + translator.correctGrammaticalCase(number, wordKey);
  28. }
  29. }
  30. };
  31. var sr_cyrl = moment.defineLocale('sr-cyrl', {
  32. months: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'],
  33. monthsShort: ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'сеп.', 'окт.', 'нов.', 'дец.'],
  34. weekdays: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
  35. weekdaysShort: ['нед.', 'пон.', 'уто.', 'сре.', 'чет.', 'пет.', 'суб.'],
  36. weekdaysMin: ['не', 'по', 'ут', 'ср', 'че', 'пе', 'су'],
  37. longDateFormat: {
  38. LT: 'H:mm',
  39. LTS : 'H:mm:ss',
  40. L: 'DD. MM. YYYY',
  41. LL: 'D. MMMM YYYY',
  42. LLL: 'D. MMMM YYYY H:mm',
  43. LLLL: 'dddd, D. MMMM YYYY H:mm'
  44. },
  45. calendar: {
  46. sameDay: '[данас у] LT',
  47. nextDay: '[сутра у] LT',
  48. nextWeek: function () {
  49. switch (this.day()) {
  50. case 0:
  51. return '[у] [недељу] [у] LT';
  52. case 3:
  53. return '[у] [среду] [у] LT';
  54. case 6:
  55. return '[у] [суботу] [у] LT';
  56. case 1:
  57. case 2:
  58. case 4:
  59. case 5:
  60. return '[у] dddd [у] LT';
  61. }
  62. },
  63. lastDay : '[јуче у] LT',
  64. lastWeek : function () {
  65. var lastWeekDays = [
  66. '[прошле] [недеље] [у] LT',
  67. '[прошлог] [понедељка] [у] LT',
  68. '[прошлог] [уторка] [у] LT',
  69. '[прошле] [среде] [у] LT',
  70. '[прошлог] [четвртка] [у] LT',
  71. '[прошлог] [петка] [у] LT',
  72. '[прошле] [суботе] [у] LT'
  73. ];
  74. return lastWeekDays[this.day()];
  75. },
  76. sameElse : 'L'
  77. },
  78. relativeTime : {
  79. future : 'за %s',
  80. past : 'пре %s',
  81. s : 'неколико секунди',
  82. m : translator.translate,
  83. mm : translator.translate,
  84. h : translator.translate,
  85. hh : translator.translate,
  86. d : 'дан',
  87. dd : translator.translate,
  88. M : 'месец',
  89. MM : translator.translate,
  90. y : 'годину',
  91. yy : translator.translate
  92. },
  93. ordinalParse: /\d{1,2}\./,
  94. ordinal : '%d.',
  95. week : {
  96. dow : 1, // Monday is the first day of the week.
  97. doy : 7 // The week that contains Jan 1st is the first week of the year.
  98. }
  99. });
  100. return sr_cyrl;
  101. }));