About Localization

View as Markdown
Last updated August 1, 2026

Localization is the process of adapting content for different locales. When you localize an entry, it no longer inherits values from its fallback language and becomes an independent version.

Unlocalized entries inherit content from their fallback locale. To make changes specific to a locale, you must first localize the entry. This is done by saving the entry in the target locale.

Once localized, the entry becomes independent and can have its own content, version history, and publishing status.

How Localization Works

When an entry is localized:

  • The inheritance from the master or fallback locale is removed.
  • A separate, independent copy of the entry is created.
  • The structure remains the same as the original entry, but the content can differ.
  • The localized entry maintains its own versioning and publishing lifecycle.

As shown in the diagram below, localizing an entry breaks the inheritance chain between master, fallback, and child entries, resulting in a standalone localized version.

Click to enlarge

Once an entry has been localized, you can also unlocalize it at any time to restore inheritance from the fallback locale.

Localization and Delivery API Behavior

Localization determines how content is returned in Delivery API responses across locales and environments. This is particularly important when building frontend applications or debugging content issues.

  • If no locale is specified in the request, content is returned in the master locale.
  • If a locale is specified, content is returned for that localized entry (if it is published).
  • If the specified locale is not published, you can use include_fallback=true to return content from the configured fallback locale.
  • To verify publish status across locales and environments, use include_publish_details=true.

Note Fallback behavior works only if a fallback locale is configured in your stack.

Because localization creates independent versions of entries, content and publish status can vary across locales.

Publish Checklist for Localized Entries

Before troubleshooting missing or incorrect localized content, ensure that:

  • The entry is localized in the target locale.
  • The localized entry is saved and published.
  • The entry is published to the correct environment.
  • The API request includes the correct locale.
  • If fallback behavior is expected, include_fallback=true is included in the request.

Example API Requests

Fetch a localized entry

Use this request to retrieve content for a specific locale:

curl -sS "https://<cdn-host>/v3/content_types/<content_type_uid>/entries/<entry_uid>?environment=<environment>&locale=fr-fr" \
 -H "api_key: <stack_api_key>" \
 -H "access_token: <delivery_token>"

Fetch content with fallback

Use this when the localized version may not be published:

curl -sS "https://<cdn-host>/v3/content_types/<content_type_uid>/entries/<entry_uid>?environment=<environment>&locale=fr-fr&include_fallback=true" \
 -H "api_key: <stack_api_key>" \
 -H "access_token: <delivery_token>"

Fetch with publish details

Use this to debug publish status across locales and environments:

curl -sS "https://<cdn-host>/v3/content_types/<content_type_uid>/entries/<entry_uid>?environment=<environment>&locale=fr-fr&include_publish_details=true" \
 -H "api_key: <stack_api_key>" \
 -H "access_token: <delivery_token>"

Troubleshooting Localized Responses

SymptomLikely CauseWhat to Check
Locale returns empty or missing fieldsLocalized entry is not publishedVerify publish status for the locale and environment
Incorrect language is returnedLocale not specified in requestEnsure locale=<target-locale> is included
Fallback not working as expectedFallback configuration mismatchConfirm fallback locale setup and use include_fallback=true
Works in one environment but not anotherEnvironment mismatchVerify the environment parameter and token scope

Note

  • Localization and publishing are closely linked. A localized entry must be published to be available via the Delivery API.
  • Use include_publish_details=true to debug differences between saved and published states.
  • Validate locale behavior during integration testing, including:
    • Master locale response
    • Localized locale response
    • Fallback behavior