ar-ps.js 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. //! moment.js locale configuration
  2. //! locale : Arabic (Palestine) [ar-ps]
  3. //! author : Majd Al-Shihabi : https://github.com/majdal
  4. import moment from '../moment';
  5. var symbolMap = {
  6. 1: '١',
  7. 2: '٢',
  8. 3: '٣',
  9. 4: '٤',
  10. 5: '٥',
  11. 6: '٦',
  12. 7: '٧',
  13. 8: '٨',
  14. 9: '٩',
  15. 0: '٠',
  16. },
  17. numberMap = {
  18. '١': '1',
  19. '٢': '2',
  20. '٣': '3',
  21. '٤': '4',
  22. '٥': '5',
  23. '٦': '6',
  24. '٧': '7',
  25. '٨': '8',
  26. '٩': '9',
  27. '٠': '0',
  28. };
  29. export default moment.defineLocale('ar-ps', {
  30. months: 'كانون الثاني_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_تشري الأوّل_تشرين الثاني_كانون الأوّل'.split(
  31. '_'
  32. ),
  33. monthsShort:
  34. 'ك٢_شباط_آذار_نيسان_أيّار_حزيران_تمّوز_آب_أيلول_ت١_ت٢_ك١'.split('_'),
  35. weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  36. weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  37. weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  38. weekdaysParseExact: true,
  39. longDateFormat: {
  40. LT: 'HH:mm',
  41. LTS: 'HH:mm:ss',
  42. L: 'DD/MM/YYYY',
  43. LL: 'D MMMM YYYY',
  44. LLL: 'D MMMM YYYY HH:mm',
  45. LLLL: 'dddd D MMMM YYYY HH:mm',
  46. },
  47. meridiemParse: /ص|م/,
  48. isPM: function (input) {
  49. return 'م' === input;
  50. },
  51. meridiem: function (hour, minute, isLower) {
  52. if (hour < 12) {
  53. return 'ص';
  54. } else {
  55. return 'م';
  56. }
  57. },
  58. calendar: {
  59. sameDay: '[اليوم على الساعة] LT',
  60. nextDay: '[غدا على الساعة] LT',
  61. nextWeek: 'dddd [على الساعة] LT',
  62. lastDay: '[أمس على الساعة] LT',
  63. lastWeek: 'dddd [على الساعة] LT',
  64. sameElse: 'L',
  65. },
  66. relativeTime: {
  67. future: 'في %s',
  68. past: 'منذ %s',
  69. s: 'ثوان',
  70. ss: '%d ثانية',
  71. m: 'دقيقة',
  72. mm: '%d دقائق',
  73. h: 'ساعة',
  74. hh: '%d ساعات',
  75. d: 'يوم',
  76. dd: '%d أيام',
  77. M: 'شهر',
  78. MM: '%d أشهر',
  79. y: 'سنة',
  80. yy: '%d سنوات',
  81. },
  82. preparse: function (string) {
  83. return string
  84. .replace(/[٣٤٥٦٧٨٩٠]/g, function (match) {
  85. return numberMap[match];
  86. })
  87. .split('') // reversed since negative lookbehind not supported everywhere
  88. .reverse()
  89. .join('')
  90. .replace(/[١٢](?![\u062a\u0643])/g, function (match) {
  91. return numberMap[match];
  92. })
  93. .split('')
  94. .reverse()
  95. .join('')
  96. .replace(/،/g, ',');
  97. },
  98. postformat: function (string) {
  99. return string
  100. .replace(/\d/g, function (match) {
  101. return symbolMap[match];
  102. })
  103. .replace(/,/g, '،');
  104. },
  105. week: {
  106. dow: 0, // Sunday is the first day of the week.
  107. doy: 6, // The week that contains Jan 6th is the first week of the year.
  108. },
  109. });