Comparison between Localization options
Storyblok is the first headless CMS that works for developers & marketers alike.
In this article, we will be comparing localization options, folder, field, and space level translations available on Storyblok. We will cover why, when, and how to use these options.
When to use field level translation
If the structure of your content is similar in all languages, then field level translation is your go-to but if the structure of your content is different across all your supported languages, then you should use Folder level translation.
Let’s say you have a website that supports German and French languages, field-level translation is perfect for this, if the components and structure are the same but if you want to change the order of the components and contents to use different layouts you need to opt for folder level translation.
Languages can be published individually or together with field-level translation by navigating to your settings tab in languages as shown here.
Why use field-level translation
Using field-level translation includes having fewer contents to manage, as Storyblok can dynamically return contents in your desired language. Each translatable field will be stored in the content tree as a separate stand-alone property with a suffix of the language it belongs to.
Why use folder level translation
Folder level translation uses one content tree per language (one for English, one for German, and so on), and this is a great choice if you have separate teams or special needs for different markets as this will enable you to be able to completely customize the structure and order of the components of the story.
Folder level translation should be your option also if you want to use the different subpages and if the content of your space is in other regions.
You can also manage the access level of each folder with some permissions.
Storyblok has an app, Dimensions App. It makes managing multi-language setup easier. With the dimension app, you can:
- Link content items of different folders together
- Merge content items from one dimension to another
- Overwrite content items from one dimension to another
- Open alternative versions with one click.
When and Why use Space level translation
Space level translation basically involves using multi spaces to manage your content for different languages.
You should opt for Space level translation if your project is very huge, and you treat your content in different languages as different projects (meaning you have different teams, components, content, etc). Therefore, you can have Space-A for your content in Japanese and Space B for your content in Dutch and if there’s a need to share components, story, schema, etc, you can use the Storyblok CLI and management API.
Read more on multi-space setup with Storyblok CLI here.
Conclusion
We just went over the different ways to translate the contents of your Storyblok applications (Field level, folder level, and Space level translations), and why and when to use either of them. There’s a fourth option: mixing folder and field-level translation. Note that you can only mix folder and field level translations with the V2 API approach for your project. In the case of folder level, you use the path /folder_lang/story
and for field level, you use the parameter story?lang=de
.
Resources | Link |
---|---|
Internationalization in Storyblok | https://www.storyblok.com/docs/guide/in-depth/internationalization |
Folder level translations in Storyblok | https://www.storyblok.com/docs/guide/in-depth/internationalization#folder-level-translation |
Field level translations with Storyblok | https://www.storyblok.com/cl/field-level-translations |