localize.cjs 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179
  1. "use strict";
  2. exports.localize = void 0;
  3. var _index = require("../../_lib/buildLocalizeFn.cjs");
  4. const eraValues = {
  5. narrow: ["BC", "AC"],
  6. abbreviated: ["紀元前", "西暦"],
  7. wide: ["紀元前", "西暦"],
  8. };
  9. const quarterValues = {
  10. narrow: ["1", "2", "3", "4"],
  11. abbreviated: ["Q1", "Q2", "Q3", "Q4"],
  12. wide: ["第1四半期", "第2四半期", "第3四半期", "第4四半期"],
  13. };
  14. const monthValues = {
  15. narrow: ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"],
  16. abbreviated: [
  17. "1月",
  18. "2月",
  19. "3月",
  20. "4月",
  21. "5月",
  22. "6月",
  23. "7月",
  24. "8月",
  25. "9月",
  26. "10月",
  27. "11月",
  28. "12月",
  29. ],
  30. wide: [
  31. "1月",
  32. "2月",
  33. "3月",
  34. "4月",
  35. "5月",
  36. "6月",
  37. "7月",
  38. "8月",
  39. "9月",
  40. "10月",
  41. "11月",
  42. "12月",
  43. ],
  44. };
  45. const dayValues = {
  46. narrow: ["日", "月", "火", "水", "木", "金", "土"],
  47. short: ["日", "月", "火", "水", "木", "金", "土"],
  48. abbreviated: ["日", "月", "火", "水", "木", "金", "土"],
  49. wide: ["日曜日", "月曜日", "火曜日", "水曜日", "木曜日", "金曜日", "土曜日"],
  50. };
  51. const dayPeriodValues = {
  52. narrow: {
  53. am: "午前",
  54. pm: "午後",
  55. midnight: "深夜",
  56. noon: "正午",
  57. morning: "朝",
  58. afternoon: "午後",
  59. evening: "夜",
  60. night: "深夜",
  61. },
  62. abbreviated: {
  63. am: "午前",
  64. pm: "午後",
  65. midnight: "深夜",
  66. noon: "正午",
  67. morning: "朝",
  68. afternoon: "午後",
  69. evening: "夜",
  70. night: "深夜",
  71. },
  72. wide: {
  73. am: "午前",
  74. pm: "午後",
  75. midnight: "深夜",
  76. noon: "正午",
  77. morning: "朝",
  78. afternoon: "午後",
  79. evening: "夜",
  80. night: "深夜",
  81. },
  82. };
  83. const formattingDayPeriodValues = {
  84. narrow: {
  85. am: "午前",
  86. pm: "午後",
  87. midnight: "深夜",
  88. noon: "正午",
  89. morning: "朝",
  90. afternoon: "午後",
  91. evening: "夜",
  92. night: "深夜",
  93. },
  94. abbreviated: {
  95. am: "午前",
  96. pm: "午後",
  97. midnight: "深夜",
  98. noon: "正午",
  99. morning: "朝",
  100. afternoon: "午後",
  101. evening: "夜",
  102. night: "深夜",
  103. },
  104. wide: {
  105. am: "午前",
  106. pm: "午後",
  107. midnight: "深夜",
  108. noon: "正午",
  109. morning: "朝",
  110. afternoon: "午後",
  111. evening: "夜",
  112. night: "深夜",
  113. },
  114. };
  115. const ordinalNumber = (dirtyNumber, options) => {
  116. const number = Number(dirtyNumber);
  117. const unit = String(options?.unit);
  118. switch (unit) {
  119. case "year":
  120. return `${number}年`;
  121. case "quarter":
  122. return `第${number}四半期`;
  123. case "month":
  124. return `${number}月`;
  125. case "week":
  126. return `第${number}週`;
  127. case "date":
  128. return `${number}日`;
  129. case "hour":
  130. return `${number}時`;
  131. case "minute":
  132. return `${number}分`;
  133. case "second":
  134. return `${number}秒`;
  135. default:
  136. return `${number}`;
  137. }
  138. };
  139. const localize = (exports.localize = {
  140. ordinalNumber: ordinalNumber,
  141. era: (0, _index.buildLocalizeFn)({
  142. values: eraValues,
  143. defaultWidth: "wide",
  144. }),
  145. quarter: (0, _index.buildLocalizeFn)({
  146. values: quarterValues,
  147. defaultWidth: "wide",
  148. argumentCallback: (quarter) => Number(quarter) - 1,
  149. }),
  150. month: (0, _index.buildLocalizeFn)({
  151. values: monthValues,
  152. defaultWidth: "wide",
  153. }),
  154. day: (0, _index.buildLocalizeFn)({
  155. values: dayValues,
  156. defaultWidth: "wide",
  157. }),
  158. dayPeriod: (0, _index.buildLocalizeFn)({
  159. values: dayPeriodValues,
  160. defaultWidth: "wide",
  161. formattingValues: formattingDayPeriodValues,
  162. defaultFormattingWidth: "wide",
  163. }),
  164. });