Menu

1 / 5

How I build a multilingual website with Sanity and Next.js

DEV Community: nextjs·Nayan Kyada·4 days ago
#gy7Xrcz5
#devtonextjs#devto#dev#language#slug
Reading 0:00
15s threshold

A multilingual website on Sanity and Next.js is mostly a modelling decision made in week one, then a routing and SEO job. Get the content model wrong and every language you add multiplies the pain. This is the order I work in: content model, routing, hreflang and sitemaps, then the editor workflow.

If you want the next-intl wiring in more detail, I covered it in Sanity multilingual content in Next.js with next-intl . This post is the wider decision flow around it.

Document-level vs field-level i18n in Sanity

There are two models, and they suit different content.

Document-level Field-level

Shape One document per language, linked by a translation key One document, each field is an object keyed by locale

Slugs per language Natural Awkward

Publish per language Yes No, one publish for all

Partial translation Easy, missing doc just does not exist Messy, empty fields everywhere

Studio clutter More documents Wide, long forms

Best for Pages, posts, products Labels, short UI strings

My default is…

Continue reading — create a free account

Join HashtagPLUS to read full articles, follow hashtags, vote, and join the conversation.