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.
Base pack for predictable startup
Used immediately on first render and whenever remote packs are missing/unavailable.
Hosted + distributed globally
Fast first paint, then upgrade to remote translations.
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.
Still mostly engineering-owned
Engineers can upload new locale packs (or sync from a repo) to cloud storage. Clients receive updates without a new app release.
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.