
The Translatable slugs app lets you define different slugs for folders and stories to match the languages enabled in your Storyblok space. If no slug is defined, Storyblok uses the default language.
This app pairs well with the field-level translation approach to content localization.
Tip: Use this app with the Advanced paths app and create custom URL structures.
API response
The Content Delivery API retrieves the localized slugs of each folder and story, but the exact response displayed in the translated_slugs
object changes depending on the space settings and the story's status.
The following tables detail the expected responses:
Publish translations individually is enabled
Querying a non-root page (is_startpage: false
):
Draft | Published | Unpublished | |
---|---|---|---|
Translated slug | "published": null |
"published": true |
"published": false |
No translated slug | "published": null |
"published": null |
"published": null |
Querying a root page (is_startpage: true
):
Draft | Published | Unpublished | |
---|---|---|---|
Translated slug | "published": null |
"published": true |
"published": false |
No translated slug | "published": null |
"published": true |
"published": null |
Publish translations individually is disabled
Querying a non-root page (is_startpage: false
):
Draft | Published | Unpublished | |
---|---|---|---|
Translated slug | "published": false |
"published": true |
"published": false |
No translated slug | "published": null |
"published": null |
"published": null |
Querying a root page (is_startpage: true
):
Draft | Published | Unpublished | |
---|---|---|---|
Translated slug | "published": false |
"published": true |
"published": false |
No translated slug | "published": false |
"published": true |
"published": false |
To learn about the relevant API responses, refer to the link object endpoint or the story object endpoint documentation.