localize.js 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. // Ref: https://www.unicode.org/cldr/charts/32/summary/ta.html
  3. const eraValues = {
  4. narrow: ["கி.மு.", "கி.பி."],
  5. abbreviated: ["கி.மு.", "கி.பி."], // CLDR #1624, #1626
  6. wide: ["கிறிஸ்துவுக்கு முன்", "அன்னோ டோமினி"], // CLDR #1620, #1622
  7. };
  8. const quarterValues = {
  9. // CLDR #1644 - #1647
  10. narrow: ["1", "2", "3", "4"],
  11. // CLDR #1636 - #1639
  12. abbreviated: ["காலா.1", "காலா.2", "காலா.3", "காலா.4"],
  13. // CLDR #1628 - #1631
  14. wide: [
  15. "ஒன்றாம் காலாண்டு",
  16. "இரண்டாம் காலாண்டு",
  17. "மூன்றாம் காலாண்டு",
  18. "நான்காம் காலாண்டு",
  19. ],
  20. };
  21. const monthValues = {
  22. // CLDR #700 - #711
  23. narrow: ["ஜ", "பி", "மா", "ஏ", "மே", "ஜூ", "ஜூ", "ஆ", "செ", "அ", "ந", "டி"],
  24. // CLDR #1676 - #1687
  25. abbreviated: [
  26. "ஜன.",
  27. "பிப்.",
  28. "மார்.",
  29. "ஏப்.",
  30. "மே",
  31. "ஜூன்",
  32. "ஜூலை",
  33. "ஆக.",
  34. "செப்.",
  35. "அக்.",
  36. "நவ.",
  37. "டிச.",
  38. ],
  39. // CLDR #1652 - #1663
  40. wide: [
  41. "ஜனவரி", // January
  42. "பிப்ரவரி", // February
  43. "மார்ச்", // March
  44. "ஏப்ரல்", // April
  45. "மே", // May
  46. "ஜூன்", // June
  47. "ஜூலை", // July
  48. "ஆகஸ்ட்", // August
  49. "செப்டம்பர்", // September
  50. "அக்டோபர்", // October
  51. "நவம்பர்", // November
  52. "டிசம்பர்", // December
  53. ],
  54. };
  55. const dayValues = {
  56. // CLDR #1766 - #1772
  57. narrow: ["ஞா", "தி", "செ", "பு", "வி", "வெ", "ச"],
  58. // CLDR #1752 - #1758
  59. short: ["ஞா", "தி", "செ", "பு", "வி", "வெ", "ச"],
  60. // CLDR #1738 - #1744
  61. abbreviated: ["ஞாயி.", "திங்.", "செவ்.", "புத.", "வியா.", "வெள்.", "சனி"],
  62. // CLDR #1724 - #1730
  63. wide: [
  64. "ஞாயிறு", // Sunday
  65. "திங்கள்", // Monday
  66. "செவ்வாய்", // Tuesday
  67. "புதன்", // Wednesday
  68. "வியாழன்", // Thursday
  69. "வெள்ளி", // Friday
  70. "சனி", // Saturday
  71. ],
  72. };
  73. // CLDR #1780 - #1845
  74. const dayPeriodValues = {
  75. narrow: {
  76. am: "மு.ப",
  77. pm: "பி.ப",
  78. midnight: "நள்.",
  79. noon: "நண்.",
  80. morning: "கா.",
  81. afternoon: "மதி.",
  82. evening: "மா.",
  83. night: "இர.",
  84. },
  85. abbreviated: {
  86. am: "முற்பகல்",
  87. pm: "பிற்பகல்",
  88. midnight: "நள்ளிரவு",
  89. noon: "நண்பகல்",
  90. morning: "காலை",
  91. afternoon: "மதியம்",
  92. evening: "மாலை",
  93. night: "இரவு",
  94. },
  95. wide: {
  96. am: "முற்பகல்",
  97. pm: "பிற்பகல்",
  98. midnight: "நள்ளிரவு",
  99. noon: "நண்பகல்",
  100. morning: "காலை",
  101. afternoon: "மதியம்",
  102. evening: "மாலை",
  103. night: "இரவு",
  104. },
  105. };
  106. // CLDR #1780 - #1845
  107. const formattingDayPeriodValues = {
  108. narrow: {
  109. am: "மு.ப",
  110. pm: "பி.ப",
  111. midnight: "நள்.",
  112. noon: "நண்.",
  113. morning: "கா.",
  114. afternoon: "மதி.",
  115. evening: "மா.",
  116. night: "இர.",
  117. },
  118. abbreviated: {
  119. am: "முற்பகல்",
  120. pm: "பிற்பகல்",
  121. midnight: "நள்ளிரவு",
  122. noon: "நண்பகல்",
  123. morning: "காலை",
  124. afternoon: "மதியம்",
  125. evening: "மாலை",
  126. night: "இரவு",
  127. },
  128. wide: {
  129. am: "முற்பகல்",
  130. pm: "பிற்பகல்",
  131. midnight: "நள்ளிரவு",
  132. noon: "நண்பகல்",
  133. morning: "காலை",
  134. afternoon: "மதியம்",
  135. evening: "மாலை",
  136. night: "இரவு",
  137. },
  138. };
  139. const ordinalNumber = (dirtyNumber, _options) => {
  140. return String(dirtyNumber);
  141. };
  142. export const localize = {
  143. ordinalNumber,
  144. era: buildLocalizeFn({
  145. values: eraValues,
  146. defaultWidth: "wide",
  147. }),
  148. quarter: buildLocalizeFn({
  149. values: quarterValues,
  150. defaultWidth: "wide",
  151. argumentCallback: (quarter) => quarter - 1,
  152. }),
  153. month: buildLocalizeFn({
  154. values: monthValues,
  155. defaultWidth: "wide",
  156. }),
  157. day: buildLocalizeFn({
  158. values: dayValues,
  159. defaultWidth: "wide",
  160. }),
  161. dayPeriod: buildLocalizeFn({
  162. values: dayPeriodValues,
  163. defaultWidth: "wide",
  164. formattingValues: formattingDayPeriodValues,
  165. defaultFormattingWidth: "wide",
  166. }),
  167. };