Getting started
From zero to your first auto-translated string, fetched from your app via the Public API.
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
- A Norcube account (sign up).
- An organization (one is created automatically on sign-up — see Platform → Organizations).
Create a namespace
A namespace is your translation workspace. Most teams create one per app or per client project.
- Open the dashboard and switch to LangSync in the sidebar.
- Go to Namespaces → New namespace.
- 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.
- Name — a short slug of letters, digits, hyphens, and
underscores (e.g.
- Click Create.
Add a target language
- Open the namespace, then open the ⋯ menu → Namespace settings.
- 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
- Inside the namespace, click Add term.
- 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.
- Mark — the translation key your code references
(e.g.
- 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.
- Go to API keys → Create API key.
- Name it after where it will live (e.g.
production). - 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
Bulk-import existing translations
Onboard a CSV or Excel export from your previous tool in one upload.
Set up the glossary
Keep brand names and product terms consistent across every AI call — do this before big AI batches.
Sync from your Git repo
nrc langsync init pins your repo to a namespace; nrc langsync sync reconciles JSON files in CI.