From 30e10c38b6933dd1e6b7c935e70fc7c5b1e7dae4 Mon Sep 17 00:00:00 2001 From: "Dylan K. Taylor" Date: Sat, 2 Oct 2021 20:59:36 +0100 Subject: [PATCH] Localize /help --- resources/locale | 2 +- src/command/defaults/HelpCommand.php | 13 ++++++++----- src/lang/KnownTranslationFactory.php | 18 ++++++++++++++++++ src/lang/KnownTranslationKeys.php | 3 +++ 4 files changed, 30 insertions(+), 6 deletions(-) diff --git a/resources/locale b/resources/locale index 73fb74ffc..73439bd44 160000 --- a/resources/locale +++ b/resources/locale @@ -1 +1 @@ -Subproject commit 73fb74ffce2b633b87fc82039d1fb3c2cf0d5ac7 +Subproject commit 73439bd4492a3fb3c3ed11eb6e654cf4a282b20c diff --git a/src/command/defaults/HelpCommand.php b/src/command/defaults/HelpCommand.php index 77bc98d0e..f16049a69 100644 --- a/src/command/defaults/HelpCommand.php +++ b/src/command/defaults/HelpCommand.php @@ -105,17 +105,20 @@ class HelpCommand extends VanillaCommand{ $lang = $sender->getLanguage(); $description = $cmd->getDescription(); $descriptionString = $description instanceof Translatable ? $lang->translate($description) : $description; - $message = TextFormat::YELLOW . "--------- " . TextFormat::WHITE . " Help: /" . $cmd->getName() . TextFormat::YELLOW . " ---------\n"; - $message .= TextFormat::GOLD . "Description: " . TextFormat::WHITE . $descriptionString . "\n"; + $sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_header($commandName) + ->format(TextFormat::YELLOW . "--------- " . TextFormat::WHITE, TextFormat::YELLOW . " ---------")); + $sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_description(TextFormat::WHITE . $descriptionString) + ->prefix(TextFormat::GOLD)); + $usage = $cmd->getUsage(); $usageString = $usage instanceof Translatable ? $lang->translate($usage) : $usage; - $message .= TextFormat::GOLD . "Usage: " . TextFormat::WHITE . implode("\n" . TextFormat::WHITE, explode("\n", $usageString)) . "\n"; - $sender->sendMessage($message); + $sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_usage(TextFormat::WHITE . implode("\n" . TextFormat::WHITE, explode("\n", $usageString))) + ->prefix(TextFormat::GOLD)); return true; } } - $sender->sendMessage(TextFormat::RED . "No help for " . strtolower($commandName)); + $sender->sendMessage(KnownTranslationFactory::pocketmine_command_notFound($commandName, "/help")->prefix(TextFormat::RED)); return true; } diff --git a/src/lang/KnownTranslationFactory.php b/src/lang/KnownTranslationFactory.php index a36417c81..1150e1d51 100644 --- a/src/lang/KnownTranslationFactory.php +++ b/src/lang/KnownTranslationFactory.php @@ -1165,6 +1165,24 @@ final class KnownTranslationFactory{ return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_HELP_DESCRIPTION, []); } + public static function pocketmine_command_help_specificCommand_description(Translatable|string $description) : Translatable{ + return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_DESCRIPTION, [ + "description" => $description, + ]); + } + + public static function pocketmine_command_help_specificCommand_header(Translatable|string $commandName) : Translatable{ + return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_HEADER, [ + "commandName" => $commandName, + ]); + } + + public static function pocketmine_command_help_specificCommand_usage(Translatable|string $usage) : Translatable{ + return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_USAGE, [ + "usage" => $usage, + ]); + } + public static function pocketmine_command_kick_description() : Translatable{ return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_KICK_DESCRIPTION, []); } diff --git a/src/lang/KnownTranslationKeys.php b/src/lang/KnownTranslationKeys.php index 65a3c9a76..88807b997 100644 --- a/src/lang/KnownTranslationKeys.php +++ b/src/lang/KnownTranslationKeys.php @@ -255,6 +255,9 @@ final class KnownTranslationKeys{ public const POCKETMINE_COMMAND_GIVE_DESCRIPTION = "pocketmine.command.give.description"; public const POCKETMINE_COMMAND_GIVE_USAGE = "pocketmine.command.give.usage"; public const POCKETMINE_COMMAND_HELP_DESCRIPTION = "pocketmine.command.help.description"; + public const POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_DESCRIPTION = "pocketmine.command.help.specificCommand.description"; + public const POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_HEADER = "pocketmine.command.help.specificCommand.header"; + public const POCKETMINE_COMMAND_HELP_SPECIFICCOMMAND_USAGE = "pocketmine.command.help.specificCommand.usage"; public const POCKETMINE_COMMAND_KICK_DESCRIPTION = "pocketmine.command.kick.description"; public const POCKETMINE_COMMAND_KILL_DESCRIPTION = "pocketmine.command.kill.description"; public const POCKETMINE_COMMAND_KILL_USAGE = "pocketmine.command.kill.usage";