ar-sa.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. // moment.js locale configuration
  2. // locale : Arabic Saudi Arabia (ar-sa)
  3. // author : Suhail Alkowaileet : https://github.com/xsoh
  4. (function (factory) {
  5. if (typeof define === 'function' && define.amd) {
  6. define(['moment'], factory); // AMD
  7. } else if (typeof exports === 'object') {
  8. module.exports = factory(require('../moment')); // Node
  9. } else {
  10. factory((typeof global !== 'undefined' ? global : this).moment); // node or other global
  11. }
  12. }(function (moment) {
  13. var symbolMap = {
  14. '1': '١',
  15. '2': '٢',
  16. '3': '٣',
  17. '4': '٤',
  18. '5': '٥',
  19. '6': '٦',
  20. '7': '٧',
  21. '8': '٨',
  22. '9': '٩',
  23. '0': '٠'
  24. }, numberMap = {
  25. '١': '1',
  26. '٢': '2',
  27. '٣': '3',
  28. '٤': '4',
  29. '٥': '5',
  30. '٦': '6',
  31. '٧': '7',
  32. '٨': '8',
  33. '٩': '9',
  34. '٠': '0'
  35. };
  36. return moment.defineLocale('ar-sa', {
  37. months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
  38. monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
  39. weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
  40. weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
  41. weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
  42. longDateFormat : {
  43. LT : 'HH:mm',
  44. LTS : 'HH:mm:ss',
  45. L : 'DD/MM/YYYY',
  46. LL : 'D MMMM YYYY',
  47. LLL : 'D MMMM YYYY LT',
  48. LLLL : 'dddd D MMMM YYYY LT'
  49. },
  50. meridiemParse: /ص|م/,
  51. isPM : function (input) {
  52. return 'م' === input;
  53. },
  54. meridiem : function (hour, minute, isLower) {
  55. if (hour < 12) {
  56. return 'ص';
  57. } else {
  58. return 'م';
  59. }
  60. },
  61. calendar : {
  62. sameDay: '[اليوم على الساعة] LT',
  63. nextDay: '[غدا على الساعة] LT',
  64. nextWeek: 'dddd [على الساعة] LT',
  65. lastDay: '[أمس على الساعة] LT',
  66. lastWeek: 'dddd [على الساعة] LT',
  67. sameElse: 'L'
  68. },
  69. relativeTime : {
  70. future : 'في %s',
  71. past : 'منذ %s',
  72. s : 'ثوان',
  73. m : 'دقيقة',
  74. mm : '%d دقائق',
  75. h : 'ساعة',
  76. hh : '%d ساعات',
  77. d : 'يوم',
  78. dd : '%d أيام',
  79. M : 'شهر',
  80. MM : '%d أشهر',
  81. y : 'سنة',
  82. yy : '%d سنوات'
  83. },
  84. preparse: function (string) {
  85. return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
  86. return numberMap[match];
  87. }).replace(/،/g, ',');
  88. },
  89. postformat: function (string) {
  90. return string.replace(/\d/g, function (match) {
  91. return symbolMap[match];
  92. }).replace(/,/g, '،');
  93. },
  94. week : {
  95. dow : 6, // Saturday is the first day of the week.
  96. doy : 12 // The week that contains Jan 1st is the first week of the year.
  97. }
  98. });
  99. }));