Localize /help

This commit is contained in:
Dylan K. Taylor 2021-10-02 20:59:36 +01:00
parent 05dc675d5b
commit 30e10c38b6
No known key found for this signature in database
GPG Key ID: 8927471A91CAFD3D
4 changed files with 30 additions and 6 deletions

@ -1 +1 @@
Subproject commit 73fb74ffce2b633b87fc82039d1fb3c2cf0d5ac7 Subproject commit 73439bd4492a3fb3c3ed11eb6e654cf4a282b20c

View File

@ -105,17 +105,20 @@ class HelpCommand extends VanillaCommand{
$lang = $sender->getLanguage(); $lang = $sender->getLanguage();
$description = $cmd->getDescription(); $description = $cmd->getDescription();
$descriptionString = $description instanceof Translatable ? $lang->translate($description) : $description; $descriptionString = $description instanceof Translatable ? $lang->translate($description) : $description;
$message = TextFormat::YELLOW . "--------- " . TextFormat::WHITE . " Help: /" . $cmd->getName() . TextFormat::YELLOW . " ---------\n"; $sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_header($commandName)
$message .= TextFormat::GOLD . "Description: " . TextFormat::WHITE . $descriptionString . "\n"; ->format(TextFormat::YELLOW . "--------- " . TextFormat::WHITE, TextFormat::YELLOW . " ---------"));
$sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_description(TextFormat::WHITE . $descriptionString)
->prefix(TextFormat::GOLD));
$usage = $cmd->getUsage(); $usage = $cmd->getUsage();
$usageString = $usage instanceof Translatable ? $lang->translate($usage) : $usage; $usageString = $usage instanceof Translatable ? $lang->translate($usage) : $usage;
$message .= TextFormat::GOLD . "Usage: " . TextFormat::WHITE . implode("\n" . TextFormat::WHITE, explode("\n", $usageString)) . "\n"; $sender->sendMessage(KnownTranslationFactory::pocketmine_command_help_specificCommand_usage(TextFormat::WHITE . implode("\n" . TextFormat::WHITE, explode("\n", $usageString)))
$sender->sendMessage($message); ->prefix(TextFormat::GOLD));
return true; return true;
} }
} }
$sender->sendMessage(TextFormat::RED . "No help for " . strtolower($commandName)); $sender->sendMessage(KnownTranslationFactory::pocketmine_command_notFound($commandName, "/help")->prefix(TextFormat::RED));
return true; return true;
} }

View File

@ -1165,6 +1165,24 @@ final class KnownTranslationFactory{
return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_HELP_DESCRIPTION, []); 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{ public static function pocketmine_command_kick_description() : Translatable{
return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_KICK_DESCRIPTION, []); return new Translatable(KnownTranslationKeys::POCKETMINE_COMMAND_KICK_DESCRIPTION, []);
} }

View File

@ -255,6 +255,9 @@ final class KnownTranslationKeys{
public const POCKETMINE_COMMAND_GIVE_DESCRIPTION = "pocketmine.command.give.description"; public const POCKETMINE_COMMAND_GIVE_DESCRIPTION = "pocketmine.command.give.description";
public const POCKETMINE_COMMAND_GIVE_USAGE = "pocketmine.command.give.usage"; 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_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_KICK_DESCRIPTION = "pocketmine.command.kick.description";
public const POCKETMINE_COMMAND_KILL_DESCRIPTION = "pocketmine.command.kill.description"; public const POCKETMINE_COMMAND_KILL_DESCRIPTION = "pocketmine.command.kill.description";
public const POCKETMINE_COMMAND_KILL_USAGE = "pocketmine.command.kill.usage"; public const POCKETMINE_COMMAND_KILL_USAGE = "pocketmine.command.kill.usage";