momentjs-rails 2.15.1 → 2.17.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (114) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +1 -1
  3. data/news.md +3 -0
  4. data/test/integration/navigation_test.rb +1 -1
  5. data/vendor/assets/javascripts/moment.js +3653 -3586
  6. data/vendor/assets/javascripts/moment/af.js +59 -59
  7. data/vendor/assets/javascripts/moment/ar-dz.js +59 -0
  8. data/vendor/assets/javascripts/moment/ar-ly.js +111 -107
  9. data/vendor/assets/javascripts/moment/ar-ma.js +46 -46
  10. data/vendor/assets/javascripts/moment/ar-sa.js +90 -89
  11. data/vendor/assets/javascripts/moment/ar-tn.js +46 -46
  12. data/vendor/assets/javascripts/moment/ar.js +125 -120
  13. data/vendor/assets/javascripts/moment/az.js +90 -90
  14. data/vendor/assets/javascripts/moment/be.js +112 -112
  15. data/vendor/assets/javascripts/moment/bg.js +74 -74
  16. data/vendor/assets/javascripts/moment/bn.js +104 -104
  17. data/vendor/assets/javascripts/moment/bo.js +104 -104
  18. data/vendor/assets/javascripts/moment/br.js +89 -89
  19. data/vendor/assets/javascripts/moment/bs.js +125 -125
  20. data/vendor/assets/javascripts/moment/ca.js +63 -63
  21. data/vendor/assets/javascripts/moment/cs.js +154 -154
  22. data/vendor/assets/javascripts/moment/cv.js +49 -49
  23. data/vendor/assets/javascripts/moment/cy.js +65 -65
  24. data/vendor/assets/javascripts/moment/da.js +47 -47
  25. data/vendor/assets/javascripts/moment/de-at.js +62 -62
  26. data/vendor/assets/javascripts/moment/de.js +62 -62
  27. data/vendor/assets/javascripts/moment/dv.js +84 -83
  28. data/vendor/assets/javascripts/moment/el.js +81 -81
  29. data/vendor/assets/javascripts/moment/en-au.js +54 -54
  30. data/vendor/assets/javascripts/moment/en-ca.js +50 -50
  31. data/vendor/assets/javascripts/moment/en-gb.js +54 -54
  32. data/vendor/assets/javascripts/moment/en-ie.js +54 -54
  33. data/vendor/assets/javascripts/moment/en-nz.js +54 -54
  34. data/vendor/assets/javascripts/moment/eo.js +57 -57
  35. data/vendor/assets/javascripts/moment/es-do.js +63 -63
  36. data/vendor/assets/javascripts/moment/es.js +63 -63
  37. data/vendor/assets/javascripts/moment/et.js +64 -64
  38. data/vendor/assets/javascripts/moment/eu.js +53 -53
  39. data/vendor/assets/javascripts/moment/fa.js +92 -91
  40. data/vendor/assets/javascripts/moment/fi.js +92 -92
  41. data/vendor/assets/javascripts/moment/fo.js +47 -47
  42. data/vendor/assets/javascripts/moment/fr-ca.js +47 -47
  43. data/vendor/assets/javascripts/moment/fr-ch.js +51 -51
  44. data/vendor/assets/javascripts/moment/fr.js +51 -51
  45. data/vendor/assets/javascripts/moment/fy.js +58 -58
  46. data/vendor/assets/javascripts/moment/gd.js +58 -58
  47. data/vendor/assets/javascripts/moment/gl.js +61 -61
  48. data/vendor/assets/javascripts/moment/he.js +78 -78
  49. data/vendor/assets/javascripts/moment/hi.js +109 -109
  50. data/vendor/assets/javascripts/moment/hr.js +128 -128
  51. data/vendor/assets/javascripts/moment/hu.js +92 -92
  52. data/vendor/assets/javascripts/moment/hy-am.js +79 -79
  53. data/vendor/assets/javascripts/moment/id.js +68 -68
  54. data/vendor/assets/javascripts/moment/is.js +106 -106
  55. data/vendor/assets/javascripts/moment/it.js +54 -54
  56. data/vendor/assets/javascripts/moment/ja.js +62 -62
  57. data/vendor/assets/javascripts/moment/jv.js +69 -69
  58. data/vendor/assets/javascripts/moment/ka.js +71 -71
  59. data/vendor/assets/javascripts/moment/kk.js +73 -73
  60. data/vendor/assets/javascripts/moment/km.js +45 -45
  61. data/vendor/assets/javascripts/moment/ko.js +51 -51
  62. data/vendor/assets/javascripts/moment/ky.js +73 -73
  63. data/vendor/assets/javascripts/moment/lb.js +114 -114
  64. data/vendor/assets/javascripts/moment/lo.js +56 -56
  65. data/vendor/assets/javascripts/moment/lt.js +100 -100
  66. data/vendor/assets/javascripts/moment/lv.js +81 -81
  67. data/vendor/assets/javascripts/moment/me.js +93 -93
  68. data/vendor/assets/javascripts/moment/mi.js +51 -51
  69. data/vendor/assets/javascripts/moment/mk.js +74 -74
  70. data/vendor/assets/javascripts/moment/ml.js +67 -67
  71. data/vendor/assets/javascripts/moment/mr.js +139 -139
  72. data/vendor/assets/javascripts/moment/ms-my.js +68 -68
  73. data/vendor/assets/javascripts/moment/ms.js +68 -68
  74. data/vendor/assets/javascripts/moment/my.js +79 -78
  75. data/vendor/assets/javascripts/moment/nb.js +49 -49
  76. data/vendor/assets/javascripts/moment/ne.js +108 -108
  77. data/vendor/assets/javascripts/moment/nl-be.js +86 -0
  78. data/vendor/assets/javascripts/moment/nl.js +67 -67
  79. data/vendor/assets/javascripts/moment/nn.js +47 -47
  80. data/vendor/assets/javascripts/moment/pa-in.js +109 -109
  81. data/vendor/assets/javascripts/moment/pl.js +88 -88
  82. data/vendor/assets/javascripts/moment/pt-br.js +47 -47
  83. data/vendor/assets/javascripts/moment/pt.js +51 -51
  84. data/vendor/assets/javascripts/moment/ro.js +59 -59
  85. data/vendor/assets/javascripts/moment/ru.js +153 -153
  86. data/vendor/assets/javascripts/moment/se.js +47 -47
  87. data/vendor/assets/javascripts/moment/si.js +57 -57
  88. data/vendor/assets/javascripts/moment/sk.js +132 -132
  89. data/vendor/assets/javascripts/moment/sl.js +144 -144
  90. data/vendor/assets/javascripts/moment/sq.js +55 -55
  91. data/vendor/assets/javascripts/moment/sr-cyrl.js +93 -93
  92. data/vendor/assets/javascripts/moment/sr.js +93 -93
  93. data/vendor/assets/javascripts/moment/ss.js +73 -73
  94. data/vendor/assets/javascripts/moment/sv.js +56 -56
  95. data/vendor/assets/javascripts/moment/sw.js +46 -46
  96. data/vendor/assets/javascripts/moment/ta.js +115 -114
  97. data/vendor/assets/javascripts/moment/te.js +75 -75
  98. data/vendor/assets/javascripts/moment/tet.js +68 -0
  99. data/vendor/assets/javascripts/moment/th.js +53 -53
  100. data/vendor/assets/javascripts/moment/tl-ph.js +49 -49
  101. data/vendor/assets/javascripts/moment/tlh.js +100 -100
  102. data/vendor/assets/javascripts/moment/tr.js +74 -74
  103. data/vendor/assets/javascripts/moment/tzl.js +75 -75
  104. data/vendor/assets/javascripts/moment/tzm-latn.js +45 -45
  105. data/vendor/assets/javascripts/moment/tzm.js +45 -45
  106. data/vendor/assets/javascripts/moment/uk.js +125 -125
  107. data/vendor/assets/javascripts/moment/uz.js +45 -45
  108. data/vendor/assets/javascripts/moment/vi.js +65 -65
  109. data/vendor/assets/javascripts/moment/x-pseudo.js +55 -55
  110. data/vendor/assets/javascripts/moment/yo.js +60 -0
  111. data/vendor/assets/javascripts/moment/zh-cn.js +107 -107
  112. data/vendor/assets/javascripts/moment/zh-hk.js +89 -89
  113. data/vendor/assets/javascripts/moment/zh-tw.js +89 -89
  114. metadata +6 -2
