Skip to content

Content Localization at Scale

⏱ 45 minutes intermediate
📜CorecmsGraphCMP

As organizations expand to new markets, content localization often starts as ad-hoc translation — someone copies an English page, translates it, and publishes a separate page. This creates parallel content trees that drift apart. The English version gets updated; the French version does not. New pages appear in some locales but not others. Nobody knows which content is current across markets.

Systematic localization treats the source language as the master content. Translations are linked to the source, tracked for freshness, and delivered through a consistent pipeline. CMS provides the translation workflow. CMP coordinates the localization schedule. Graph delivers locale-appropriate content to each market’s frontend.

┌────────────────────────────────────────────────┐
│ CMP: Localization Planning │
│ Schedule translations, assign linguists, │
│ track completion by market and deadline │
└───────────────────────┬────────────────────────┘
│ translation tasks
┌────────────────────────────────────────────────┐
│ CMS: Source + Translated Content │
│ ┌──────────┐ ┌──────┐ ┌──────┐ ┌──────┐ │
│ │ en (src) │→ │ fr │ │ de │ │ ja │ │
│ └──────────┘ └──────┘ └──────┘ └──────┘ │
│ Locale fallback chain: ja → en │
└───────────────────────┬────────────────────────┘
│ all locales synced
┌────────────────────────────────────────────────┐
│ Optimizely Graph │
│ Query by locale, fallback to source language │
│ if translation not available │
└──────────┬────────────────────┬────────────────┘
│ │
▼ ▼
┌──────────────┐ ┌──────────────┐
│ site.com/en │ │ site.com/fr │
└──────────────┘ └──────────────┘

Before creating content, establish your localization rules:

DecisionOptionsRecommendation
Source languageEnglish, otherUse your largest market’s language as source
Fallback behaviorShow source language, show nothing, show noticeShow source language with a “translation pending” indicator
Translation scopeFull site, high-traffic pages onlyStart with top 20% of pages by traffic
Locale URL patternSubdirectory (/fr/), subdomain (fr.site.com)Subdirectory for SEO simplicity

Enable the target locales in CMS SaaS. For each content type, mark which properties require translation (body text, titles) and which are locale-independent (images, dates, numeric values).

Set up the fallback chain — the order of locale preferences when a translation is missing. A common pattern: regional locale falls back to language locale, then to source language (fr-CA -> fr -> en).

Create a process for managing translations:

  1. Content created in source language — author publishes the English version
  2. Translation task created in CMP — localization manager assigns the page to translators with a deadline
  3. Translator works in CMS — opens the source page, creates the locale version, and translates in context
  4. Review and publish — reviewer approves the translation, publishes the locale version

For high-volume localization, integrate with a translation management system (TMS) that exports content from CMS, routes it through machine translation and human review, and imports the finished translation back.

Configure your frontend to pass the user’s locale preference to Graph queries:

query LocalizedPage($url: String!, $locale: String!) {
Page(
where: { _metadata: { url: { default: { eq: $url } } } }
locale: $locale
) {
items { title, body, _metadata { locale { name } } }
}
}

Graph returns the content in the requested locale. If the translation does not exist, it falls back according to the CMS fallback chain configuration.

Track which pages have translations available for each locale. Build a coverage dashboard that shows:

  • Percentage of pages translated per locale
  • Pages where the source has been updated since the last translation
  • Average translation turnaround time by locale

This visibility prevents content drift and highlights locales that need more translation resources.

This structured approach is necessary when you support 3 or more locales or when translation accuracy matters for regulatory or brand reasons. For 1-2 locales with a small content set, manual translation within CMS without CMP coordination may be sufficient.