UNPKG

6.14 kBJavaScriptView Raw
1//! moment.js locale configuration
2//! locale : Arabic [ar]
3//! author : Abdel Said: https://github.com/abdelsaid
4//! author : Ahmed Elkhatib
5//! author : forabi https://github.com/forabi
6
7;(function (global, factory) {
8 typeof exports === 'object' && typeof module !== 'undefined'
9 && typeof require === 'function' ? factory(require('../moment')) :
10 typeof define === 'function' && define.amd ? define(['../moment'], factory) :
11 factory(global.moment)
12}(this, (function (moment) { 'use strict';
13
14 //! moment.js locale configuration
15
16 var symbolMap = {
17 1: '١',
18 2: '٢',
19 3: '٣',
20 4: '٤',
21 5: '٥',
22 6: '٦',
23 7: '٧',
24 8: '٨',
25 9: '٩',
26 0: '٠',
27 },
28 numberMap = {
29 '١': '1',
30 '٢': '2',
31 '٣': '3',
32 '٤': '4',
33 '٥': '5',
34 '٦': '6',
35 '٧': '7',
36 '٨': '8',
37 '٩': '9',
38 '٠': '0',
39 },
40 pluralForm = function (n) {
41 return n === 0
42 ? 0
43 : n === 1
44 ? 1
45 : n === 2
46 ? 2
47 : n % 100 >= 3 && n % 100 <= 10
48 ? 3
49 : n % 100 >= 11
50 ? 4
51 : 5;
52 },
53 plurals = {
54 s: [
55 'أقل من ثانية',
56 'ثانية واحدة',
57 ['ثانيتان', 'ثانيتين'],
58 '%d ثوان',
59 '%d ثانية',
60 '%d ثانية',
61 ],
62 m: [
63 'أقل من دقيقة',
64 'دقيقة واحدة',
65 ['دقيقتان', 'دقيقتين'],
66 '%d دقائق',
67 '%d دقيقة',
68 '%d دقيقة',
69 ],
70 h: [
71 'أقل من ساعة',
72 'ساعة واحدة',
73 ['ساعتان', 'ساعتين'],
74 '%d ساعات',
75 '%d ساعة',
76 '%d ساعة',
77 ],
78 d: [
79 'أقل من يوم',
80 'يوم واحد',
81 ['يومان', 'يومين'],
82 '%d أيام',
83 '%d يومًا',
84 '%d يوم',
85 ],
86 M: [
87 'أقل من شهر',
88 'شهر واحد',
89 ['شهران', 'شهرين'],
90 '%d أشهر',
91 '%d شهرا',
92 '%d شهر',
93 ],
94 y: [
95 'أقل من عام',
96 'عام واحد',
97 ['عامان', 'عامين'],
98 '%d أعوام',
99 '%d عامًا',
100 '%d عام',
101 ],
102 },
103 pluralize = function (u) {
104 return function (number, withoutSuffix, string, isFuture) {
105 var f = pluralForm(number),
106 str = plurals[u][pluralForm(number)];
107 if (f === 2) {
108 str = str[withoutSuffix ? 0 : 1];
109 }
110 return str.replace(/%d/i, number);
111 };
112 },
113 months = [
114 'يناير',
115 'فبراير',
116 'مارس',
117 'أبريل',
118 'مايو',
119 'يونيو',
120 'يوليو',
121 'أغسطس',
122 'سبتمبر',
123 'أكتوبر',
124 'نوفمبر',
125 'ديسمبر',
126 ];
127
128 var ar = moment.defineLocale('ar', {
129 months: months,
130 monthsShort: months,
131 weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
132 weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
133 weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
134 weekdaysParseExact: true,
135 longDateFormat: {
136 LT: 'HH:mm',
137 LTS: 'HH:mm:ss',
138 L: 'D/\u200FM/\u200FYYYY',
139 LL: 'D MMMM YYYY',
140 LLL: 'D MMMM YYYY HH:mm',
141 LLLL: 'dddd D MMMM YYYY HH:mm',
142 },
143 meridiemParse: /ص|م/,
144 isPM: function (input) {
145 return 'م' === input;
146 },
147 meridiem: function (hour, minute, isLower) {
148 if (hour < 12) {
149 return 'ص';
150 } else {
151 return 'م';
152 }
153 },
154 calendar: {
155 sameDay: '[اليوم عند الساعة] LT',
156 nextDay: '[غدًا عند الساعة] LT',
157 nextWeek: 'dddd [عند الساعة] LT',
158 lastDay: '[أمس عند الساعة] LT',
159 lastWeek: 'dddd [عند الساعة] LT',
160 sameElse: 'L',
161 },
162 relativeTime: {
163 future: 'بعد %s',
164 past: 'منذ %s',
165 s: pluralize('s'),
166 ss: pluralize('s'),
167 m: pluralize('m'),
168 mm: pluralize('m'),
169 h: pluralize('h'),
170 hh: pluralize('h'),
171 d: pluralize('d'),
172 dd: pluralize('d'),
173 M: pluralize('M'),
174 MM: pluralize('M'),
175 y: pluralize('y'),
176 yy: pluralize('y'),
177 },
178 preparse: function (string) {
179 return string
180 .replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
181 return numberMap[match];
182 })
183 .replace(/،/g, ',');
184 },
185 postformat: function (string) {
186 return string
187 .replace(/\d/g, function (match) {
188 return symbolMap[match];
189 })
190 .replace(/,/g, '،');
191 },
192 week: {
193 dow: 6, // Saturday is the first day of the week.
194 doy: 12, // The week that contains Jan 12th is the first week of the year.
195 },
196 });
197
198 return ar;
199
200})));