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