From 787f8e638fc1b106deb3a38d255a59c29c5f2d75 Mon Sep 17 00:00:00 2001 From: Capybara-z Date: Thu, 1 May 2025 19:09:49 +0300 Subject: [PATCH 1/2] fix name month MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Отображение месяцев на русском. --- handlers/utils.py | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/handlers/utils.py b/handlers/utils.py index 189bae49..7aeec6e9 100644 --- a/handlers/utils.py +++ b/handlers/utils.py @@ -10,6 +10,7 @@ import asyncpg from aiogram.types import BufferedInputFile, InlineKeyboardMarkup, InputMediaPhoto, Message +from datetime import datetime from bot import bot from config import ADMIN_ID, DATABASE_URL from database import get_all_keys, get_servers @@ -256,3 +257,33 @@ def sanitize_key_name(key_name: str) -> str: str: Очищенное название ключа в нижнем регистре. """ return re.sub(r"[^a-z0-9@._-]", "", key_name.lower()) + + +RUSSIAN_MONTHS = { + 'January': 'Января', + 'February': 'Февраля', + 'March': 'Марта', + 'April': 'Апреля', + 'May': 'Мая', + 'June': 'Июня', + 'July': 'Июля', + 'August': 'Августа', + 'September': 'Сентября', + 'October': 'Октября', + 'November': 'Ноября', + 'December': 'Декабря' +} + + +def get_russian_month(date: datetime) -> str: + """ + Преобразует английское название месяца в русское. + + Args: + date: Объект datetime, из которого извлекается месяц. + + Returns: + Название месяца на русском языке. + """ + english_month = date.strftime("%B") + return RUSSIAN_MONTHS.get(english_month, english_month) From 16d09cbe223211ca9b81d0924feb64516d51da06 Mon Sep 17 00:00:00 2001 From: Capybara-z Date: Thu, 1 May 2025 19:16:05 +0300 Subject: [PATCH 2/2] fix name month MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Отображение месяцев на русском. --- handlers/keys/key_view.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/handlers/keys/key_view.py b/handlers/keys/key_view.py index 33751f28..8b3fe11b 100644 --- a/handlers/keys/key_view.py +++ b/handlers/keys/key_view.py @@ -52,6 +52,7 @@ from handlers.utils import ( format_days, format_hours, format_minutes, + get_russian_month, handle_error, is_full_remnawave_cluster, ) @@ -231,7 +232,7 @@ async def process_callback_view_key(callback_query: CallbackQuery, session: Any) f"Осталось: {format_days(days)}, {format_hours(hours)}, {format_minutes(minutes)}" ) - formatted_expiry_date = expiry_date.strftime("%d %B %Y года") + formatted_expiry_date = f"{expiry_date.strftime('%d')} {get_russian_month(expiry_date)} {expiry_date.strftime('%Y')} года" response_message = key_message( final_link, formatted_expiry_date,