ka.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. //! moment.js locale configuration
  2. //! locale : Georgian (ka)
  3. //! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
  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. function monthsCaseReplace(m, format) {
  10. var months = {
  11. 'nominative': 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
  12. 'accusative': 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
  13. },
  14. nounCase = (/D[oD] *MMMM?/).test(format) ?
  15. 'accusative' :
  16. 'nominative';
  17. return months[nounCase][m.month()];
  18. }
  19. function weekdaysCaseReplace(m, format) {
  20. var weekdays = {
  21. 'nominative': 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
  22. 'accusative': 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_')
  23. },
  24. nounCase = (/(წინა|შემდეგ)/).test(format) ?
  25. 'accusative' :
  26. 'nominative';
  27. return weekdays[nounCase][m.day()];
  28. }
  29. var ka = moment.defineLocale('ka', {
  30. months : monthsCaseReplace,
  31. monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
  32. weekdays : weekdaysCaseReplace,
  33. weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
  34. weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
  35. longDateFormat : {
  36. LT : 'h:mm A',
  37. LTS : 'h:mm:ss A',
  38. L : 'DD/MM/YYYY',
  39. LL : 'D MMMM YYYY',
  40. LLL : 'D MMMM YYYY h:mm A',
  41. LLLL : 'dddd, D MMMM YYYY h:mm A'
  42. },
  43. calendar : {
  44. sameDay : '[დღეს] LT[-ზე]',
  45. nextDay : '[ხვალ] LT[-ზე]',
  46. lastDay : '[გუშინ] LT[-ზე]',
  47. nextWeek : '[შემდეგ] dddd LT[-ზე]',
  48. lastWeek : '[წინა] dddd LT-ზე',
  49. sameElse : 'L'
  50. },
  51. relativeTime : {
  52. future : function (s) {
  53. return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
  54. s.replace(/ი$/, 'ში') :
  55. s + 'ში';
  56. },
  57. past : function (s) {
  58. if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
  59. return s.replace(/(ი|ე)$/, 'ის წინ');
  60. }
  61. if ((/წელი/).test(s)) {
  62. return s.replace(/წელი$/, 'წლის წინ');
  63. }
  64. },
  65. s : 'რამდენიმე წამი',
  66. m : 'წუთი',
  67. mm : '%d წუთი',
  68. h : 'საათი',
  69. hh : '%d საათი',
  70. d : 'დღე',
  71. dd : '%d დღე',
  72. M : 'თვე',
  73. MM : '%d თვე',
  74. y : 'წელი',
  75. yy : '%d წელი'
  76. },
  77. ordinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
  78. ordinal : function (number) {
  79. if (number === 0) {
  80. return number;
  81. }
  82. if (number === 1) {
  83. return number + '-ლი';
  84. }
  85. if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
  86. return 'მე-' + number;
  87. }
  88. return number + '-ე';
  89. },
  90. week : {
  91. dow : 1,
  92. doy : 7
  93. }
  94. });
  95. return ka;
  96. }));