fancydialogs: Add translator

This commit is contained in:
Oliver
2025-05-15 21:08:57 +02:00
committed by Oliver
parent 4cc3d1189e
commit b25a74df01
2 changed files with 23 additions and 0 deletions

View File

@@ -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<Dialog> dialogs = dialogStorage.loadAll();
@@ -97,6 +108,10 @@ public class FancyDialogsPlugin extends JavaPlugin {
return fancyLogger;
}
public Translator getTranslator() {
return translator;
}
public FancyDialogsConfig getFancyDialogsConfig() {
return fdConfig;
}

View File

@@ -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;
}
}