ar-ly.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. //! moment.js locale configuration
  2. //! locale : Arabic (Lybia) [ar-ly]
  3. //! author : Ali Hmer: https://github.com/kikoanis
  4. ;(function (global, factory) {
  5. typeof exports === 'object' && typeof module !== 'undefined'
  6. && typeof require === 'function' ? factory(require('../moment')) :
  7. typeof define === 'function' && define.amd ? define(['../moment'], factory) :
  8. factory(global.moment)
  9. }(this, (function (moment) { 'use strict';
  10. var symbolMap = {
  11. '1': '1',
  12. '2': '2',
  13. '3': '3',
  14. '4': '4',
  15. '5': '5',
  16. '6': '6',
  17. '7': '7',
  18. '8': '8',
  19. '9': '9',
  20. '0': '0'
  21. };
  22. var pluralForm = function (n) {
  23. return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
  24. };
  25. var plurals = {
  26. s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
  27. m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
  28. h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
  29. d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
  30. M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
  31. y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
  32. };
  33. var pluralize = function (u) {
  34. return function (number, withoutSuffix, string, isFuture) {
  35. var f = pluralForm(number),
  36. str = plurals[u][pluralForm(number)];
  37. if (f === 2) {
  38. str = str[withoutSuffix ? 0 : 1];
  39. }
  40. return str.replace(/%d/i, number);
  41. };
  42. };
  43. var months = [
  44. 'يناير',
  45. 'فبراير',
  46. 'مارس',
  47. 'أبريل',
  48. 'مايو',
  49. 'يونيو',
  50. 'يوليو',
  51. 'أغسطس',
  52. 'سبتمبر',
  53. 'أكتوبر',
  54. 'نوفمبر',
  55. 'ديسمبر'
  56. ];
  57. var arLy = moment.defineLocale('ar-ly', {
  58. months : months,
  59. monthsShort : months,
  60. weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  61. weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  62. weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  63. weekdaysParseExact : true,
  64. longDateFormat : {
  65. LT : 'HH:mm',
  66. LTS : 'HH:mm:ss',
  67. L : 'D/\u200FM/\u200FYYYY',
  68. LL : 'D MMMM YYYY',
  69. LLL : 'D MMMM YYYY HH:mm',
  70. LLLL : 'dddd D MMMM YYYY HH:mm'
  71. },
  72. meridiemParse: /ص|م/,
  73. isPM : function (input) {
  74. return 'م' === input;
  75. },
  76. meridiem : function (hour, minute, isLower) {
  77. if (hour < 12) {
  78. return 'ص';
  79. } else {
  80. return 'م';
  81. }
  82. },
  83. calendar : {
  84. sameDay: '[اليوم عند الساعة] LT',
  85. nextDay: '[غدًا عند الساعة] LT',
  86. nextWeek: 'dddd [عند الساعة] LT',
  87. lastDay: '[أمس عند الساعة] LT',
  88. lastWeek: 'dddd [عند الساعة] LT',
  89. sameElse: 'L'
  90. },
  91. relativeTime : {
  92. future : 'بعد %s',
  93. past : 'منذ %s',
  94. s : pluralize('s'),
  95. m : pluralize('m'),
  96. mm : pluralize('m'),
  97. h : pluralize('h'),
  98. hh : pluralize('h'),
  99. d : pluralize('d'),
  100. dd : pluralize('d'),
  101. M : pluralize('M'),
  102. MM : pluralize('M'),
  103. y : pluralize('y'),
  104. yy : pluralize('y')
  105. },
  106. preparse: function (string) {
  107. return string.replace(/\u200f/g, '').replace(/،/g, ',');
  108. },
  109. postformat: function (string) {
  110. return string.replace(/\d/g, function (match) {
  111. return symbolMap[match];
  112. }).replace(/,/g, '،');
  113. },
  114. week : {
  115. dow : 6, // Saturday is the first day of the week.
  116. doy : 12 // The week that contains Jan 1st is the first week of the year.
  117. }
  118. });
  119. return arLy;
  120. })));