For the complete documentation index, see llms.txt. This page is also available as Markdown.

/api/v1/l10n

Static UI translations — the localisations the front-end and admin pages need before a user is signed in. Returned as {<lang>: {key: text}} — a single top-level entry keyed by the requested language tag whose value is the flat translation map.

GET /l10n/static/{lang}.json — Static UI translations for a language.

Static UI translations for a language.

get
Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Path parameters
langstringRequired

Language tag (e.g. de-DE, en-US). Per key, if the requested tag has no value the handler falls back to en-US, then to any other known language; a key with no value in any language is omitted. The result is always keyed by the requested tag.

Responses
200

Single top-level entry keyed by the requested language tag whose value is the flat translation map. An unknown lang still yields {<lang>: {...}} with fallback-filled values.

application/json

{<lang>: {key: translated_text}} — one entry, keyed by the requested language tag.

200

Single top-level entry keyed by the requested language tag whose value is the flat translation map. An unknown lang still yields {<lang>: {...}} with fallback-filled values.

{
  "de-DE": {
    "language.de-DE": "Deutsch (DE-DE)",
    "language.en-US": "Änglisch (EN-US)",
    "language.da-DK": "Dänisch (DA-DK)"
  }
}

GET /l10n/user/{version} — Datamodel translations for a version.

Datamodel translations for a version.

get
Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Path parameters
versionstringRequiredPattern: ^(HEAD|CURRENT|[1-9][0-9]*)$
Responses
200

The datamodel translations as a flat {key: LocaValue} document.

application/json

Datamodel translation document — a flat map of dotted loca keys to per-language values (LocaValue).

The key set is generated from the datamodel — every objecttype, mask, column, link and splitter contributes its own keys. Reading clients should treat any key as opaque and look it up by exact match. POST /l10n/user/HEAD is a full replace: any generated key omitted from the body is cleared, so always send the complete document (typically the body returned by GET /l10n/user/HEAD). Unknown keys are ignored (not rejected); language entries whose tag starts with _ and empty-string values are dropped on write.

Key patterns currently in use:

  • schema.<objecttype>.name — objecttype label.
  • schema.<objecttype>.column.<column> — column label.
  • schema.<objecttype>.column.<other_objecttype> — link-column label (nested).
  • schema.<objecttype>.column.reverse:<other_objecttype>.<other_column_api_id> — reverse-link column label.
  • schema.<objecttype>.column.reverse:<objecttype> — hierarchical reverse-link column label.
  • mask.<objecttype_api_id>.<mask>.name — mask label.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.field.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a regular field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.link.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a link field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a nested link.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.reverse-linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a reverse link.
  • mask.<objecttype_api_id>.<mask>.splitter.<index> — splitter label.
{
  "schema.category.name": {
    "de-DE": "Kategorie DE",
    "en-US": "Kategorie US"
  },
  "schema.category.column.name": {
    "de-DE": "Name DE",
    "en-US": "Name US"
  },
  "mask.4.category__all_fields.name": {
    "de-DE": "Kategorien"
  },
  "mask.4.category__all_fields.4.field.10.edit_user_hint": {
    "de-DE": "Name Hinweis DE",
    "en-US": "Name Hinweis US",
    "_comment": "category.name"
  },
  "mask.4.category__all_fields.splitter.2": {
    "de-DE": "Splitter DE",
    "en-US": "Splitter US"
  }
}

POST /l10n/user/HEAD — Update HEAD datamodel translations.

Update HEAD datamodel translations.

post

Saves the translations into the working copy. If the latest datamodel is committed, this opens the next working version based on it, as a schema POST does. The change is only visible to other readers after a separate commit via POST /api/v1/schema/commit. Requires system.datamodel with level development or commit.

Authorizations
AuthorizationstringRequired

Access token in the Authorization header: Authorization: Bearer <token>.

Body

Datamodel translation document — a flat map of dotted loca keys to per-language values (LocaValue).

The key set is generated from the datamodel — every objecttype, mask, column, link and splitter contributes its own keys. Reading clients should treat any key as opaque and look it up by exact match. POST /l10n/user/HEAD is a full replace: any generated key omitted from the body is cleared, so always send the complete document (typically the body returned by GET /l10n/user/HEAD). Unknown keys are ignored (not rejected); language entries whose tag starts with _ and empty-string values are dropped on write.

Key patterns currently in use:

  • schema.<objecttype>.name — objecttype label.
  • schema.<objecttype>.column.<column> — column label.
  • schema.<objecttype>.column.<other_objecttype> — link-column label (nested).
  • schema.<objecttype>.column.reverse:<other_objecttype>.<other_column_api_id> — reverse-link column label.
  • schema.<objecttype>.column.reverse:<objecttype> — hierarchical reverse-link column label.
  • mask.<objecttype_api_id>.<mask>.name — mask label.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.field.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a regular field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.link.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a link field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a nested link.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.reverse-linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a reverse link.
  • mask.<objecttype_api_id>.<mask>.splitter.<index> — splitter label.
Responses
200

The HEAD translations were updated. The response carries the resulting translation document — the same shape as GET /l10n/user/HEAD.

application/json

Datamodel translation document — a flat map of dotted loca keys to per-language values (LocaValue).

The key set is generated from the datamodel — every objecttype, mask, column, link and splitter contributes its own keys. Reading clients should treat any key as opaque and look it up by exact match. POST /l10n/user/HEAD is a full replace: any generated key omitted from the body is cleared, so always send the complete document (typically the body returned by GET /l10n/user/HEAD). Unknown keys are ignored (not rejected); language entries whose tag starts with _ and empty-string values are dropped on write.

Key patterns currently in use:

  • schema.<objecttype>.name — objecttype label.
  • schema.<objecttype>.column.<column> — column label.
  • schema.<objecttype>.column.<other_objecttype> — link-column label (nested).
  • schema.<objecttype>.column.reverse:<other_objecttype>.<other_column_api_id> — reverse-link column label.
  • schema.<objecttype>.column.reverse:<objecttype> — hierarchical reverse-link column label.
  • mask.<objecttype_api_id>.<mask>.name — mask label.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.field.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a regular field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.link.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a link field.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a nested link.
  • mask.<objecttype_api_id>.<mask>.<other_objecttype_api_id>.reverse-linked-table.<column_api_id>.{edit_user_hint|output_user_hint|search_user_hint} — user-hint texts for a reverse link.
  • mask.<objecttype_api_id>.<mask>.splitter.<index> — splitter label.
{
  "schema.category.name": {
    "de-DE": "Kategorie DE",
    "en-US": "Kategorie US"
  },
  "schema.category.column.name": {
    "de-DE": "Name DE",
    "en-US": "Name US"
  },
  "mask.4.category__all_fields.name": {
    "de-DE": "Kategorien"
  },
  "mask.4.category__all_fields.4.field.10.edit_user_hint": {
    "de-DE": "Name Hinweis DE",
    "en-US": "Name Hinweis US",
    "_comment": "category.name"
  },
  "mask.4.category__all_fields.splitter.2": {
    "de-DE": "Splitter DE",
    "en-US": "Splitter US"
  }
}

Last updated