cs.js 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181
  1. //! moment.js locale configuration
  2. //! locale : Czech [cs]
  3. //! author : petrbela : https://github.com/petrbela
  4. import moment from '../moment';
  5. var months = {
  6. standalone:
  7. 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split(
  8. '_'
  9. ),
  10. format: 'ledna_února_března_dubna_května_června_července_srpna_září_října_listopadu_prosince'.split(
  11. '_'
  12. ),
  13. isFormat: /DD?[o.]?(\[[^\[\]]*\]|\s)+MMMM/,
  14. },
  15. monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'),
  16. monthsParse = [
  17. /^led/i,
  18. /^úno/i,
  19. /^bře/i,
  20. /^dub/i,
  21. /^kvě/i,
  22. /^(čvn|červen$|června)/i,
  23. /^(čvc|červenec|července)/i,
  24. /^srp/i,
  25. /^zář/i,
  26. /^říj/i,
  27. /^lis/i,
  28. /^pro/i,
  29. ],
  30. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  31. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  32. monthsRegex =
  33. /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;
  34. function plural(n) {
  35. return n > 1 && n < 5 && ~~(n / 10) !== 1;
  36. }
  37. function translate(number, withoutSuffix, key, isFuture) {
  38. var result = number + ' ';
  39. switch (key) {
  40. case 's': // a few seconds / in a few seconds / a few seconds ago
  41. return withoutSuffix || isFuture ? 'pár sekund' : 'pár sekundami';
  42. case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago
  43. if (withoutSuffix || isFuture) {
  44. return result + (plural(number) ? 'sekundy' : 'sekund');
  45. } else {
  46. return result + 'sekundami';
  47. }
  48. case 'm': // a minute / in a minute / a minute ago
  49. return withoutSuffix ? 'minuta' : isFuture ? 'minutu' : 'minutou';
  50. case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
  51. if (withoutSuffix || isFuture) {
  52. return result + (plural(number) ? 'minuty' : 'minut');
  53. } else {
  54. return result + 'minutami';
  55. }
  56. case 'h': // an hour / in an hour / an hour ago
  57. return withoutSuffix ? 'hodina' : isFuture ? 'hodinu' : 'hodinou';
  58. case 'hh': // 9 hours / in 9 hours / 9 hours ago
  59. if (withoutSuffix || isFuture) {
  60. return result + (plural(number) ? 'hodiny' : 'hodin');
  61. } else {
  62. return result + 'hodinami';
  63. }
  64. case 'd': // a day / in a day / a day ago
  65. return withoutSuffix || isFuture ? 'den' : 'dnem';
  66. case 'dd': // 9 days / in 9 days / 9 days ago
  67. if (withoutSuffix || isFuture) {
  68. return result + (plural(number) ? 'dny' : 'dní');
  69. } else {
  70. return result + 'dny';
  71. }
  72. case 'M': // a month / in a month / a month ago
  73. return withoutSuffix || isFuture ? 'měsíc' : 'měsícem';
  74. case 'MM': // 9 months / in 9 months / 9 months ago
  75. if (withoutSuffix || isFuture) {
  76. return result + (plural(number) ? 'měsíce' : 'měsíců');
  77. } else {
  78. return result + 'měsíci';
  79. }
  80. case 'y': // a year / in a year / a year ago
  81. return withoutSuffix || isFuture ? 'rok' : 'rokem';
  82. case 'yy': // 9 years / in 9 years / 9 years ago
  83. if (withoutSuffix || isFuture) {
  84. return result + (plural(number) ? 'roky' : 'let');
  85. } else {
  86. return result + 'lety';
  87. }
  88. }
  89. }
  90. export default moment.defineLocale('cs', {
  91. months: months,
  92. monthsShort: monthsShort,
  93. monthsRegex: monthsRegex,
  94. monthsShortRegex: monthsRegex,
  95. // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.
  96. // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.
  97. monthsStrictRegex:
  98. /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,
  99. monthsShortStrictRegex:
  100. /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,
  101. monthsParse: monthsParse,
  102. longMonthsParse: monthsParse,
  103. shortMonthsParse: monthsParse,
  104. weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
  105. weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'),
  106. weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'),
  107. longDateFormat: {
  108. LT: 'H:mm',
  109. LTS: 'H:mm:ss',
  110. L: 'DD.MM.YYYY',
  111. LL: 'D. MMMM YYYY',
  112. LLL: 'D. MMMM YYYY H:mm',
  113. LLLL: 'dddd D. MMMM YYYY H:mm',
  114. l: 'D. M. YYYY',
  115. },
  116. calendar: {
  117. sameDay: '[dnes v] LT',
  118. nextDay: '[zítra v] LT',
  119. nextWeek: function () {
  120. switch (this.day()) {
  121. case 0:
  122. return '[v neděli v] LT';
  123. case 1:
  124. case 2:
  125. return '[v] dddd [v] LT';
  126. case 3:
  127. return '[ve středu v] LT';
  128. case 4:
  129. return '[ve čtvrtek v] LT';
  130. case 5:
  131. return '[v pátek v] LT';
  132. case 6:
  133. return '[v sobotu v] LT';
  134. }
  135. },
  136. lastDay: '[včera v] LT',
  137. lastWeek: function () {
  138. switch (this.day()) {
  139. case 0:
  140. return '[minulou neděli v] LT';
  141. case 1:
  142. case 2:
  143. return '[minulé] dddd [v] LT';
  144. case 3:
  145. return '[minulou středu v] LT';
  146. case 4:
  147. case 5:
  148. return '[minulý] dddd [v] LT';
  149. case 6:
  150. return '[minulou sobotu v] LT';
  151. }
  152. },
  153. sameElse: 'L',
  154. },
  155. relativeTime: {
  156. future: 'za %s',
  157. past: 'před %s',
  158. s: translate,
  159. ss: translate,
  160. m: translate,
  161. mm: translate,
  162. h: translate,
  163. hh: translate,
  164. d: translate,
  165. dd: translate,
  166. M: translate,
  167. MM: translate,
  168. y: translate,
  169. yy: translate,
  170. },
  171. dayOfMonthOrdinalParse: /\d{1,2}\./,
  172. ordinal: '%d.',
  173. week: {
  174. dow: 1, // Monday is the first day of the week.
  175. doy: 4, // The week that contains Jan 4th is the first week of the year.
  176. },
  177. });