input: 
  def subtitle_client_usage(prog_name: str, default_language: str, default_engine: str) -> str:
      """
      This function generates a usage message for a command-line interface that downloads subtitles for movies and TV shows.
      The usage message includes commands for downloading, checking existence, testing engines, listing available engines, and showing help and version information.
  
      >>> subtitle_client_usage('subtitles_client', 'en', 'opensubtitles')
      'Subtitles Client\n\nUsage:\n  subtitles_client download <releases_path>... [--lang=<language> --engine=<subtitle_site>...]\n  subtitles_client exist <releases_path>... [--lang=<language> --engine=<subtitle_site>...]\n  subtitles_client test [<engines>...]\n  subtitles_client (-l | --list)\n  subtitles_client (-h | --help)\n  subtitles_client (-v | --version)\n\nOptions:\n  -l --list                 Show subtitles engine list.\n  -h --help                 Show this screen.\n  -v --version              Show version.\n  --lang=<language>         Subtitle language (alpha2) [default: en].\n  --engine=<subtitle_site>  Subtitle site              [default: opensubtitles].'
      """
      usage_template = \
  """
  Subtitles Client
  
  Usage:
    {prog} download <releases_path>... [--lang=<language> --engine=<subtitle_site>...]
    {prog} exist <releases_path>... [--lang=<language> --engine=<subtitle_site>...]
    {prog} test [<engines>...]
    {prog} (-l | --list)
    {prog} (-h | --help)
    {prog} (-v | --version)
  
  Options:
    -l --list                 Show subtitles engine list.
    -h --help                 Show this screen.
    -v --version              Show version.
    --lang=<language>         Subtitle language (alpha2) [default: {def_language}].
    --engine=<subtitle_site>  Subtitle site              [default: {def_engine}].
  """
      return usage_template.format(prog=prog_name, def_language=default_language, def_engine=default_engine)
  
output:     usage_template = \
  """
  Subtitles Client
  
  Usage:
    {prog} download <releases_path>... [--lang=<language> --engine=<subtitle_site>...]
    {prog} exist <releases_path>... [--lang=<language> --engine=<subtitle_site>...]
    {prog} test [<engines>...]
    {prog} (-l | --list)
    {prog} (-h | --help)
    {prog} (-v | --version)
  
  Options:
    -l --list                 Show subtitles engine list.
    -h --help                 Show this screen.
    -v --version              Show version.
    --lang=<language>         Subtitle language (alpha2) [default: {def_language}].
    --engine=<subtitle_site>  Subtitle site              [default: {def_engine}].
  """
      return usage_template.format(prog=prog_name, def_language=default_language, def_engine=default_engine)