localization

GET /v1/i18n/catalogues/{locale}

Get the public site's UI message catalogue for one locale.

Dhammaan localization bixiyayaasha

Xaqiijinta aqoonsiga

Bankigan (endpoint) waa mid dadweyne. Ma qaato wax aqoonsi ah ama urur ah — waa waxa ay site-keenna suuqgeynta iyo matoorada jawaabaha ee AI ay akhriyaan.

Boggan ma qaato aqoonsiga ururka. Furahaagu wuxuu horay u aqoonsanayaa ururka uu ka tirsan yahay, jawaabtuna waxay ku kooban tahay halkaas.

Isku day

Ku beddel wax kasta oo ku dhex jira qeebaha xaglaha ah qiimayaashaada, sidoo kalena haystaaha furaha ku beddel fure ka dhex muuqda dashboordigaaga.

curl -X GET https://api.zinndigital.com/v1/i18n/catalogues/{locale}

Ma sign-garaysay? Qalabka API ee ku jira dashboard-kaagu wuxuu buuxiyaa aqoonsigaaga ururka ee dhabta ah iyo furahaaga gaarka ah, wuxuuna ku shaqeysiiyaa codsiga API-ga nool si aad u aragto jawaabta dhabta ah. Kani ka fur barta kontoroolka ee API

Details

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

Cabiraha

MagacaNoocLoo baahan yahayMaxay tahay
locale (path)LocaleCodeHaaThe target locale (docs/28 registry code).
If-None-Match (header)stringMayaA previously returned `ETag`; a match responds `304`.

Jawaab

MagacaNoocLoo baahan yahayMaxay tahay
localeLocaleCodeHaaBCP-47 / ISO locale code from the language registry (docs/28).
messagesobjectHaaThe 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 t…

Cilladaha ay bartaani soo celin karto

422 · 429