/node_modules/moment/src/locale/ar.js

https://bitbucket.org/coleman333/smartsite · JavaScript · 128 lines · 120 code · 3 blank · 5 comment · 4 complexity · 9af985921e684346a790b63b4a318fd6 MD5 · raw file

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