Translate catalog content
Outcome: the Copenhagen Lamp resolves translated content for one active locale and predictable fallback for a missing value.
Prerequisites
Use an Admin credential and an existing product. Confirm the exact public translation keys for the product entity; keys are part of the translatable contract and must not be invented.
1. Configure the locale
Create or update the required locale through the Admin locale mutations. Make it active, and set the project’s intended default through the supported locale input. Query locales and retain the locale code returned by the API.
2. Write translations
Build the input from the TranslationsUpsertBulkInput contract using the product ID, verified field key, locale code, and translated value. Inspect typed errors for an inactive locale, unsupported entity, or invalid key.
3. Read and test fallback
Query the Storefront product with the new locale and confirm the translated field. Repeat with the project default, then remove one nonessential translated value and confirm the documented fallback or absence rather than assuming every field is populated.
For large data sets, use the asynchronous translation import/export jobs in Bulk operations and import/export jobs. See Locales and translations for lifecycle rules.