Comparison between Localization options
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.
Why and When to use Field or Folder level Translation.
In order to make your Storyblok app available in multi-languages, you can translate your content at the folder, field, or space level, and this decision should be influenced by your content structure.
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.
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
|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|