UNPKG

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