localize.cjs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. "use strict";
  2. exports.localize = void 0;
  3. var _index = require("../../_lib/buildLocalizeFn.cjs");
  4. const eraValues = {
  5. narrow: ["f.Kr.", "e.Kr."],
  6. abbreviated: ["f.Kr.", "e.Kr."],
  7. wide: ["före Kristus", "efter Kristus"],
  8. };
  9. const quarterValues = {
  10. narrow: ["1", "2", "3", "4"],
  11. abbreviated: ["Q1", "Q2", "Q3", "Q4"],
  12. wide: ["1:a kvartalet", "2:a kvartalet", "3:e kvartalet", "4:e kvartalet"],
  13. };
  14. const monthValues = {
  15. narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  16. abbreviated: [
  17. "jan.",
  18. "feb.",
  19. "mars",
  20. "apr.",
  21. "maj",
  22. "juni",
  23. "juli",
  24. "aug.",
  25. "sep.",
  26. "okt.",
  27. "nov.",
  28. "dec.",
  29. ],
  30. wide: [
  31. "januari",
  32. "februari",
  33. "mars",
  34. "april",
  35. "maj",
  36. "juni",
  37. "juli",
  38. "augusti",
  39. "september",
  40. "oktober",
  41. "november",
  42. "december",
  43. ],
  44. };
  45. const dayValues = {
  46. narrow: ["S", "M", "T", "O", "T", "F", "L"],
  47. short: ["sö", "må", "ti", "on", "to", "fr", "lö"],
  48. abbreviated: ["sön", "mån", "tis", "ons", "tors", "fre", "lör"],
  49. wide: ["söndag", "måndag", "tisdag", "onsdag", "torsdag", "fredag", "lördag"],
  50. };
  51. // https://www.unicode.org/cldr/charts/32/summary/sv.html#1888
  52. const dayPeriodValues = {
  53. narrow: {
  54. am: "fm",
  55. pm: "em",
  56. midnight: "midnatt",
  57. noon: "middag",
  58. morning: "morg.",
  59. afternoon: "efterm.",
  60. evening: "kväll",
  61. night: "natt",
  62. },
  63. abbreviated: {
  64. am: "f.m.",
  65. pm: "e.m.",
  66. midnight: "midnatt",
  67. noon: "middag",
  68. morning: "morgon",
  69. afternoon: "efterm.",
  70. evening: "kväll",
  71. night: "natt",
  72. },
  73. wide: {
  74. am: "förmiddag",
  75. pm: "eftermiddag",
  76. midnight: "midnatt",
  77. noon: "middag",
  78. morning: "morgon",
  79. afternoon: "eftermiddag",
  80. evening: "kväll",
  81. night: "natt",
  82. },
  83. };
  84. const formattingDayPeriodValues = {
  85. narrow: {
  86. am: "fm",
  87. pm: "em",
  88. midnight: "midnatt",
  89. noon: "middag",
  90. morning: "på morg.",
  91. afternoon: "på efterm.",
  92. evening: "på kvällen",
  93. night: "på natten",
  94. },
  95. abbreviated: {
  96. am: "fm",
  97. pm: "em",
  98. midnight: "midnatt",
  99. noon: "middag",
  100. morning: "på morg.",
  101. afternoon: "på efterm.",
  102. evening: "på kvällen",
  103. night: "på natten",
  104. },
  105. wide: {
  106. am: "fm",
  107. pm: "em",
  108. midnight: "midnatt",
  109. noon: "middag",
  110. morning: "på morgonen",
  111. afternoon: "på eftermiddagen",
  112. evening: "på kvällen",
  113. night: "på natten",
  114. },
  115. };
  116. const ordinalNumber = (dirtyNumber, _options) => {
  117. const number = Number(dirtyNumber);
  118. const rem100 = number % 100;
  119. if (rem100 > 20 || rem100 < 10) {
  120. switch (rem100 % 10) {
  121. case 1:
  122. case 2:
  123. return number + ":a";
  124. }
  125. }
  126. return number + ":e";
  127. };
  128. const localize = (exports.localize = {
  129. ordinalNumber,
  130. era: (0, _index.buildLocalizeFn)({
  131. values: eraValues,
  132. defaultWidth: "wide",
  133. }),
  134. quarter: (0, _index.buildLocalizeFn)({
  135. values: quarterValues,
  136. defaultWidth: "wide",
  137. argumentCallback: (quarter) => quarter - 1,
  138. }),
  139. month: (0, _index.buildLocalizeFn)({
  140. values: monthValues,
  141. defaultWidth: "wide",
  142. }),
  143. day: (0, _index.buildLocalizeFn)({
  144. values: dayValues,
  145. defaultWidth: "wide",
  146. }),
  147. dayPeriod: (0, _index.buildLocalizeFn)({
  148. values: dayPeriodValues,
  149. defaultWidth: "wide",
  150. formattingValues: formattingDayPeriodValues,
  151. defaultFormattingWidth: "wide",
  152. }),
  153. });