Localisation updates from https://translatewiki.net.
[mediawiki.git] / resources / lib / moment / locale / ar.js
blob4c3e041edd70ee2ddedb2b7e49f92d5842f39440
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
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';
14     //! moment.js locale configuration
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         ];
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     });
198     return ar;
200 })));