localize.js 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["B", "คศ"],
  4. abbreviated: ["BC", "ค.ศ."],
  5. wide: ["ปีก่อนคริสตกาล", "คริสต์ศักราช"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["Q1", "Q2", "Q3", "Q4"],
  10. wide: ["ไตรมาสแรก", "ไตรมาสที่สอง", "ไตรมาสที่สาม", "ไตรมาสที่สี่"],
  11. };
  12. const dayValues = {
  13. narrow: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."],
  14. short: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."],
  15. abbreviated: ["อา.", "จ.", "อ.", "พ.", "พฤ.", "ศ.", "ส."],
  16. wide: ["อาทิตย์", "จันทร์", "อังคาร", "พุธ", "พฤหัสบดี", "ศุกร์", "เสาร์"],
  17. };
  18. const monthValues = {
  19. narrow: [
  20. "ม.ค.",
  21. "ก.พ.",
  22. "มี.ค.",
  23. "เม.ย.",
  24. "พ.ค.",
  25. "มิ.ย.",
  26. "ก.ค.",
  27. "ส.ค.",
  28. "ก.ย.",
  29. "ต.ค.",
  30. "พ.ย.",
  31. "ธ.ค.",
  32. ],
  33. abbreviated: [
  34. "ม.ค.",
  35. "ก.พ.",
  36. "มี.ค.",
  37. "เม.ย.",
  38. "พ.ค.",
  39. "มิ.ย.",
  40. "ก.ค.",
  41. "ส.ค.",
  42. "ก.ย.",
  43. "ต.ค.",
  44. "พ.ย.",
  45. "ธ.ค.",
  46. ],
  47. wide: [
  48. "มกราคม",
  49. "กุมภาพันธ์",
  50. "มีนาคม",
  51. "เมษายน",
  52. "พฤษภาคม",
  53. "มิถุนายน",
  54. "กรกฎาคม",
  55. "สิงหาคม",
  56. "กันยายน",
  57. "ตุลาคม",
  58. "พฤศจิกายน",
  59. "ธันวาคม",
  60. ],
  61. };
  62. const dayPeriodValues = {
  63. narrow: {
  64. am: "ก่อนเที่ยง",
  65. pm: "หลังเที่ยง",
  66. midnight: "เที่ยงคืน",
  67. noon: "เที่ยง",
  68. morning: "เช้า",
  69. afternoon: "บ่าย",
  70. evening: "เย็น",
  71. night: "กลางคืน",
  72. },
  73. abbreviated: {
  74. am: "ก่อนเที่ยง",
  75. pm: "หลังเที่ยง",
  76. midnight: "เที่ยงคืน",
  77. noon: "เที่ยง",
  78. morning: "เช้า",
  79. afternoon: "บ่าย",
  80. evening: "เย็น",
  81. night: "กลางคืน",
  82. },
  83. wide: {
  84. am: "ก่อนเที่ยง",
  85. pm: "หลังเที่ยง",
  86. midnight: "เที่ยงคืน",
  87. noon: "เที่ยง",
  88. morning: "เช้า",
  89. afternoon: "บ่าย",
  90. evening: "เย็น",
  91. night: "กลางคืน",
  92. },
  93. };
  94. const formattingDayPeriodValues = {
  95. narrow: {
  96. am: "ก่อนเที่ยง",
  97. pm: "หลังเที่ยง",
  98. midnight: "เที่ยงคืน",
  99. noon: "เที่ยง",
  100. morning: "ตอนเช้า",
  101. afternoon: "ตอนกลางวัน",
  102. evening: "ตอนเย็น",
  103. night: "ตอนกลางคืน",
  104. },
  105. abbreviated: {
  106. am: "ก่อนเที่ยง",
  107. pm: "หลังเที่ยง",
  108. midnight: "เที่ยงคืน",
  109. noon: "เที่ยง",
  110. morning: "ตอนเช้า",
  111. afternoon: "ตอนกลางวัน",
  112. evening: "ตอนเย็น",
  113. night: "ตอนกลางคืน",
  114. },
  115. wide: {
  116. am: "ก่อนเที่ยง",
  117. pm: "หลังเที่ยง",
  118. midnight: "เที่ยงคืน",
  119. noon: "เที่ยง",
  120. morning: "ตอนเช้า",
  121. afternoon: "ตอนกลางวัน",
  122. evening: "ตอนเย็น",
  123. night: "ตอนกลางคืน",
  124. },
  125. };
  126. const ordinalNumber = (dirtyNumber, _options) => {
  127. return String(dirtyNumber);
  128. };
  129. export const localize = {
  130. ordinalNumber,
  131. era: buildLocalizeFn({
  132. values: eraValues,
  133. defaultWidth: "wide",
  134. }),
  135. quarter: buildLocalizeFn({
  136. values: quarterValues,
  137. defaultWidth: "wide",
  138. argumentCallback: (quarter) => quarter - 1,
  139. }),
  140. month: buildLocalizeFn({
  141. values: monthValues,
  142. defaultWidth: "wide",
  143. }),
  144. day: buildLocalizeFn({
  145. values: dayValues,
  146. defaultWidth: "wide",
  147. }),
  148. dayPeriod: buildLocalizeFn({
  149. values: dayPeriodValues,
  150. defaultWidth: "wide",
  151. formattingValues: formattingDayPeriodValues,
  152. defaultFormattingWidth: "wide",
  153. }),
  154. };