Files
portal/app/resources/js/utils/plural.ts
T
Дмитрий 49bc32335e
Accessibility (Pa11y live) / a11y (push) Has been cancelled
SAST — Semgrep / Semgrep SAST scan (push) Has been cancelled
fix(ui): русская локаль Vuetify (таблицы/пагинация были по-английски) + склонение лид/день + русский Sync-статус
2026-06-21 13:13:53 +03:00

16 lines
676 B
TypeScript

/**
* Русское склонение по числу: 1 лид / 2 лида / 5 лидов (one / few / many).
* Правило стандартное (mod 10 / mod 100).
*/
export function pluralRu(n: number, one: string, few: string, many: string): string {
const abs = Math.abs(n);
const m10 = abs % 10;
const m100 = abs % 100;
if (m10 === 1 && m100 !== 11) return one;
if (m10 >= 2 && m10 <= 4 && (m100 < 12 || m100 > 14)) return few;
return many;
}
export const leadsWord = (n: number): string => pluralRu(n, 'лид', 'лида', 'лидов');
export const daysWord = (n: number): string => pluralRu(n, 'день', 'дня', 'дней');