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

# Quickstart

> Get started with Unlingo in under 5 minutes

## Overview

This quickstart guide will help you set up Unlingo and integrate it into your application in just a few minutes. We'll create a project, add some translations, and fetch them using our REST API.

## Prerequisites

* An Unlingo account (sign up at [unlingo.com](https://unlingo.com/sign-up))
* Basic knowledge of REST APIs
* A web or mobile application project

## Step 1: Create Your Project

<Steps>
  <Step title="Sign in to Dashboard">
    Navigate to [unlingo.com](https://unlingo.com/sign-in) and sign in to your account.
  </Step>

  <Step title="Create New Project">Click **Create Project** and enter your project details.</Step>

  <Step title="Create Namespace">
    Within your project, create a namespace: - **Name**: "translation" (you can use any name but i18next uses
    "translation" by default)
  </Step>
</Steps>

## Step 2: Add New Language

<Steps>
  <Step title="Navigate to your namespace">Navigate to your namespace</Step>
  <Step title="Select version">Select `main` version</Step>
  <Step title="Create language">Click **Add language** and enter the language code (e.g., `en`)</Step>
</Steps>

## Step 3: Add Translations

<Steps>
  <Step title="Open language editor">
    Click on the language card
  </Step>

  <Step title="Open JSON edit">Click **JSON Mode**</Step>

  <Step title="Add translations">
    Paste your translations in JSON format

    ```json theme={null}
    {
      "welcome": "Welcome to our application",
      "login": "Sign In",
      "logout": "Sign Out",
      "nav": {
        "home": "Home",
        "about": "About",
        "contact": "Contact"
      }
    }
    ```
  </Step>

  <Step title="Save changes">Click **Apply Changes** and Click **Save Changes** in top right corner</Step>
</Steps>

## Step 4: Create Your First Release

<Steps>
  <Step title="Navigate to Releases">Go to the **Releases** tab in your project dashboard</Step>

  <Step title="Create Release">
    Click **Create Release** and enter: - **Tag**: "1.0.0". Select your `translation` namespace and `main` version
  </Step>

  <Step title="Publish">Click **Create Release** to make it available via the API</Step>
</Steps>

## Step 4: Get Your API Key

<Steps>
  <Step title="Navigate to API Keys">Go to the **API Keys** tab in your project dashboard</Step>
  <Step title="Create API Key">Click **Generate Key** and give it a name like **Production API Key**</Step>
  <Step title="Copy Key">Copy the generated API key - you'll need it for the next step</Step>
</Steps>

<Warning>Save your key somewhere safe because it will not be shown again.</Warning>

## Step 5: Fetch Translations

Now you can fetch your translations using our API:

<CodeGroup>
  ```bash cURL theme={null}
  curl -X GET "https://api.unlingo.com/v1/translations?tag=1.0.0&namespace=translation&lang=en" \
    -H "Authorization: Bearer YOUR_API_KEY"
  ```

  ```javascript JavaScript/Fetch theme={null}
  const response = await fetch('https://api.unlingo.com/v1/translations?tag=1.0.0&namespace=translation&lang=en', {
      headers: {
          Authorization: 'Bearer YOUR_API_KEY',
      },
  });

  const translations = await response.json();
  console.log(translations);
  ```
</CodeGroup>

Expected response:

```json theme={null}
{
    "translation": {
        "welcome": "Welcome to our application",
        "login": "Sign In",
        "logout": "Sign Out",
        "nav": {
            "home": "Home",
            "about": "About",
            "contact": "Contact"
        }
    }
}
```

## Common Patterns

### Environment-Based Tags

Use different tags for different environments:

```javascript theme={null}
const tag = process.env.NODE_ENV === 'production' ? '1.0.0' : 'staging';

const translations = await fetch(`https://api.unlingo.com/v1/translations?tag=${tag}&namespace=translation&lang=en`, {
    headers: {
        Authorization: `Bearer ${process.env.UNLINGO_API_KEY}`,
    },
});
```

## Troubleshooting

<AccordionGroup>
  <Accordion title="API Key not working">
    Make sure your API key is correct. Check that you're using the correct project ID.
  </Accordion>

  <Accordion title="Translations not found">
    **Verify that:**

    * Your release is published
    * The version, namespace, and language parameters are correct
    * Your translations were saved properly in the dashboard
  </Accordion>
</AccordionGroup>

<Note>Need help? Join our [Discord](https://discord.gg/TdDYte7KjG) for community support.</Note>

## Next Steps

<CardGroup cols={2}>
  <Card title="Core Concepts" icon="book-open" href="/concepts/projects">
    Understand projects
  </Card>

  <Card title="Namespaces" icon="folder" href="/concepts/namespaces">
    Organize your translations within projects using namespaces
  </Card>

  <Card title="Versions" icon="folder-tree" href="/concepts/versions">
    Understand the relationship between versions and releases
  </Card>

  <Card title="Translations" icon="text" href="/concepts/translations">
    Deep dive into translation management
  </Card>
</CardGroup>