@@ -7,98 +7,99 @@
7
7
  && typeof require === 'function' ? factory(require('../moment')) :
8
8
  typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9
9
  factory(global.moment)
10
- }(this, function (moment) { 'use strict';
10
+ }(this, (function (moment) { 'use strict';
11
11
 
12
12
 
13
- var symbolMap = {
14
- '1': '١',
15
- '2': '٢',
16
- '3': '٣',
17
- '4': '٤',
18
- '5': '٥',
19
- '6': '٦',
20
- '7': '٧',
21
- '8': '٨',
22
- '9': '٩',
23
- '0': '٠'
24
- }, numberMap = {
25
- '١': '1',
26
- '٢': '2',
27
- '٣': '3',
28
- '٤': '4',
29
- '٥': '5',
30
- '٦': '6',
31
- '٧': '7',
32
- '٨': '8',
33
- '٩': '9',
34
- '٠': '0'
35
- };
13
+ var symbolMap = {
14
+ '1': '١',
15
+ '2': '٢',
16
+ '3': '٣',
17
+ '4': '٤',
18
+ '5': '٥',
19
+ '6': '٦',
20
+ '7': '٧',
21
+ '8': '٨',
22
+ '9': '٩',
23
+ '0': '٠'
24
+ };
25
+ var numberMap = {
26
+ '١': '1',
27
+ '٢': '2',
28
+ '٣': '3',
29
+ '٤': '4',
30
+ '٥': '5',
31
+ '٦': '6',
32
+ '٧': '7',
33
+ '٨': '8',
34
+ '٩': '9',
35
+ '٠': '0'
36
+ };
36
37
 
37
- var ar_sa = moment.defineLocale('ar-sa', {
38
- months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
39
- monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
40
- weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
41
- weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
42
- weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
43
- weekdaysParseExact : true,
44
- longDateFormat : {
45
- LT : 'HH:mm',
46
- LTS : 'HH:mm:ss',
47
- L : 'DD/MM/YYYY',
48
- LL : 'D MMMM YYYY',
49
- LLL : 'D MMMM YYYY HH:mm',
50
- LLLL : 'dddd D MMMM YYYY HH:mm'
51
- },
52
- meridiemParse: /ص|م/,
53
- isPM : function (input) {
54
- return 'م' === input;
55
- },
56
- meridiem : function (hour, minute, isLower) {
57
- if (hour < 12) {
58
- return 'ص';
59
- } else {
60
- return 'م';
61
- }
62
- },
63
- calendar : {
64
- sameDay: '[اليوم على الساعة] LT',
65
- nextDay: '[غدا على الساعة] LT',
66
- nextWeek: 'dddd [على الساعة] LT',
67
- lastDay: '[أمس على الساعة] LT',
68
- lastWeek: 'dddd [على الساعة] LT',
69
- sameElse: 'L'
70
- },
71
- relativeTime : {
72
- future : 'في %s',
73
- past : 'منذ %s',
74
- s : 'ثوان',
75
- m : 'دقيقة',
76
- mm : '%d دقائق',
77
- h : 'ساعة',
78
- hh : '%d ساعات',
79
- d : 'يوم',
80
- dd : '%d أيام',
81
- M : 'شهر',
82
- MM : '%d أشهر',
83
- y : 'سنة',
84
- yy : '%d سنوات'
85
- },
86
- preparse: function (string) {
87
- return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
88
- return numberMap[match];
89
- }).replace(/،/g, ',');
90
- },
91
- postformat: function (string) {
92
- return string.replace(/\d/g, function (match) {
93
- return symbolMap[match];
94
- }).replace(/,/g, '،');
95
- },
96
- week : {
97
- dow : 6, // Saturday is the first day of the week.
98
- doy : 12 // The week that contains Jan 1st is the first week of the year.
38
+ var arSa = moment.defineLocale('ar-sa', {
39
+ months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
40
+ monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
41
+ weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
42
+ weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
43
+ weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
44
+ weekdaysParseExact : true,
45
+ longDateFormat : {
46
+ LT : 'HH:mm',
47
+ LTS : 'HH:mm:ss',
48
+ L : 'DD/MM/YYYY',
49
+ LL : 'D MMMM YYYY',
50
+ LLL : 'D MMMM YYYY HH:mm',
51
+ LLLL : 'dddd D MMMM YYYY HH:mm'
52
+ },
53
+ meridiemParse: /ص|م/,
54
+ isPM : function (input) {
55
+ return 'م' === input;
56
+ },
57
+ meridiem : function (hour, minute, isLower) {
58
+ if (hour < 12) {
59
+ return 'ص';
60
+ } else {
61
+ return 'م';
99
62
  }
100
- });
63
+ },
64
+ calendar : {
65
+ sameDay: '[اليوم على الساعة] LT',
66
+ nextDay: '[غدا على الساعة] LT',
67
+ nextWeek: 'dddd [على الساعة] LT',
68
+ lastDay: '[أمس على الساعة] LT',
69
+ lastWeek: 'dddd [على الساعة] LT',
70
+ sameElse: 'L'
71
+ },
72
+ relativeTime : {
73
+ future : 'في %s',
74
+ past : 'منذ %s',
75
+ s : 'ثوان',
76
+ m : 'دقيقة',
77
+ mm : '%d دقائق',
78
+ h : 'ساعة',
79
+ hh : '%d ساعات',
80
+ d : 'يوم',
81
+ dd : '%d أيام',
82
+ M : 'شهر',
83
+ MM : '%d أشهر',
84
+ y : 'سنة',
85
+ yy : '%d سنوات'
86
+ },
87
+ preparse: function (string) {
88
+ return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
89
+ return numberMap[match];
90
+ }).replace(/،/g, ',');
91
+ },
92
+ postformat: function (string) {
93
+ return string.replace(/\d/g, function (match) {
94
+ return symbolMap[match];
95
+ }).replace(/,/g, '،');
96
+ },
97
+ week : {
98
+ dow : 0, // Sunday is the first day of the week.
99
+ doy : 6 // The week that contains Jan 1st is the first week of the year.
100
+ }
101
+ });
101
102
 
102
- return ar_sa;
103
+ return arSa;
103
104
 
104
- }));
105
+ })));
@@ -7,53 +7,53 @@
7
7
  && typeof require === 'function' ? factory(require('../moment')) :
