localize.js 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["aK", "pK"],
  4. abbreviated: ["a.K.E.", "p.K.E."],
  5. wide: ["antaŭ Komuna Erao", "Komuna Erao"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["K1", "K2", "K3", "K4"],
  10. wide: [
  11. "1-a kvaronjaro",
  12. "2-a kvaronjaro",
  13. "3-a kvaronjaro",
  14. "4-a kvaronjaro",
  15. ],
  16. };
  17. const monthValues = {
  18. narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  19. abbreviated: [
  20. "jan",
  21. "feb",
  22. "mar",
  23. "apr",
  24. "maj",
  25. "jun",
  26. "jul",
  27. "aŭg",
  28. "sep",
  29. "okt",
  30. "nov",
  31. "dec",
  32. ],
  33. wide: [
  34. "januaro",
  35. "februaro",
  36. "marto",
  37. "aprilo",
  38. "majo",
  39. "junio",
  40. "julio",
  41. "aŭgusto",
  42. "septembro",
  43. "oktobro",
  44. "novembro",
  45. "decembro",
  46. ],
  47. };
  48. const dayValues = {
  49. narrow: ["D", "L", "M", "M", "Ĵ", "V", "S"],
  50. short: ["di", "lu", "ma", "me", "ĵa", "ve", "sa"],
  51. abbreviated: ["dim", "lun", "mar", "mer", "ĵaŭ", "ven", "sab"],
  52. wide: [
  53. "dimanĉo",
  54. "lundo",
  55. "mardo",
  56. "merkredo",
  57. "ĵaŭdo",
  58. "vendredo",
  59. "sabato",
  60. ],
  61. };
  62. const dayPeriodValues = {
  63. narrow: {
  64. am: "a",
  65. pm: "p",
  66. midnight: "noktomezo",
  67. noon: "tagmezo",
  68. morning: "matene",
  69. afternoon: "posttagmeze",
  70. evening: "vespere",
  71. night: "nokte",
  72. },
  73. abbreviated: {
  74. am: "a.t.m.",
  75. pm: "p.t.m.",
  76. midnight: "noktomezo",
  77. noon: "tagmezo",
  78. morning: "matene",
  79. afternoon: "posttagmeze",
  80. evening: "vespere",
  81. night: "nokte",
  82. },
  83. wide: {
  84. am: "antaŭtagmeze",
  85. pm: "posttagmeze",
  86. midnight: "noktomezo",
  87. noon: "tagmezo",
  88. morning: "matene",
  89. afternoon: "posttagmeze",
  90. evening: "vespere",
  91. night: "nokte",
  92. },
  93. };
  94. const ordinalNumber = (dirtyNumber) => {
  95. const number = Number(dirtyNumber);
  96. return number + "-a";
  97. };
  98. export const localize = {
  99. ordinalNumber: ordinalNumber,
  100. era: buildLocalizeFn({
  101. values: eraValues,
  102. defaultWidth: "wide",
  103. }),
  104. quarter: buildLocalizeFn({
  105. values: quarterValues,
  106. defaultWidth: "wide",
  107. argumentCallback: function (quarter) {
  108. return Number(quarter) - 1;
  109. },
  110. }),
  111. month: buildLocalizeFn({
  112. values: monthValues,
  113. defaultWidth: "wide",
  114. }),
  115. day: buildLocalizeFn({
  116. values: dayValues,
  117. defaultWidth: "wide",
  118. }),
  119. dayPeriod: buildLocalizeFn({
  120. values: dayPeriodValues,
  121. defaultWidth: "wide",
  122. }),
  123. };