localize.js 4.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. // Source: https://www.unicode.org/cldr/charts/32/summary/te.html
  3. // Source: https://dsal.uchicago.edu/dictionaries/brown/
  4. // CLDR #1605 - #1608
  5. const eraValues = {
  6. narrow: ["క్రీ.పూ.", "క్రీ.శ."],
  7. abbreviated: ["క్రీ.పూ.", "క్రీ.శ."],
  8. wide: ["క్రీస్తు పూర్వం", "క్రీస్తుశకం"],
  9. };
  10. // CLDR #1613 - #1628
  11. const quarterValues = {
  12. narrow: ["1", "2", "3", "4"],
  13. abbreviated: ["త్రై1", "త్రై2", "త్రై3", "త్రై4"],
  14. wide: ["1వ త్రైమాసికం", "2వ త్రైమాసికం", "3వ త్రైమాసికం", "4వ త్రైమాసికం"],
  15. };
  16. // CLDR #1637 - #1708
  17. const monthValues = {
  18. narrow: ["జ", "ఫి", "మా", "ఏ", "మే", "జూ", "జు", "ఆ", "సె", "అ", "న", "డి"],
  19. abbreviated: [
  20. "జన",
  21. "ఫిబ్ర",
  22. "మార్చి",
  23. "ఏప్రి",
  24. "మే",
  25. "జూన్",
  26. "జులై",
  27. "ఆగ",
  28. "సెప్టెం",
  29. "అక్టో",
  30. "నవం",
  31. "డిసెం",
  32. ],
  33. wide: [
  34. "జనవరి",
  35. "ఫిబ్రవరి",
  36. "మార్చి",
  37. "ఏప్రిల్",
  38. "మే",
  39. "జూన్",
  40. "జులై",
  41. "ఆగస్టు",
  42. "సెప్టెంబర్",
  43. "అక్టోబర్",
  44. "నవంబర్",
  45. "డిసెంబర్",
  46. ],
  47. };
  48. // CLDR #1709 - #1764
  49. const dayValues = {
  50. narrow: ["ఆ", "సో", "మ", "బు", "గు", "శు", "శ"],
  51. short: ["ఆది", "సోమ", "మంగళ", "బుధ", "గురు", "శుక్ర", "శని"],
  52. abbreviated: ["ఆది", "సోమ", "మంగళ", "బుధ", "గురు", "శుక్ర", "శని"],
  53. wide: [
  54. "ఆదివారం",
  55. "సోమవారం",
  56. "మంగళవారం",
  57. "బుధవారం",
  58. "గురువారం",
  59. "శుక్రవారం",
  60. "శనివారం",
  61. ],
  62. };
  63. // CLDR #1767 - #1806
  64. const dayPeriodValues = {
  65. narrow: {
  66. am: "పూర్వాహ్నం",
  67. pm: "అపరాహ్నం",
  68. midnight: "అర్ధరాత్రి",
  69. noon: "మిట్టమధ్యాహ్నం",
  70. morning: "ఉదయం",
  71. afternoon: "మధ్యాహ్నం",
  72. evening: "సాయంత్రం",
  73. night: "రాత్రి",
  74. },
  75. abbreviated: {
  76. am: "పూర్వాహ్నం",
  77. pm: "అపరాహ్నం",
  78. midnight: "అర్ధరాత్రి",
  79. noon: "మిట్టమధ్యాహ్నం",
  80. morning: "ఉదయం",
  81. afternoon: "మధ్యాహ్నం",
  82. evening: "సాయంత్రం",
  83. night: "రాత్రి",
  84. },
  85. wide: {
  86. am: "పూర్వాహ్నం",
  87. pm: "అపరాహ్నం",
  88. midnight: "అర్ధరాత్రి",
  89. noon: "మిట్టమధ్యాహ్నం",
  90. morning: "ఉదయం",
  91. afternoon: "మధ్యాహ్నం",
  92. evening: "సాయంత్రం",
  93. night: "రాత్రి",
  94. },
  95. };
  96. const formattingDayPeriodValues = {
  97. narrow: {
  98. am: "పూర్వాహ్నం",
  99. pm: "అపరాహ్నం",
  100. midnight: "అర్ధరాత్రి",
  101. noon: "మిట్టమధ్యాహ్నం",
  102. morning: "ఉదయం",
  103. afternoon: "మధ్యాహ్నం",
  104. evening: "సాయంత్రం",
  105. night: "రాత్రి",
  106. },
  107. abbreviated: {
  108. am: "పూర్వాహ్నం",
  109. pm: "అపరాహ్నం",
  110. midnight: "అర్ధరాత్రి",
  111. noon: "మిట్టమధ్యాహ్నం",
  112. morning: "ఉదయం",
  113. afternoon: "మధ్యాహ్నం",
  114. evening: "సాయంత్రం",
  115. night: "రాత్రి",
  116. },
  117. wide: {
  118. am: "పూర్వాహ్నం",
  119. pm: "అపరాహ్నం",
  120. midnight: "అర్ధరాత్రి",
  121. noon: "మిట్టమధ్యాహ్నం",
  122. morning: "ఉదయం",
  123. afternoon: "మధ్యాహ్నం",
  124. evening: "సాయంత్రం",
  125. night: "రాత్రి",
  126. },
  127. };
  128. const ordinalNumber = (dirtyNumber, _options) => {
  129. const number = Number(dirtyNumber);
  130. return number + "వ";
  131. };
  132. export const localize = {
  133. ordinalNumber,
  134. era: buildLocalizeFn({
  135. values: eraValues,
  136. defaultWidth: "wide",
  137. }),
  138. quarter: buildLocalizeFn({
  139. values: quarterValues,
  140. defaultWidth: "wide",
  141. argumentCallback: (quarter) => quarter - 1,
  142. }),
  143. month: buildLocalizeFn({
  144. values: monthValues,
  145. defaultWidth: "wide",
  146. }),
  147. day: buildLocalizeFn({
  148. values: dayValues,
  149. defaultWidth: "wide",
  150. }),
  151. dayPeriod: buildLocalizeFn({
  152. values: dayPeriodValues,
  153. defaultWidth: "wide",
  154. formattingValues: formattingDayPeriodValues,
  155. defaultFormattingWidth: "wide",
  156. }),
  157. };