8
8
  typeof define === 'function' && define.amd ? define(['../moment'], factory) :
9
9
  factory(global.moment)
10
- }(this, function (moment) { 'use strict';
10
+ }(this, (function (moment) { 'use strict';
11
11
 
12
12
 
13
- var ar_tn = moment.defineLocale('ar-tn', {
14
- months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
15
- monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
16
- weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
17
- weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18
- weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
19
- weekdaysParseExact : true,
20
- longDateFormat: {
21
- LT: 'HH:mm',
22
- LTS: 'HH:mm:ss',
23
- L: 'DD/MM/YYYY',
24
- LL: 'D MMMM YYYY',
25
- LLL: 'D MMMM YYYY HH:mm',
26
- LLLL: 'dddd D MMMM YYYY HH:mm'
27
- },
28
- calendar: {
29
- sameDay: '[اليوم على الساعة] LT',
30
- nextDay: '[غدا على الساعة] LT',
31
- nextWeek: 'dddd [على الساعة] LT',
32
- lastDay: '[أمس على الساعة] LT',
33
- lastWeek: 'dddd [على الساعة] LT',
34
- sameElse: 'L'
35
- },
36
- relativeTime: {
37
- future: 'في %s',
38
- past: 'منذ %s',
39
- s: 'ثوان',
40
- m: 'دقيقة',
41
- mm: '%d دقائق',
42
- h: 'ساعة',
43
- hh: '%d ساعات',
44
- d: 'يوم',
45
- dd: '%d أيام',
46
- M: 'شهر',
47
- MM: '%d أشهر',
48
- y: 'سنة',
49
- yy: '%d سنوات'
50
- },
51
- week: {
52
- dow: 1, // Monday is the first day of the week.
53
- doy: 4 // The week that contains Jan 4th is the first week of the year.
54
- }
55
- });
13
+ var arTn = moment.defineLocale('ar-tn', {
14
+ months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
15
+ monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
16
+ weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
17
+ weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
18
+ weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
19
+ weekdaysParseExact : true,
20
+ longDateFormat: {
21
+ LT: 'HH:mm',
22
+ LTS: 'HH:mm:ss',
23
+ L: 'DD/MM/YYYY',
24
+ LL: 'D MMMM YYYY',
25
+ LLL: 'D MMMM YYYY HH:mm',
26
+ LLLL: 'dddd D MMMM YYYY HH:mm'
27
+ },
28
+ calendar: {
29
+ sameDay: '[اليوم على الساعة] LT',
30
+ nextDay: '[غدا على الساعة] LT',
31
+ nextWeek: 'dddd [على الساعة] LT',
32
+ lastDay: '[أمس على الساعة] LT',
33
+ lastWeek: 'dddd [على الساعة] LT',
34
+ sameElse: 'L'
35
+ },
36
+ relativeTime: {
37
+ future: 'في %s',
38
+ past: 'منذ %s',
39
+ s: 'ثوان',
40
+ m: 'دقيقة',
41
+ mm: '%d دقائق',
42
+ h: 'ساعة',
43
+ hh: '%d ساعات',
44
+ d: 'يوم',
45
+ dd: '%d أيام',
46
+ M: 'شهر',
47
+ MM: '%d أشهر',
48
+ y: 'سنة',
49
+ yy: '%d سنوات'
50
+ },
51
+ week: {
52
+ dow: 1, // Monday is the first day of the week.
53
+ doy: 4 // The week that contains Jan 4th is the first week of the year.
54
+ }
55
+ });
56
56
 
57
- return ar_tn;
57
+ return arTn;
58
58
 
59
- }));
59
+ })));
@@ -9,129 +9,134 @@
9
9
  && typeof require === 'function' ? factory(require('../moment')) :
