localize.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["ق", "ب"],
  4. abbreviated: ["ق.م", "ب.م"],
  5. wide: ["قبل الميلاد", "بعد الميلاد"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["ر1", "ر2", "ر3", "ر4"],
  10. wide: ["الربع الأول", "الربع الثاني", "الربع الثالث", "الربع الرابع"],
  11. };
  12. const monthValues = {
  13. narrow: ["ي", "ف", "م", "أ", "م", "ي", "ي", "أ", "س", "أ", "ن", "د"],
  14. abbreviated: [
  15. "ينا",
  16. "فبر",
  17. "مارس",
  18. "أبريل",
  19. "مايو",
  20. "يونـ",
  21. "يولـ",
  22. "أغسـ",
  23. "سبتـ",
  24. "أكتـ",
  25. "نوفـ",
  26. "ديسـ",
  27. ],
  28. wide: [
  29. "يناير",
  30. "فبراير",
  31. "مارس",
  32. "أبريل",
  33. "مايو",
  34. "يونيو",
  35. "يوليو",
  36. "أغسطس",
  37. "سبتمبر",
  38. "أكتوبر",
  39. "نوفمبر",
  40. "ديسمبر",
  41. ],
  42. };
  43. const dayValues = {
  44. narrow: ["ح", "ن", "ث", "ر", "خ", "ج", "س"],
  45. short: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"],
  46. abbreviated: ["أحد", "اثنين", "ثلاثاء", "أربعاء", "خميس", "جمعة", "سبت"],
  47. wide: [
  48. "الأحد",
  49. "الاثنين",
  50. "الثلاثاء",
  51. "الأربعاء",
  52. "الخميس",
  53. "الجمعة",
  54. "السبت",
  55. ],
  56. };
  57. const dayPeriodValues = {
  58. narrow: {
  59. am: "ص",
  60. pm: "م",
  61. midnight: "ن",
  62. noon: "ظ",
  63. morning: "صباحاً",
  64. afternoon: "بعد الظهر",
  65. evening: "مساءً",
  66. night: "ليلاً",
  67. },
  68. abbreviated: {
  69. am: "ص",
  70. pm: "م",
  71. midnight: "نصف الليل",
  72. noon: "ظهراً",
  73. morning: "صباحاً",
  74. afternoon: "بعد الظهر",
  75. evening: "مساءً",
  76. night: "ليلاً",
  77. },
  78. wide: {
  79. am: "ص",
  80. pm: "م",
  81. midnight: "نصف الليل",
  82. noon: "ظهراً",
  83. morning: "صباحاً",
  84. afternoon: "بعد الظهر",
  85. evening: "مساءً",
  86. night: "ليلاً",
  87. },
  88. };
  89. const formattingDayPeriodValues = {
  90. narrow: {
  91. am: "ص",
  92. pm: "م",
  93. midnight: "ن",
  94. noon: "ظ",
  95. morning: "في الصباح",
  96. afternoon: "بعد الظهر",
  97. evening: "في المساء",
  98. night: "في الليل",
  99. },
  100. abbreviated: {
  101. am: "ص",
  102. pm: "م",
  103. midnight: "نصف الليل",
  104. noon: "ظهراً",
  105. morning: "في الصباح",
  106. afternoon: "بعد الظهر",
  107. evening: "في المساء",
  108. night: "في الليل",
  109. },
  110. wide: {
  111. am: "ص",
  112. pm: "م",
  113. midnight: "نصف الليل",
  114. morning: "في الصباح",
  115. noon: "ظهراً",
  116. afternoon: "بعد الظهر",
  117. evening: "في المساء",
  118. night: "في الليل",
  119. },
  120. };
  121. const ordinalNumber = (dirtyNumber, _options) => {
  122. return String(dirtyNumber);
  123. };
  124. export const localize = {
  125. ordinalNumber,
  126. era: buildLocalizeFn({
  127. values: eraValues,
  128. defaultWidth: "wide",
  129. }),
  130. quarter: buildLocalizeFn({
  131. values: quarterValues,
  132. defaultWidth: "wide",
  133. argumentCallback: (quarter) => quarter - 1,
  134. }),
  135. month: buildLocalizeFn({
  136. values: monthValues,
  137. defaultWidth: "wide",
  138. }),
  139. day: buildLocalizeFn({
  140. values: dayValues,
  141. defaultWidth: "wide",
  142. }),
  143. dayPeriod: buildLocalizeFn({
  144. values: dayPeriodValues,
  145. defaultWidth: "wide",
  146. formattingValues: formattingDayPeriodValues,
  147. defaultFormattingWidth: "wide",
  148. }),
  149. };