#1467 Implement messages file migration
- Create messages updater called when a messages YML file is loaded - Work in progress - Does not yet include changes to any message keys
This commit is contained in:
@@ -3,16 +3,10 @@ package fr.xephi.authme.command.executable.authme;
|
||||
import fr.xephi.authme.ConsoleLogger;
|
||||
import fr.xephi.authme.command.ExecutableCommand;
|
||||
import fr.xephi.authme.command.help.HelpMessagesService;
|
||||
import fr.xephi.authme.initialization.DataFolder;
|
||||
import fr.xephi.authme.message.Messages;
|
||||
import fr.xephi.authme.service.HelpTranslationGenerator;
|
||||
import fr.xephi.authme.service.MessageUpdater;
|
||||
import fr.xephi.authme.settings.Settings;
|
||||
import fr.xephi.authme.settings.properties.PluginSettings;
|
||||
import org.bukkit.command.CommandSender;
|
||||
|
||||
import javax.inject.Inject;
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
@@ -22,15 +16,6 @@ import java.util.List;
|
||||
*/
|
||||
public class MessagesCommand implements ExecutableCommand {
|
||||
|
||||
private static final String DEFAULT_LANGUAGE = "en";
|
||||
|
||||
@Inject
|
||||
private Settings settings;
|
||||
@Inject
|
||||
@DataFolder
|
||||
private File dataFolder;
|
||||
@Inject
|
||||
private Messages messages;
|
||||
@Inject
|
||||
private HelpTranslationGenerator helpTranslationGenerator;
|
||||
@Inject
|
||||
@@ -40,8 +25,6 @@ public class MessagesCommand implements ExecutableCommand {
|
||||
public void executeCommand(CommandSender sender, List<String> arguments) {
|
||||
if (!arguments.isEmpty() && "help".equalsIgnoreCase(arguments.get(0))) {
|
||||
updateHelpFile(sender);
|
||||
} else {
|
||||
updateMessagesFile(sender);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,25 +38,4 @@ public class MessagesCommand implements ExecutableCommand {
|
||||
ConsoleLogger.logException("Could not update help file:", e);
|
||||
}
|
||||
}
|
||||
|
||||
private void updateMessagesFile(CommandSender sender) {
|
||||
final String language = settings.getProperty(PluginSettings.MESSAGES_LANGUAGE);
|
||||
try {
|
||||
boolean isFileUpdated = new MessageUpdater(
|
||||
new File(dataFolder, getMessagePath(language)),
|
||||
getMessagePath(language),
|
||||
getMessagePath(DEFAULT_LANGUAGE))
|
||||
.executeCopy(sender);
|
||||
if (isFileUpdated) {
|
||||
messages.reloadMessagesFile();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
sender.sendMessage("Could not update messages: " + e.getMessage());
|
||||
ConsoleLogger.logException("Could not update messages:", e);
|
||||
}
|
||||
}
|
||||
|
||||
private static String getMessagePath(String code) {
|
||||
return "messages/messages_" + code + ".yml";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user