From b25a74df0126ddfbc21b4b0decc266d99a8fe2d2 Mon Sep 17 00:00:00 2001 From: Oliver Date: Thu, 15 May 2025 21:08:57 +0200 Subject: [PATCH] fancydialogs: Add translator --- .../fancydialogs/FancyDialogsPlugin.java | 15 +++++++++++++++ .../fancydialogs/config/FancyDialogsConfig.java | 8 ++++++++ 2 files changed, 23 insertions(+) diff --git a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/FancyDialogsPlugin.java b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/FancyDialogsPlugin.java index 15e1caa0..105347e8 100644 --- a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/FancyDialogsPlugin.java +++ b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/FancyDialogsPlugin.java @@ -12,6 +12,9 @@ import de.oliver.fancyanalytics.logger.appender.Appender; import de.oliver.fancyanalytics.logger.appender.ConsoleAppender; import de.oliver.fancyanalytics.logger.appender.JsonAppender; import de.oliver.fancylib.serverSoftware.ServerSoftware; +import de.oliver.fancylib.translations.Language; +import de.oliver.fancylib.translations.TextConfig; +import de.oliver.fancylib.translations.Translator; import org.bukkit.Bukkit; import org.bukkit.plugin.java.JavaPlugin; @@ -28,6 +31,7 @@ public class FancyDialogsPlugin extends JavaPlugin { private final ExtendedFancyLogger fancyLogger; private FancyDialogsConfig fdConfig; + private Translator translator; private DialogRegistry dialogRegistry; private DialogStorage dialogStorage; @@ -58,6 +62,13 @@ public class FancyDialogsPlugin extends JavaPlugin { fdConfig = new FancyDialogsConfig(); fdConfig.load(); + translator = new Translator(new TextConfig("#32e347", "#35ad1d", "#81E366", "#E3CA66", "#E36666", "")); + translator.loadLanguages(getDataFolder().getAbsolutePath()); + final Language selectedLanguage = translator.getLanguages().stream() + .filter(language -> language.getLanguageName().equals(fdConfig.getLanguage())) + .findFirst().orElse(translator.getFallbackLanguage()); + translator.setSelectedLanguage(selectedLanguage); + dialogStorage = new JsonDialogStorage(); Collection dialogs = dialogStorage.loadAll(); @@ -97,6 +108,10 @@ public class FancyDialogsPlugin extends JavaPlugin { return fancyLogger; } + public Translator getTranslator() { + return translator; + } + public FancyDialogsConfig getFancyDialogsConfig() { return fdConfig; } diff --git a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/config/FancyDialogsConfig.java b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/config/FancyDialogsConfig.java index 5f6f05b5..386eddd4 100644 --- a/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/config/FancyDialogsConfig.java +++ b/plugins/fancydialogs/src/main/java/com/fancyinnovations/fancydialogs/config/FancyDialogsConfig.java @@ -8,12 +8,16 @@ import java.util.List; public class FancyDialogsConfig { + private String language; private String welcomeDialogID; public void load() { FancyDialogsPlugin.get().reloadConfig(); final FileConfiguration config = FancyDialogsPlugin.get().getConfig(); + language = (String) ConfigHelper.getOrDefault(config, "language", "default"); + config.setInlineComments("language", List.of("The language of the plugin.")); + welcomeDialogID = (String) ConfigHelper.getOrDefault(config, "welcome_dialog_id", "welcome-dialog"); config.setInlineComments("welcome_dialog_id", List.of("The ID of the dialog which will be shown to the player when they join the server for the first time.")); } @@ -21,4 +25,8 @@ public class FancyDialogsConfig { public String getWelcomeDialogID() { return welcomeDialogID; } + + public String getLanguage() { + return language; + } }