Implemented translation
This commit is contained in:
@ -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;
|
||||
}
|
||||
|
@ -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();
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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;
|
||||
|
@ -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;
|
||||
}
|
||||
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
@ -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 <PASSWORD>");
|
||||
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;
|
||||
}
|
||||
|
@ -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 <password>");
|
||||
player.sendMessage(ChatColor.RED + plugin.getTranslatedText("serverpassword.login"));
|
||||
}
|
||||
};
|
||||
authReminder.runTaskTimer(plugin, 0L, 100L);
|
||||
|
Reference in New Issue
Block a user