localize.js 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import { buildLocalizeFn } from "../../_lib/buildLocalizeFn.js";
  2. const eraValues = {
  3. narrow: ["М.А", "М"],
  4. abbreviated: ["М.А", "М"],
  5. wide: ["Милоддан Аввалги", "Милодий"],
  6. };
  7. const quarterValues = {
  8. narrow: ["1", "2", "3", "4"],
  9. abbreviated: ["1-чор.", "2-чор.", "3-чор.", "4-чор."],
  10. wide: ["1-чорак", "2-чорак", "3-чорак", "4-чорак"],
  11. };
  12. const monthValues = {
  13. narrow: ["Я", "Ф", "М", "А", "М", "И", "И", "А", "С", "О", "Н", "Д"],
  14. abbreviated: [
  15. "янв",
  16. "фев",
  17. "мар",
  18. "апр",
  19. "май",
  20. "июн",
  21. "июл",
  22. "авг",
  23. "сен",
  24. "окт",
  25. "ноя",
  26. "дек",
  27. ],
  28. wide: [
  29. "январ",
  30. "феврал",
  31. "март",
  32. "апрел",
  33. "май",
  34. "июн",
  35. "июл",
  36. "август",
  37. "сентабр",
  38. "октабр",
  39. "ноябр",
  40. "декабр",
  41. ],
  42. };
  43. const dayValues = {
  44. narrow: ["Я", "Д", "С", "Ч", "П", "Ж", "Ш"],
  45. short: ["як", "ду", "се", "чо", "па", "жу", "ша"],
  46. abbreviated: ["якш", "душ", "сеш", "чор", "пай", "жум", "шан"],
  47. wide: [
  48. "якшанба",
  49. "душанба",
  50. "сешанба",
  51. "чоршанба",
  52. "пайшанба",
  53. "жума",
  54. "шанба",
  55. ],
  56. };
  57. const dayPeriodValues = {
  58. any: {
  59. am: "П.О.",
  60. pm: "П.К.",
  61. midnight: "ярим тун",
  62. noon: "пешин",
  63. morning: "эрталаб",
  64. afternoon: "пешиндан кейин",
  65. evening: "кечаси",
  66. night: "тун",
  67. },
  68. };
  69. const formattingDayPeriodValues = {
  70. any: {
  71. am: "П.О.",
  72. pm: "П.К.",
  73. midnight: "ярим тун",
  74. noon: "пешин",
  75. morning: "эрталаб",
  76. afternoon: "пешиндан кейин",
  77. evening: "кечаси",
  78. night: "тун",
  79. },
  80. };
  81. const ordinalNumber = (dirtyNumber, _options) => {
  82. return String(dirtyNumber);
  83. };
  84. export const localize = {
  85. ordinalNumber,
  86. era: buildLocalizeFn({
  87. values: eraValues,
  88. defaultWidth: "wide",
  89. }),
  90. quarter: buildLocalizeFn({
  91. values: quarterValues,
  92. defaultWidth: "wide",
  93. argumentCallback: (quarter) => quarter - 1,
  94. }),
  95. month: buildLocalizeFn({
  96. values: monthValues,
  97. defaultWidth: "wide",
  98. }),
  99. day: buildLocalizeFn({
  100. values: dayValues,
  101. defaultWidth: "wide",
  102. }),
  103. dayPeriod: buildLocalizeFn({
  104. values: dayPeriodValues,
  105. defaultWidth: "any",
  106. formattingValues: formattingDayPeriodValues,
  107. defaultFormattingWidth: "any",
  108. }),
  109. };