/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.

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.

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

Update HEAD datamodel translations.

post
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.

Last updated