Добавление формулы склонения.
- Добалвение формулы склонения - Адаптация клонение дней к новой формуле.
This commit is contained in:
+7
-7
@@ -152,6 +152,12 @@ def format_time_until_deletion(seconds: int) -> str:
|
|||||||
return " и ".join(parts) if parts else "менее минуты"
|
return " и ".join(parts) if parts else "менее минуты"
|
||||||
|
|
||||||
|
|
||||||
|
def get_plural_form(num: int, form1: str, form2: str, form3: str) -> str:
|
||||||
|
n = abs(num) % 100
|
||||||
|
if 10 < n < 20:
|
||||||
|
return form3
|
||||||
|
return {1: form1, 2: form2, 3: form2, 4: form2}.get(n % 10, form3)
|
||||||
|
|
||||||
def format_days(days: int) -> str:
|
def format_days(days: int) -> str:
|
||||||
"""
|
"""
|
||||||
Форматирует количество дней с правильным склонением.
|
Форматирует количество дней с правильным склонением.
|
||||||
@@ -164,13 +170,7 @@ def format_days(days: int) -> str:
|
|||||||
"""
|
"""
|
||||||
if days <= 0:
|
if days <= 0:
|
||||||
return "0 дней"
|
return "0 дней"
|
||||||
|
return f"{days} {get_plural_form(days, 'день', 'дня', 'дней')}"
|
||||||
if days % 10 == 1 and days % 100 != 11:
|
|
||||||
return f"{days} день"
|
|
||||||
elif days % 10 in [2, 3, 4] and days % 100 not in [12, 13, 14]:
|
|
||||||
return f"{days} дня"
|
|
||||||
else:
|
|
||||||
return f"{days} дней"
|
|
||||||
|
|
||||||
|
|
||||||
async def edit_or_send_message(
|
async def edit_or_send_message(
|
||||||
|
|||||||
Reference in New Issue
Block a user