Localizing Command helptext

When providing helptext localizations, they will be loaded automatically when placed in the YAMDBF Client commandsDir. Localizations for the base commands can be placed in there as well as localizations for any custom commands. Like regular localization strings, these can be spread out across as many files as desired for organizational purposes.

Command helptext localizations are expected to reside in .lang.json files as the text is static and doesn't quite work out with the nature of the .lang format. These files are expected to be in the format of

{
    "commandName": {
        "languageName": {
            "desc": "Description of the command",
            "info": "Extra information for the command",
            "usage": "<prefix>commandname"
        }
    }
}

As many languages as desired can be contained under the same command and as many commands as desired can be contained in the same file. It's encouraged to use English helptext in the command file itself for custom commands as commands need at least a base desc and usage field to be considered valid commands and this lines up with the base commands using english helptext.

Base English helptext strings

{
    "eval": {
        "en_us": {
            "desc": "Evaluate provided Javascript code",
            "usage": "<prefix>eval <...code>"
        }
    },
    "eval:ts": {
        "en_us": {
            "desc": "Evaluate provided Typescript code",
            "usage": "<prefix>eval:ts <...code>",
            "info": "Runs pretty slowly due to having to run diagnostics before compiling. If Typescript is not installed the provided code will be evaluated as Javascript and diagnostics/compilation will be skipped."
        }
    },
    "disablegroup": {
        "en_us": {
            "desc": "Disable a command group",
            "usage": "<prefix>disablegroup <group>",
            "info": "Disables a command group so that all of the commands in the group cannot be used on this server."
        }
    },
    "enablegroup": {
        "en_us": {
            "desc": "Enable a command group",
            "usage": "<prefix>enablegroup <group>",
            "info": "Enables a command group so that all of the commands in the group can be used on this server."
        }
    },
    "listgroups": {
        "en_us": {
            "desc": "List all command groups and their status",
            "usage": "<prefix>listgroups",
            "info": "A '*' denotes a disabled group when listing all command groups."
        }
    },
    "help": {
        "en_us": {
            "desc": "Provides information on bot commands",
            "usage": "<prefix>help [command]",
            "info": "Will DM bot command help information to the user to keep clutter down in guild channels"
        }
    },
    "ping": {
        "en_us": {
            "desc": "Pong!",
            "usage": "<prefix>ping"
        }
    },
    "reload": {
        "en_us": {
            "desc": "Reload a command or all commands",
            "usage": "<prefix>reload [command]",
            "info": "If a command name or alias is provided the specific command will be reloaded. Otherwise, all commands will be reloaded."
        }
    },
    "setlang": {
        "en_us": {
            "desc": "List languages or set bot language",
            "usage": "<prefix>setlang [lang]"
        }
    },
    "setprefix": {
        "en_us": {
            "desc": "Set or check command prefix",
            "usage": "<prefix>setprefix [prefix]",
            "info": "Prefixes may be 1-10 characters in length and may not include backslashes or backticks. Use \"clear\" to clear the prefix and allow commands to be called without a prefix."
        }
    },
    "blacklist": {
        "en_us": {
            "desc": "Blacklist a user from calling commands",
            "usage": "<prefix>blacklist <action> <user> ['global']",
            "info": "If global, this will block the user from calling commands in ANY server and DMs"
        }
    },
    "clearlimit": {
        "en_us": {
            "desc": "Clear role restrictions from a command",
            "usage": "<prefix>clearlimit <command>"
        }
    },
    "limit": {
        "en_us": {
            "desc": "Limit a command to the provided roles",
            "usage": "<prefix>limit <command>, <role names, ...>",
            "info": "The comma after the command name -- before the role names list -- is necessary."
        }
    }
}