# General Translation Integrations: Using translated content URL: https://generaltranslation.com/en-GB/docs/integrations/storyblok/guides/using-translated-content.mdx --- title: Using translated content description: How does General Translation store Storyblok translations per language, and how do you fetch them from the delivery API? related: links: - /docs/integrations/storyblok/guides/translating-content - /docs/integrations/storyblok/guides/managing-translations - /docs/integrations/storyblok/guides/configuring-storyblok --- General Translation writes translations into your Storyblok story as field-level localised values. This is Storyblok's field-level translation model, so you fetch translated content through Storyblok's own Content Delivery API with a language parameter. ## How translations are stored [#how-stored] Translations are stored per field, per language, within the same story. For a translated field, General Translation writes a localised value alongside the source value in the story's content, keyed by the target language. This means: * There is no separate translated story or document — one story holds the source and all its localised field values. * Your existing story structure and slugs remain unchanged. * Writes are drafts, so translations are visible in Storyblok's editor once you switch languages, and go live only when you publish the story. *Note: General Translation stores the localised value on a per-field, per-language key derived from the field name and the target language. Confirm the exact key format against the serialisation code before relying on it directly; when reading via Storyblok's delivery API, you do not need to know it.* ## Fetch translated content [#fetch-content] Read translated content the same way Storyblok documents field-level translation: request the story from the Content Delivery API and pass the target language. ```bash # Fetch a story in a specific language curl "https://api.storyblok.com/v2/cdn/stories/home?version=published&language=fr&token=YOUR_DELIVERY_TOKEN" ``` Storyblok returns the story with the requested language's field values resolved in place. Request the source language (or omit `language`) to get the default content. *Note: use a Storyblok Content Delivery API token here, not the Management API personal access token you used to connect the integration. The delivery hostname and parameters follow Storyblok's delivery API; confirm them against Storyblok's documentation for your region.* ## Publish before serving [#publish-first] General Translation writes translations as drafts. Request `version=draft` to preview them, and publish the story in Storyblok before serving `version=published` to your users. ## Next steps - /docs/integrations/storyblok/guides/translating-content - /docs/integrations/storyblok/guides/managing-translations - /docs/integrations/storyblok/guides/configuring-storyblok