feat: add chat message translation via LibreTranslate

Adds optional translation feature that shows translated chat messages
on hover in each viewer's Minecraft client language.

- TranslationService with LibreTranslate API support and caching
- Config options: enabled, endpoint, api-key
- Hover translation on chat messages in EnhancedChatRenderer
- Disabled by default, supports any LibreTranslate-compatible endpoint
This commit is contained in:
loki5512344 2026-07-06 00:01:59 +02:00
parent 4737d52cdd
commit 25cd6c3e88
7 changed files with 237 additions and 1 deletions

View file

@ -15,6 +15,7 @@ import com.loki.lochat.gradient.GradientModule;
import com.loki.lochat.integrations.DiscordIntegration;
import com.loki.lochat.managers.AutoMessageManager;
import com.loki.lochat.managers.CustomCommandManager;
import com.loki.lochat.translate.TranslationService;
import org.bukkit.Bukkit;
import org.bukkit.plugin.java.JavaPlugin;
@ -31,6 +32,7 @@ public final class LoChat extends JavaPlugin {
private ServiceRegistry serviceRegistry;
private ConfigManager configManager;
private MessageConfig messageConfig;
private TranslationService translationService;
private GradientModule gradientModule;
private AutoMessageManager autoMessageManager;
private CustomCommandManager customCommandManager;
@ -53,6 +55,12 @@ public final class LoChat extends JavaPlugin {
// Конфиги
configManager = initializer.initConfigs();
messageConfig = initializer.initMessageConfig();
translationService = new TranslationService(
configManager.getTranslationEndpoint(),
configManager.getTranslationApiKey(),
configManager.isTranslationEnabled(),
getLogger()
);
// Service Registry (SOLID DI)
serviceRegistry = initializer.initServiceRegistry(configManager, messageConfig);
@ -141,4 +149,8 @@ public final class LoChat extends JavaPlugin {
public DiscordIntegration getDiscordIntegration() {
return discordIntegration;
}
public TranslationService getTranslationService() {
return translationService;
}
}