localization

GET /v1/i18n/document-sets/{locale}

Get several marketing documents' finished translations in one call.

ចំណុចបញ្ចប់ localization ទាំងអស់

ការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ

ចំណុចបញ្ចប់នេះជាសាធារណៈ។ វា​មិន​ត្រូវការ​ព័ត៌មាន​សម្ងាត់ ឬ​អង្គភាព​ណាមួយ​ឡើយ ពោល​គឺ​វា​ជា​អ្វី​ដែល​គេហទំព័រ​ទីផ្សារ​របស់​យើង និង​ម៉ាស៊ីន​ឆ្លើយឆ្លង AI អាន។

ចំនុចបញ្ចប់នេះមិនត្រូវការលេខសម្គាល់ស្ថាប័នទេ។ ពស័្ដកូនរបស់អ្នករួចហើយកំណត់អត្តសញ្ញាណស្ថាប័នដែលវាជាកម្មសិទ្ធិ ហើយការឆ្លើយតបគឺត្រូវបានកំណត់វិសាលភាពទៅតាមនោះ។

សាកល្បង

ជំនួសអ្វីមួយនៅក្នុងសញ្ញាពងក្រពើ < > ដោយប្រើតម្លៃផ្ទាល់ខ្លួនរបស់អ្នក ហើយជំនួសកន្លែងរក្សាទុកសោដោយប្រើសោចេញពីផ្ទាំងគ្រប់គ្រងរបស់អ្នក។

curl -X GET https://api.zinndigital.com/v1/i18n/document-sets/{locale}?object_ref=<object_ref>

បានចូលគណនីរួចហើយមែនទេ? កុងសូល API ក្នុងផ្ទាំងគ្រប់គ្រងរបស់អ្នក បំពេញលេខសម្គាល់ស្ថាប័នពិតប្រាកដរបស់អ្នក និងសោផ្ទាល់ខ្លួនរបស់អ្នក ហើយដំណើរការសំណើទល់នឹង API ផ្ទាល់ ដូច្នេះអ្នកអាចមើលឃើញការឆ្លើយតបពិតប្រាកដ។ បើកចំណុចបញ្ចប់នេះក្នុងកុងសូល API

ព័ត៌មានលម្អិត

The **batched** form of `getPublicDocumentTranslations`: name up to 50 documents with a repeated `object_ref`, get all of their finished translations in one round trip. **Why it exists (D13732).** `marketplace-web` prerenders every (locale × page) route, and asking for one document at a time cost 100 documents × 58 locales = **5,800** requests per prerender pass — about 23,200 per build once `next build`'s worker processes are counted, against a 600/min budget. Measured in one 20-minute build window on the live engine: **38,322 × `429` against 20,142 served — 65% of the build's document fetches refused**, each one silently degrading a freshly deployed page to the copy committed in `content/site/`. Batched, a locale costs `ceil(100/50)` = **2** calls, so a whole build is ~464 requests. **⛔ The remedy is a bulk read, never a bigger limit** (CLAUDE.md §2.10). The call count is `ceil(documents/50)`, so it does not move when marketing pages are added — a raised limit would have to be re-derived on the next content push. **⛔ `object_ref` is required and bounded at 50.** One locale's whole `page` surface is ~7,879 entries; an unbounded read of it on a public URL is the thing this parameter exists to prevent, and a batch is not an exemption from that. **A document with no finished translations is present and empty, never omitted** — a caller cannot otherwise distinguish "nothing translated yet" from "I forgot to ask for it", and the second silently serves English. **Public and non-tenant**, **`up_to_date` only**, and cacheable with a strong `ETag` plus `Cache-Control: public, max-age=300, stale-while-revalidate=86400` — all for the same reasons as the single-document read.

ប៉ារ៉ាម៉ែត្រ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
locale (path)LocaleCodeបាទ/ចាសThe target locale (docs/28 registry code).
object_ref (query)string[]បាទ/ចាសA document, e.g. `page:hosting`. **Repeat it** to ask for several; at most 50 per call. Duplicates are charged once.
If-None-Match (header)stringទេA previously returned `ETag`; a match responds `304`.

ផ្អាកដំណើរការ

ឈ្មោះប្រភេទតម្រូវការតើវាជាអ្វី
localeLocaleCodeបាទ/ចាសBCP-47 / ISO locale code from the language registry (docs/28).
documentsobjectបាទ/ចាស`object_ref -> (field -> translated text)`. **Every `object_ref` the caller asked for is a key**, even when its inner object is empty — an omitted key would be indistinguishable…

កំហុសដែលចំណុចបញ្ចប់នេះអាចបង្វិលត្រឡប់មកវិញ

422 · 429