UNPKG

@fifteen/design-system-vue

Version:

Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System

185 lines (184 loc) 7.05 kB
function t(i, n) { if (i.one !== void 0 && n === 1) return i.one; const e = n % 10, r = n % 100; return e === 1 && r !== 11 ? i.singularNominative.replace("{{count}}", String(n)) : e >= 2 && e <= 4 && (r < 10 || r > 20) ? i.singularGenitive.replace("{{count}}", String(n)) : i.pluralGenitive.replace("{{count}}", String(n)); } function u(i) { return (n, e) => e?.addSuffix ? e.comparison && e.comparison > 0 ? i.future ? t(i.future, n) : "через " + t(i.regular, n) : i.past ? t(i.past, n) : t(i.regular, n) + " назад" : t(i.regular, n); } const a = { lessThanXSeconds: u({ regular: { one: "меньше секунды", singularNominative: "меньше {{count}} секунды", singularGenitive: "меньше {{count}} секунд", pluralGenitive: "меньше {{count}} секунд" }, future: { one: "меньше, чем через секунду", singularNominative: "меньше, чем через {{count}} секунду", singularGenitive: "меньше, чем через {{count}} секунды", pluralGenitive: "меньше, чем через {{count}} секунд" } }), xSeconds: u({ regular: { singularNominative: "{{count}} секунда", singularGenitive: "{{count}} секунды", pluralGenitive: "{{count}} секунд" }, past: { singularNominative: "{{count}} секунду назад", singularGenitive: "{{count}} секунды назад", pluralGenitive: "{{count}} секунд назад" }, future: { singularNominative: "через {{count}} секунду", singularGenitive: "через {{count}} секунды", pluralGenitive: "через {{count}} секунд" } }), halfAMinute: (i, n) => n?.addSuffix ? n.comparison && n.comparison > 0 ? "через полминуты" : "полминуты назад" : "полминуты", lessThanXMinutes: u({ regular: { one: "меньше минуты", singularNominative: "меньше {{count}} минуты", singularGenitive: "меньше {{count}} минут", pluralGenitive: "меньше {{count}} минут" }, future: { one: "меньше, чем через минуту", singularNominative: "меньше, чем через {{count}} минуту", singularGenitive: "меньше, чем через {{count}} минуты", pluralGenitive: "меньше, чем через {{count}} минут" } }), xMinutes: u({ regular: { singularNominative: "{{count}} минута", singularGenitive: "{{count}} минуты", pluralGenitive: "{{count}} минут" }, past: { singularNominative: "{{count}} минуту назад", singularGenitive: "{{count}} минуты назад", pluralGenitive: "{{count}} минут назад" }, future: { singularNominative: "через {{count}} минуту", singularGenitive: "через {{count}} минуты", pluralGenitive: "через {{count}} минут" } }), aboutXHours: u({ regular: { singularNominative: "около {{count}} часа", singularGenitive: "около {{count}} часов", pluralGenitive: "около {{count}} часов" }, future: { singularNominative: "приблизительно через {{count}} час", singularGenitive: "приблизительно через {{count}} часа", pluralGenitive: "приблизительно через {{count}} часов" } }), xHours: u({ regular: { singularNominative: "{{count}} час", singularGenitive: "{{count}} часа", pluralGenitive: "{{count}} часов" } }), xDays: u({ regular: { singularNominative: "{{count}} день", singularGenitive: "{{count}} дня", pluralGenitive: "{{count}} дней" } }), aboutXWeeks: u({ regular: { singularNominative: "около {{count}} недели", singularGenitive: "около {{count}} недель", pluralGenitive: "около {{count}} недель" }, future: { singularNominative: "приблизительно через {{count}} неделю", singularGenitive: "приблизительно через {{count}} недели", pluralGenitive: "приблизительно через {{count}} недель" } }), xWeeks: u({ regular: { singularNominative: "{{count}} неделя", singularGenitive: "{{count}} недели", pluralGenitive: "{{count}} недель" } }), aboutXMonths: u({ regular: { singularNominative: "около {{count}} месяца", singularGenitive: "около {{count}} месяцев", pluralGenitive: "около {{count}} месяцев" }, future: { singularNominative: "приблизительно через {{count}} месяц", singularGenitive: "приблизительно через {{count}} месяца", pluralGenitive: "приблизительно через {{count}} месяцев" } }), xMonths: u({ regular: { singularNominative: "{{count}} месяц", singularGenitive: "{{count}} месяца", pluralGenitive: "{{count}} месяцев" } }), aboutXYears: u({ regular: { singularNominative: "около {{count}} года", singularGenitive: "около {{count}} лет", pluralGenitive: "около {{count}} лет" }, future: { singularNominative: "приблизительно через {{count}} год", singularGenitive: "приблизительно через {{count}} года", pluralGenitive: "приблизительно через {{count}} лет" } }), xYears: u({ regular: { singularNominative: "{{count}} год", singularGenitive: "{{count}} года", pluralGenitive: "{{count}} лет" } }), overXYears: u({ regular: { singularNominative: "больше {{count}} года", singularGenitive: "больше {{count}} лет", pluralGenitive: "больше {{count}} лет" }, future: { singularNominative: "больше, чем через {{count}} год", singularGenitive: "больше, чем через {{count}} года", pluralGenitive: "больше, чем через {{count}} лет" } }), almostXYears: u({ regular: { singularNominative: "почти {{count}} год", singularGenitive: "почти {{count}} года", pluralGenitive: "почти {{count}} лет" }, future: { singularNominative: "почти через {{count}} год", singularGenitive: "почти через {{count}} года", pluralGenitive: "почти через {{count}} лет" } }) }, l = (i, n, e) => a[i](n, e); export { l as formatDistance };