Перенеси этот класс на язык kotlin и пиши на русском.

package dev.okenote.commands.punish;

import dev.okenote.JediCraft;
import dev.okenote.database.PunishmentHistory;
import dev.okenote.database.User;
import dev.okenote.entities.player.PunishmentType;
import dev.okenote.managers.ChatManager;
import dev.okenote.managers.TimeManager;
import dev.okenote.project.module.GameModule;
import lombok.Getter;
import net.kyori.adventure.text.Component;
import net.kyori.adventure.text.format.NamedTextColor;
import net.kyori.adventure.text.format.TextDecoration;

@Getter
public class PunishmentManager extends GameModule {

    public final String uidPunish = jediCraft.getManagerLayer().getChatManager().randomUUID(8);
    public final Long oneYearsTime = 31536000000L;
    public String defaultReason = "Нарушение правил";

    public PunishmentManager(JediCraft jediCraft) {
        super(jediCraft);
    }

    public Component kickMessage(PunishmentType punishmentType, String punishedName, String reason, long endDate, String uid) {
        ChatManager chat = jediCraft.getManagerLayer().getChatManager();
        return Component.text().append(chat.getPrefix().decorate(TextDecoration.BOLD))
                .appendNewline().appendNewline()
                .append(Component.text((punishmentType == PunishmentType.KICK ? "Вы были кикнуты с сервера" : "Вы были забанены на этом сервере"), NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .appendNewline()
                .append(Component.text("♦ ", NamedTextColor.YELLOW, TextDecoration.BOLD))
                .append(Component.text("Дата " + (punishmentType == PunishmentType.KICK ? "кика: " : "блокировки: "), NamedTextColor.WHITE, TextDecoration.BOLD))
                .append(Component.text(chat.getDate("dateTime", chat.date()), NamedTextColor.YELLOW, TextDecoration.BOLD))
                .appendNewline()
                .append(Component.text("♦ ", NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .append(Component.text((punishmentType == PunishmentType.KICK ? "Кикнул: " : "Забанил: "), NamedTextColor.WHITE, TextDecoration.BOLD))
                .append(Component.text(punishedName, NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .appendNewline()
                .append(Component.text("♦ ", NamedTextColor.RED, TextDecoration.BOLD))
                .append(Component.text("По причине: ", NamedTextColor.WHITE, TextDecoration.BOLD))
                .append(Component.text(reason).color(NamedTextColor.DARK_RED).decorate(TextDecoration.BOLD))
                .append(punishmentType == PunishmentType.BAN ? Component.text().appendNewline() : Component.text(""))
                .append(Component.text(punishmentType == PunishmentType.BAN ? "⌛ " : "", NamedTextColor.LIGHT_PURPLE, TextDecoration.BOLD))
                .append(Component.text(punishmentType == PunishmentType.BAN ? "Дата окончания блокировки:\n" : "", NamedTextColor.WHITE, TextDecoration.BOLD))
                .append(Component.text(punishmentType == PunishmentType.BAN ? chat.getDate(true, "dateTime", endDate) : "", NamedTextColor.LIGHT_PURPLE, TextDecoration.BOLD))
                .appendNewline().appendNewline()
                .append(Component.text("Вы можете обжаловать наказание на форуме", NamedTextColor.GREEN, TextDecoration.BOLD))
                .appendNewline()
                .append(Component.text("https://t.me/ow3nny", NamedTextColor.DARK_GREEN, TextDecoration.BOLD))
                .appendNewline().appendNewline()
                .append(Component.text("[Идентификатор вашего наказания (", NamedTextColor.GRAY, TextDecoration.BOLD))
                .append(Component.text(uid, NamedTextColor.DARK_GRAY, TextDecoration.BOLD))
                .append(Component.text(")]", NamedTextColor.GRAY, TextDecoration.BOLD))
                .build();
    }

    public Component sendToAllMessage(PunishmentType type, String punishedName, User userTarget, String reason, long endDate, String uid) {
        return Component.text()
                .append(Component.text("Игрок ", type == PunishmentType.MUTE ? NamedTextColor.GOLD : NamedTextColor.DARK_RED))
                .append(Component.text(userTarget.getUsername(), NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .append(Component.text(" получил " + (type == PunishmentType.MUTE ? "мут" : "бан") + " от ", type == PunishmentType.MUTE ? NamedTextColor.GOLD : NamedTextColor.DARK_RED))
                .append(Component.text(punishedName, NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .append(Component.text(" на ", type == PunishmentType.MUTE ? NamedTextColor.GOLD : NamedTextColor.DARK_RED))
                .append(Component.text(TimeManager.getTime(endDate), NamedTextColor.DARK_RED, TextDecoration.BOLD))
                .append(Component.text(" по причине: ", type == PunishmentType.MUTE ? NamedTextColor.GOLD : NamedTextColor.DARK_RED))
                .append(Component.text(reason).color(NamedTextColor.DARK_RED).decorate(TextDecoration.BOLD))
                .append(Component.text(" (", NamedTextColor.GRAY))
                .append(Component.text(uid, NamedTextColor.GRAY))
                .append(Component.text(")", NamedTextColor.GRAY))
                .build();
    }

    public Component sendToAllUnPunishMessage(String punishedName, User userTarget, PunishmentType type) {
        return Component.text()
                .append(Component.text("Игрок " + punishedName + " снял " +
                        (type == PunishmentType.MUTE ? "мут" : "бан") +
                        " с игрока " + userTarget.getOriginalName() + ".", NamedTextColor.GREEN))
                .build();
    }

    public void saveHistory(String uid, String username,
                            PunishmentType type, String punishedName,
                            Long endDate, String reason) {
        JediCraft.getJediCraft().getDataBaseLayer().getPunishHistoryDao().load(uid,
                new PunishmentHistory(uid, username, type, punishedName, endDate, reason));
    }
}