From b82f47fb3bdf67cd69e759fade8a06addace3a1c Mon Sep 17 00:00:00 2001 From: LabodiDavid Date: Fri, 28 Mar 2025 18:05:22 +0100 Subject: [PATCH] Implemented translation --- src/main/java/hu/ditservices/STPlugin.java | 34 ++++++++++++++++ .../hu/ditservices/commands/PingCommand.java | 2 +- .../commands/PluginManagerCommand.java | 12 +++--- .../ditservices/commands/SettingsCommand.java | 19 +++++---- .../hu/ditservices/commands/StatCommand.java | 18 +++++---- .../ditservices/handlers/CommandHandler.java | 12 +++--- .../handlers/LoginCommandHandler.java | 9 +++-- .../listeners/ServerPasswordEvents.java | 6 +-- src/main/resources/config.yml | 5 ++- src/main/resources/lang/en.yml | 39 +++++++++++++++++++ src/main/resources/lang/hu.yml | 39 +++++++++++++++++++ 11 files changed, 158 insertions(+), 37 deletions(-) create mode 100644 src/main/resources/lang/en.yml create mode 100644 src/main/resources/lang/hu.yml diff --git a/src/main/java/hu/ditservices/STPlugin.java b/src/main/java/hu/ditservices/STPlugin.java index 1718614..72a5bdf 100644 --- a/src/main/java/hu/ditservices/STPlugin.java +++ b/src/main/java/hu/ditservices/STPlugin.java @@ -11,6 +11,7 @@ import org.bukkit.ChatColor; import org.bukkit.command.CommandExecutor; import org.bukkit.command.PluginCommand; import org.bukkit.configuration.file.FileConfiguration; +import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.event.Listener; import org.bukkit.plugin.java.JavaPlugin; @@ -30,6 +31,8 @@ public final class STPlugin extends JavaPlugin implements CommandExecutor, Liste private FileConfiguration config; public long ServerStartTime; + + private YamlConfiguration langConfig; private ServerPasswordData serverPasswordData; @Override @@ -186,6 +189,31 @@ public final class STPlugin extends JavaPlugin implements CommandExecutor, Liste return this.serverPasswordData; } + private void initLocalization() throws IOException { + File langFolder = new File(getDataFolder(), "lang"); + if (!langFolder.exists()) { + langFolder.mkdirs(); + } + + String[] languages = {"en", "hu"}; + for (String l : languages) { + File langFile = new File(langFolder, l + ".yml"); + ConfigUpdater.update(this, "lang/"+l+".yml", langFile, Collections.emptyList()); + } + + String lang = this.config.getString("language", "en"); + File langFile = new File(getDataFolder(), "lang/" + lang + ".yml"); + if (!langFile.exists()) { + getLogger().warning("Language file for '" + lang + "' not found. Falling back to English."); + langFile = new File(getDataFolder(), "lang/en.yml"); + } + this.langConfig = YamlConfiguration.loadConfiguration(langFile); + } + + public String getTranslatedText(String key) { + return langConfig.getString(key, "Translation not found: " + key); + } + public boolean reload(){ File configFile = new File(getDataFolder(), "config.yml"); @@ -199,6 +227,12 @@ public final class STPlugin extends JavaPlugin implements CommandExecutor, Liste } reloadConfig(); this.config = getConfig(); + try { + this.initLocalization(); + } catch (IOException e) { + e.printStackTrace(); + } + return true; } diff --git a/src/main/java/hu/ditservices/commands/PingCommand.java b/src/main/java/hu/ditservices/commands/PingCommand.java index f23d9e4..b3cfebf 100644 --- a/src/main/java/hu/ditservices/commands/PingCommand.java +++ b/src/main/java/hu/ditservices/commands/PingCommand.java @@ -12,7 +12,7 @@ public class PingCommand { if (sender instanceof Player) { Player player = (Player) sender; try { - player.sendMessage(plugin.getPrefix() + "Your response time to the server: " + Server.getPlayerPing(player) + " ms"); + player.sendMessage(plugin.getPrefix() + plugin.getTranslatedText("cmd.ping") + Server.getPlayerPing(player) + " ms"); return true; } catch (IllegalArgumentException | SecurityException e) { e.printStackTrace(); diff --git a/src/main/java/hu/ditservices/commands/PluginManagerCommand.java b/src/main/java/hu/ditservices/commands/PluginManagerCommand.java index 3131589..cbb6ef6 100644 --- a/src/main/java/hu/ditservices/commands/PluginManagerCommand.java +++ b/src/main/java/hu/ditservices/commands/PluginManagerCommand.java @@ -11,30 +11,30 @@ public class PluginManagerCommand { public static boolean LoadPlugin(CommandSender sender, String[] args){ Plugin plugin = Bukkit.getPluginManager().getPlugin(args[2]); if (plugin == null) { - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin not exist!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+ STPlugin.getInstance().getTranslatedText("pmanager.not.exist")); return false; } if (plugin.isEnabled()){ - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+" already enabled!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+STPlugin.getInstance().getTranslatedText("pmanager.already.enabled")); return true; } Bukkit.getPluginManager().enablePlugin(plugin); - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+" successfully enabled!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+STPlugin.getInstance().getTranslatedText("pmanager.success.enabled")); return true; } public static boolean UnloadPlugin(CommandSender sender, String[] args){ Plugin plugin = Bukkit.getPluginManager().getPlugin(args[2]); if (plugin == null) { - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin not exist!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+STPlugin.getInstance().getTranslatedText("pmanager.not.exist")); return false; } if (!plugin.isEnabled()){ - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+" already disabled!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+STPlugin.getInstance().getTranslatedText("pmanager.already.disabled")); return true; } Bukkit.getPluginManager().disablePlugin(plugin); - sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+" successfully disabled!"); + sender.sendMessage(STPlugin.getInstance().getPrefix()+"Plugin "+plugin.getName()+STPlugin.getInstance().getTranslatedText("pmanager.success.disabled")); return true; } diff --git a/src/main/java/hu/ditservices/commands/SettingsCommand.java b/src/main/java/hu/ditservices/commands/SettingsCommand.java index 6df3c9b..78cdee8 100644 --- a/src/main/java/hu/ditservices/commands/SettingsCommand.java +++ b/src/main/java/hu/ditservices/commands/SettingsCommand.java @@ -9,15 +9,18 @@ public class SettingsCommand { public static boolean Run(CommandSender sender) { STPlugin plugin = STPlugin.getInstance(); + String enabled = plugin.getTranslatedText("settings.enabled"); + String disabled = plugin.getTranslatedText("settings.disabled"); + sender.sendMessage( ChatColor.GREEN+" === Plugin Information === " + "\n" - + ChatColor.GREEN+"Plugin Version: " + ChatColor.translateAlternateColorCodes('&',"&a[&fSimplify&7Tools&2] &4- &f") + plugin.getDescription().getVersion() + "\n" - + ChatColor.GREEN+"Server Version: " + Version.ServerVersion.getCurrent().toString() + "\n" - + ChatColor.GREEN+" -------- Features -------- " + "\n" - + ChatColor.GREEN+"Tab customization: "+(plugin.getConfig().getBoolean("Tab.enabled") ? ChatColor.GREEN + "Enabled" : ChatColor.RED+"Disabled") + "\n" - + ChatColor.GREEN+"Custom Advancement Msg: " + (plugin.getConfig().getBoolean("CustomAdvancement.enabled") ? ChatColor.GREEN+"Enabled" : ChatColor.RED+"Disabled") + "\n" - + ChatColor.GREEN+"Auto saving: " + (plugin.getConfig().getBoolean("Saving.enabled") ? ChatColor.GREEN+"Enabled" : ChatColor.RED+"Disabled") + "\n" - + ChatColor.GREEN+"Plugin manager: " + (plugin.getConfig().getBoolean("PluginManager.enabled") ? ChatColor.GREEN+"Enabled" : ChatColor.RED+"Disabled") + "\n" - + ChatColor.GREEN+" ========================== " + + ChatColor.GREEN + "Plugin " + plugin.getTranslatedText("version.pre.text") + ChatColor.translateAlternateColorCodes('&',"&a[&fSimplify&7Tools&2] &4- &f") + plugin.getDescription().getVersion() + "\n" + + ChatColor.GREEN + plugin.getTranslatedText("settings.server") + plugin.getTranslatedText("version.pre.text") + Version.ServerVersion.getCurrent().toString() + "\n" + + ChatColor.GREEN + " -------- " + plugin.getTranslatedText("settings.features") +" -------- " + "\n" + + ChatColor.GREEN + plugin.getTranslatedText("settings.feature.tab") + (plugin.getConfig().getBoolean("Tab.enabled") ? ChatColor.GREEN + enabled : ChatColor.RED + disabled) + "\n" + + ChatColor.GREEN + plugin.getTranslatedText("settings.feature.CustomAdvancementMsg") + (plugin.getConfig().getBoolean("CustomAdvancement.enabled") ? ChatColor.GREEN + enabled : ChatColor.RED + disabled) + "\n" + + ChatColor.GREEN + plugin.getTranslatedText("settings.feature.AutoSave") + (plugin.getConfig().getBoolean("Saving.enabled") ? ChatColor.GREEN + enabled : ChatColor.RED + disabled) + "\n" + + ChatColor.GREEN + plugin.getTranslatedText("settings.feature.pmanager") + (plugin.getConfig().getBoolean("PluginManager.enabled") ? ChatColor.GREEN + enabled : ChatColor.RED + disabled) + "\n" + + ChatColor.GREEN + " ========================== " ); return true; diff --git a/src/main/java/hu/ditservices/commands/StatCommand.java b/src/main/java/hu/ditservices/commands/StatCommand.java index 83e9196..63bbf4b 100644 --- a/src/main/java/hu/ditservices/commands/StatCommand.java +++ b/src/main/java/hu/ditservices/commands/StatCommand.java @@ -16,15 +16,17 @@ public class StatCommand { long hours = totalSeconds / 3600; long minutes = (totalSeconds % 3600) / 60; long seconds = totalSeconds % 60; + STPlugin plugin = STPlugin.getInstance(); + plugin.getTranslatedText(""); - player.sendMessage(STPlugin.getInstance().getPrefix() + ChatColor.GREEN + " === Your statistics === "); - player.sendMessage(ChatColor.AQUA+"Connects: " + (player.getStatistic(Statistic.LEAVE_GAME)+1)); - player.sendMessage(ChatColor.AQUA+"Deaths: " + player.getStatistic(Statistic.DEATHS)); - player.sendMessage(ChatColor.AQUA+"Mob kills: " + player.getStatistic(Statistic.MOB_KILLS)); - player.sendMessage(ChatColor.AQUA+"Player kills: " + player.getStatistic(Statistic.PLAYER_KILLS)); - player.sendMessage(ChatColor.AQUA+"Sleep count: " + player.getStatistic(Statistic.SLEEP_IN_BED)); - player.sendMessage(ChatColor.AQUA+"Enchant count: " + player.getStatistic(Statistic.ITEM_ENCHANTED)); - player.sendMessage(ChatColor.AQUA + "Total Play Time: " + hours + "h " + minutes + "m " + seconds + "s"); + player.sendMessage(STPlugin.getInstance().getPrefix() + ChatColor.GREEN + " === "+plugin.getTranslatedText("stats.header")+" === "); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.connects") + (player.getStatistic(Statistic.LEAVE_GAME)+1)); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.deaths") + player.getStatistic(Statistic.DEATHS)); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.MobKills") + player.getStatistic(Statistic.MOB_KILLS)); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.PlayerKills") + player.getStatistic(Statistic.PLAYER_KILLS)); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.sleeps") + player.getStatistic(Statistic.SLEEP_IN_BED)); + player.sendMessage(ChatColor.AQUA+plugin.getTranslatedText("stats.enchants") + player.getStatistic(Statistic.ITEM_ENCHANTED)); + player.sendMessage(ChatColor.AQUA + plugin.getTranslatedText("stats.totaltime") + hours + plugin.getTranslatedText("stats.hour") + minutes + plugin.getTranslatedText("stats.minutes") + seconds + plugin.getTranslatedText("stats.seconds")); player.sendMessage(ChatColor.GREEN+" =================== "); return true; } diff --git a/src/main/java/hu/ditservices/handlers/CommandHandler.java b/src/main/java/hu/ditservices/handlers/CommandHandler.java index d438b41..894788c 100644 --- a/src/main/java/hu/ditservices/handlers/CommandHandler.java +++ b/src/main/java/hu/ditservices/handlers/CommandHandler.java @@ -18,7 +18,7 @@ public class CommandHandler implements CommandExecutor { public CommandHandler(final STPlugin instance) { this.plugin = instance; - this.noArgMsg = plugin.getPrefix() + ChatColor.DARK_RED + "To list all SimplifyTools commands use the '/help SIMPLIFYTOOLS' command!"; + this.noArgMsg = plugin.getPrefix() + ChatColor.DARK_RED + plugin.getTranslatedText("list.help"); this.cd = new Cooldown(plugin); this.config = plugin.getConfig(); } @@ -44,7 +44,7 @@ public class CommandHandler implements CommandExecutor { if (command.getName().equals("st") && (args.length == 0 || args[0].contains("help"))) { - sender.sendMessage(plugin.getPrefix() + ChatColor.GREEN+"Version: " + plugin.getDescription().getVersion()); + sender.sendMessage(plugin.getPrefix() + ChatColor.GREEN+plugin.getTranslatedText("version.pre.text") + plugin.getDescription().getVersion()); sender.sendMessage(this.noArgMsg); return true; } @@ -58,13 +58,13 @@ public class CommandHandler implements CommandExecutor { if(plugin.reload()){ sender.sendMessage(plugin.getPrefix()+ChatColor.GREEN+"Successfully reload!" + "\n" - + plugin.getPrefix() + ChatColor.RED + "Notice: Restart your server if the settings didn't applied."); + + plugin.getPrefix() + ChatColor.RED + plugin.getTranslatedText("notice.settings.not.applied")); return true; } } if (command.getName().equals("st") && args[0].contains("tps") && sender.hasPermission("st.tps")) { - sender.sendMessage(plugin.getPrefix() + ChatColor.GREEN+"Plugin Calculated TPS: "+TPS.getColor()+String.format("%.2f", TPS.getTPS())); + sender.sendMessage(plugin.getPrefix() + ChatColor.GREEN+plugin.getTranslatedText("plugin.calculated.tps")+TPS.getColor()+String.format("%.2f", TPS.getTPS())); return true; } @@ -72,7 +72,7 @@ public class CommandHandler implements CommandExecutor { if (command.getName().equalsIgnoreCase("st") && args[0].contains("pmanager")) { if (sender.hasPermission("st.pmanager.unload") || sender.hasPermission("st.pmanager.load") || sender.hasPermission("st.pmanager")) { if (args.length==1){ - sender.sendMessage(plugin.getPrefix() + ChatColor.DARK_RED+"Invalid arguments!"); + sender.sendMessage(plugin.getPrefix() + ChatColor.DARK_RED+plugin.getTranslatedText("invalid.arguments")); return true; } if (config.getBoolean("PluginManager.enabled")) { @@ -85,7 +85,7 @@ public class CommandHandler implements CommandExecutor { PluginManagerCommand.UnloadPlugin(sender, args); } } else { - sender.sendMessage(plugin.getPrefix() + ChatColor.DARK_RED + "Plugin manager commands are disabled in the config!"); + sender.sendMessage(plugin.getPrefix() + ChatColor.DARK_RED + plugin.getTranslatedText("pmanager.disabled")); return true; } } diff --git a/src/main/java/hu/ditservices/handlers/LoginCommandHandler.java b/src/main/java/hu/ditservices/handlers/LoginCommandHandler.java index f2d9e74..ff9f890 100644 --- a/src/main/java/hu/ditservices/handlers/LoginCommandHandler.java +++ b/src/main/java/hu/ditservices/handlers/LoginCommandHandler.java @@ -1,6 +1,7 @@ package hu.ditservices.handlers; import hu.ditservices.STPlugin; +import org.bukkit.ChatColor; import org.bukkit.command.Command; import org.bukkit.command.CommandExecutor; import org.bukkit.command.CommandSender; @@ -40,21 +41,21 @@ public class LoginCommandHandler implements CommandExecutor { UUID pUuid = player.getUniqueId(); if (args.length != 1) { - player.sendMessage("Usage: /slogin "); + player.sendMessage(plugin.getTranslatedText("cmd.usage.login")); return true; } if (plugin.getServerPasswordData().getAuthenticatedPlayers().getOrDefault(pUuid,false)) { - player.sendMessage("You are already authenticated."); + player.sendMessage(ChatColor.GREEN + plugin.getTranslatedText("serverpassword.already.auth")); return true; } if (this.authenticate(player, args[0])) { - player.sendMessage("You have been authenticated."); + player.sendMessage(ChatColor.GREEN + plugin.getTranslatedText("serverpassword.success.auth")); plugin.getServerPasswordData().getInventoryMap().remove(pUuid); plugin.getServerPasswordData().getArmorMap().remove(pUuid); } else { - player.sendMessage("Incorrect password. Try again."); + player.sendMessage(ChatColor.RED + plugin.getTranslatedText("serverpassword.incorrect")); } return true; } diff --git a/src/main/java/hu/ditservices/listeners/ServerPasswordEvents.java b/src/main/java/hu/ditservices/listeners/ServerPasswordEvents.java index 53ed76e..f28ae65 100644 --- a/src/main/java/hu/ditservices/listeners/ServerPasswordEvents.java +++ b/src/main/java/hu/ditservices/listeners/ServerPasswordEvents.java @@ -36,8 +36,8 @@ public class ServerPasswordEvents implements Listener { player.getInventory().clear(); player.getInventory().setArmorContents(null); } - player.sendMessage(ChatColor.RED + "There is server password enabled on this server!"); - player.sendMessage("Note: This means the same password for all players."); + player.sendMessage(ChatColor.RED + plugin.getTranslatedText("serverpassword.enabled")); + player.sendMessage(plugin.getTranslatedText("serverpassword.note")); BukkitRunnable authReminder = new BukkitRunnable() { @Override public void run() { @@ -46,7 +46,7 @@ public class ServerPasswordEvents implements Listener { this.cancel(); return; } - player.sendMessage(ChatColor.RED + "Please login using /slogin "); + player.sendMessage(ChatColor.RED + plugin.getTranslatedText("serverpassword.login")); } }; authReminder.runTaskTimer(plugin, 0L, 100L); diff --git a/src/main/resources/config.yml b/src/main/resources/config.yml index f166c11..d554dc6 100644 --- a/src/main/resources/config.yml +++ b/src/main/resources/config.yml @@ -11,6 +11,9 @@ # ██████╔╝██║██║░╚═╝░██║██║░░░░░███████╗██║██║░░░░░░░░██║░░░░░░██║░░░╚█████╔╝╚█████╔╝███████╗██████╔╝ # ╚═════╝░╚═╝╚═╝░░░░░╚═╝╚═╝░░░░░╚══════╝╚═╝╚═╝░░░░░░░░╚═╝░░░░░░╚═╝░░░░╚════╝░░╚════╝░╚══════╝╚═════╝░ # +# Localization options +# Currently these languages included by default: en, hu. You can add another language in the lang folder. +language: 'en' # Logging options # If you enable one of them, a txt file will be created every day automatically with the current date. Log: @@ -61,7 +64,7 @@ Tab: CustomMsg: enabled: false connect: '{PREFIX}{NAME} &aconnected to the server.' - disconnect: '{PREFIX}{NAME} leaved the game.' + disconnect: '{PREFIX}{NAME} left the game.' # Auto Save options # Saves Worlds/Users data to disk. diff --git a/src/main/resources/lang/en.yml b/src/main/resources/lang/en.yml new file mode 100644 index 0000000..e9ae03a --- /dev/null +++ b/src/main/resources/lang/en.yml @@ -0,0 +1,39 @@ +version.pre.text: "Version: " +action.success.reload: "Successfully reload!" +notice.settings.not.applied: "Notice: Restart your server if the settings didn't applied." +plugin.calculated.tps: "Plugin Calculated TPS: " +invalid.arguments: "Invalid arguments!" +pmanager.disabled: "Plugin manager commands are disabled in the config!" +serverpassword.enabled: "There is server password enabled on this server!" +serverpassword.note: "Note: This means the same password for all players." +serverpassword.login: "Please login using /slogin " +serverpassword.already.auth: "You are already authenticated." +serverpassword.success.auth: "You have been authenticated." +serverpassword.incorrect: "Incorrect password. Try again." +cmd.usage.login: "Usage: /slogin " +settings.server: "Server " +settings.features: "Features" +settings.enabled: "Enabled" +settings.disabled: "Disabled" +settings.feature.tab: "Tab customization: " +settings.feature.CustomAdvancementMsg: "Custom Advancement Msg: " +settings.feature.AutoSave: "Auto saving: " +settings.feature.pmanager: "Plugin manager: " +stats.header: "Your statistics" +stats.connects: "Connects: " +stats.deaths: "Deaths: " +stats.MobKills: "Mob kills: " +stats.PlayerKills: "Player kills: " +stats.sleeps: "Sleeps: " +stats.enchants: "Enchants: " +stats.totaltime: "Total Play Time: " +stats.hour: "h " +stats.minutes: "m " +stats.seconds: "s" +cmd.ping: "Your response time to the server: " +pmanager.not.exist: "Plugin not exist!" +pmanager.already.enabled: " already enabled!" +pmanager.success.enabled: " successfully enabled!" +pmanager.already.disabled: " already disabled!" +pmanager.success.disabled: " successfully disabled!" +list.help: "To list all SimplifyTools commands use the '/help SIMPLIFYTOOLS' command!" \ No newline at end of file diff --git a/src/main/resources/lang/hu.yml b/src/main/resources/lang/hu.yml new file mode 100644 index 0000000..63b0431 --- /dev/null +++ b/src/main/resources/lang/hu.yml @@ -0,0 +1,39 @@ +version.pre.text: "Verzió: " +action.success.reload: "Sikeres újratöltés!" +notice.settings.not.applied: "Figyelem: Indítsd újra a szervert, ha a beállítások nem alkalmazódtak." +plugin.calculated.tps: "Plugin által kalkulált TPS: " +invalid.arguments: "Érvénytelen argumentek!" +pmanager.disabled: "A plugin-kezelő le van tiltva a konfigban!" +serverpassword.enabled: "Ezen a szerveren szerver jelszó van bekapcsolva!" +serverpassword.note: "Figyelem: Ez azt jelenti, hogy mindenki számára ugyanazt a jelszót kell megadni!" +serverpassword.login: "Kérlek, lépj be ezzel: /slogin " +serverpassword.already.auth: "Már bejelentkeztél." +serverpassword.success.auth: "Sikeresen bejelentkeztél!" +serverpassword.incorrect: "Rossz jelszó. Próbáld újra." +cmd.usage.login: "Használat: /slogin " +settings.server: "Szerver " +settings.features: "Tulajdonságok " +settings.enabled: "Bekapcsolva" +settings.disabled: "Kikapcsolva" +settings.feature.tab: "Tablista testreszabás: " +settings.feature.CustomAdvancementMsg: "Teljesítmény-elérés üzenet testreszabás: " +settings.feature.AutoSave: "Automatikus mentés: " +settings.feature.pmanager: "Plugin kezelő: " +stats.header: "A statisztikáid" +stats.connects: "Belépések: " +stats.deaths: "Halálok: " +stats.MobKills: "Mob ölések: " +stats.PlayerKills: "Játékos ölések: " +stats.sleeps: "Alvások: " +stats.enchants: "Enchantolások: " +stats.totaltime: "Összes játékidő: " +stats.hour: "ó " +stats.minutes: "p " +stats.seconds: "mp" +cmd.ping: "A válaszidőd a szerverhez: " +pmanager.not.exist: "Plugin nem létezik!" +pmanager.already.enabled: " már eddig is engedélyezve volt!" +pmanager.success.enabled: " sikeresen engedélyezve!" +pmanager.already.disabled: " már kivolt kapcsolva eddig is!" +pmanager.success.disabled: " sikeresen kikapcsolva!" +list.help: "Használd a '/help SIMPLIFYTOOLS' parancsot a plugin parancsainak listázásához!" \ No newline at end of file