index.js 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. import buildLocalizeFn from "../../../_lib/buildLocalizeFn/index.js";
  2. var eraValues = {
  3. narrow: ['до н.э.', 'н.э.'],
  4. abbreviated: ['до н. э.', 'н. э.'],
  5. wide: ['до нашей эры', 'нашей эры']
  6. };
  7. var quarterValues = {
  8. narrow: ['1', '2', '3', '4'],
  9. abbreviated: ['1-й кв.', '2-й кв.', '3-й кв.', '4-й кв.'],
  10. wide: ['1-й квартал', '2-й квартал', '3-й квартал', '4-й квартал']
  11. };
  12. var monthValues = {
  13. narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],
  14. abbreviated: ['янв.', 'фев.', 'март', 'апр.', 'май', 'июнь', 'июль', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],
  15. wide: ['январь', 'февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь']
  16. };
  17. var formattingMonthValues = {
  18. narrow: ['Я', 'Ф', 'М', 'А', 'М', 'И', 'И', 'А', 'С', 'О', 'Н', 'Д'],
  19. abbreviated: ['янв.', 'фев.', 'мар.', 'апр.', 'мая', 'июн.', 'июл.', 'авг.', 'сент.', 'окт.', 'нояб.', 'дек.'],
  20. wide: ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря']
  21. };
  22. var dayValues = {
  23. narrow: ['В', 'П', 'В', 'С', 'Ч', 'П', 'С'],
  24. short: ['вс', 'пн', 'вт', 'ср', 'чт', 'пт', 'сб'],
  25. abbreviated: ['вск', 'пнд', 'втр', 'срд', 'чтв', 'птн', 'суб'],
  26. wide: ['воскресенье', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота']
  27. };
  28. var dayPeriodValues = {
  29. narrow: {
  30. am: 'ДП',
  31. pm: 'ПП',
  32. midnight: 'полн.',
  33. noon: 'полд.',
  34. morning: 'утро',
  35. afternoon: 'день',
  36. evening: 'веч.',
  37. night: 'ночь'
  38. },
  39. abbreviated: {
  40. am: 'ДП',
  41. pm: 'ПП',
  42. midnight: 'полн.',
  43. noon: 'полд.',
  44. morning: 'утро',
  45. afternoon: 'день',
  46. evening: 'веч.',
  47. night: 'ночь'
  48. },
  49. wide: {
  50. am: 'ДП',
  51. pm: 'ПП',
  52. midnight: 'полночь',
  53. noon: 'полдень',
  54. morning: 'утро',
  55. afternoon: 'день',
  56. evening: 'вечер',
  57. night: 'ночь'
  58. }
  59. };
  60. var formattingDayPeriodValues = {
  61. narrow: {
  62. am: 'ДП',
  63. pm: 'ПП',
  64. midnight: 'полн.',
  65. noon: 'полд.',
  66. morning: 'утра',
  67. afternoon: 'дня',
  68. evening: 'веч.',
  69. night: 'ночи'
  70. },
  71. abbreviated: {
  72. am: 'ДП',
  73. pm: 'ПП',
  74. midnight: 'полн.',
  75. noon: 'полд.',
  76. morning: 'утра',
  77. afternoon: 'дня',
  78. evening: 'веч.',
  79. night: 'ночи'
  80. },
  81. wide: {
  82. am: 'ДП',
  83. pm: 'ПП',
  84. midnight: 'полночь',
  85. noon: 'полдень',
  86. morning: 'утра',
  87. afternoon: 'дня',
  88. evening: 'вечера',
  89. night: 'ночи'
  90. }
  91. };
  92. var ordinalNumber = function ordinalNumber(dirtyNumber, options) {
  93. var number = Number(dirtyNumber);
  94. var unit = options === null || options === void 0 ? void 0 : options.unit;
  95. var suffix;
  96. if (unit === 'date') {
  97. suffix = '-е';
  98. } else if (unit === 'week' || unit === 'minute' || unit === 'second') {
  99. suffix = '-я';
  100. } else {
  101. suffix = '-й';
  102. }
  103. return number + suffix;
  104. };
  105. var localize = {
  106. ordinalNumber: ordinalNumber,
  107. era: buildLocalizeFn({
  108. values: eraValues,
  109. defaultWidth: 'wide'
  110. }),
  111. quarter: buildLocalizeFn({
  112. values: quarterValues,
  113. defaultWidth: 'wide',
  114. argumentCallback: function argumentCallback(quarter) {
  115. return quarter - 1;
  116. }
  117. }),
  118. month: buildLocalizeFn({
  119. values: monthValues,
  120. defaultWidth: 'wide',
  121. formattingValues: formattingMonthValues,
  122. defaultFormattingWidth: 'wide'
  123. }),
  124. day: buildLocalizeFn({
  125. values: dayValues,
  126. defaultWidth: 'wide'
  127. }),
  128. dayPeriod: buildLocalizeFn({
  129. values: dayPeriodValues,
  130. defaultWidth: 'any',
  131. formattingValues: formattingDayPeriodValues,
  132. defaultFormattingWidth: 'wide'
  133. })
  134. };
  135. export default localize;