
Stop Shipping Translations to the Client: Edge-Native i18n with Astro & Cloudflare (Part 1)
When I started building EdgeKits.dev, the stack felt like a cheat code for 2026. Astro on the frontend. Cloudflare Workers on the backend. All-in on the Edge. It promised and delivered incredible TTFB, out-of-the-box SEO, and cheap scalability. Then the magic broke. I hit the wall of Astro Internationalization (i18n). It should have been trivial: take a set of JSON files ( en.json , de.json ) and show the user the right text. But when I surveyed the standard ecosystem - from established tools like astro-i18next to modern solutions like Paraglide JS - I realized they all carried architectural baggage that I couldn't justify shipping in an environment where every byte and every millisecond counts. In this deep dive, we'll build a completely Zero-JS, Edge-Native i18n architecture. I will show you how to move your routing logic to Astro Middleware, store translation dictionaries in Cloudflare KV, and render localized React Islands without shipping a single byte of JSON to the client. Why t
Continue reading on Dev.to Webdev
Opens in a new tab

