index.js 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  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. wide: {
  40. am: 'ТД',
  41. pm: 'ТК',
  42. midnight: 'түн ортасы',
  43. noon: 'түс',
  44. morning: 'таң',
  45. afternoon: 'күндіз',
  46. evening: 'кеш',
  47. night: 'түн'
  48. }
  49. };
  50. var formattingDayPeriodValues = {
  51. narrow: {
  52. am: 'ТД',
  53. pm: 'ТК',
  54. midnight: 'түн ортасында',
  55. noon: 'түс',
  56. morning: 'таң',
  57. afternoon: 'күн',
  58. evening: 'кеш',
  59. night: 'түн'
  60. },
  61. wide: {
  62. am: 'ТД',
  63. pm: 'ТК',
  64. midnight: 'түн ортасында',
  65. noon: 'түсте',
  66. morning: 'таңертең',
  67. afternoon: 'күндіз',
  68. evening: 'кеште',
  69. night: 'түнде'
  70. }
  71. };
  72. var suffixes = {
  73. 0: '-ші',
  74. 1: '-ші',
  75. 2: '-ші',
  76. 3: '-ші',
  77. 4: '-ші',
  78. 5: '-ші',
  79. 6: '-шы',
  80. 7: '-ші',
  81. 8: '-ші',
  82. 9: '-шы',
  83. 10: '-шы',
  84. 20: '-шы',
  85. 30: '-шы',
  86. 40: '-шы',
  87. 50: '-ші',
  88. 60: '-шы',
  89. 70: '-ші',
  90. 80: '-ші',
  91. 90: '-шы',
  92. 100: '-ші'
  93. };
  94. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  95. var number = Number(dirtyNumber);
  96. var mod10 = number % 10;
  97. var b = number >= 100 ? 100 : null;
  98. var suffix = suffixes[number] || suffixes[mod10] || b && suffixes[b] || '';
  99. return number + suffix;
  100. };
  101. var localize = {
  102. ordinalNumber: ordinalNumber,
  103. era: buildLocalizeFn({
  104. values: eraValues,
  105. defaultWidth: 'wide'
  106. }),
  107. quarter: buildLocalizeFn({
  108. values: quarterValues,
  109. defaultWidth: 'wide',
  110. argumentCallback: function argumentCallback(quarter) {
  111. return quarter - 1;
  112. }
  113. }),
  114. month: buildLocalizeFn({
  115. values: monthValues,
  116. defaultWidth: 'wide',
  117. formattingValues: formattingMonthValues,
  118. defaultFormattingWidth: 'wide'
  119. }),
  120. day: buildLocalizeFn({
  121. values: dayValues,
  122. defaultWidth: 'wide'
  123. }),
  124. dayPeriod: buildLocalizeFn({
  125. values: dayPeriodValues,
  126. defaultWidth: 'any',
  127. formattingValues: formattingDayPeriodValues,
  128. defaultFormattingWidth: 'wide'
  129. })
  130. };
  131. export default localize;