From f8df9da19d659d1133fc0d8418ad6bfd282256ec Mon Sep 17 00:00:00 2001 From: padre Date: Tue, 28 Jan 2025 12:02:48 +0200 Subject: [PATCH 1/6] Update Commander.java --- src/main/java/dev/padrewin/coldtracker/commands/Commander.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/dev/padrewin/coldtracker/commands/Commander.java b/src/main/java/dev/padrewin/coldtracker/commands/Commander.java index b2257a8..5beb5f4 100644 --- a/src/main/java/dev/padrewin/coldtracker/commands/Commander.java +++ b/src/main/java/dev/padrewin/coldtracker/commands/Commander.java @@ -26,6 +26,7 @@ public Commander(ColdTracker plugin) { this.registerCommand(new DumpCommand()); this.registerCommand(new ExportCommand()); this.registerCommand(new ShowVotesCommand()); + this.registerCommand(new StatsCommand()); } From 1ec897be854b5fdef418c995e8b574aeffbeea38 Mon Sep 17 00:00:00 2001 From: padre Date: Tue, 28 Jan 2025 12:02:51 +0200 Subject: [PATCH 2/6] Create StatsCommand.java --- .../coldtracker/commands/StatsCommand.java | 110 ++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java diff --git a/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java new file mode 100644 index 0000000..8b34b22 --- /dev/null +++ b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java @@ -0,0 +1,110 @@ +package dev.padrewin.coldtracker.commands; + +import dev.padrewin.coldtracker.ColdTracker; +import dev.padrewin.coldtracker.manager.CommandManager; +import dev.padrewin.coldtracker.manager.LocaleManager; +import org.bukkit.Bukkit; +import org.bukkit.OfflinePlayer; +import org.bukkit.command.CommandSender; +import org.bukkit.entity.Player; +import org.jetbrains.annotations.NotNull; + +import java.util.Collections; +import java.util.List; +import java.util.UUID; + +public class StatsCommand extends BaseCommand { + + public StatsCommand() { + super("stats", CommandManager.CommandAliases.STATS); + } + + @Override + public void execute(@NotNull ColdTracker plugin, @NotNull CommandSender sender, @NotNull String[] args) { + LocaleManager localeManager = plugin.getManager(LocaleManager.class); + String prefix = localeManager.getLocaleMessage("prefix"); + + // Console handling + if (!(sender instanceof Player)) { + if (args.length == 1) { + String targetName = args[0]; + OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(targetName); + + if (!targetPlayer.hasPlayedBefore()) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName)); + return; + } + + UUID targetUUID = targetPlayer.getUniqueId(); + showStats(plugin, localeManager, sender, targetUUID, targetPlayer.getName()); + } else { + sender.sendMessage(prefix + localeManager.getLocaleMessage("command-stats-console-only")); + } + return; + } + + // Player handling + Player player = (Player) sender; + UUID playerUUID = player.getUniqueId(); + + if (args.length == 0) { + // Self stats + showStats(plugin, localeManager, sender, playerUUID, player.getName()); + } else if (args.length == 1) { + // Target stats + if (!sender.hasPermission("coldtracker.stats.others")) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("no-permission")); + return; + } + + String targetName = args[0]; + OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(targetName); + + if (!targetPlayer.hasPlayedBefore()) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName)); + return; + } + + UUID targetUUID = targetPlayer.getUniqueId(); + boolean trackTime = targetPlayer.isOnline() && targetPlayer.getPlayer().hasPermission("coldtracker.tracktime"); + boolean trackVotes = targetPlayer.isOnline() && targetPlayer.getPlayer().hasPermission("coldtracker.trackvote"); + + if (!trackTime && !trackVotes) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("no-staff-member").replace("{player}", targetName)); + return; + } + + showStats(plugin, localeManager, sender, targetUUID, targetPlayer.getName()); + } else { + sender.sendMessage(prefix + localeManager.getLocaleMessage("invalid-command-usage")); + } + } + + private void showStats(ColdTracker plugin, LocaleManager localeManager, CommandSender sender, UUID playerUUID, String playerName) { + String prefix = localeManager.getLocaleMessage("prefix"); + long totalTime = plugin.getDatabaseManager().getTotalTime(playerUUID); + long hours = (totalTime / 1000) / 3600; + long minutes = ((totalTime / 1000) % 3600) / 60; + long seconds = (totalTime / 1000) % 60; + long days = hours / 24; + hours = hours % 24; + String timeFormatted = String.format("%dd %dh %dm %ds", days, hours, minutes, seconds); + + String statsMessage = prefix + localeManager.getLocaleMessage("command-stats-playtime").replace("{time}", timeFormatted); + + if (plugin.getConfig().getBoolean("track-votes", false)) { + int totalVotes = plugin.getDatabaseManager().getTotalVotes(playerUUID); + statsMessage += " " + localeManager.getLocaleMessage("command-stats-votes").replace("{votes}", String.valueOf(totalVotes)); + } + + sender.sendMessage(statsMessage); + } + + @Override + public List tabComplete(@NotNull ColdTracker plugin, @NotNull CommandSender sender, @NotNull String[] args) { + if (args.length == 1 && sender.hasPermission("coldtracker.stats.others")) { + return null; + } + return Collections.emptyList(); + } +} \ No newline at end of file From 7bf21782d14ea4a658c481abedfd96998499f639 Mon Sep 17 00:00:00 2001 From: padre Date: Tue, 28 Jan 2025 12:02:54 +0200 Subject: [PATCH 3/6] Update CommandManager.java --- .../java/dev/padrewin/coldtracker/manager/CommandManager.java | 1 + 1 file changed, 1 insertion(+) diff --git a/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java b/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java index 6eff1b1..823d3f7 100644 --- a/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java +++ b/src/main/java/dev/padrewin/coldtracker/manager/CommandManager.java @@ -23,6 +23,7 @@ public List get() { }, SHOWTIME, SHOWVOTES, + STATS, RELOAD, WIPE, VERSION, From a1dba561f92bb94c60488a707cf9beedefa43d9f Mon Sep 17 00:00:00 2001 From: padre Date: Tue, 28 Jan 2025 12:02:58 +0200 Subject: [PATCH 4/6] Update en_US.yml --- src/main/resources/locale/en_US.yml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/main/resources/locale/en_US.yml b/src/main/resources/locale/en_US.yml index 3f16905..7be2c13 100644 --- a/src/main/resources/locale/en_US.yml +++ b/src/main/resources/locale/en_US.yml @@ -23,6 +23,13 @@ showvotes-message: "&c{player} &7has a total of &c{votes}&7 votes." command-showvotes-disabled: '&7Vote tracker &cdisabled&7. Please consult configuration file.' command-votes-not-available: '&7Voting plugin not detected. Vote tracking is &cunavailable&7.' +# Stats Command +command-stats-description: '&8 - &c/coldtracker stats &7- View your personal stats' +command-stats-player-only: '&cOnly players can use this command.' +command-stats-console-only: '&7Console can''t have stats.' +command-stats-playtime: '&7You have a total time of &c{time}&7.' +command-stats-votes: '&7and &c{votes} votes&7.' + # Database message warnings command-wipe-description: '&8 - &c/coldtracker wipe &7- Wipe current SQLite database' command-wipe-usage: '&7Usage: &c/coldtracker wipe' From fe0dfc0944aaf85cc69efe974729d57c15f43466 Mon Sep 17 00:00:00 2001 From: padre Date: Tue, 28 Jan 2025 12:03:01 +0200 Subject: [PATCH 5/6] Update plugin.yml --- src/main/resources/plugin.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/main/resources/plugin.yml b/src/main/resources/plugin.yml index 353c6c2..1ba5fd9 100644 --- a/src/main/resources/plugin.yml +++ b/src/main/resources/plugin.yml @@ -20,6 +20,8 @@ commands: permission: "coldtracker.dump" showvotes: permission: "coldtracker.showvotes" + stats: + permission: "coldtracker.stats" permissions: coldtracker.*: @@ -32,6 +34,8 @@ permissions: coldtracker.dump: true coldtracker.export: true coldtracker.showvotes: true + coldtracker.stats: true + coldtracker.stats.others: true coldtracker.version: description: Gives access to the version command @@ -68,3 +72,11 @@ permissions: coldtracker.trackvote: description: Gives access to track the votes default: op + + coldtracker.stats: + description: Gives access to the stats command + default: op + + coldtracker.stats.others: + description: Gives access to view stats of other staff members + default: op \ No newline at end of file From a97288d7fe040009aefd501a4996265e5513f8bc Mon Sep 17 00:00:00 2001 From: padrewin <97427230+padrewin@users.noreply.github.com> Date: Tue, 28 Jan 2025 13:52:00 +0200 Subject: [PATCH 6/6] Update pom.xml --- pom.xml | 2 +- .../coldtracker/commands/StatsCommand.java | 102 ++++++++++-------- src/main/resources/locale/en_US.yml | 2 +- src/main/resources/locale/fr_FR.yml | 39 ++++--- src/main/resources/locale/pt_PT.yml | 45 ++++---- src/main/resources/locale/ro_RO.yml | 41 ++++--- src/main/resources/locale/zh_CN.yml | 65 ++++++----- 7 files changed, 171 insertions(+), 125 deletions(-) diff --git a/pom.xml b/pom.xml index efe56aa..ce154d4 100644 --- a/pom.xml +++ b/pom.xml @@ -6,7 +6,7 @@ dev.padrewin coldtracker - 1.2.1 + 1.3 jar ColdTracker diff --git a/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java index 8b34b22..708b6da 100644 --- a/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java +++ b/src/main/java/dev/padrewin/coldtracker/commands/StatsCommand.java @@ -24,9 +24,22 @@ public void execute(@NotNull ColdTracker plugin, @NotNull CommandSender sender, LocaleManager localeManager = plugin.getManager(LocaleManager.class); String prefix = localeManager.getLocaleMessage("prefix"); - // Console handling - if (!(sender instanceof Player)) { - if (args.length == 1) { + // Dacă comanda vine din consolă fără argumente + if (!(sender instanceof Player) && args.length == 0) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("command-stats-console-no-self")); + return; + } + + // Dacă comanda vine de la un jucător și nu are argumente + if (args.length == 0 && sender instanceof Player) { + Player player = (Player) sender; + showStats(plugin, localeManager, sender, player.getUniqueId(), player.getName()); + return; + } + + // Dacă există argumente, verificăm permisiunile + if (args.length == 1) { + if (!(sender instanceof Player) || sender.hasPermission("coldtracker.stats.others")) { String targetName = args[0]; OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(targetName); @@ -36,50 +49,33 @@ public void execute(@NotNull ColdTracker plugin, @NotNull CommandSender sender, } UUID targetUUID = targetPlayer.getUniqueId(); - showStats(plugin, localeManager, sender, targetUUID, targetPlayer.getName()); - } else { - sender.sendMessage(prefix + localeManager.getLocaleMessage("command-stats-console-only")); - } - return; - } - // Player handling - Player player = (Player) sender; - UUID playerUUID = player.getUniqueId(); + // Verificăm permisiunile folosind LuckPerms + plugin.getLuckPerms().getUserManager().loadUser(targetUUID).thenAcceptAsync(user -> { + if (user == null) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName)); + return; + } - if (args.length == 0) { - // Self stats - showStats(plugin, localeManager, sender, playerUUID, player.getName()); - } else if (args.length == 1) { - // Target stats - if (!sender.hasPermission("coldtracker.stats.others")) { - sender.sendMessage(prefix + localeManager.getLocaleMessage("no-permission")); - return; - } - - String targetName = args[0]; - OfflinePlayer targetPlayer = Bukkit.getOfflinePlayer(targetName); + boolean trackTime = user.getCachedData().getPermissionData().checkPermission("coldtracker.tracktime").asBoolean(); + boolean trackVotes = user.getCachedData().getPermissionData().checkPermission("coldtracker.trackvote").asBoolean(); - if (!targetPlayer.hasPlayedBefore()) { - sender.sendMessage(prefix + localeManager.getLocaleMessage("player-not-found").replace("{player}", targetName)); - return; - } + if (!trackTime && !trackVotes) { + sender.sendMessage(prefix + localeManager.getLocaleMessage("no-staff-member").replace("{player}", targetName)); + return; + } - UUID targetUUID = targetPlayer.getUniqueId(); - boolean trackTime = targetPlayer.isOnline() && targetPlayer.getPlayer().hasPermission("coldtracker.tracktime"); - boolean trackVotes = targetPlayer.isOnline() && targetPlayer.getPlayer().hasPermission("coldtracker.trackvote"); - - if (!trackTime && !trackVotes) { - sender.sendMessage(prefix + localeManager.getLocaleMessage("no-staff-member").replace("{player}", targetName)); - return; + showStats(plugin, localeManager, sender, targetUUID, targetName); + }); + } else { + sender.sendMessage(prefix + localeManager.getLocaleMessage("no-permission")); } - - showStats(plugin, localeManager, sender, targetUUID, targetPlayer.getName()); } else { sender.sendMessage(prefix + localeManager.getLocaleMessage("invalid-command-usage")); } } + private void showStats(ColdTracker plugin, LocaleManager localeManager, CommandSender sender, UUID playerUUID, String playerName) { String prefix = localeManager.getLocaleMessage("prefix"); long totalTime = plugin.getDatabaseManager().getTotalTime(playerUUID); @@ -90,16 +86,38 @@ private void showStats(ColdTracker plugin, LocaleManager localeManager, CommandS hours = hours % 24; String timeFormatted = String.format("%dd %dh %dm %ds", days, hours, minutes, seconds); - String statsMessage = prefix + localeManager.getLocaleMessage("command-stats-playtime").replace("{time}", timeFormatted); + StringBuilder statsMessage = new StringBuilder(); + + boolean trackVotes = plugin.getConfig().getBoolean("track-votes", false); + int totalVotes = trackVotes ? plugin.getDatabaseManager().getTotalVotes(playerUUID) : 0; - if (plugin.getConfig().getBoolean("track-votes", false)) { - int totalVotes = plugin.getDatabaseManager().getTotalVotes(playerUUID); - statsMessage += " " + localeManager.getLocaleMessage("command-stats-votes").replace("{votes}", String.valueOf(totalVotes)); + // Dacă targetul este senderul + if (sender instanceof Player && ((Player) sender).getUniqueId().equals(playerUUID)) { + String playtimeMessage = localeManager.getLocaleMessage("command-stats-playtime").replace("{time}", timeFormatted); + // Eliminăm punctul doar dacă voturile sunt trackate + if (trackVotes) { + playtimeMessage = playtimeMessage.endsWith(".") ? playtimeMessage.substring(0, playtimeMessage.length() - 1) : playtimeMessage; + } + statsMessage.append(prefix).append(playtimeMessage); + } else { + String playtimeMessage = localeManager.getLocaleMessage("showtime-message").replace("{player}", playerName).replace("{time}", timeFormatted); + // Eliminăm punctul doar dacă voturile sunt trackate + if (trackVotes) { + playtimeMessage = playtimeMessage.endsWith(".") ? playtimeMessage.substring(0, playtimeMessage.length() - 1) : playtimeMessage; + } + statsMessage.append(prefix).append(playtimeMessage); + } + + // Adăugăm voturile doar dacă sunt trackate + if (trackVotes) { + statsMessage.append(" ").append(localeManager.getLocaleMessage("command-stats-votes").replace("{votes}", String.valueOf(totalVotes))); } - sender.sendMessage(statsMessage); + sender.sendMessage(statsMessage.toString()); } + + @Override public List tabComplete(@NotNull ColdTracker plugin, @NotNull CommandSender sender, @NotNull String[] args) { if (args.length == 1 && sender.hasPermission("coldtracker.stats.others")) { diff --git a/src/main/resources/locale/en_US.yml b/src/main/resources/locale/en_US.yml index 7be2c13..98bb9dd 100644 --- a/src/main/resources/locale/en_US.yml +++ b/src/main/resources/locale/en_US.yml @@ -26,7 +26,7 @@ command-votes-not-available: '&7Voting plugin not detected. Vote tracking is &cu # Stats Command command-stats-description: '&8 - &c/coldtracker stats &7- View your personal stats' command-stats-player-only: '&cOnly players can use this command.' -command-stats-console-only: '&7Console can''t have stats.' +command-stats-console-no-self: '&7Console can''t have stats.' command-stats-playtime: '&7You have a total time of &c{time}&7.' command-stats-votes: '&7and &c{votes} votes&7.' diff --git a/src/main/resources/locale/fr_FR.yml b/src/main/resources/locale/fr_FR.yml index 3abdf23..9570752 100644 --- a/src/main/resources/locale/fr_FR.yml +++ b/src/main/resources/locale/fr_FR.yml @@ -8,26 +8,33 @@ command-help-title: '&cCommandes disponibles :' # Misc no-permission: '&cVous n''avez pas la permission de faire cela !' unknown-command: '&cCommande inconnue &4%input%&c.' -invalid-command-usage: '&cUtilisation de commande invalide.' -player-not-found: '&7Le joueur n''a pas pu être trouvé : &c{player}&7.' +invalid-command-usage: '&cUtilisation invalide de la commande.' +player-not-found: '&7Joueur introuvable : &c{player}&7.' # Showtime Command Message command-showtime-description: '&8 - &c/coldtracker showtime &7- Affiche le temps total suivi du joueur' -no-staff-member: '&7&c{player} &7n''est pas un membre du personnel.' +no-staff-member: '&7&c{player} &7n''est pas un membre du staff.' showtime-message: '&c{player} &7a joué pendant &c{time}&7.' command-showtime-usage: '&7Utilisation : &c/coldtracker showtime ' # ShowVote Command Message command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Affiche le total des votes suivis du joueur' showvotes-message: "&c{player} &7a un total de &c{votes}&7 votes." -command-showvotes-disabled: '&7Suivi des votes &cdésactivé&7. Veuillez consulter le fichier de configuration.' -command-votes-not-available: '&7Aucun plugin de vote détecté. Le suivi des votes est &cindisponible&7.' +command-showvotes-disabled: '&7Le suivi des votes est &cdésactivé&7. Consultez le fichier de configuration.' +command-votes-not-available: '&7Plugin de vote non détecté. Le suivi des votes est &cindisponible&7.' + +# Stats Command +command-stats-description: '&8 - &c/coldtracker stats &7- Voir vos statistiques personnelles' +command-stats-player-only: '&cSeuls les joueurs peuvent utiliser cette commande.' +command-stats-console-no-self: '&7La console ne peut pas avoir de statistiques.' +command-stats-playtime: '&7Vous avez joué pendant un total de &c{time}&7.' +command-stats-votes: '&7et &c{votes} votes&7.' # Database message warnings command-wipe-description: '&8 - &c/coldtracker wipe &7- Efface la base de données SQLite actuelle' command-wipe-usage: '&7Utilisation : &c/coldtracker wipe' -command-wipe-warning: '&eATTENTION : &cCette opération supprimera toutes les données de la base de données active. &cSi vous êtes absolument sûr, utilisez &a/coldtracker wipe confirm&c.' -command-wipe-success: '&7Toutes les données de la base de données ont été effacées avec &asuccès&7.' +command-wipe-warning: '&eATTENTION : &cCette opération effacera toutes les données de la base de données active. &cSi vous êtes absolument sûr, utilisez &a/coldtracker wipe confirm&c.' +command-wipe-success: '&7Toutes les données de la base de données ont été effacées &avec succès&7.' # Base Command Message base-command-color: '&7' @@ -36,21 +43,21 @@ base-command-help: '&7Utilisez &c/coldtracker help &7pour des informations sur l # Reload Command command-reload-description: '&8 - &c/coldtracker reload &7- Recharge le plugin' command-reload-usage: '&7Utilisation : &c/coldtracker reload' -command-reload-success: '&7Les fichiers de configuration et de langue ont été rechargés.' +command-reload-success: '&7Les fichiers de configuration et de localisation ont été rechargés.' # Dump Command -command-dump-disabled: '&7Dépôt Gist &cdésactivé&7. Veuillez consulter le fichier de configuration.' -command-dump-description: '&8 - &c/coldtracker dump &7- Exporte les données actuelles de la base de données vers Gist' +command-dump-disabled: '&7Le dump Gist est &cdésactivé&7. Consultez le fichier de configuration.' +command-dump-description: '&8 - &c/coldtracker dump &7- Déverse les données de la base de données actuelle dans un Gist' command-dump-usage: '&7Utilisation : &c/coldtracker dump' -command-dump-warning: '&eATTENTION : &cCette opération exportera les données de la base de données actuelle. Utilisez &a/coldtracker dump confirm&c pour continuer.' -command-dump-success: '&7Exportation de la base de données &areussi&7 ! Lien : &a{link}' +command-dump-warning: '&eATTENTION : &cCette opération déversera les données de la base de données actuelle. Utilisez &a/coldtracker dump confirm&c pour continuer.' +command-dump-success: '&7Le dump de la base de données a été effectué &avec succès&7 ! Lien : &a{link}' command-dump-fail: '&cÉchec de la génération du lien Gist. Consultez la console pour les erreurs.' # Export Command command-export-description: '&8 - &c/coldtracker export &7- Exporte les données vers plugins/ColdTracker' -command-export-warning: '&eATTENTION : &cLe fichier d''export existe déjà. Utilisez &a/coldtracker export confirm &cpour écraser.' -command-export-success: '&7Exportation &areussi&7. Les données ont été sauvegardées dans &aplugins/ColdTracker/{folder}&7.' -command-export-fail: '&cÉchec de la sauvegarde dans export.yml. Consultez la console pour les erreurs.' +command-export-warning: '&eATTENTION : &cLe fichier d''export existe déjà. Utilisez &a/coldtracker export confirm &cpour le remplacer.' +command-export-success: '&7Export &areussi&7. Les données ont été sauvegardées dans &aplugins/ColdTracker/{folder}&7.' +command-export-fail: '&cÉchec de la sauvegarde du fichier export.yml. Consultez la console pour les erreurs.' # Version Command -command-version-description: '&8 - &c/coldtracker version &7- Affiche les informations sur la version de ColdTracker' +command-version-description: '&8 - &c/coldtracker version &7- Affiche la version de ColdTracker' diff --git a/src/main/resources/locale/pt_PT.yml b/src/main/resources/locale/pt_PT.yml index cbb214b..57f9468 100644 --- a/src/main/resources/locale/pt_PT.yml +++ b/src/main/resources/locale/pt_PT.yml @@ -12,45 +12,52 @@ invalid-command-usage: '&cUso inválido do comando.' player-not-found: '&7Jogador não encontrado: &c{player}&7.' # Showtime Command Message -command-showtime-description: '&8 - &c/coldtracker showtime &7- Mostra o tempo total rastreado do jogador' -no-staff-member: '&7&c{player} &7não é um membro da equipe.' +command-showtime-description: '&8 - &c/coldtracker showtime &7- Mostra o tempo total registrado do jogador' +no-staff-member: '&7&c{player} &7não é membro da equipe.' showtime-message: '&c{player} &7jogou por &c{time}&7.' command-showtime-usage: '&7Uso: &c/coldtracker showtime ' # ShowVote Command Message -command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Mostra o total de votos rastreados do jogador' +command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Mostra o total de votos registrados do jogador' showvotes-message: "&c{player} &7tem um total de &c{votes}&7 votos." -command-showvotes-disabled: '&7Rastreamento de votos &cdesativado&7. Consulte o arquivo de configuração.' -command-votes-not-available: '&7Nenhum plugin de votação detectado. O rastreamento de votos está &cindisponível&7.' +command-showvotes-disabled: '&7O rastreamento de votos está &cdesativado&7. Consulte o arquivo de configuração.' +command-votes-not-available: '&7Plugin de votação não detectado. Rastreamento de votos está &cindisponível&7.' + +# Stats Command +command-stats-description: '&8 - &c/coldtracker stats &7- Veja suas estatísticas pessoais' +command-stats-player-only: '&cApenas jogadores podem usar este comando.' +command-stats-console-no-self: '&7O console não pode ter estatísticas.' +command-stats-playtime: '&7Você tem um tempo total de &c{time}&7.' +command-stats-votes: '&7e &c{votes} votos&7.' # Database message warnings -command-wipe-description: '&8 - &c/coldtracker wipe &7- Limpa o banco de dados SQLite atual' +command-wipe-description: '&8 - &c/coldtracker wipe &7- Apaga o banco de dados SQLite atual' command-wipe-usage: '&7Uso: &c/coldtracker wipe' -command-wipe-warning: '&eAVISO: &cEsta operação apagará todos os dados do banco de dados ativo. &cSe você tem certeza, use &a/coldtracker wipe confirm&c.' -command-wipe-success: '&7Todos os dados do banco de dados foram apagados com &asucesso&7.' +command-wipe-warning: '&eAVISO: &cEsta operação apagará todos os dados do banco de dados ativo. &cSe você tiver certeza absoluta, use &a/coldtracker wipe confirm&c.' +command-wipe-success: '&7Todos os dados do banco de dados foram apagados &com sucesso&7.' # Base Command Message base-command-color: '&7' -base-command-help: '&7Use &c/coldtracker help &7para informações sobre comandos.' +base-command-help: '&7Use &c/coldtracker help &7para obter informações sobre os comandos.' # Reload Command command-reload-description: '&8 - &c/coldtracker reload &7- Recarrega o plugin' command-reload-usage: '&7Uso: &c/coldtracker reload' -command-reload-success: '&7Os arquivos de configuração e idioma foram recarregados.' +command-reload-success: '&7Os arquivos de configuração e de localização foram recarregados.' # Dump Command -command-dump-disabled: '&7Geração de Gist &cdesativada&7. Consulte o arquivo de configuração.' -command-dump-description: '&8 - &c/coldtracker dump &7- Exporta os dados do banco de dados atual para o Gist' +command-dump-disabled: '&7O dump Gist está &cdesativado&7. Consulte o arquivo de configuração.' +command-dump-description: '&8 - &c/coldtracker dump &7- Despeja os dados do banco de dados atual em um Gist' command-dump-usage: '&7Uso: &c/coldtracker dump' -command-dump-warning: '&eAVISO: &cEsta operação exportará os dados do banco de dados atual. Use &a/coldtracker dump confirm&c para continuar.' -command-dump-success: '&7Exportação do banco de dados realizada com &asucesso&7! Link: &a{link}' -command-dump-fail: '&cFalha ao gerar o link do Gist. Verifique o console para erros.' +command-dump-warning: '&eAVISO: &cEsta operação despejará os dados do banco de dados atual. Use &a/coldtracker dump confirm&c para continuar.' +command-dump-success: '&7Dump do banco de dados realizado &com sucesso&7! Link: &a{link}' +command-dump-fail: '&cFalha ao gerar o link Gist. Verifique o console para erros.' # Export Command command-export-description: '&8 - &c/coldtracker export &7- Exporta os dados para plugins/ColdTracker' -command-export-warning: '&eAVISO: &cO arquivo de exportação já existe. Use &a/coldtracker export confirm &cpara sobrescrever.' -command-export-success: '&7Exportação realizada com &asucesso&7. Os dados foram salvos em &aplugins/ColdTracker/{folder}&7.' -command-export-fail: '&cFalha ao salvar o arquivo export.yml. Verifique o console para erros.' +command-export-warning: '&eAVISO: &cO arquivo de exportação já existe. Use &a/coldtracker export confirm &cpara substituí-lo.' +command-export-success: '&7Exportação &completa&7. Os dados foram salvos em &aplugins/ColdTracker/{folder}&7.' +command-export-fail: '&cFalha ao salvar export.yml. Verifique o console para erros.' # Version Command -command-version-description: '&8 - &c/coldtracker version &7- Mostra as informações da versão do ColdTracker' +command-version-description: '&8 - &c/coldtracker version &7- Exibe a versão do ColdTracker' diff --git a/src/main/resources/locale/ro_RO.yml b/src/main/resources/locale/ro_RO.yml index d4fe929..80fdb92 100644 --- a/src/main/resources/locale/ro_RO.yml +++ b/src/main/resources/locale/ro_RO.yml @@ -2,55 +2,62 @@ prefix: '&8「ɻAA7CD72B7oϒBC7l&#B2A3D8d&#CCBCE8T&#E6D4F8r&#D8B8F8a&#C99CF7c&#BB80F7k&#AC64F6e E48F6r&8」&7» ' # Help Command -command-help-description: '&8 - &c/coldtracker help &7- Afișează meniul de ajutor... Ai ajuns aici' +command-help-description: '&8 - &c/coldtracker help &7- Afișează meniul de ajutor... Ai ajuns' command-help-title: '&cComenzi disponibile:' # Misc no-permission: '&cNu ai permisiunea necesară pentru asta!' unknown-command: '&cComandă necunoscută &4%input%&c.' -invalid-command-usage: '&cUtilizare incorectă a comenzii.' +invalid-command-usage: '&cUtilizare invalidă a comenzii.' player-not-found: '&7Jucătorul nu a fost găsit: &c{player}&7.' # Showtime Command Message command-showtime-description: '&8 - &c/coldtracker showtime &7- Afișează timpul total înregistrat al jucătorului' -no-staff-member: '&7&c{player} &7nu este un membru al echipei.' +no-staff-member: '&7&c{player} &7nu este membru al echipei.' showtime-message: '&c{player} &7a jucat timp de &c{time}&7.' command-showtime-usage: '&7Utilizare: &c/coldtracker showtime ' # ShowVote Command Message -command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Afișează numărul total de voturi al jucătorului' +command-showvotes-description: '&8 - &c/coldtracker showvotes &7- Afișează totalul de voturi înregistrate al jucătorului' showvotes-message: "&c{player} &7are un total de &c{votes}&7 voturi." -command-showvotes-disabled: '&7Monitorizarea voturilor este &cdezactivată&7. Consultați fișierul de configurare.' -command-votes-not-available: '&7Plugin de voturi nedetectat. Monitorizarea voturilor este &cindisponibilă&7.' +command-showvotes-disabled: '&7Funcția de urmărire a voturilor este &cdezactivată&7. Consultați fișierul de configurare.' +command-votes-not-available: '&7Plugin-ul de vot nu a fost detectat. Urmărirea voturilor este &cindisponibilă&7.' + +# Stats Command +command-stats-description: '&8 - &c/coldtracker stats &7- Vizualizează statisticile personale' +command-stats-player-only: '&cDoar jucătorii pot utiliza această comandă.' +command-stats-console-no-self: '&7Consola nu poate avea statistici.' +command-stats-playtime: '&7Ai un timp total de &c{time}&7.' +command-stats-votes: '&7și &c{votes} voturi&7.' # Database message warnings command-wipe-description: '&8 - &c/coldtracker wipe &7- Șterge baza de date SQLite actuală' command-wipe-usage: '&7Utilizare: &c/coldtracker wipe' command-wipe-warning: '&eATENȚIE: &cAceastă operațiune va șterge toate datele din baza de date activă. &cDacă ești absolut sigur, folosește &a/coldtracker wipe confirm&c.' -command-wipe-success: '&7Toate datele din baza de date au fost șterse cu &asucces&7.' +command-wipe-success: '&7Toate datele din baza de date au fost șterse &cu succes&7.' # Base Command Message base-command-color: '&7' base-command-help: '&7Folosește &c/coldtracker help &7pentru informații despre comenzi.' # Reload Command -command-reload-description: '&8 - &c/coldtracker reload &7- Reîncarcă plugin-ul' +command-reload-description: '&8 - &c/coldtracker reload &7- Reîncarcă pluginul' command-reload-usage: '&7Utilizare: &c/coldtracker reload' command-reload-success: '&7Fișierele de configurare și localizare au fost reîncărcate.' # Dump Command -command-dump-disabled: '&7Export Gist &cdezactivat&7. Consultați fișierul de configurare.' -command-dump-description: '&8 - &c/coldtracker dump &7- Exportă datele curente din baza de date în Gist' +command-dump-disabled: '&7Dump-ul Gist este &cdezactivat&7. Consultați fișierul de configurare.' +command-dump-description: '&8 - &c/coldtracker dump &7- Descarcă datele din baza de date curentă într-un Gist' command-dump-usage: '&7Utilizare: &c/coldtracker dump' -command-dump-warning: '&eATENȚIE: &cAceastă operațiune va exporta datele din baza de date curentă. Folosește &a/coldtracker dump confirm&c pentru a continua.' -command-dump-success: '&7Exportarea bazei de date a fost realizată cu &asucces&7! Link: &a{link}' -command-dump-fail: '&cEroare la generarea link-ului Gist. Verifică consola pentru erori.' +command-dump-warning: '&eATENȚIE: &cAceastă operațiune va descărca datele din baza de date curentă. Folosiți &a/coldtracker dump confirm&c pentru a continua.' +command-dump-success: '&7Descărcarea bazei de date a fost realizată &cu succes&7! Link: &a{link}' +command-dump-fail: '&cEroare la generarea link-ului Gist. Verificați consola pentru erori.' # Export Command command-export-description: '&8 - &c/coldtracker export &7- Exportă datele în plugins/ColdTracker' -command-export-warning: '&eATENȚIE: &cFișierul de export există deja. Folosește &a/coldtracker export confirm &cpentru a suprascrie.' -command-export-success: '&7Exportare realizată cu &asucces&7. Datele au fost salvate în &aplugins/ColdTracker/{folder}&7.' -command-export-fail: '&cEroare la salvarea export.yml. Verifică consola pentru erori.' +command-export-warning: '&eATENȚIE: &cFișierul de export există deja. Folosiți &a/coldtracker export confirm &cpentru a-l suprascrie.' +command-export-success: '&7Export &realizat cu succes&7. Datele au fost salvate în &aplugins/ColdTracker/{folder}&7.' +command-export-fail: '&cEroare la salvarea export.yml. Verificați consola pentru erori.' # Version Command -command-version-description: '&8 - &c/coldtracker version &7- Afișează informațiile despre versiunea ColdTracker' +command-version-description: '&8 - &c/coldtracker version &7- Afișează versiunea ColdTracker' diff --git a/src/main/resources/locale/zh_CN.yml b/src/main/resources/locale/zh_CN.yml index 09ac999..241e8b0 100644 --- a/src/main/resources/locale/zh_CN.yml +++ b/src/main/resources/locale/zh_CN.yml @@ -2,55 +2,62 @@ prefix: '&8「ɻAA7CD72B7oϒBC7l&#B2A3D8d&#CCBCE8T&#E6D4F8r&#D8B8F8a&#C99CF7c&#BB80F7k&#AC64F6e E48F6r&8」&7» ' # Help Command -command-help-description: '&8 - &c/coldtracker help &7- 显示帮助菜单... 您已到达' -command-help-title: '&c可用命令:' +command-help-description: '&8 - &c/coldtracker help &7- 显示帮助菜单... 你已经到达' +command-help-title: '&c可用命令:' # Misc -no-permission: '&c您没有权限执行此操作!' -unknown-command: '&c未知命令 &4%input%&c。' -invalid-command-usage: '&c命令使用无效。' -player-not-found: '&7找不到玩家:&c{player}&7。' +no-permission: '&c你没有权限这样做!' +unknown-command: '&c未知命令 &4%input%&c.' +invalid-command-usage: '&c无效的命令用法。' +player-not-found: '&7无法找到玩家: &c{player}&7。' # Showtime Command Message -command-showtime-description: '&8 - &c/coldtracker showtime &7- 显示玩家的总游戏时间' -no-staff-member: '&7&c{player} &7不是工作人员成员。' -showtime-message: '&c{player} &7已游戏 &c{time}&7。' -command-showtime-usage: '&7用法:&c/coldtracker showtime ' +command-showtime-description: '&8 - &c/coldtracker showtime &7- 显示玩家的总在线时间' +no-staff-member: '&7&c{player} &7不是团队成员。' +showtime-message: '&c{player} &7的总在线时间为 &c{time}&7。' +command-showtime-usage: '&7用法: &c/coldtracker showtime ' # ShowVote Command Message command-showvotes-description: '&8 - &c/coldtracker showvotes &7- 显示玩家的总投票数' -showvotes-message: "&c{player} &7共有 &c{votes}&7 投票。" -command-showvotes-disabled: '&7投票追踪已&c禁用&7。请检查配置文件。' -command-votes-not-available: '&7未检测到投票插件。投票追踪功能&c不可用&7。' +showvotes-message: "&c{player} &7总共获得 &c{votes}&7 次投票。" +command-showvotes-disabled: '&7投票跟踪功能已&c禁用&7。请检查配置文件。' +command-votes-not-available: '&7未检测到投票插件。投票跟踪功能&c不可用&7。' + +# Stats Command +command-stats-description: '&8 - &c/coldtracker stats &7- 查看你的个人统计数据' +command-stats-player-only: '&c只有玩家可以使用此命令。' +command-stats-console-no-self: '&7控制台无法拥有统计数据。' +command-stats-playtime: '&7你的总在线时间为 &c{time}&7。' +command-stats-votes: '&7以及 &c{votes} 次投票&7。' # Database message warnings -command-wipe-description: '&8 - &c/coldtracker wipe &7- 清除当前 SQLite 数据库' -command-wipe-usage: '&7用法:&c/coldtracker wipe' -command-wipe-warning: '&e警告:&c此操作将删除活动数据库中的所有数据。&c如果您确定,请使用 &a/coldtracker wipe confirm&c。' -command-wipe-success: '&7数据库中的所有数据已成功&7清除&7。' +command-wipe-description: '&8 - &c/coldtracker wipe &7- 清空当前SQLite数据库' +command-wipe-usage: '&7用法: &c/coldtracker wipe' +command-wipe-warning: '&e警告: &c此操作将删除活动数据库中的所有数据。 &c如果您确定,请使用 &a/coldtracker wipe confirm&c。' +command-wipe-success: '&7数据库中的所有数据已被&成功清除&7。' # Base Command Message base-command-color: '&7' -base-command-help: '&7使用 &c/coldtracker help &7获取命令信息。' +base-command-help: '&7使用 &c/coldtracker help &7查看命令信息。' # Reload Command command-reload-description: '&8 - &c/coldtracker reload &7- 重载插件' -command-reload-usage: '&7用法:&c/coldtracker reload' -command-reload-success: '&7配置文件和语言文件已重新加载。' +command-reload-usage: '&7用法: &c/coldtracker reload' +command-reload-success: '&7配置和本地化文件已重新加载。' # Dump Command -command-dump-disabled: '&7Gist 生成已&c禁用&7。请检查配置文件。' -command-dump-description: '&8 - &c/coldtracker dump &7- 将当前数据库的数据导出到 Gist' -command-dump-usage: '&7用法:&c/coldtracker dump' -command-dump-warning: '&e警告:&c此操作将导出当前数据库的数据。使用 &a/coldtracker dump confirm&c 继续。' -command-dump-success: '&7数据库导出成功&7!链接:&a{link}' -command-dump-fail: '&c生成 Gist 链接失败。检查控制台以获取错误信息。' +command-dump-disabled: '&7Gist转储功能已&c禁用&7。请检查配置文件。' +command-dump-description: '&8 - &c/coldtracker dump &7- 转储当前数据库数据到Gist' +command-dump-usage: '&7用法: &c/coldtracker dump' +command-dump-warning: '&e警告: &c此操作将转储当前数据库的数据。使用 &a/coldtracker dump confirm&c 继续。' +command-dump-success: '&7数据库转储已&成功完成&7!链接: &a{link}' +command-dump-fail: '&c生成Gist链接失败。请检查控制台中的错误信息。' # Export Command command-export-description: '&8 - &c/coldtracker export &7- 将数据导出到 plugins/ColdTracker' -command-export-warning: '&e警告:&c导出文件已存在。使用 &a/coldtracker export confirm &c覆盖。' -command-export-success: '&7导出成功&7。数据已保存到 &aplugins/ColdTracker/{folder}&7。' -command-export-fail: '&c保存到 export.yml 失败。检查控制台以获取错误信息。' +command-export-warning: '&e警告: &c导出文件已存在。使用 &a/coldtracker export confirm &c覆盖它。' +command-export-success: '&7导出&成功完成&7。数据已保存到 &aplugins/ColdTracker/{folder}&7。' +command-export-fail: '&c保存 export.yml 失败。请检查控制台中的错误信息。' # Version Command command-version-description: '&8 - &c/coldtracker version &7- 显示 ColdTracker 的版本信息'