localize.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170
  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: ["Q1", "Q2", "Q3", "Q4"],
  10. wide: ["ត្រីមាសទី 1", "ត្រីមាសទី 2", "ត្រីមាសទី 3", "ត្រីមាសទី 4"],
  11. };
  12. const monthValues = {
  13. narrow: [
  14. "ម.ក",
  15. "ក.ម",
  16. "មិ",
  17. "ម.ស",
  18. "ឧ.ស",
  19. "ម.ថ",
  20. "ក.ដ",
  21. "សី",
  22. "កញ",
  23. "តុ",
  24. "វិ",
  25. "ធ",
  26. ],
  27. abbreviated: [
  28. "មករា",
  29. "កុម្ភៈ",
  30. "មីនា",
  31. "មេសា",
  32. "ឧសភា",
  33. "មិថុនា",
  34. "កក្កដា",
  35. "សីហា",
  36. "កញ្ញា",
  37. "តុលា",
  38. "វិច្ឆិកា",
  39. "ធ្នូ",
  40. ],
  41. wide: [
  42. "មករា",
  43. "កុម្ភៈ",
  44. "មីនា",
  45. "មេសា",
  46. "ឧសភា",
  47. "មិថុនា",
  48. "កក្កដា",
  49. "សីហា",
  50. "កញ្ញា",
  51. "តុលា",
  52. "វិច្ឆិកា",
  53. "ធ្នូ",
  54. ],
  55. };
  56. const dayValues = {
  57. narrow: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"],
  58. short: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"],
  59. abbreviated: ["អា", "ច", "អ", "ព", "ព្រ", "សុ", "ស"],
  60. wide: ["អាទិត្យ", "ចន្ទ", "អង្គារ", "ពុធ", "ព្រហស្បតិ៍", "សុក្រ", "សៅរ៍"],
  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, _) => {
  127. const number = Number(dirtyNumber);
  128. return number.toString();
  129. };
  130. export const localize = {
  131. ordinalNumber,
  132. era: buildLocalizeFn({
  133. values: eraValues,
  134. defaultWidth: "wide",
  135. }),
  136. quarter: buildLocalizeFn({
  137. values: quarterValues,
  138. defaultWidth: "wide",
  139. argumentCallback: (quarter) => quarter - 1,
  140. }),
  141. month: buildLocalizeFn({
  142. values: monthValues,
  143. defaultWidth: "wide",
  144. }),
  145. day: buildLocalizeFn({
  146. values: dayValues,
  147. defaultWidth: "wide",
  148. }),
  149. dayPeriod: buildLocalizeFn({
  150. values: dayPeriodValues,
  151. defaultWidth: "wide",
  152. formattingValues: formattingDayPeriodValues,
  153. defaultFormattingWidth: "wide",
  154. }),
  155. };