Translated labels: collections, categories, the space name, the intro and the chrome
2026.10.14-api-translated-labelsAdded
One translations map for every label around your content. The map has the shape { "<locale>": { … } }. A reader sees an entry when the page's language or their interface language matches it. A missing language or field shows the original. See Translated labels.
Collections:
translations: { es: { name, description } }onPOST/PATCH …/collections. It is returned on every collection and on the reader overview, and the overview resolves it for?locale=. This covers sidebar headings, landing cards, breadcrumbs and the collection page.Forum categories:
translations: { es: { name, description } }onPOST/PATCH …/forum/categories. It is returned on every category, including a category page'sparent.Category lists in a language:
GET …/forum/categories(public and signed-in) takes an optional?locale=<code>and answers each category'snameanddescriptionfrom itstranslationsentry for that code. Without it the answer is unchanged. The reader's browser-loaded category lists (new-topic dropdown,#autocomplete, move picker, subscriptions) now use it, so they match the page's language.The space:
PATCH /orgs/{orgId}/spaces/{spaceId} { translations }(stored assettings.translations). It is returned asspace.translationson the reader overview, astranslationson…/chrome, and on each space of a public site.The intro:
PUT …/home-doc { translations: { es: { markdown | doc } } }.GETreturns it. The public payloads that carryhomeDocnow also carryhomeDocTranslations. APUTwith onlytranslationskeeps the original intro.A hub's intro (collection, series, category, lane):
PUT …/hubs/{kind}/{key}/introtakestranslations: { es: { doc } }(replaced whole, omitted keeps,nullclears) andGETreturns it.GET /public/…/hubs/{kind}/{key}?locale=esanswers that language's intro when one is written andlocale(served;defaultis the original).The chrome:
theme.chrome.translationsand a site'sconfig.translationstake{ labels, footerDescription, copyright, tagline }.labelsmaps the original words of any header or footer item, button, search pill or sign-in control to the translation.
Changed
A reader page requested with the forumulate_lang cookie is no longer stored in a shared cache. The page now carries labels in that reader's language. A cached copy would have shown that language to the next reader of the same address.