localize.cjs 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231
  1. "use strict";
  2. exports.localeToNumber = localeToNumber;
  3. exports.localize = void 0;
  4. exports.numberToLocale = numberToLocale;
  5. var _index = require("../../_lib/buildLocalizeFn.cjs");
  6. const numberValues = {
  7. locale: {
  8. 1: "१",
  9. 2: "२",
  10. 3: "३",
  11. 4: "४",
  12. 5: "५",
  13. 6: "६",
  14. 7: "७",
  15. 8: "८",
  16. 9: "९",
  17. 0: "०",
  18. },
  19. number: {
  20. "१": "1",
  21. "२": "2",
  22. "३": "3",
  23. "४": "4",
  24. "५": "5",
  25. "६": "6",
  26. "७": "7",
  27. "८": "8",
  28. "९": "9",
  29. "०": "0",
  30. },
  31. };
  32. // CLDR #1585 - #1592
  33. const eraValues = {
  34. narrow: ["ईसा-पूर्व", "ईस्वी"],
  35. abbreviated: ["ईसा-पूर्व", "ईस्वी"],
  36. wide: ["ईसा-पूर्व", "ईसवी सन"],
  37. };
  38. // CLDR #1593 - #1616
  39. const quarterValues = {
  40. narrow: ["1", "2", "3", "4"],
  41. abbreviated: ["ति1", "ति2", "ति3", "ति4"],
  42. wide: ["पहली तिमाही", "दूसरी तिमाही", "तीसरी तिमाही", "चौथी तिमाही"],
  43. };
  44. // Note: in English, the names of days of the week and months are capitalized.
  45. // If you are making a new locale based on this one, check if the same is true for the language you're working on.
  46. // Generally, formatted dates should look like they are in the middle of a sentence,
  47. // e.g. in Spanish language the weekdays and months should be in the lowercase.
  48. // https://www.unicode.org/cldr/charts/32/summary/hi.html
  49. // CLDR #1617 - #1688
  50. const monthValues = {
  51. narrow: [
  52. "ज",
  53. "फ़",
  54. "मा",
  55. "अ",
  56. "मई",
  57. "जू",
  58. "जु",
  59. "अग",
  60. "सि",
  61. "अक्टू",
  62. "न",
  63. "दि",
  64. ],
  65. abbreviated: [
  66. "जन",
  67. "फ़र",
  68. "मार्च",
  69. "अप्रैल",
  70. "मई",
  71. "जून",
  72. "जुल",
  73. "अग",
  74. "सित",
  75. "अक्टू",
  76. "नव",
  77. "दिस",
  78. ],
  79. wide: [
  80. "जनवरी",
  81. "फ़रवरी",
  82. "मार्च",
  83. "अप्रैल",
  84. "मई",
  85. "जून",
  86. "जुलाई",
  87. "अगस्त",
  88. "सितंबर",
  89. "अक्टूबर",
  90. "नवंबर",
  91. "दिसंबर",
  92. ],
  93. };
  94. // CLDR #1689 - #1744
  95. const dayValues = {
  96. narrow: ["र", "सो", "मं", "बु", "गु", "शु", "श"],
  97. short: ["र", "सो", "मं", "बु", "गु", "शु", "श"],
  98. abbreviated: ["रवि", "सोम", "मंगल", "बुध", "गुरु", "शुक्र", "शनि"],
  99. wide: [
  100. "रविवार",
  101. "सोमवार",
  102. "मंगलवार",
  103. "बुधवार",
  104. "गुरुवार",
  105. "शुक्रवार",
  106. "शनिवार",
  107. ],
  108. };
  109. const dayPeriodValues = {
  110. narrow: {
  111. am: "पूर्वाह्न",
  112. pm: "अपराह्न",
  113. midnight: "मध्यरात्रि",
  114. noon: "दोपहर",
  115. morning: "सुबह",
  116. afternoon: "दोपहर",
  117. evening: "शाम",
  118. night: "रात",
  119. },
  120. abbreviated: {
  121. am: "पूर्वाह्न",
  122. pm: "अपराह्न",
  123. midnight: "मध्यरात्रि",
  124. noon: "दोपहर",
  125. morning: "सुबह",
  126. afternoon: "दोपहर",
  127. evening: "शाम",
  128. night: "रात",
  129. },
  130. wide: {
  131. am: "पूर्वाह्न",
  132. pm: "अपराह्न",
  133. midnight: "मध्यरात्रि",
  134. noon: "दोपहर",
  135. morning: "सुबह",
  136. afternoon: "दोपहर",
  137. evening: "शाम",
  138. night: "रात",
  139. },
  140. };
  141. const formattingDayPeriodValues = {
  142. narrow: {
  143. am: "पूर्वाह्न",
  144. pm: "अपराह्न",
  145. midnight: "मध्यरात्रि",
  146. noon: "दोपहर",
  147. morning: "सुबह",
  148. afternoon: "दोपहर",
  149. evening: "शाम",
  150. night: "रात",
  151. },
  152. abbreviated: {
  153. am: "पूर्वाह्न",
  154. pm: "अपराह्न",
  155. midnight: "मध्यरात्रि",
  156. noon: "दोपहर",
  157. morning: "सुबह",
  158. afternoon: "दोपहर",
  159. evening: "शाम",
  160. night: "रात",
  161. },
  162. wide: {
  163. am: "पूर्वाह्न",
  164. pm: "अपराह्न",
  165. midnight: "मध्यरात्रि",
  166. noon: "दोपहर",
  167. morning: "सुबह",
  168. afternoon: "दोपहर",
  169. evening: "शाम",
  170. night: "रात",
  171. },
  172. };
  173. const ordinalNumber = (dirtyNumber, _options) => {
  174. const number = Number(dirtyNumber);
  175. return numberToLocale(number);
  176. };
  177. function localeToNumber(locale) {
  178. const enNumber = locale.toString().replace(/[१२३४५६७८९०]/g, function (match) {
  179. return numberValues.number[match];
  180. });
  181. return Number(enNumber);
  182. }
  183. function numberToLocale(enNumber) {
  184. return enNumber.toString().replace(/\d/g, function (match) {
  185. return numberValues.locale[match];
  186. });
  187. }
  188. const localize = (exports.localize = {
  189. ordinalNumber,
  190. era: (0, _index.buildLocalizeFn)({
  191. values: eraValues,
  192. defaultWidth: "wide",
  193. }),
  194. quarter: (0, _index.buildLocalizeFn)({
  195. values: quarterValues,
  196. defaultWidth: "wide",
  197. argumentCallback: (quarter) => quarter - 1,
  198. }),
  199. month: (0, _index.buildLocalizeFn)({
  200. values: monthValues,
  201. defaultWidth: "wide",
  202. }),
  203. day: (0, _index.buildLocalizeFn)({
  204. values: dayValues,
  205. defaultWidth: "wide",
  206. }),
  207. dayPeriod: (0, _index.buildLocalizeFn)({
  208. values: dayPeriodValues,
  209. defaultWidth: "wide",
  210. formattingValues: formattingDayPeriodValues,
  211. defaultFormattingWidth: "wide",
  212. }),
  213. });