localization
GET /v1/i18n/catalogues/{locale}
Get the public site's UI message catalogue for one locale.
Упълномощаване
Този крайpoint е публичен. Той не изисква данни за удостоверяване и организация — това е съдържанието, което нашият собствен маркетинг сайт и AI машини за отговори четат.
Този ендпойнт не изисква идентификатор на организация. Вашият ключ вече идентифицира организацията, към която принадлежи, и отговорът е ограничен до нея.
Опитайте
Заменете всичко в квадратни скоби със собствени стойности, а ключовия заместващ символ – с ключ от вашето табло за управление.
curl -X GET https://api.zinndigital.com/v1/i18n/catalogues/{locale}Влязохте ли в профила си? API конзолата във вашето табло за управление попълва действителното идентификационно число на вашата организация и вашия собствен ключ и изпълнява заявката спрямо реалното API, за да можете да видите действителния отговор. Отворете този крайpoint в 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… |
Грешки, които този крайpoint може да върне
422 · 429