Как передать класс в конструктор в Python

Пишу телеграмм-бота со встроенным календарем (из библиотеки telegram_bot_calendar)

Столкнулся с проблемой, что календарь на англ языке, однако нагуглил, как его перевести.

from telegram_bot_calendar import DetailedTelegramCalendar, LSTEP

your_translation_months = list('январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь')

your_translation_days_of_week = list('ПонедельникВторникСредаЧетвергПятницаСубботаВоскресенье')


class MyTranslationCalendar(DetailedTelegramCalendar):
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        self.days_of_week['yourtransl'] = your_translation_days_of_week
        self.months['yourtransl'] = your_translation_months

Но не могу додумать, как добавить этот класс в конструктор:

@bot.message_handler(commands=['calendar'])


def start(message):
    calendar, step = DetailedTelegramCalendar().build()
    bot.send_message(message.chat.id,
                     f"Select {LSTEP[step]}",
                     reply_markup=calendar)


@bot.callback_query_handler(func=DetailedTelegramCalendar.func())
def cal(call):
    result, key, step = DetailedTelegramCalendar().process(call.data)
    if not result and key:
        bot.edit_message_text(f"Select {LSTEP[step]}",
                              call.message.chat.id,
                              call.message.message_id,
                              reply_markup=key)
    elif result:
        bot.edit_message_text(f"You selected {result}",
                              call.message.chat.id,
                              call.message.message_id)

Не судите за глупые вопросы, изучая Python, взялся за небольшой проект, дабы прокачать скилл на практике!

Всем спасибо!


Ответы (2 шт):

Автор решения: CrazyElf

Если я правильно понял вопрос, то просто заменяете использование старого класса на новый у себя везде, и всё. Т.е. старый код:

@bot.message_handler(commands=['calendar'])
def start(message):
    calendar, step = DetailedTelegramCalendar().build()
    ...

Заменить на:

@bot.message_handler(commands=['calendar'])
def start(message):
    calendar, step = MyTranslationCalendar().build()
                     ^^^^^^^^^^^^^^^^^^^^^
    ...

И так везде в коде бота.

→ Ссылка
Автор решения: Дмитрий

Можно просто использовать: DetailedTelegramCalendar(local='ru')

→ Ссылка