localize.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["k.a.", "k.o."],
  4. abbreviated: ["k.a.", "k.o."],
  5. wide: ["kristo aurretik", "kristo ondoren"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["1H", "2H", "3H", "4H"],
  10. wide: [
  11. "1. hiruhilekoa",
  12. "2. hiruhilekoa",
  13. "3. hiruhilekoa",
  14. "4. hiruhilekoa",
  15. ],
  16. };
  17. const monthValues = {
  18. narrow: ["u", "o", "m", "a", "m", "e", "u", "a", "i", "u", "a", "a"],
  19. abbreviated: [
  20. "urt",
  21. "ots",
  22. "mar",
  23. "api",
  24. "mai",
  25. "eka",
  26. "uzt",
  27. "abu",
  28. "ira",
  29. "urr",
  30. "aza",
  31. "abe",
  32. ],
  33. wide: [
  34. "urtarrila",
  35. "otsaila",
  36. "martxoa",
  37. "apirila",
  38. "maiatza",
  39. "ekaina",
  40. "uztaila",
  41. "abuztua",
  42. "iraila",
  43. "urria",
  44. "azaroa",
  45. "abendua",
  46. ],
  47. };
  48. const dayValues = {
  49. narrow: ["i", "a", "a", "a", "o", "o", "l"],
  50. short: ["ig", "al", "as", "az", "og", "or", "lr"],
  51. abbreviated: ["iga", "ast", "ast", "ast", "ost", "ost", "lar"],
  52. wide: [
  53. "igandea",
  54. "astelehena",
  55. "asteartea",
  56. "asteazkena",
  57. "osteguna",
  58. "ostirala",
  59. "larunbata",
  60. ],
  61. };
  62. const dayPeriodValues = {
  63. narrow: {
  64. am: "a",
  65. pm: "p",
  66. midnight: "ge",
  67. noon: "eg",
  68. morning: "goiza",
  69. afternoon: "arratsaldea",
  70. evening: "arratsaldea",
  71. night: "gaua",
  72. },
  73. abbreviated: {
  74. am: "AM",
  75. pm: "PM",
  76. midnight: "gauerdia",
  77. noon: "eguerdia",
  78. morning: "goiza",
  79. afternoon: "arratsaldea",
  80. evening: "arratsaldea",
  81. night: "gaua",
  82. },
  83. wide: {
  84. am: "a.m.",
  85. pm: "p.m.",
  86. midnight: "gauerdia",
  87. noon: "eguerdia",
  88. morning: "goiza",
  89. afternoon: "arratsaldea",
  90. evening: "arratsaldea",
  91. night: "gaua",
  92. },
  93. };
  94. const formattingDayPeriodValues = {
  95. narrow: {
  96. am: "a",
  97. pm: "p",
  98. midnight: "ge",
  99. noon: "eg",
  100. morning: "goizean",
  101. afternoon: "arratsaldean",
  102. evening: "arratsaldean",
  103. night: "gauean",
  104. },
  105. abbreviated: {
  106. am: "AM",
  107. pm: "PM",
  108. midnight: "gauerdia",
  109. noon: "eguerdia",
  110. morning: "goizean",
  111. afternoon: "arratsaldean",
  112. evening: "arratsaldean",
  113. night: "gauean",
  114. },
  115. wide: {
  116. am: "a.m.",
  117. pm: "p.m.",
  118. midnight: "gauerdia",
  119. noon: "eguerdia",
  120. morning: "goizean",
  121. afternoon: "arratsaldean",
  122. evening: "arratsaldean",
  123. night: "gauean",
  124. },
  125. };
  126. const ordinalNumber = (dirtyNumber, _options) => {
  127. const number = Number(dirtyNumber);
  128. return number + ".";
  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. };