# gt: General Translation CLI tool: Quickstart URL: https://generaltranslation.com/en-US/docs/cli/quickstart.mdx --- title: Quickstart description: Learn what the General Translation CLI does, when to use it, and how to translate your first project. related: links: - /docs/cli/guides/generating-translations - /docs/cli/guides/configuring - /docs/cli/guides/managing-translations - /docs/cli/guides/using-auto-jsx --- The General Translation CLI (`gt`) sets up internationalization and translates your project from the command line. It works with [`gt-react`, `gt-next`, and `gt-react-native`](/docs/react/overview), with third-party i18n libraries like `next-intl` and `i18next`, and with standalone files such as JSON, YAML, Markdown, and MDX. ## What the CLI does [#what-it-does] The CLI gives you direct access to: - **Setup** for installing dependencies, wiring up your framework, and creating a `gt.config.json`. - **Translation** for sending your source content to the General Translation API and saving the results to your codebase or the CDN. - **CI building blocks** for uploading, enqueuing, and downloading translations across separate pipeline stages. - **Validation** for checking your project for translation errors without calling the API. ## When to use the CLI [#when-to-use] Use the CLI when you want to: - Set up a new project for translation with a guided wizard. - Translate your project as part of a build or CI pipeline. - Translate standalone content files without adding a framework library. - Keep translations in version control alongside your source content. ## Quickstart [#quickstart] Install `gt`, configure your project, and run your first translation. ### 1. Install `gt` Install the CLI as a dev dependency. ```bash npm install gt --save-dev ``` ```bash yarn add --dev gt ``` ```bash bun add --dev gt ``` ```bash pnpm add --save-dev gt ``` ### 2. Configure your project Run the setup wizard to detect your framework, create a `gt.config.json`, and generate credentials. ```bash npx gt init ``` The wizard sets your default locale and target locales, chooses where translations are stored, and writes your API key and Project ID to `.env.local`. See [Configuring the CLI](/docs/cli/guides/configuring) to set this up in detail, or [`gt init`](/docs/cli/reference/commands/init) for the full command. ### 3. Add your production API key The [`translate`](/docs/cli/reference/commands/translate) command requires a production API key and Project ID. The wizard can generate these for you, or create them on the [API Keys page](https://generaltranslation.com/dashboard). Set them as environment variables so the CLI can read them. ```bash title=".env" GT_API_KEY=your-api-key GT_PROJECT_ID=your-project-id ``` *Note: Set your API key as an environment variable — never add it to `gt.config.json`.* ### 4. Translate your project Run the `translate` command to translate every file configured in `gt.config.json`, along with any inline [``](/docs/react/reference/components/t) components and dictionary entries in your source code. ```bash npx gt translate ``` Translations are saved to your codebase, ready to commit. Run this in your CI pipeline before you build for production. See [Generating translations](/docs/cli/guides/generating-translations) for the full workflow. ## Next steps - /docs/cli/guides/generating-translations - /docs/cli/guides/configuring - /docs/cli/guides/managing-translations - /docs/cli/guides/using-auto-jsx