# gt: General Translation CLI tool: gt stage
URL: https://generaltranslation.com/en-US/docs/cli/reference/commands/stage.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Submit a project for asynchronous translation and later download. API reference for the gt stage command.

Submits your project for asynchronous translation without downloading or publishing the results in the same run. Use it when your project has human review enabled or when a format such as Lottie cannot finish in a single [`gt translate`](/docs/cli/reference/commands/translate) run. For both workflows, see [Manage translations](/docs/cli/guides/managing-translations).

Running `stage` sets `stageTranslations: true` in your `gt.config.json`. Once enabled, [`gt translate`](/docs/cli/reference/commands/translate) only downloads staged versions. If nothing is staged, it completes without downloading files. When translations are ready—and approved when review is required—run [`gt download`](/docs/cli/reference/commands/download). [`gt translate`](/docs/cli/reference/commands/translate) can also download previously staged versions.

*Note: For production use only. Requires a production `GT_API_KEY` and `GT_PROJECT_ID`.*

```bash
npx gt stage
```

## How it works [#how-it-works]

1. Reads `gt.config.json`, scans your source code for inline content in framework projects, and collects files — the same way [`gt translate`](/docs/cli/reference/commands/translate) does.
2. Sends the content to the General Translation API without downloading or publishing results in the same run. Review-gated projects hold completed translations for approval.
3. Sets `stageTranslations: true` in your `gt.config.json` so future runs require staging.

Once `stageTranslations` is enabled, [`translate`](/docs/cli/reference/commands/translate) only downloads staged versions. With no staged versions, it completes without downloading files. Download completed translations with [`gt download`](/docs/cli/reference/commands/download), or use [`gt translate`](/docs/cli/reference/commands/translate).

## Flags [#flags]

`stage` accepts the same flags as [`gt translate`](/docs/cli/reference/commands/translate#flags), including the source scanning flags for framework projects. The flags most commonly used with it are below; the linked reference above lists the complete set.

| Parameter | Description | Type | Optional | Default |
| --- | --- | --- | --- | --- |
| `--api-key <key>` | Production API key. | `string` | Yes | `GT_API_KEY` |
| `--project-id <id>` | project ID. | `string` | Yes | `GT_PROJECT_ID` |
| `-c, --config <path>` | Path to the config file. | `string` | Yes | `gt.config.json` |
| `--locales <locales...>` | Extra target locales, appended to config locales. | `string[]` | Yes | — |
| `--default-locale <locale>` | Source locale for the project. | `string` | Yes | `en` |
| `--dry-run` | Parse and validate without uploading or enqueuing translations. | `boolean` | Yes | `false` |
| `--save-local, --no-save-local` | Enable or disable saving local edits before enqueuing. Overrides [`options.saveLocal`](/docs/cli/reference/config#save-local). | `boolean` | Yes | `false` |
| `--tag [value]` | Tag the run; auto-resolves from git when no value is given. | `string` | Yes | — |
| `-m, --message <message>` | Message attached to the translation tag. | `string` | Yes | — |

## Example [#example]

```bash
# Stage translations for human review
npx gt stage

# Stage and tag the run for tracking in the Dashboard
npx gt stage --tag v2.1.0 -m "Q3 release"

# When translations are ready, download them
npx gt download
```

## Other notes [#notes]

- Use `stage` when human review is enabled or when translating asynchronous formats such as [Lottie](/docs/cli/reference/formats/lottie-files).
- Staging sets the [`stageTranslations`](/docs/cli/reference/config#stage) config key. See [Stage translations for review](/docs/cli/guides/managing-translations#review).

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
