index.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import buildLocalizeFn from "../../../_lib/buildLocalizeFn/index.js";
  2. var eraValues = {
  3. narrow: ['ق', 'ب'],
  4. abbreviated: ['ق.م.', 'ب.م.'],
  5. wide: ['قبل از میلاد', 'بعد از میلاد']
  6. };
  7. var quarterValues = {
  8. narrow: ['1', '2', '3', '4'],
  9. abbreviated: ['س‌م1', 'س‌م2', 'س‌م3', 'س‌م4'],
  10. wide: ['سه‌ماهه 1', 'سه‌ماهه 2', 'سه‌ماهه 3', 'سه‌ماهه 4']
  11. };
  12. // Note: in English, the names of days of the week and months are capitalized.
  13. // If you are making a new locale based on this one, check if the same is true for the language you're working on.
  14. // Generally, formatted dates should look like they are in the middle of a sentence,
  15. // e.g. in Spanish language the weekdays and months should be in the lowercase.
  16. var monthValues = {
  17. narrow: ['ژ', 'ف', 'م', 'آ', 'م', 'ج', 'ج', 'آ', 'س', 'ا', 'ن', 'د'],
  18. abbreviated: ['ژانـ', 'فور', 'مارس', 'آپر', 'می', 'جون', 'جولـ', 'آگو', 'سپتـ', 'اکتـ', 'نوامـ', 'دسامـ'],
  19. wide: ['ژانویه', 'فوریه', 'مارس', 'آپریل', 'می', 'جون', 'جولای', 'آگوست', 'سپتامبر', 'اکتبر', 'نوامبر', 'دسامبر']
  20. };
  21. var dayValues = {
  22. narrow: ['ی', 'د', 'س', 'چ', 'پ', 'ج', 'ش'],
  23. short: ['1ش', '2ش', '3ش', '4ش', '5ش', 'ج', 'ش'],
  24. abbreviated: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه'],
  25. wide: ['یکشنبه', 'دوشنبه', 'سه‌شنبه', 'چهارشنبه', 'پنجشنبه', 'جمعه', 'شنبه']
  26. };
  27. var dayPeriodValues = {
  28. narrow: {
  29. am: 'ق',
  30. pm: 'ب',
  31. midnight: 'ن',
  32. noon: 'ظ',
  33. morning: 'ص',
  34. afternoon: 'ب.ظ.',
  35. evening: 'ع',
  36. night: 'ش'
  37. },
  38. abbreviated: {
  39. am: 'ق.ظ.',
  40. pm: 'ب.ظ.',
  41. midnight: 'نیمه‌شب',
  42. noon: 'ظهر',
  43. morning: 'صبح',
  44. afternoon: 'بعدازظهر',
  45. evening: 'عصر',
  46. night: 'شب'
  47. },
  48. wide: {
  49. am: 'قبل‌ازظهر',
  50. pm: 'بعدازظهر',
  51. midnight: 'نیمه‌شب',
  52. noon: 'ظهر',
  53. morning: 'صبح',
  54. afternoon: 'بعدازظهر',
  55. evening: 'عصر',
  56. night: 'شب'
  57. }
  58. };
  59. var formattingDayPeriodValues = {
  60. narrow: {
  61. am: 'ق',
  62. pm: 'ب',
  63. midnight: 'ن',
  64. noon: 'ظ',
  65. morning: 'ص',
  66. afternoon: 'ب.ظ.',
  67. evening: 'ع',
  68. night: 'ش'
  69. },
  70. abbreviated: {
  71. am: 'ق.ظ.',
  72. pm: 'ب.ظ.',
  73. midnight: 'نیمه‌شب',
  74. noon: 'ظهر',
  75. morning: 'صبح',
  76. afternoon: 'بعدازظهر',
  77. evening: 'عصر',
  78. night: 'شب'
  79. },
  80. wide: {
  81. am: 'قبل‌ازظهر',
  82. pm: 'بعدازظهر',
  83. midnight: 'نیمه‌شب',
  84. noon: 'ظهر',
  85. morning: 'صبح',
  86. afternoon: 'بعدازظهر',
  87. evening: 'عصر',
  88. night: 'شب'
  89. }
  90. };
  91. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  92. return String(dirtyNumber);
  93. };
  94. var localize = {
  95. ordinalNumber: ordinalNumber,
  96. era: buildLocalizeFn({
  97. values: eraValues,
  98. defaultWidth: 'wide'
  99. }),
  100. quarter: buildLocalizeFn({
  101. values: quarterValues,
  102. defaultWidth: 'wide',
  103. argumentCallback: function argumentCallback(quarter) {
  104. return quarter - 1;
  105. }
  106. }),
  107. month: buildLocalizeFn({
  108. values: monthValues,
  109. defaultWidth: 'wide'
  110. }),
  111. day: buildLocalizeFn({
  112. values: dayValues,
  113. defaultWidth: 'wide'
  114. }),
  115. dayPeriod: buildLocalizeFn({
  116. values: dayPeriodValues,
  117. defaultWidth: 'wide',
  118. formattingValues: formattingDayPeriodValues,
  119. defaultFormattingWidth: 'wide'
  120. })
  121. };
  122. export default localize;