localization
GET /v1/i18n/catalogues/{locale}
Get the public site's UI message catalogue for one locale.
Аутентификација
Ова крајња тачка је јавна. Не захтева никакве акредитиве нити организацију — то је оно што читају наш сопствени маркетиншки сајт и машине за одговоре са вештачком интелигенцијом.
Ова крајња тачка не прихвата id организације. Ваш кључ већ идентификује организацију којој припада, а одговор је ограничен на њу.
Испробајте
Замените све што је у угластим заградама сопственим вредностима, а чувар места кључа кључем са своје контролне табле.
curl -X GET https://api.zinndigital.com/v1/i18n/catalogues/{locale}Пријављени сте? API конзола на вашој контролној табли попуњава ваш прави id организације и ваш сопствени кључ, и покреће захтев према живом API-ју како бисте могли да видите стварни одговор. Отворите ову крајњу тачку у API конзоли
Детаљи
Returns the Zinn® marketing site's own UI strings for locale, nested in the shape next-intl consumes directly — the read marketplace-web performs on the server at render time. Public, and non-tenant. Unlike getTranslationBundle this needs no credential and has no organization scope: it returns the platform's own strings, which are already present in the public HTML of every page in that language. That is also what makes it cacheable by URL at the edge — an Authorization header suppresses shared caching, which would put a network round trip on every page render. Why it exists next to getTranslationBundle. The bundle is the build-time read: authenticated, tenant-scoped, and shaped as object_ref → field → {text, status} for a script that re-nests it and commits messages/<locale>.json. That made a finished translation wait for a commit, a rebuild and a deploy. This is the render-time read, so a finished translation goes live on its own. up_to_date only — deliberately stricter than the bundle's last-good-while-stale rule. The site layers this response over its committed catalogue, so an omitted key falls back to the committed translation rather than to English; serving stale text here could only replace a good translation with an older one. An unknown-to-the-pipeline locale is a 200 with an empty messages object, never a 404. The caller treats any failure as "use the committed catalogue", so a 404 would be indistinguishable from an outage and would report a locale that simply has not been translated yet as the engine being broken. Cacheable: strong ETag plus Cache-Control: public, max-age=300, stale-while-revalidate=86400. Send If-None-Match for a 304.
Параметри
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
locale (path) | LocaleCode | Да | The target locale (docs/28 registry code). |
If-None-Match (header) | string | Не | A previously returned ETag; a match responds 304. |
Одговор
| Назив | Тип | Обавезно | Шта је ово |
|---|---|---|---|
locale | LocaleCode | Да | BCP-47 / ISO locale code from the language registry (docs/28). |
messages | object | Да | The catalogue, nested — nav.link.pbn arrives as three levels of object, not as a dotted key — because the consumer is next-intl, which reads this shape directly. It is the… |
Грешке које ова крајња тачка може вратити
422 · 429