localize.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["p.m.ē", "m.ē"],
  4. abbreviated: ["p. m. ē.", "m. ē."],
  5. wide: ["pirms mūsu ēras", "mūsu ērā"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["1. cet.", "2. cet.", "3. cet.", "4. cet."],
  10. wide: [
  11. "pirmais ceturksnis",
  12. "otrais ceturksnis",
  13. "trešais ceturksnis",
  14. "ceturtais ceturksnis",
  15. ],
  16. };
  17. const formattingQuarterValues = {
  18. narrow: ["1", "2", "3", "4"],
  19. abbreviated: ["1. cet.", "2. cet.", "3. cet.", "4. cet."],
  20. wide: [
  21. "pirmajā ceturksnī",
  22. "otrajā ceturksnī",
  23. "trešajā ceturksnī",
  24. "ceturtajā ceturksnī",
  25. ],
  26. };
  27. const monthValues = {
  28. narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  29. abbreviated: [
  30. "janv.",
  31. "febr.",
  32. "marts",
  33. "apr.",
  34. "maijs",
  35. "jūn.",
  36. "jūl.",
  37. "aug.",
  38. "sept.",
  39. "okt.",
  40. "nov.",
  41. "dec.",
  42. ],
  43. wide: [
  44. "janvāris",
  45. "februāris",
  46. "marts",
  47. "aprīlis",
  48. "maijs",
  49. "jūnijs",
  50. "jūlijs",
  51. "augusts",
  52. "septembris",
  53. "oktobris",
  54. "novembris",
  55. "decembris",
  56. ],
  57. };
  58. const formattingMonthValues = {
  59. narrow: ["J", "F", "M", "A", "M", "J", "J", "A", "S", "O", "N", "D"],
  60. abbreviated: [
  61. "janv.",
  62. "febr.",
  63. "martā",
  64. "apr.",
  65. "maijs",
  66. "jūn.",
  67. "jūl.",
  68. "aug.",
  69. "sept.",
  70. "okt.",
  71. "nov.",
  72. "dec.",
  73. ],
  74. wide: [
  75. "janvārī",
  76. "februārī",
  77. "martā",
  78. "aprīlī",
  79. "maijā",
  80. "jūnijā",
  81. "jūlijā",
  82. "augustā",
  83. "septembrī",
  84. "oktobrī",
  85. "novembrī",
  86. "decembrī",
  87. ],
  88. };
  89. const dayValues = {
  90. narrow: ["S", "P", "O", "T", "C", "P", "S"],
  91. short: ["Sv", "P", "O", "T", "C", "Pk", "S"],
  92. abbreviated: [
  93. "svētd.",
  94. "pirmd.",
  95. "otrd.",
  96. "trešd.",
  97. "ceturtd.",
  98. "piektd.",
  99. "sestd.",
  100. ],
  101. wide: [
  102. "svētdiena",
  103. "pirmdiena",
  104. "otrdiena",
  105. "trešdiena",
  106. "ceturtdiena",
  107. "piektdiena",
  108. "sestdiena",
  109. ],
  110. };
  111. const formattingDayValues = {
  112. narrow: ["S", "P", "O", "T", "C", "P", "S"],
  113. short: ["Sv", "P", "O", "T", "C", "Pk", "S"],
  114. abbreviated: [
  115. "svētd.",
  116. "pirmd.",
  117. "otrd.",
  118. "trešd.",
  119. "ceturtd.",
  120. "piektd.",
  121. "sestd.",
  122. ],
  123. wide: [
  124. "svētdienā",
  125. "pirmdienā",
  126. "otrdienā",
  127. "trešdienā",
  128. "ceturtdienā",
  129. "piektdienā",
  130. "sestdienā",
  131. ],
  132. };
  133. const dayPeriodValues = {
  134. narrow: {
  135. am: "am",
  136. pm: "pm",
  137. midnight: "pusn.",
  138. noon: "pusd.",
  139. morning: "rīts",
  140. afternoon: "diena",
  141. evening: "vakars",
  142. night: "nakts",
  143. },
  144. abbreviated: {
  145. am: "am",
  146. pm: "pm",
  147. midnight: "pusn.",
  148. noon: "pusd.",
  149. morning: "rīts",
  150. afternoon: "pēcpusd.",
  151. evening: "vakars",
  152. night: "nakts",
  153. },
  154. wide: {
  155. am: "am",
  156. pm: "pm",
  157. midnight: "pusnakts",
  158. noon: "pusdienlaiks",
  159. morning: "rīts",
  160. afternoon: "pēcpusdiena",
  161. evening: "vakars",
  162. night: "nakts",
  163. },
  164. };
  165. const formattingDayPeriodValues = {
  166. narrow: {
  167. am: "am",
  168. pm: "pm",
  169. midnight: "pusn.",
  170. noon: "pusd.",
  171. morning: "rītā",
  172. afternoon: "dienā",
  173. evening: "vakarā",
  174. night: "naktī",
  175. },
  176. abbreviated: {
  177. am: "am",
  178. pm: "pm",
  179. midnight: "pusn.",
  180. noon: "pusd.",
  181. morning: "rītā",
  182. afternoon: "pēcpusd.",
  183. evening: "vakarā",
  184. night: "naktī",
  185. },
  186. wide: {
  187. am: "am",
  188. pm: "pm",
  189. midnight: "pusnaktī",
  190. noon: "pusdienlaikā",
  191. morning: "rītā",
  192. afternoon: "pēcpusdienā",
  193. evening: "vakarā",
  194. night: "naktī",
  195. },
  196. };
  197. const ordinalNumber = (dirtyNumber, _options) => {
  198. const number = Number(dirtyNumber);
  199. return number + ".";
  200. };
  201. export const localize = {
  202. ordinalNumber,
  203. era: buildLocalizeFn({
  204. values: eraValues,
  205. defaultWidth: "wide",
  206. }),
  207. quarter: buildLocalizeFn({
  208. values: quarterValues,
  209. defaultWidth: "wide",
  210. formattingValues: formattingQuarterValues,
  211. defaultFormattingWidth: "wide",
  212. argumentCallback: (quarter) => quarter - 1,
  213. }),
  214. month: buildLocalizeFn({
  215. values: monthValues,
  216. defaultWidth: "wide",
  217. formattingValues: formattingMonthValues,
  218. defaultFormattingWidth: "wide",
  219. }),
  220. day: buildLocalizeFn({
  221. values: dayValues,
  222. defaultWidth: "wide",
  223. formattingValues: formattingDayValues,
  224. defaultFormattingWidth: "wide",
  225. }),
  226. dayPeriod: buildLocalizeFn({
  227. values: dayPeriodValues,
  228. defaultWidth: "wide",
  229. formattingValues: formattingDayPeriodValues,
  230. defaultFormattingWidth: "wide",
  231. }),
  232. };