cscg24-guacamole

CSCG 2024 Challenge 'Guacamole Mashup'
git clone https://git.sinitax.com/sinitax/cscg24-guacamole
Log | Files | Refs | sfeed.txt

ar-ps.js (3334B)


      1//! moment.js locale configuration
      2//! locale : Arabic (Palestine) [ar-ps]
      3//! author : Majd Al-Shihabi : https://github.com/majdal
      4
      5import moment from '../moment';
      6
      7var symbolMap = {
      8        1: '١',
      9        2: '٢',
     10        3: '٣',
     11        4: '٤',
     12        5: '٥',
     13        6: '٦',
     14        7: '٧',
     15        8: '٨',
     16        9: '٩',
     17        0: '٠',
     18    },
     19    numberMap = {
     20        '١': '1',
     21        '٢': '2',
     22        '٣': '3',
     23        '٤': '4',
     24        '٥': '5',
     25        '٦': '6',
     26        '٧': '7',
     27        '٨': '8',
     28        '٩': '9',
     29        '٠': '0',
     30    };
     31
     32export default moment.defineLocale('ar-ps', {
     33    months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
     34        '_'
     35    ),
     36    monthsShort:
     37        'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
     38    weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
     39    weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
     40    weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
     41    weekdaysParseExact: true,
     42    longDateFormat: {
     43        LT: 'HH:mm',
     44        LTS: 'HH:mm:ss',
     45        L: 'DD/MM/YYYY',
     46        LL: 'D MMMM YYYY',
     47        LLL: 'D MMMM YYYY HH:mm',
     48        LLLL: 'dddd D MMMM YYYY HH:mm',
     49    },
     50    meridiemParse: /ص|م/,
     51    isPM: function (input) {
     52        return 'م' === input;
     53    },
     54    meridiem: function (hour, minute, isLower) {
     55        if (hour < 12) {
     56            return 'ص';
     57        } else {
     58            return 'م';
     59        }
     60    },
     61    calendar: {
     62        sameDay: '[اليوم على الساعة] LT',
     63        nextDay: '[غدا على الساعة] LT',
     64        nextWeek: 'dddd [على الساعة] LT',
     65        lastDay: '[أمس على الساعة] LT',
     66        lastWeek: 'dddd [على الساعة] LT',
     67        sameElse: 'L',
     68    },
     69    relativeTime: {
     70        future: 'في %s',
     71        past: 'منذ %s',
     72        s: 'ثوان',
     73        ss: '%d ثانية',
     74        m: 'دقيقة',
     75        mm: '%d دقائق',
     76        h: 'ساعة',
     77        hh: '%d ساعات',
     78        d: 'يوم',
     79        dd: '%d أيام',
     80        M: 'شهر',
     81        MM: '%d أشهر',
     82        y: 'سنة',
     83        yy: '%d سنوات',
     84    },
     85    preparse: function (string) {
     86        return string
     87            .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
     88                return numberMap[match];
     89            })
     90            .split('') // reversed since negative lookbehind not supported everywhere
     91            .reverse()
     92            .join('')
     93            .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
     94                return numberMap[match];
     95            })
     96            .split('')
     97            .reverse()
     98            .join('')
     99            .replace(/،/g, ',');
    100    },
    101    postformat: function (string) {
    102        return string
    103            .replace(/\d/g, function (match) {
    104                return symbolMap[match];
    105            })
    106            .replace(/,/g, '،');
    107    },
    108    week: {
    109        dow: 0, // Sunday is the first day of the week.
    110        doy: 6, // The week that contains Jan 6th is the first week of the year.
    111    },
    112});