localization

GET /v1/i18n/catalogues/{locale}

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

Tous les points de terminaison localization

Toute la documentation pour développeurs

Authentification

Cet point de terminaison est public. Il ne nécessite aucun identifiant ni aucune organisation : c'est ce que notre propre site marketing et nos moteurs de réponse IA lisent.

Cet endpoint ne prend aucun identifiant d'organisation. Votre clé identifie déjà l'organisation à laquelle elle appartient, et la réponse y est limitée.

Essayer

Remplacez tout ce qui se trouve entre crochets par vos propres valeurs, et le espace réservé à la clé par une clé de votre tableau de bord.

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

Connecté ? La console d'API de votre tableau de bord saisit votre véritable ID d'organisation ainsi que votre propre clé, et exécute la requête sur l'API de production afin que vous puissiez voir la réponse réelle. Ouvrir ce point de terminaison dans la console API

Détails

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.

Paramètres

NomTypeObligatoireQu'est-ce que c'est
locale (path)LocaleCodeOuiThe target locale (docs/28 registry code).
If-None-Match (header)stringNonA previously returned ETag; a match responds 304.

Réponse

NomTypeObligatoireQu'est-ce que c'est
localeLocaleCodeOuiBCP-47 / ISO locale code from the language registry (docs/28).
messagesobjectOuiThe catalogue, nestednav.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…

Erreurs que cet point de terminaison peut renvoyer

422 · 429