@fifteen/design-system-vue
Version:
Vue 3 (Composition API + Typescript) implementation of the Fifteen Design System
185 lines (184 loc) • 7.05 kB
JavaScript
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
};