Namespaces

Namespaces

Isolated translation workspaces scoped to your organization.

Not verified yet

A namespace is the top-level container in LangSync. Each namespace has its own default language, a set of enabled target languages, a collection of terms, and its own translation progress.

Most teams create one namespace per app, module, or client – for example web-app, ios-app, marketing-site, or acme-corp for an agency working on multiple brands. Translations don't leak between namespaces; the same term name in two different namespaces refers to two unrelated keys.

What a namespace has

  • A name (URL-safe slug, lowercase letters, digits, hyphens and underscores) – used in API paths.
  • A context – free-text description of what the namespace is for. The AI reads this on every translation call to disambiguate.
  • A default language – the language your source strings are written in. Every term has a value in this language; other languages are translations of it.
  • A set of target languages – the languages you want translations in.
  • A set of terms – translation keys with one translation per attached language.

Naming conventions

  • Use lowercase, hyphen-separated names (web-app, not Web App).
  • Keep names short; they appear in URLs and CLI commands.
  • Group by deployable surface, not by language pair – LangSync already handles multiple languages inside a namespace.

Behaviour and edge cases

  • Renaming a namespace updates the slug used in API paths immediately. Any deployed application using the old slug starts returning 404 Not Found until you update its config.
  • Changing the default language preserves all existing translations, including the old default's. New AI translations after the change use the new default as the source.
  • Deleting a namespace is permanent and cascades to every term, translation, glossary attachment scoped to it, sync job, and bulk import that targets it. There is no soft-delete or undo. API keys are not affected – they're org-scoped.
  • Removing a target language also deletes every translation in that language across every term in the namespace. The terms themselves and their other-language translations are untouched.

On this page