@dcvdvq

Как локализовать label в декораторе button ui?

class ChessInviteResponder(ChessView):
    """Класс для отображения кнопок приглашения в шахматную игру."""
    def __init__(
        self,
        inviter: disnake.Member,
        invited: disnake.Member,
        chess960: bool,
        language: str,
        game_id: int,
        *args, **kwargs
    ):
        super().__init__(*args, **kwargs)
        self.inviter: disnake.Member = inviter
        self.invited: disnake.Member = invited
        self.chess960: bool = chess960
        self.language: str = language
        self.game_id: int = game_id

    @disnake.ui.button(
        label=disnake.Localized(
            "Accept",
            key="button_accept_label"
        ),
        style=disnake.ButtonStyle.green, custom_id="accept_invite"
    )
    async def accept_invite_button(self, button: disnake.ui.Button, inter: disnake.MessageInteraction) -> None:
        if inter.author.id == self.invited.id:
            accept_button = AcceptInviteButton(
                bot=self.bot,
                inviter=self.inviter,
                invited=self.invited,
                chess960=self.chess960,
                language=self.language,
                game_id=self.game_id
            )
            await accept_button.callback(button, inter)
        elif inter.author.id == self.inviter.id:
            await inter.response.send_message(
                content="Вы не можете принять решение, так как вы пригласили другого игрока в игру."
                        " Пожалуйста, дождитесь ответа приглашенного игрока.",
                ephemeral=True
            )
        else:
            await inter.response.send_message("Не ваше приглашение", ephemeral=True)

disnake.Localized() не работает тут
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
fenrir1121
@fenrir1121 Куратор тега discord.py
Начни с документации
Localized работает только для команд и их параметров.

Для всего остального используйте другое решение и библиотеки, например i18n
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы