{
  "description": "Upload source files to, or download translations from, a Crowdin project. Credentials normally come from crowdin.yml or the identity file, so --token is left out; other subcommands are not covered.",
  "name": "crowdin",
  "subcommands": [
    {
      "name": "upload",
      "subcommands": [
        {
          "name": "sources",
          "description": "Upload source files",
          "options": [
            {
              "names": [
                "--branch",
                "-b"
              ],
              "description": "Branch",
              "args": {
                "name": "branch",
                "isOptional": false
              }
            },
            {
              "names": [
                "--label"
              ],
              "description": "Attach labels to strings.",
              "args": {
                "name": "label",
                "description": "Attach labels to strings.",
                "isOptional": false,
                "isVariadic": true
              },
              "isRepeatable": true
            },
            {
              "names": [
                "--config",
                "-c"
              ],
              "description": "Config file",
              "args": {
                "name": "config",
                "isOptional": false,
                "template": "filepaths"
              }
            },
            {
              "names": [
                "--project-id",
                "-i"
              ],
              "description": "Project ID",
              "args": {
                "name": "project_id",
                "isOptional": false
              }
            },
            {
              "names": [
                "--delete-obsolete"
              ],
              "description": "Remove files and folders from the Crowdin project that no longer match the source configuration.",
              "isDangerous": true
            },
            {
              "names": [
                "--no-auto-update"
              ],
              "description": "Only upload new files"
            },
            {
              "names": [
                "--cache"
              ],
              "description": "Skip unchanged files"
            },
            {
              "names": [
                "--dryrun"
              ],
              "description": "Dry run"
            }
          ]
        }
      ]
    },
    {
      "name": "download",
      "description": "Download translations",
      "options": [
        {
          "names": [
            "--branch",
            "-b"
          ],
          "description": "Branch",
          "args": {
            "name": "branch",
            "isOptional": false
          }
        },
        {
          "names": [
            "--language",
            "-l"
          ],
          "description": "Download only these languages.",
          "args": {
            "name": "language",
            "description": "Download only these languages.",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--exclude-language",
            "-e"
          ],
          "description": "Skip languages",
          "args": {
            "name": "exclude_language",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--config",
            "-c"
          ],
          "description": "Config file",
          "args": {
            "name": "config",
            "isOptional": false,
            "template": "filepaths"
          }
        },
        {
          "names": [
            "--project-id",
            "-i"
          ],
          "description": "Project ID",
          "args": {
            "name": "project_id",
            "isOptional": false
          }
        },
        {
          "names": [
            "--skip-untranslated-files"
          ],
          "description": "Skip files not fully translated"
        },
        {
          "names": [
            "--skip-untranslated-strings"
          ],
          "description": "Skip untranslated strings"
        },
        {
          "names": [
            "--export-only-approved"
          ],
          "description": "Approved translations only"
        },
        {
          "names": [
            "--pseudo"
          ],
          "description": "Pseudo-localized files"
        },
        {
          "names": [
            "--keep-archive"
          ],
          "description": "Keep downloaded archive"
        },
        {
          "names": [
            "--dryrun"
          ],
          "description": "Dry run"
        }
      ]
    }
  ]
}
