index.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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. abbreviated: ['јан', 'фев', 'мар', 'апр', 'мај', 'јун', 'јул', 'авг', 'септ', 'окт', 'ноем', 'дек'],
  14. wide: ['јануари', 'февруари', 'март', 'април', 'мај', 'јуни', 'јули', 'август', 'септември', 'октомври', 'ноември', 'декември']
  15. };
  16. var dayValues = {
  17. narrow: ['Н', 'П', 'В', 'С', 'Ч', 'П', 'С'],
  18. short: ['не', 'по', 'вт', 'ср', 'че', 'пе', 'са'],
  19. abbreviated: ['нед', 'пон', 'вто', 'сре', 'чет', 'пет', 'саб'],
  20. wide: ['недела', 'понеделник', 'вторник', 'среда', 'четврток', 'петок', 'сабота']
  21. };
  22. var dayPeriodValues = {
  23. wide: {
  24. am: 'претпладне',
  25. pm: 'попладне',
  26. midnight: 'полноќ',
  27. noon: 'напладне',
  28. morning: 'наутро',
  29. afternoon: 'попладне',
  30. evening: 'навечер',
  31. night: 'ноќе'
  32. }
  33. };
  34. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  35. var number = Number(dirtyNumber);
  36. var rem100 = number % 100;
  37. if (rem100 > 20 || rem100 < 10) {
  38. switch (rem100 % 10) {
  39. case 1:
  40. return number + '-ви';
  41. case 2:
  42. return number + '-ри';
  43. case 7:
  44. case 8:
  45. return number + '-ми';
  46. }
  47. }
  48. return number + '-ти';
  49. };
  50. var localize = {
  51. ordinalNumber: ordinalNumber,
  52. era: buildLocalizeFn({
  53. values: eraValues,
  54. defaultWidth: 'wide'
  55. }),
  56. quarter: buildLocalizeFn({
  57. values: quarterValues,
  58. defaultWidth: 'wide',
  59. argumentCallback: function argumentCallback(quarter) {
  60. return quarter - 1;
  61. }
  62. }),
  63. month: buildLocalizeFn({
  64. values: monthValues,
  65. defaultWidth: 'wide'
  66. }),
  67. day: buildLocalizeFn({
  68. values: dayValues,
  69. defaultWidth: 'wide'
  70. }),
  71. dayPeriod: buildLocalizeFn({
  72. values: dayPeriodValues,
  73. defaultWidth: 'wide'
  74. })
  75. };
  76. export default localize;