ar-ly.js 4.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. //! moment.js locale configuration
  2. //! locale : Arabic (Lybia) [ar-ly]
  3. //! author : Ali Hmer: https://github.com/kikoanis
  4. import moment from '../moment';
  5. var symbolMap = {
  6. 1: '1',
  7. 2: '2',
  8. 3: '3',
  9. 4: '4',
  10. 5: '5',
  11. 6: '6',
  12. 7: '7',
  13. 8: '8',
  14. 9: '9',
  15. 0: '0',
  16. },
  17. pluralForm = function (n) {
  18. return n === 0
  19. ? 0
  20. : n === 1
  21. ? 1
  22. : n === 2
  23. ? 2
  24. : n % 100 >= 3 && n % 100 <= 10
  25. ? 3
  26. : n % 100 >= 11
  27. ? 4
  28. : 5;
  29. },
  30. plurals = {
  31. s: [
  32. 'أقل من ثانية',
  33. 'ثانية واحدة',
  34. ['ثانيتان', 'ثانيتين'],
  35. '%d ثوان',
  36. '%d ثانية',
  37. '%d ثانية',
  38. ],
  39. m: [
  40. 'أقل من دقيقة',
  41. 'دقيقة واحدة',
  42. ['دقيقتان', 'دقيقتين'],
  43. '%d دقائق',
  44. '%d دقيقة',
  45. '%d دقيقة',
  46. ],
  47. h: [
  48. 'أقل من ساعة',
  49. 'ساعة واحدة',
  50. ['ساعتان', 'ساعتين'],
  51. '%d ساعات',
  52. '%d ساعة',
  53. '%d ساعة',
  54. ],
  55. d: [
  56. 'أقل من يوم',
  57. 'يوم واحد',
  58. ['يومان', 'يومين'],
  59. '%d أيام',
  60. '%d يومًا',
  61. '%d يوم',
  62. ],
  63. M: [
  64. 'أقل من شهر',
  65. 'شهر واحد',
  66. ['شهران', 'شهرين'],
  67. '%d أشهر',
  68. '%d شهرا',
  69. '%d شهر',
  70. ],
  71. y: [
  72. 'أقل من عام',
  73. 'عام واحد',
  74. ['عامان', 'عامين'],
  75. '%d أعوام',
  76. '%d عامًا',
  77. '%d عام',
  78. ],
  79. },
  80. pluralize = function (u) {
  81. return function (number, withoutSuffix, string, isFuture) {
  82. var f = pluralForm(number),
  83. str = plurals[u][pluralForm(number)];
  84. if (f === 2) {
  85. str = str[withoutSuffix ? 0 : 1];
  86. }
  87. return str.replace(/%d/i, number);
  88. };
  89. },
  90. months = [
  91. 'يناير',
  92. 'فبراير',
  93. 'مارس',
  94. 'أبريل',
  95. 'مايو',
  96. 'يونيو',
  97. 'يوليو',
  98. 'أغسطس',
  99. 'سبتمبر',
  100. 'أكتوبر',
  101. 'نوفمبر',
  102. 'ديسمبر',
  103. ];
  104. export default moment.defineLocale('ar-ly', {
  105. months: months,
  106. monthsShort: months,
  107. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  108. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  109. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  110. weekdaysParseExact: true,
  111. longDateFormat: {
  112. LT: 'HH:mm',
  113. LTS: 'HH:mm:ss',
  114. L: 'D/\u200FM/\u200FYYYY',
  115. LL: 'D MMMM YYYY',
  116. LLL: 'D MMMM YYYY HH:mm',
  117. LLLL: 'dddd D MMMM YYYY HH:mm',
  118. },
  119. meridiemParse: /ص|م/,
  120. isPM: function (input) {
  121. return 'م' === input;
  122. },
  123. meridiem: function (hour, minute, isLower) {
  124. if (hour < 12) {
  125. return 'ص';
  126. } else {
  127. return 'م';
  128. }
  129. },
  130. calendar: {
  131. sameDay: '[اليوم عند الساعة] LT',
  132. nextDay: '[غدًا عند الساعة] LT',
  133. nextWeek: 'dddd [عند الساعة] LT',
  134. lastDay: '[أمس عند الساعة] LT',
  135. lastWeek: 'dddd [عند الساعة] LT',
  136. sameElse: 'L',
  137. },
  138. relativeTime: {
  139. future: 'بعد %s',
  140. past: 'منذ %s',
  141. s: pluralize('s'),
  142. ss: pluralize('s'),
  143. m: pluralize('m'),
  144. mm: pluralize('m'),
  145. h: pluralize('h'),
  146. hh: pluralize('h'),
  147. d: pluralize('d'),
  148. dd: pluralize('d'),
  149. M: pluralize('M'),
  150. MM: pluralize('M'),
  151. y: pluralize('y'),
  152. yy: pluralize('y'),
  153. },
  154. preparse: function (string) {
  155. return string.replace(/،/g, ',');
  156. },
  157. postformat: function (string) {
  158. return string
  159. .replace(/\d/g, function (match) {
  160. return symbolMap[match];
  161. })
  162. .replace(/,/g, '،');
  163. },
  164. week: {
  165. dow: 6, // Saturday is the first day of the week.
  166. doy: 12, // The week that contains Jan 12th is the first week of the year.
  167. },
  168. });