> ## Documentation Index
> Fetch the complete documentation index at: https://docs.nt3.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Quick Start

> Get up and running with Entri in minutes.

This guide walks you through creating your first project and getting a translation into your application. You should be done in under 10 minutes.

<Tabs>
  <Tab title="Web dashboard">
    ## 1. Create your account

    Go to [app.nt3.io](https://app.nt3.io) and sign up with your Google account, GitHub account, or email address. No credit card is required for the free tier.

    ## 2. Create a project

    After signing in, click **New project** from your dashboard.

    Give your project a name (e.g., `My App`) and choose:

    * **Source language** — the language your developers write in (usually English).
    * **Target languages** — the languages you want to translate into. You can add more later.

    Click **Create project**.

    ## 3. Add your first keys

    Keys are the named strings your application displays to users. There are two ways to add them:

    **Import from a file** — Click **Import** in the project sidebar and upload an existing translation file. Entri supports JSON (flat and nested), Android XML, iOS `.strings`, and Gettext PO/POT.

    **Add manually** — Click **New key**, enter a key name (e.g., `welcome.heading`) and the source-language value (e.g., `Welcome to My App`).

    <Tip>
      If you're starting fresh, importing a JSON file is the fastest way to bring in all your keys at once. Even a small file with 5–10 strings is enough to explore the editor.
    </Tip>

    ## 4. Invite your team

    Go to **Settings → Members** and invite your teammates by email. Assign each person a role:

    | Role       | What they can do                                      |
    | ---------- | ----------------------------------------------------- |
    | Owner      | Full access including billing and project deletion    |
    | Admin      | Manage members, settings, and all translation content |
    | Developer  | Push/pull via CLI, manage keys and imports            |
    | Translator | Translate and comment; cannot manage project settings |
    | Reviewer   | Mark translations as reviewed or approved             |

    ## 5. Translate your content

    Open a key in the **Translation Editor**. For each target language you'll see:

    * The **source string** on the left
    * An editable **translation field** on the right
    * **AI suggestions** from Claude or GPT-4o (click the sparkle icon to generate)
    * **Translation Memory matches** surfaced automatically from past translations

    Type or accept a translation and press **Save** (or use `Cmd/Ctrl + S`). The key's status moves from **Untranslated** to **Translated**.

    Once a reviewer approves it, the status moves to **Approved** and the translation is added to your Translation Memory for future reuse.

    ## 6. Export your translations

    When you're ready to ship, go to **Export** and download your translations in the format your application expects. Entri preserves your original file structure so you can drop the files straight into your codebase.
  </Tab>

  <Tab title="CLI (developer path)">
    ## Install the CLI

    ```bash theme={null}
    npm install -g nt3
    ```

    ## Log in

    ```bash theme={null}
    nt3 login
    ```

    This opens a browser window to authenticate with your Entri account.

    ## Initialize a project

    Run this from the root of your codebase:

    ```bash theme={null}
    nt3 init
    ```

    The wizard asks you to select a project and configure your source file paths. It creates an `.nt3.yml` config file:

    ```yaml theme={null}
    project: my-app-project-id
    source_language: en
    target_languages:
      - nl
      - fr
      - de
    files:
      - source: locales/en/*.json
        format: json_nested
        target: locales/{{language_code}}/*.json
    ```

    ## Push your source strings

    ```bash theme={null}
    nt3 push
    ```

    This uploads your source-language strings to Entri as keys. New keys are created; existing keys are updated if the source value has changed.

    ## Translate in the dashboard

    Open [app.nt3.io](https://app.nt3.io), find your project, and translate your keys — manually, with AI, or by inviting a translator.

    ## Pull translations back

    ```bash theme={null}
    nt3 pull
    ```

    This downloads all approved translations and writes them to the target paths defined in `.nt3.yml`. Add this step to your CI/CD pipeline to keep translations in sync automatically.

    <Note>
      The CLI supports a `--ci` flag for non-interactive environments. See the [CLI reference](/developers/cli) for full usage.
    </Note>
  </Tab>
</Tabs>

## Next steps

<CardGroup cols={2}>
  <Card title="Core Concepts" icon="book-open" href="/platform/core-concepts">
    Understand projects, keys, namespaces, and the translation workflow.
  </Card>

  <Card title="AI Translation" icon="sparkles" href="/platform/ai-translation">
    Set up Claude or GPT-4o to auto-translate your content.
  </Card>

  <Card title="Translation Memory" icon="database" href="/platform/translation-memory">
    Learn how Entri reuses your past translations automatically.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/developers/webhooks">
    Trigger deployments automatically when translations are approved.
  </Card>
</CardGroup>