10
10
  typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11
11
  factory(global.moment)
12
- }(this, function (moment) { 'use strict';
12
+ }(this, (function (moment) { 'use strict';
13
13
 
14
14
 
15
- var symbolMap = {
16
- '1': '١',
17
- '2': '٢',
18
- '3': '٣',
19
- '4': '٤',
20
- '5': '٥',
21
- '6': '٦',
22
- '7': '٧',
23
- '8': '٨',
24
- '9': '٩',
25
- '0': '٠'
26
- }, numberMap = {
27
- '١': '1',
28
- '٢': '2',
29
- '٣': '3',
30
- '٤': '4',
31
- '٥': '5',
32
- '٦': '6',
33
- '٧': '7',
34
- '٨': '8',
35
- '٩': '9',
36
- '٠': '0'
37
- }, pluralForm = function (n) {
38
- return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
39
- }, plurals = {
40
- s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
41
- m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
42
- h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
43
- d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
44
- M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
45
- y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
46
- }, pluralize = function (u) {
47
- return function (number, withoutSuffix, string, isFuture) {
48
- var f = pluralForm(number),
49
- str = plurals[u][pluralForm(number)];
50
- if (f === 2) {
51
- str = str[withoutSuffix ? 0 : 1];
52
- }
53
- return str.replace(/%d/i, number);
54
- };
55
- }, months = [
56
- 'كانون الثاني يناير',
57
- 'شباط فبراير',
58
- 'آذار مارس',
59
- 'نيسان أبريل',
60
- 'أيار مايو',
61
- 'حزيران يونيو',
62
- 'تموز يوليو',
63
- 'آب أغسطس',
64
- 'أيلول سبتمبر',
65
- 'تشرين الأول أكتوبر',
66
- 'تشرين الثاني نوفمبر',
67
- 'كانون الأول ديسمبر'
68
- ];
15
+ var symbolMap = {
16
+ '1': '١',
17
+ '2': '٢',
18
+ '3': '٣',
19
+ '4': '٤',
20
+ '5': '٥',
21
+ '6': '٦',
22
+ '7': '٧',
23
+ '8': '٨',
24
+ '9': '٩',
25
+ '0': '٠'
26
+ };
27
+ var numberMap = {
28
+ '١': '1',
29
+ '٢': '2',
30
+ '٣': '3',
31
+ '٤': '4',
32
+ '٥': '5',
33
+ '٦': '6',
34
+ '٧': '7',
35
+ '٨': '8',
36
+ '٩': '9',
37
+ '٠': '0'
38
+ };
39
+ var pluralForm = function (n) {
40
+ return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
41
+ };
42
+ var plurals = {
43
+ s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
44
+ m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
45
+ h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
46
+ d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
47
+ M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
48
+ y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
49
+ };
50
+ var pluralize = function (u) {
51
+ return function (number, withoutSuffix, string, isFuture) {
52
+ var f = pluralForm(number),
53
+ str = plurals[u][pluralForm(number)];
54
+ if (f === 2) {
55
+ str = str[withoutSuffix ? 0 : 1];
56
+ }
57
+ return str.replace(/%d/i, number);
58
+ };
59
+ };
60
+ var months = [
61
+ 'كانون الثاني يناير',
62
+ 'شباط فبراير',
63
+ 'آذار مارس',
64
+ 'نيسان أبريل',
65
+ 'أيار مايو',
66
+ 'حزيران يونيو',
67
+ 'تموز يوليو',
68
+ 'آب أغسطس',
69
+ 'أيلول سبتمبر',
70
+ 'تشرين الأول أكتوبر',
71
+ 'تشرين الثاني نوفمبر',
72
+ 'كانون الأول ديسمبر'
73
+ ];
69
74
 
70
- var ar = moment.defineLocale('ar', {
71
- months : months,
72
- monthsShort : months,
73
- weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
74
- weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
75
- weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
76
- weekdaysParseExact : true,
77
- longDateFormat : {
78
- LT : 'HH:mm',
79
- LTS : 'HH:mm:ss',
80
- L : 'D/\u200FM/\u200FYYYY',
81
- LL : 'D MMMM YYYY',
82
- LLL : 'D MMMM YYYY HH:mm',
83
- LLLL : 'dddd D MMMM YYYY HH:mm'
84
- },
85
- meridiemParse: /ص|م/,
86
- isPM : function (input) {
87
- return 'م' === input;
88
- },
89
- meridiem : function (hour, minute, isLower) {
90
- if (hour < 12) {
91
- return 'ص';
92
- } else {
93
- return 'م';
94
- }
95
- },
96
- calendar : {
97
- sameDay: '[اليوم عند الساعة] LT',
98
- nextDay: '[غدًا عند الساعة] LT',
99
- nextWeek: 'dddd [عند الساعة] LT',
100
- lastDay: '[أمس عند الساعة] LT',
101
- lastWeek: 'dddd [عند الساعة] LT',
102
- sameElse: 'L'
103
- },
104
- relativeTime : {
105
- future : 'بعد %s',
106
- past : 'منذ %s',
107
- s : pluralize('s'),
108
- m : pluralize('m'),
109
- mm : pluralize('m'),
110
- h : pluralize('h'),
111
- hh : pluralize('h'),
112
- d : pluralize('d'),
113
- dd : pluralize('d'),
114
- M : pluralize('M'),
115
- MM : pluralize('M'),
116
- y : pluralize('y'),
117
- yy : pluralize('y')
118
- },
119
- preparse: function (string) {
120
- return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
121
- return numberMap[match];
122
- }).replace(/،/g, ',');
123
- },
124
- postformat: function (string) {
125
- return string.replace(/\d/g, function (match) {
126
- return symbolMap[match];
127
- }).replace(/,/g, '،');
128
- },
129
- week : {
130
- dow : 6, // Saturday is the first day of the week.
131
- doy : 12 // The week that contains Jan 1st is the first week of the year.
75
+ var ar = moment.defineLocale('ar', {
76
+ months : months,
77
+ monthsShort : months,
78
+ weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
79
+ weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
80
+ weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
81
+ weekdaysParseExact : true,
82
+ longDateFormat : {
83
+ LT : 'HH:mm',
84
+ LTS : 'HH:mm:ss',
85
+ L : 'D/\u200FM/\u200FYYYY',
86
+ LL : 'D MMMM YYYY',
87
+ LLL : 'D MMMM YYYY HH:mm',
88
+ LLLL : 'dddd D MMMM YYYY HH:mm'
89
+ },
90
+ meridiemParse: /ص|م/,
91
+ isPM : function (input) {
92
+ return 'م' === input;
93
+ },
94
+ meridiem : function (hour, minute, isLower) {
95
+ if (hour < 12) {
96
+ return 'ص';
97
+ } else {
98
+ return 'م';
132
99
  }
133
- });
100
+ },
101
+ calendar : {
102
+ sameDay: '[اليوم عند الساعة] LT',
103
+ nextDay: '[غدًا عند الساعة] LT',
104
+ nextWeek: 'dddd [عند الساعة] LT',
105
+ lastDay: '[أمس عند الساعة] LT',
106
+ lastWeek: 'dddd [عند الساعة] LT',
107
+ sameElse: 'L'
108
+ },
109
+ relativeTime : {
110
+ future : 'بعد %s',
111
+ past : 'منذ %s',
112
+ s : pluralize('s'),
113
+ m : pluralize('m'),
114
+ mm : pluralize('m'),
115
+ h : pluralize('h'),
116
+ hh : pluralize('h'),
117
+ d : pluralize('d'),
118
+ dd : pluralize('d'),
119
+ M : pluralize('M'),
120
+ MM : pluralize('M'),
121
+ y : pluralize('y'),
122
+ yy : pluralize('y')
123
+ },
124
+ preparse: function (string) {
125
+ return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
126
+ return numberMap[match];
127
+ }).replace(/،/g, ',');
128
+ },
129
+ postformat: function (string) {
130
+ return string.replace(/\d/g, function (match) {
131
+ return symbolMap[match];
132
+ }).replace(/,/g, '،');
133
+ },
134
+ week : {
135
+ dow : 6, // Saturday is the first day of the week.
136
+ doy : 12 // The week that contains Jan 1st is the first week of the year.
137
+ }
138
+ });
134
139
 
135
- return ar;
140
+ return ar;
136
141
 
137
- }));
142
+ })));