# Personalizing Storyblok content that already has multiple locales

Asked by meiling on 2025-12-04. Tags: storyblok, localization, i18n.

We run a retail site out of Singapore with en, zh, and ms locales in
Storyblok. I am scoping personalization and my first assumption was that
every variant would need to exist three times, once per locale, which would
triple the content work and probably kill the idea internally.

Before I write this up, how do locale and personalization actually interact
in the slot model? Is a variant locale-aware, or am I really looking at one
experience per locale?

## 2 answers

### Accepted answer from Maya Richter (2025-12-04)

Your assumption is the common first guess and it is more pessimistic than
reality. Locale and personalization are separate axes in the model, not
multiplied experiences.

Content fetches accept a preferredLocale, so the same experience serves
the right language variant based on what your frontend requests.
Multi-language works without extra development, you do not create one
experience per locale. One experience, localized content inside it.

Two things to know for planning:

1. Per-locale default content, meaning localization on the Croct side, is
   an add-on, so mention that in your scoping conversation.
2. Your existing Storyblok block per locale stays the default fallback
   for that locale. A zh visitor who matches no audience gets the regular
   zh block, exactly as today.

So the incremental content work is writing the variant copy per language,
which you would have to do with any tool since the words genuinely differ.
The structural overhead of managing three parallel experiments is what
you avoid.

### Answer from tomasz_w (2025-12-05)

Running a similar setup with de and en. One practical tip: pass the
preferredLocale explicitly from the same locale detection your Storyblok
frontend already uses, so the two systems never disagree about which
language a visitor is in. We derive it from the route prefix and feed the
same value to both fetches. Zero drift since.
