190 lines
5.0 KiB
JavaScript
190 lines
5.0 KiB
JavaScript
|
//! moment.js locale configuration
|
|||
|
//! locale : Arabic [ar]
|
|||
|
//! author : Abdel Said: https://github.com/abdelsaid
|
|||
|
//! author : Ahmed Elkhatib
|
|||
|
//! author : forabi https://github.com/forabi
|
|||
|
|
|||
|
import moment from '../moment';
|
|||
|
|
|||
|
var symbolMap = {
|
|||
|
1: '١',
|
|||
|
2: '٢',
|
|||
|
3: '٣',
|
|||
|
4: '٤',
|
|||
|
5: '٥',
|
|||
|
6: '٦',
|
|||
|
7: '٧',
|
|||
|
8: '٨',
|
|||
|
9: '٩',
|
|||
|
0: '٠',
|
|||
|
},
|
|||
|
numberMap = {
|
|||
|
'١': '1',
|
|||
|
'٢': '2',
|
|||
|
'٣': '3',
|
|||
|
'٤': '4',
|
|||
|
'٥': '5',
|
|||
|
'٦': '6',
|
|||
|
'٧': '7',
|
|||
|
'٨': '8',
|
|||
|
'٩': '9',
|
|||
|
'٠': '0',
|
|||
|
},
|
|||
|
pluralForm = function (n) {
|
|||
|
return n === 0
|
|||
|
? 0
|
|||
|
: n === 1
|
|||
|
? 1
|
|||
|
: n === 2
|
|||
|
? 2
|
|||
|
: n % 100 >= 3 && n % 100 <= 10
|
|||
|
? 3
|
|||
|
: n % 100 >= 11
|
|||
|
? 4
|
|||
|
: 5;
|
|||
|
},
|
|||
|
plurals = {
|
|||
|
s: [
|
|||
|
'أقل من ثانية',
|
|||
|
'ثانية واحدة',
|
|||
|
['ثانيتان', 'ثانيتين'],
|
|||
|
'%d ثوان',
|
|||
|
'%d ثانية',
|
|||
|
'%d ثانية',
|
|||
|
],
|
|||
|
m: [
|
|||
|
'أقل من دقيقة',
|
|||
|
'دقيقة واحدة',
|
|||
|
['دقيقتان', 'دقيقتين'],
|
|||
|
'%d دقائق',
|
|||
|
'%d دقيقة',
|
|||
|
'%d دقيقة',
|
|||
|
],
|
|||
|
h: [
|
|||
|
'أقل من ساعة',
|
|||
|
'ساعة واحدة',
|
|||
|
['ساعتان', 'ساعتين'],
|
|||
|
'%d ساعات',
|
|||
|
'%d ساعة',
|
|||
|
'%d ساعة',
|
|||
|
],
|
|||
|
d: [
|
|||
|
'أقل من يوم',
|
|||
|
'يوم واحد',
|
|||
|
['يومان', 'يومين'],
|
|||
|
'%d أيام',
|
|||
|
'%d يومًا',
|
|||
|
'%d يوم',
|
|||
|
],
|
|||
|
M: [
|
|||
|
'أقل من شهر',
|
|||
|
'شهر واحد',
|
|||
|
['شهران', 'شهرين'],
|
|||
|
'%d أشهر',
|
|||
|
'%d شهرا',
|
|||
|
'%d شهر',
|
|||
|
],
|
|||
|
y: [
|
|||
|
'أقل من عام',
|
|||
|
'عام واحد',
|
|||
|
['عامان', 'عامين'],
|
|||
|
'%d أعوام',
|
|||
|
'%d عامًا',
|
|||
|
'%d عام',
|
|||
|
],
|
|||
|
},
|
|||
|
pluralize = function (u) {
|
|||
|
return function (number, withoutSuffix, string, isFuture) {
|
|||
|
var f = pluralForm(number),
|
|||
|
str = plurals[u][pluralForm(number)];
|
|||
|
if (f === 2) {
|
|||
|
str = str[withoutSuffix ? 0 : 1];
|
|||
|
}
|
|||
|
return str.replace(/%d/i, number);
|
|||
|
};
|
|||
|
},
|
|||
|
months = [
|
|||
|
'يناير',
|
|||
|
'فبراير',
|
|||
|
'مارس',
|
|||
|
'أبريل',
|
|||
|
'مايو',
|
|||
|
'يونيو',
|
|||
|
'يوليو',
|
|||
|
'أغسطس',
|
|||
|
'سبتمبر',
|
|||
|
'أكتوبر',
|
|||
|
'نوفمبر',
|
|||
|
'ديسمبر',
|
|||
|
];
|
|||
|
|
|||
|
export default moment.defineLocale('ar', {
|
|||
|
months: months,
|
|||
|
monthsShort: months,
|
|||
|
weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
|
|||
|
weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
|
|||
|
weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
|
|||
|
weekdaysParseExact: true,
|
|||
|
longDateFormat: {
|
|||
|
LT: 'HH:mm',
|
|||
|
LTS: 'HH:mm:ss',
|
|||
|
L: 'D/\u200FM/\u200FYYYY',
|
|||
|
LL: 'D MMMM YYYY',
|
|||
|
LLL: 'D MMMM YYYY HH:mm',
|
|||
|
LLLL: 'dddd D MMMM YYYY HH:mm',
|
|||
|
},
|
|||
|
meridiemParse: /ص|م/,
|
|||
|
isPM: function (input) {
|
|||
|
return 'م' === input;
|
|||
|
},
|
|||
|
meridiem: function (hour, minute, isLower) {
|
|||
|
if (hour < 12) {
|
|||
|
return 'ص';
|
|||
|
} else {
|
|||
|
return 'م';
|
|||
|
}
|
|||
|
},
|
|||
|
calendar: {
|
|||
|
sameDay: '[اليوم عند الساعة] LT',
|
|||
|
nextDay: '[غدًا عند الساعة] LT',
|
|||
|
nextWeek: 'dddd [عند الساعة] LT',
|
|||
|
lastDay: '[أمس عند الساعة] LT',
|
|||
|
lastWeek: 'dddd [عند الساعة] LT',
|
|||
|
sameElse: 'L',
|
|||
|
},
|
|||
|
relativeTime: {
|
|||
|
future: 'بعد %s',
|
|||
|
past: 'منذ %s',
|
|||
|
s: pluralize('s'),
|
|||
|
ss: pluralize('s'),
|
|||
|
m: pluralize('m'),
|
|||
|
mm: pluralize('m'),
|
|||
|
h: pluralize('h'),
|
|||
|
hh: pluralize('h'),
|
|||
|
d: pluralize('d'),
|
|||
|
dd: pluralize('d'),
|
|||
|
M: pluralize('M'),
|
|||
|
MM: pluralize('M'),
|
|||
|
y: pluralize('y'),
|
|||
|
yy: pluralize('y'),
|
|||
|
},
|
|||
|
preparse: function (string) {
|
|||
|
return string
|
|||
|
.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
|
|||
|
return numberMap[match];
|
|||
|
})
|
|||
|
.replace(/،/g, ',');
|
|||
|
},
|
|||
|
postformat: function (string) {
|
|||
|
return string
|
|||
|
.replace(/\d/g, function (match) {
|
|||
|
return symbolMap[match];
|
|||
|
})
|
|||
|
.replace(/,/g, '،');
|
|||
|
},
|
|||
|
week: {
|
|||
|
dow: 6, // Saturday is the first day of the week.
|
|||
|
doy: 12, // The week that contains Jan 12th is the first week of the year.
|
|||
|
},
|
|||
|
});
|