date-fns
Version:
Modern JavaScript date utility library
295 lines (289 loc) • 7.37 kB
JavaScript
var formatDistanceLocale = {
lessThanXSeconds: {
one: {
regular: 'méně než vteřina',
past: 'před méně než vteřinou',
future: 'za méně než vteřinu'
},
few: {
regular: 'méně než {{count}} vteřiny',
past: 'před méně než {{count}} vteřinami',
future: 'za méně než {{count}} vteřiny'
},
many: {
regular: 'méně než {{count}} vteřin',
past: 'před méně než {{count}} vteřinami',
future: 'za méně než {{count}} vteřin'
}
},
xSeconds: {
one: {
regular: 'vteřina',
past: 'před vteřinou',
future: 'za vteřinu'
},
few: {
regular: '{{count}} vteřiny',
past: 'před {{count}} vteřinami',
future: 'za {{count}} vteřiny'
},
many: {
regular: '{{count}} vteřin',
past: 'před {{count}} vteřinami',
future: 'za {{count}} vteřin'
}
},
halfAMinute: {
other: {
regular: 'půl minuty',
past: 'před půl minutou',
future: 'za půl minuty'
}
},
lessThanXMinutes: {
one: {
regular: 'méně než minuta',
past: 'před méně než minutou',
future: 'za méně než minutu'
},
few: {
regular: 'méně než {{count}} minuty',
past: 'před méně než {{count}} minutami',
future: 'za méně než {{count}} minuty'
},
many: {
regular: 'méně než {{count}} minut',
past: 'před méně než {{count}} minutami',
future: 'za méně než {{count}} minut'
}
},
xMinutes: {
one: {
regular: 'minuta',
past: 'před minutou',
future: 'za minutu'
},
few: {
regular: '{{count}} minuty',
past: 'před {{count}} minutami',
future: 'za {{count}} minuty'
},
many: {
regular: '{{count}} minut',
past: 'před {{count}} minutami',
future: 'za {{count}} minut'
}
},
aboutXHours: {
one: {
regular: 'přibližně hodina',
past: 'přibližně před hodinou',
future: 'přibližně za hodinu'
},
few: {
regular: 'přibližně {{count}} hodiny',
past: 'přibližně před {{count}} hodinami',
future: 'přibližně za {{count}} hodiny'
},
many: {
regular: 'přibližně {{count}} hodin',
past: 'přibližně před {{count}} hodinami',
future: 'přibližně za {{count}} hodin'
}
},
xHours: {
one: {
regular: 'hodina',
past: 'před hodinou',
future: 'za hodinu'
},
few: {
regular: '{{count}} hodiny',
past: 'před {{count}} hodinami',
future: 'za {{count}} hodiny'
},
many: {
regular: '{{count}} hodin',
past: 'před {{count}} hodinami',
future: 'za {{count}} hodin'
}
},
xDays: {
one: {
regular: 'den',
past: 'před dnem',
future: 'za den'
},
few: {
regular: '{{count}} dny',
past: 'před {{count}} dny',
future: 'za {{count}} dny'
},
many: {
regular: '{{count}} dní',
past: 'před {{count}} dny',
future: 'za {{count}} dní'
}
},
aboutXWeeks: {
one: {
regular: 'přibližně týden',
past: 'přibližně před týdnem',
future: 'přibližně za týden'
},
few: {
regular: 'přibližně {{count}} týdny',
past: 'přibližně před {{count}} týdny',
future: 'přibližně za {{count}} týdny'
},
many: {
regular: 'přibližně {{count}} týdnů',
past: 'přibližně před {{count}} týdny',
future: 'přibližně za {{count}} týdnů'
}
},
xWeeks: {
one: {
regular: 'týden',
past: 'před týdnem',
future: 'za týden'
},
few: {
regular: '{{count}} týdny',
past: 'před {{count}} týdny',
future: 'za {{count}} týdny'
},
many: {
regular: '{{count}} týdnů',
past: 'před {{count}} týdny',
future: 'za {{count}} týdnů'
}
},
aboutXMonths: {
one: {
regular: 'přibližně měsíc',
past: 'přibližně před měsícem',
future: 'přibližně za měsíc'
},
few: {
regular: 'přibližně {{count}} měsíce',
past: 'přibližně před {{count}} měsíci',
future: 'přibližně za {{count}} měsíce'
},
many: {
regular: 'přibližně {{count}} měsíců',
past: 'přibližně před {{count}} měsíci',
future: 'přibližně za {{count}} měsíců'
}
},
xMonths: {
one: {
regular: 'měsíc',
past: 'před měsícem',
future: 'za měsíc'
},
few: {
regular: '{{count}} měsíce',
past: 'před {{count}} měsíci',
future: 'za {{count}} měsíce'
},
many: {
regular: '{{count}} měsíců',
past: 'před {{count}} měsíci',
future: 'za {{count}} měsíců'
}
},
aboutXYears: {
one: {
regular: 'přibližně rok',
past: 'přibližně před rokem',
future: 'přibližně za rok'
},
few: {
regular: 'přibližně {{count}} roky',
past: 'přibližně před {{count}} roky',
future: 'přibližně za {{count}} roky'
},
many: {
regular: 'přibližně {{count}} roků',
past: 'přibližně před {{count}} roky',
future: 'přibližně za {{count}} roků'
}
},
xYears: {
one: {
regular: 'rok',
past: 'před rokem',
future: 'za rok'
},
few: {
regular: '{{count}} roky',
past: 'před {{count}} roky',
future: 'za {{count}} roky'
},
many: {
regular: '{{count}} roků',
past: 'před {{count}} roky',
future: 'za {{count}} roků'
}
},
overXYears: {
one: {
regular: 'více než rok',
past: 'před více než rokem',
future: 'za více než rok'
},
few: {
regular: 'více než {{count}} roky',
past: 'před více než {{count}} roky',
future: 'za více než {{count}} roky'
},
many: {
regular: 'více než {{count}} roků',
past: 'před více než {{count}} roky',
future: 'za více než {{count}} roků'
}
},
almostXYears: {
one: {
regular: 'skoro rok',
past: 'skoro před rokem',
future: 'skoro za rok'
},
few: {
regular: 'skoro {{count}} roky',
past: 'skoro před {{count}} roky',
future: 'skoro za {{count}} roky'
},
many: {
regular: 'skoro {{count}} roků',
past: 'skoro před {{count}} roky',
future: 'skoro za {{count}} roků'
}
}
};
export default function formatDistance(token, count, options) {
options = options || {};
var scheme = formatDistanceLocale[token]; // cs pluralization
var pluralToken;
if (typeof scheme.other === 'object') {
pluralToken = 'other';
} else if (count === 1) {
pluralToken = 'one';
} else if (count > 1 && count < 5 || count === 0) {
pluralToken = 'few';
} else {
pluralToken = 'many';
} // times
var suffixExist = options.addSuffix === true;
var comparison = options.comparison;
var timeToken;
if (suffixExist && comparison === -1) {
timeToken = 'past';
} else if (suffixExist && comparison === 1) {
timeToken = 'future';
} else {
timeToken = 'regular';
}
return scheme[pluralToken][timeToken].replace('{{count}}', count);
}