cscg24-guacamole

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

ar.js (6176B)


      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    //! moment.js locale configuration
     15
     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        ];
    127
    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    });
    197
    198    return ar;
    199
    200})));