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