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