fa.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. //! moment.js locale configuration
  2. //! locale : Persian [fa]
  3. //! author : Ebrahim Byagowi : https://github.com/ebraminio
  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('fa', {
  30. months: 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  31. '_'
  32. ),
  33. monthsShort:
  34. 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split(
  35. '_'
  36. ),
  37. weekdays:
  38. 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
  39. '_'
  40. ),
  41. weekdaysShort:
  42. 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split(
  43. '_'
  44. ),
  45. weekdaysMin: 'ی_د_س_چ_پ_ج_ش'.split('_'),
  46. weekdaysParseExact: true,
  47. longDateFormat: {
  48. LT: 'HH:mm',
  49. LTS: 'HH:mm:ss',
  50. L: 'DD/MM/YYYY',
  51. LL: 'D MMMM YYYY',
  52. LLL: 'D MMMM YYYY HH:mm',
  53. LLLL: 'dddd, D MMMM YYYY HH:mm',
  54. },
  55. meridiemParse: /قبل از ظهر|بعد از ظهر/,
  56. isPM: function (input) {
  57. return /بعد از ظهر/.test(input);
  58. },
  59. meridiem: function (hour, minute, isLower) {
  60. if (hour < 12) {
  61. return 'قبل از ظهر';
  62. } else {
  63. return 'بعد از ظهر';
  64. }
  65. },
  66. calendar: {
  67. sameDay: '[امروز ساعت] LT',
  68. nextDay: '[فردا ساعت] LT',
  69. nextWeek: 'dddd [ساعت] LT',
  70. lastDay: '[دیروز ساعت] LT',
  71. lastWeek: 'dddd [پیش] [ساعت] LT',
  72. sameElse: 'L',
  73. },
  74. relativeTime: {
  75. future: 'در %s',
  76. past: '%s پیش',
  77. s: 'چند ثانیه',
  78. ss: '%d ثانیه',
  79. m: 'یک دقیقه',
  80. mm: '%d دقیقه',
  81. h: 'یک ساعت',
  82. hh: '%d ساعت',
  83. d: 'یک روز',
  84. dd: '%d روز',
  85. M: 'یک ماه',
  86. MM: '%d ماه',
  87. y: 'یک سال',
  88. yy: '%d سال',
  89. },
  90. preparse: function (string) {
  91. return string
  92. .replace(/[۰-۹]/g, function (match) {
  93. return numberMap[match];
  94. })
  95. .replace(/،/g, ',');
  96. },
  97. postformat: function (string) {
  98. return string
  99. .replace(/\d/g, function (match) {
  100. return symbolMap[match];
  101. })
  102. .replace(/,/g, '،');
  103. },
  104. dayOfMonthOrdinalParse: /\d{1,2}م/,
  105. ordinal: '%dم',
  106. week: {
  107. dow: 6, // Saturday is the first day of the week.
  108. doy: 12, // The week that contains Jan 12th is the first week of the year.
  109. },
  110. });