index.js 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123
  1. import buildLocalizeFn from "../../../_lib/buildLocalizeFn/index.js";
  2. var eraValues = {
  3. narrow: ['fvt', 'vt'],
  4. abbreviated: ['f.v.t.', 'v.t.'],
  5. wide: ['før vesterlandsk tidsregning', 'vesterlandsk tidsregning']
  6. };
  7. var quarterValues = {
  8. narrow: ['1', '2', '3', '4'],
  9. abbreviated: ['1. kvt.', '2. kvt.', '3. kvt.', '4. kvt.'],
  10. wide: ['1. kvartal', '2. kvartal', '3. kvartal', '4. kvartal']
  11. };
  12. var monthValues = {
  13. narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'A', 'S', 'O', 'N', 'D'],
  14. abbreviated: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun.', 'jul.', 'aug.', 'sep.', 'okt.', 'nov.', 'dec.'],
  15. wide: ['januar', 'februar', 'marts', 'april', 'maj', 'juni', 'juli', 'august', 'september', 'oktober', 'november', 'december']
  16. };
  17. // Note that 'Days - abbreviated - Formatting' has periods at the end.
  18. // https://www.unicode.org/cldr/charts/32/summary/da.html#1760
  19. // This makes grammatical sense in danish, as most abbreviations have periods.
  20. var dayValues = {
  21. narrow: ['S', 'M', 'T', 'O', 'T', 'F', 'L'],
  22. short: ['sø', 'ma', 'ti', 'on', 'to', 'fr', 'lø'],
  23. abbreviated: ['søn.', 'man.', 'tir.', 'ons.', 'tor.', 'fre.', 'lør.'],
  24. wide: ['søndag', 'mandag', 'tirsdag', 'onsdag', 'torsdag', 'fredag', 'lørdag']
  25. };
  26. var dayPeriodValues = {
  27. narrow: {
  28. am: 'a',
  29. pm: 'p',
  30. midnight: 'midnat',
  31. noon: 'middag',
  32. morning: 'morgen',
  33. afternoon: 'eftermiddag',
  34. evening: 'aften',
  35. night: 'nat'
  36. },
  37. abbreviated: {
  38. am: 'AM',
  39. pm: 'PM',
  40. midnight: 'midnat',
  41. noon: 'middag',
  42. morning: 'morgen',
  43. afternoon: 'eftermiddag',
  44. evening: 'aften',
  45. night: 'nat'
  46. },
  47. wide: {
  48. am: 'a.m.',
  49. pm: 'p.m.',
  50. midnight: 'midnat',
  51. noon: 'middag',
  52. morning: 'morgen',
  53. afternoon: 'eftermiddag',
  54. evening: 'aften',
  55. night: 'nat'
  56. }
  57. };
  58. var formattingDayPeriodValues = {
  59. narrow: {
  60. am: 'a',
  61. pm: 'p',
  62. midnight: 'midnat',
  63. noon: 'middag',
  64. morning: 'om morgenen',
  65. afternoon: 'om eftermiddagen',
  66. evening: 'om aftenen',
  67. night: 'om natten'
  68. },
  69. abbreviated: {
  70. am: 'AM',
  71. pm: 'PM',
  72. midnight: 'midnat',
  73. noon: 'middag',
  74. morning: 'om morgenen',
  75. afternoon: 'om eftermiddagen',
  76. evening: 'om aftenen',
  77. night: 'om natten'
  78. },
  79. wide: {
  80. am: 'a.m.',
  81. pm: 'p.m.',
  82. midnight: 'midnat',
  83. noon: 'middag',
  84. morning: 'om morgenen',
  85. afternoon: 'om eftermiddagen',
  86. evening: 'om aftenen',
  87. night: 'om natten'
  88. }
  89. };
  90. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  91. var number = Number(dirtyNumber);
  92. return number + '.';
  93. };
  94. var localize = {
  95. ordinalNumber: ordinalNumber,
  96. era: buildLocalizeFn({
  97. values: eraValues,
  98. defaultWidth: 'wide'
  99. }),
  100. quarter: buildLocalizeFn({
  101. values: quarterValues,
  102. defaultWidth: 'wide',
  103. argumentCallback: function argumentCallback(quarter) {
  104. return quarter - 1;
  105. }
  106. }),
  107. month: buildLocalizeFn({
  108. values: monthValues,
  109. defaultWidth: 'wide'
  110. }),
  111. day: buildLocalizeFn({
  112. values: dayValues,
  113. defaultWidth: 'wide'
  114. }),
  115. dayPeriod: buildLocalizeFn({
  116. values: dayPeriodValues,
  117. defaultWidth: 'wide',
  118. formattingValues: formattingDayPeriodValues,
  119. defaultFormattingWidth: 'wide'
  120. })
  121. };
  122. export default localize;