Event Connectors

Translations

How multilingual content works: primaryLanguage, availableLanguages, and per-language TRCItemDetail

Every TRCItem can carry content in multiple languages. The translations object and the trcItemDetails array work together to express this.

translations Object

The top-level translations field on a TRCItem indicates which languages are available:

{
  "translations": {
    "primaryLanguage": "nl",
    "availableLanguages": ["nl", "en", "de"]
  }
}
  • primaryLanguage — the main language of the item. This is the language the content was originally authored in.
  • availableLanguages — all languages that have content, including the primary language.

trcItemDetails Array

The actual translated content lives in trcItemDetails — one entry per language:

{
  "trcItemDetails": [
    {
      "lang": "nl",
      "title": "Rijksmuseum",
      "shortdescription": "Het nationale museum van Nederland",
      "longdescription": "Het Rijksmuseum is het museum van Nederland..."
    },
    {
      "lang": "en",
      "title": "Rijksmuseum",
      "shortdescription": "The national museum of the Netherlands",
      "longdescription": "The Rijksmuseum is the museum of the Netherlands..."
    }
  ]
}

Each entry has:

FieldDescription
langLanguage code (e.g., nl, en, de, fr)
titleItem title in this language
shortdescriptionBrief description
longdescriptionFull description (may contain simple HTML — see allowed tags below)

HTML in longdescription

The title and shortdescription fields must be plain text — any HTML markup is stripped on ingestion. The longdescription field may contain simple HTML. The following tags are allowed:

a, b, blockquote, br, cite, code, dd, dl, dt, em, i, li, ol, p, pre, q, small, span, strike, strong, sub, sup, u, ul

All other tags are removed. Stick to semantic markup for best results across publishing channels.

Reading Translations

When consuming the API, use primaryLanguage to determine the default display language and fall back through availableLanguages based on the user's preference. Each language in availableLanguages has a corresponding entry in trcItemDetails.

Other Translated Fields

Beyond trcItemDetails, several other fields carry per-language translations using a similar lang + text pattern:

  • Calendar commentsCalendarComment.commentTranslations
  • Category labelscategoryTranslations on types and categories
  • Promotion descriptionsPromotionTranslation with lang and description
  • Time slot statusStatusTranslation on When objects
  • Price descriptions — translated price information per language

See the API Reference for the full translation-related schemas.

On this page