cscg24-guacamole

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

ar-ly.js (4688B)


      1//! moment.js locale configuration
      2//! locale : Arabic (Libya) [ar-ly]
      3//! author : Ali Hmer: https://github.com/kikoanis
      4
      5import moment from '../moment';
      6
      7var 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
    107export 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, // Saturday is the first day of the week.
    169        doy: 12, // The week that contains Jan 12th is the first week of the year.
    170    },
    171});