-
Notifications
You must be signed in to change notification settings - Fork 1.7k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(moment-ts): added czech locale (#2642)
- Loading branch information
1 parent
31c5f62
commit 61e6ed9
Showing
3 changed files
with
104 additions
and
36 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,100 @@ | ||
// moment.js locale configuration | ||
// locale : Czech [cs] | ||
// author : petrbela : https://github.com/petrbela | ||
// ported by: Frantisek Jandos : https://github.com/frantisekjandos | ||
|
||
import { LocaleData } from '../locale/locale.class'; | ||
|
||
function plural(n: number): boolean { | ||
return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); | ||
} | ||
|
||
function translate(num: number, withoutSuffix: boolean, key: string, isFuture: boolean): string { | ||
let result = num + ' '; | ||
switch (key) { | ||
case 's': // a few seconds / in a few seconds / a few seconds ago | ||
return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; | ||
case 'm': // a minute / in a minute / a minute ago | ||
return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); | ||
case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago | ||
if (withoutSuffix || isFuture) { | ||
return result + (plural(num) ? 'minuty' : 'minut'); | ||
} | ||
return result + 'minutami'; | ||
case 'h': // an hour / in an hour / an hour ago | ||
return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); | ||
case 'hh': // 9 hours / in 9 hours / 9 hours ago | ||
if (withoutSuffix || isFuture) { | ||
return result + (plural(num) ? 'hodiny' : 'hodin'); | ||
} | ||
return result + 'hodinami'; | ||
case 'd': // a day / in a day / a day ago | ||
return (withoutSuffix || isFuture) ? 'den' : 'dnem'; | ||
case 'dd': // 9 days / in 9 days / 9 days ago | ||
if (withoutSuffix || isFuture) { | ||
return result + (plural(num) ? 'dny' : 'dní'); | ||
} | ||
return result + 'dny'; | ||
case 'M': // a month / in a month / a month ago | ||
return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem'; | ||
case 'MM': // 9 months / in 9 months / 9 months ago | ||
if (withoutSuffix || isFuture) { | ||
return result + (plural(num) ? 'měsíce' : 'měsíců'); | ||
} | ||
return result + 'měsíci'; | ||
case 'y': // a year / in a year / a year ago | ||
return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; | ||
case 'yy': // 9 years / in 9 years / 9 years ago | ||
if (withoutSuffix || isFuture) { | ||
return result + (plural(num) ? 'roky' : 'let'); | ||
} | ||
return result + 'lety'; | ||
} | ||
} | ||
|
||
export const cs: LocaleData = { | ||
abbr: 'cs', | ||
months: 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'), | ||
monthsShort: 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_'), | ||
weekdays: 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'), | ||
weekdaysShort: 'ne_po_út_st_čt_pá_so'.split('_'), | ||
weekdaysMin: 'ne_po_út_st_čt_pá_so'.split('_'), | ||
longDateFormat: { | ||
LT: 'HH:mm', | ||
LTS: 'HH:mm:ss', | ||
L: 'DD.MM.YYYY', | ||
LL: 'D. MMMM YYYY', | ||
LLL: 'D. MMMM YYYY HH:mm', | ||
LLLL: 'dddd, D. MMMM YYYY HH:mm', | ||
l : 'D. M. YYYY' | ||
}, | ||
calendar: { | ||
sameDay: '[dnes v] LT', | ||
nextDay: '[zítra v] LT', | ||
nextWeek: '[příští] dddd [v] LT', | ||
lastDay: '[včera v] LT', | ||
lastWeek: '[minulý] dddd [v] LT', | ||
sameElse: 'L' | ||
}, | ||
relativeTime: { | ||
future: 'za %s', | ||
past: 'před %s', | ||
s: translate, | ||
m: translate, | ||
mm: translate, | ||
h: translate, | ||
hh: translate, | ||
d: translate, | ||
dd: translate, | ||
M: translate, | ||
MM: translate, | ||
y: translate, | ||
yy: translate | ||
}, | ||
dayOfMonthOrdinalParse : /\d{1,2}\./, | ||
ordinal(num: number): string { return `${num}.`; }, | ||
week: { | ||
dow: 1, // Monday is the first day of the week. | ||
doy: 4 // The week that contains Jan 4th is the first week of the year. | ||
} | ||
}; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters