Getting started

From zero to your first auto-translated string, fetched from your app via the Public API.

Not verified yet

This guide walks you through creating a namespace, adding a translation key, generating a translation with AI, and fetching it from your application. It's all dashboard-driven; if you'd rather work from your Git repository, jump to the CLI afterwards — the concepts are the same.

Prerequisites

Create a namespace

A namespace is your translation workspace. Most teams create one per app or per client project.

  1. Open the dashboard and switch to LangSync in the sidebar.
  2. Go to Namespaces → New namespace.
  3. Fill in:
    • Name — a short slug of letters, digits, hyphens, and underscores (e.g. marketing-site). It appears in API paths and CLI commands, so keep it short and lowercase.
    • Description — what lives in this namespace, for your team's benefit (e.g. "Translations of the website and landing pages").
    • Default language — the language your source strings are written in. Searchable dropdown.
  4. Click Create.

Add a target language

  1. Open the namespace, then open the ⋯ menu → Namespace settings.
  2. In the languages section, pick a language (e.g. German) and add it.

Repeat for each language you want to ship in. You can add and remove languages at any time — see Languages for what removal does to existing translations.

Add your first term

  1. Inside the namespace, click Add term.
  2. Enter:
    • Mark — the translation key your code references (e.g. welcome.title).
    • Context — an optional note for your team about where the string appears.
    • Default language value — the source string (e.g. Welcome to our app).
    • Enable Translate automatically.
  3. Save.

Because Translate automatically was on, the AI fills in the German translation in the background. Refresh the terms list to see the progress; batch runs also send you an email when they complete.

Create an API key

Your application authenticates to the read-only Public API with an API key, not with your user session.

  1. Go to API keys → Create API key.
  2. Name it after where it will live (e.g. production).
  3. Copy the key from the confirmation dialog now — the full value is shown exactly once. Afterwards the list shows only a short preview.

Fetch translations from your app

First find the numeric language ID (translations are fetched per language, by ID):

curl -H "Authorization: Apikey $LANGSYNC_API_KEY" \
  "https://langsync.api.norcube.com/api/v1/namespaces/marketing-site/languages"
[
  {
    "id": 68,
    "code": "en",
    "name": "English",
    "isDefault": true,
    "isFallback": false,
    "isCustom": false
  },
  {
    "id": 31,
    "code": "de",
    "name": "German",
    "isDefault": false,
    "isFallback": false,
    "isCustom": false
  }
]

Then fetch the translations for that language:

curl -H "Authorization: Apikey $LANGSYNC_API_KEY" \
  "https://langsync.api.norcube.com/api/v1/namespaces/marketing-site/terms/translations?langId=31"
{
  "meta": { "timestamp": "2026-07-10T12:00:00Z" },
  "cursors": {},
  "list": [{ "mark": "welcome.title", "value": "Willkommen in unserer App" }]
}

Map list into whatever shape your i18n library wants — see Fetch translations for build-time and runtime integration patterns.

Next steps

On this page