localize.cjs 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. "use strict";
  2. exports.localize = void 0;
  3. var _index = require("../../_lib/buildLocalizeFn.cjs");
  4. const eraValues = {
  5. narrow: ["e.ə", "b.e"],
  6. abbreviated: ["e.ə", "b.e"],
  7. wide: ["eramızdan əvvəl", "bizim era"],
  8. };
  9. const quarterValues = {
  10. narrow: ["1", "2", "3", "4"],
  11. abbreviated: ["K1", "K2", "K3", "K4"],
  12. wide: ["1ci kvartal", "2ci kvartal", "3cü kvartal", "4cü kvartal"],
  13. };
  14. const monthValues = {
  15. narrow: ["Y", "F", "M", "A", "M", "İ", "İ", "A", "S", "O", "N", "D"],
  16. abbreviated: [
  17. "Yan",
  18. "Fev",
  19. "Mar",
  20. "Apr",
  21. "May",
  22. "İyun",
  23. "İyul",
  24. "Avq",
  25. "Sen",
  26. "Okt",
  27. "Noy",
  28. "Dek",
  29. ],
  30. wide: [
  31. "Yanvar",
  32. "Fevral",
  33. "Mart",
  34. "Aprel",
  35. "May",
  36. "İyun",
  37. "İyul",
  38. "Avqust",
  39. "Sentyabr",
  40. "Oktyabr",
  41. "Noyabr",
  42. "Dekabr",
  43. ],
  44. };
  45. const dayValues = {
  46. narrow: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."],
  47. short: ["B.", "B.e", "Ç.a", "Ç.", "C.a", "C.", "Ş."],
  48. abbreviated: ["Baz", "Baz.e", "Çər.a", "Çər", "Cüm.a", "Cüm", "Şə"],
  49. wide: [
  50. "Bazar",
  51. "Bazar ertəsi",
  52. "Çərşənbə axşamı",
  53. "Çərşənbə",
  54. "Cümə axşamı",
  55. "Cümə",
  56. "Şənbə",
  57. ],
  58. };
  59. const dayPeriodValues = {
  60. narrow: {
  61. am: "am",
  62. pm: "pm",
  63. midnight: "gecəyarı",
  64. noon: "gün",
  65. morning: "səhər",
  66. afternoon: "gündüz",
  67. evening: "axşam",
  68. night: "gecə",
  69. },
  70. abbreviated: {
  71. am: "AM",
  72. pm: "PM",
  73. midnight: "gecəyarı",
  74. noon: "gün",
  75. morning: "səhər",
  76. afternoon: "gündüz",
  77. evening: "axşam",
  78. night: "gecə",
  79. },
  80. wide: {
  81. am: "a.m.",
  82. pm: "p.m.",
  83. midnight: "gecəyarı",
  84. noon: "gün",
  85. morning: "səhər",
  86. afternoon: "gündüz",
  87. evening: "axşam",
  88. night: "gecə",
  89. },
  90. };
  91. const formattingDayPeriodValues = {
  92. narrow: {
  93. am: "a",
  94. pm: "p",
  95. midnight: "gecəyarı",
  96. noon: "gün",
  97. morning: "səhər",
  98. afternoon: "gündüz",
  99. evening: "axşam",
  100. night: "gecə",
  101. },
  102. abbreviated: {
  103. am: "AM",
  104. pm: "PM",
  105. midnight: "gecəyarı",
  106. noon: "gün",
  107. morning: "səhər",
  108. afternoon: "gündüz",
  109. evening: "axşam",
  110. night: "gecə",
  111. },
  112. wide: {
  113. am: "a.m.",
  114. pm: "p.m.",
  115. midnight: "gecəyarı",
  116. noon: "gün",
  117. morning: "səhər",
  118. afternoon: "gündüz",
  119. evening: "axşam",
  120. night: "gecə",
  121. },
  122. };
  123. const suffixes = {
  124. 1: "-inci",
  125. 5: "-inci",
  126. 8: "-inci",
  127. 70: "-inci",
  128. 80: "-inci",
  129. 2: "-nci",
  130. 7: "-nci",
  131. 20: "-nci",
  132. 50: "-nci",
  133. 3: "-üncü",
  134. 4: "-üncü",
  135. 100: "-üncü",
  136. 6: "-ncı",
  137. 9: "-uncu",
  138. 10: "-uncu",
  139. 30: "-uncu",
  140. 60: "-ıncı",
  141. 90: "-ıncı",
  142. };
  143. const getSuffix = (number) => {
  144. if (number === 0) {
  145. // special case for zero
  146. return number + "-ıncı";
  147. }
  148. const a = number % 10;
  149. const b = (number % 100) - a;
  150. const c = number >= 100 ? 100 : null;
  151. if (suffixes[a]) {
  152. return suffixes[a];
  153. } else if (suffixes[b]) {
  154. return suffixes[b];
  155. } else if (c !== null) {
  156. return suffixes[c];
  157. }
  158. return "";
  159. };
  160. const ordinalNumber = (dirtyNumber, _options) => {
  161. const number = Number(dirtyNumber);
  162. const suffix = getSuffix(number);
  163. return number + suffix;
  164. };
  165. const localize = (exports.localize = {
  166. ordinalNumber,
  167. era: (0, _index.buildLocalizeFn)({
  168. values: eraValues,
  169. defaultWidth: "wide",
  170. }),
  171. quarter: (0, _index.buildLocalizeFn)({
  172. values: quarterValues,
  173. defaultWidth: "wide",
  174. argumentCallback: (quarter) => quarter - 1,
  175. }),
  176. month: (0, _index.buildLocalizeFn)({
  177. values: monthValues,
  178. defaultWidth: "wide",
  179. }),
  180. day: (0, _index.buildLocalizeFn)({
  181. values: dayValues,
  182. defaultWidth: "wide",
  183. }),
  184. dayPeriod: (0, _index.buildLocalizeFn)({
  185. values: dayPeriodValues,
  186. defaultWidth: "wide",
  187. formattingValues: formattingDayPeriodValues,
  188. defaultFormattingWidth: "wide",
  189. }),
  190. });