localize.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["AC", "DC"],
  4. abbreviated: ["AC", "DC"],
  5. wide: ["antes de cristo", "despois de cristo"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["T1", "T2", "T3", "T4"],
  10. wide: ["1º trimestre", "2º trimestre", "3º trimestre", "4º trimestre"],
  11. };
  12. const monthValues = {
  13. narrow: ["e", "f", "m", "a", "m", "j", "j", "a", "s", "o", "n", "d"],
  14. abbreviated: [
  15. "xan",
  16. "feb",
  17. "mar",
  18. "abr",
  19. "mai",
  20. "xun",
  21. "xul",
  22. "ago",
  23. "set",
  24. "out",
  25. "nov",
  26. "dec",
  27. ],
  28. wide: [
  29. "xaneiro",
  30. "febreiro",
  31. "marzo",
  32. "abril",
  33. "maio",
  34. "xuño",
  35. "xullo",
  36. "agosto",
  37. "setembro",
  38. "outubro",
  39. "novembro",
  40. "decembro",
  41. ],
  42. };
  43. const dayValues = {
  44. narrow: ["d", "l", "m", "m", "j", "v", "s"],
  45. short: ["do", "lu", "ma", "me", "xo", "ve", "sa"],
  46. abbreviated: ["dom", "lun", "mar", "mer", "xov", "ven", "sab"],
  47. wide: ["domingo", "luns", "martes", "mércores", "xoves", "venres", "sábado"],
  48. };
  49. const dayPeriodValues = {
  50. narrow: {
  51. am: "a",
  52. pm: "p",
  53. midnight: "mn",
  54. noon: "md",
  55. morning: "mañá",
  56. afternoon: "tarde",
  57. evening: "tarde",
  58. night: "noite",
  59. },
  60. abbreviated: {
  61. am: "AM",
  62. pm: "PM",
  63. midnight: "medianoite",
  64. noon: "mediodía",
  65. morning: "mañá",
  66. afternoon: "tarde",
  67. evening: "tardiña",
  68. night: "noite",
  69. },
  70. wide: {
  71. am: "a.m.",
  72. pm: "p.m.",
  73. midnight: "medianoite",
  74. noon: "mediodía",
  75. morning: "mañá",
  76. afternoon: "tarde",
  77. evening: "tardiña",
  78. night: "noite",
  79. },
  80. };
  81. const formattingDayPeriodValues = {
  82. narrow: {
  83. am: "a",
  84. pm: "p",
  85. midnight: "mn",
  86. noon: "md",
  87. morning: "da mañá",
  88. afternoon: "da tarde",
  89. evening: "da tardiña",
  90. night: "da noite",
  91. },
  92. abbreviated: {
  93. am: "AM",
  94. pm: "PM",
  95. midnight: "medianoite",
  96. noon: "mediodía",
  97. morning: "da mañá",
  98. afternoon: "da tarde",
  99. evening: "da tardiña",
  100. night: "da noite",
  101. },
  102. wide: {
  103. am: "a.m.",
  104. pm: "p.m.",
  105. midnight: "medianoite",
  106. noon: "mediodía",
  107. morning: "da mañá",
  108. afternoon: "da tarde",
  109. evening: "da tardiña",
  110. night: "da noite",
  111. },
  112. };
  113. const ordinalNumber = (dirtyNumber, _options) => {
  114. const number = Number(dirtyNumber);
  115. return number + "º";
  116. };
  117. export const localize = {
  118. ordinalNumber,
  119. era: buildLocalizeFn({
  120. values: eraValues,
  121. defaultWidth: "wide",
  122. }),
  123. quarter: buildLocalizeFn({
  124. values: quarterValues,
  125. defaultWidth: "wide",
  126. argumentCallback: (quarter) => quarter - 1,
  127. }),
  128. month: buildLocalizeFn({
  129. values: monthValues,
  130. defaultWidth: "wide",
  131. }),
  132. day: buildLocalizeFn({
  133. values: dayValues,
  134. defaultWidth: "wide",
  135. }),
  136. dayPeriod: buildLocalizeFn({
  137. values: dayPeriodValues,
  138. defaultWidth: "wide",
  139. formattingValues: formattingDayPeriodValues,
  140. defaultFormattingWidth: "wide",
  141. }),
  142. };