Stage 2 – Cloud Hosted Remote locale packs via CDN + fallback English in build

Decouple translations from releases

Ship only the base language (English) inside the app for guaranteed first paint. Serve other locales as versioned JSON “packs” from cloud storage behind a CDN, with safe fallback behavior and device caching.

What ships in the app

Base pack for predictable startup

Bundled
/locale/en.json Fallback

Used immediately on first render and whenever remote packs are missing/unavailable.

Remote locale packs

Hosted + distributed globally

Cloud + CDN
/i18n/v{VERSION}/es-ES.json Example
/i18n/v{VERSION}/fr-FR.json Example
/i18n/v{VERSION}/ar.json RTL supported
Versioning & cache control
  • • Packs are immutable per version (safe CDN caching).
  • • App requests specific version (from config/bootstrap).
  • • CDN uses Cache-Control / ETag for fast revalidation.

Runtime flow (app launch)

Fast first paint, then upgrade to remote translations.

  1. 1
    Resolve locale
    User preference → OS language → fallback chain
  2. 2
    Render with base English
    No blocking on network for first UI
  3. 3
    Fetch bootstrap config
    Returns i18nVersion + locale mapping rules
  4. 4
    Load locale pack
    CDN → (edge cache) → device cache
  5. 5
    Merge + rerender
    UI updates to Spanish/French/Arabic when ready

Caching strategy (two layers)

CDN edge cache regional
  • • First request in a region warms the edge
  • • Then most users get instant hits
  • • Immutable versioned URLs cache well
Device cache offline-friendly
  • • Store last-used locale pack locally
  • • Next launch: instant local read
  • • Background refresh if version changed
Safe fallback behavior

If a key is missing in the locale pack, the app falls back to English for that key (or the next locale in the chain). If the network is down, the app uses the device-cached pack; if none, it uses bundled English.

Who updates translations?

Still mostly engineering-owned

Ops/Eng

Engineers can upload new locale packs (or sync from a repo) to cloud storage. Clients receive updates without a new app release.

No rebuild for copy change Global CDN performance Fallback chain

Pros

  • Copy updates without shipping a new build
  • CDN delivers fast translations per region
  • Device cache enables offline reuse

Cons

  • Still depends on engineering/ops to publish packs
  • Requires robust versioning + fallback handling
  • First-time locale load may briefly show English (unless preloaded)

Reason to evolve to Stage 3

The platform is scalable, but the workflow isn’t: product teams still need engineers to update wording. Next step is a Localization Management System so PMs/designers can edit translations safely with approvals and audit.