]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - resources/lib/moment/locale/ar.js
MediaWiki 1.30.2
[autoinstallsdev/mediawiki.git] / resources / lib / moment / locale / ar.js
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
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 ];
74
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 'م';
99         }
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(/[١٢٣٤٥٦٧٨٩٠]/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 });
139
140 return ar;
141
142 })));