Modern Web Development Powered by Sanity, Next.js, Cloudflare, and i18n
A scalable starter combining Sanity CMS, Next.js, and Cloudflare Workers — now shipping with first-class internationalisation. Build multilingual, content-first web apps with locale-aware routing and translated Sanity documents out of the box.
// documentation
Documentation for every part of the stack.
Cloudflare Workers
The runtime powering this template. Learn about Workers, Wrangler CLI, KV storage, R2, D1, and every Cloudflare primitive you can bind to your application.
Read documentationOpenNext
The open-source adapter that compiles Next.js for deployment outside Vercel. This template uses the Cloudflare adapter to produce a Worker-compatible build that still supports i18n routing.
Read documentationSanity
The headless CMS at the core of this template. Covers schema design, GROQ queries, the page builder pattern, real-time live preview, and localised document fields for every language.
Read documentationNext.js
The React framework behind the frontend. Learn about the App Router, Server Components, image optimisation, Tailwind CSS integration, TypeScript support, and locale-prefixed routing.
Read documentationnext-intl
The internationalisation layer of this template. Learn about locale-aware routing, message catalogues, pluralisation, date and number formatting, and streaming translations into Server Components.
Read documentation@tinloof/sanity-document-i18n
The Sanity translation plugin used by this starter — a community fork of @sanity/document-internationalization from Tinloof. Provides field-level document translations, fallback locale logic, and per-locale previews directly in Sanity Studio.
Read documentation// get started
Clone it. Translate it. Ship it.
Use the GitHub template, connect your Sanity project, pick your default locale, and deploy. The README walks through each step and how to add new languages and translating content via Sanity Studio.