
Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag storeAdding support for a second language to your Sanity website involves several key steps and decisions. Let me walk you through the process:
First, you'll need to decide between two main approaches that Sanity supports:
1. Document-level localization (recommended): Creates separate documents for each language version. This is cleaner and helps avoid attribute limit issues, especially if you're using Portable Text fields.
2. Field-level localization: Stores translations within the same document. While convenient for simple use cases, it's not recommended for Portable Text fields as it can quickly consume attribute limits.
Set up your content model to support multiple languages. For document-level localization, you'll typically add a language field to your documents and create a reference system to link translations together.
Install a localization plugin. The official Document Internationalization plugin is the recommended tool for managing translations. It helps you create unique translations of documents and manage multilingual content versions, with each language as a separate document linked through a shared reference.
Configure your Studio. You can also localize the Studio interface itself so your content editors can work in their preferred language—this was enhanced in Studio v3.22.0 with new localization APIs.
Update your frontend to handle language switching. If you're using Next.js, it has built-in internationalization support that works well with Sanity.
@sanity/document-internationalization): The official solution for managing translations at the document level, developed by Sanity's teamPlan your structure upfront: Think about text expansion (some languages need more space), different writing systems, and whether you'll need right-to-left support. Use proper UTF-8 encoding from the start.
Create clear workflows: Set up your Studio so editors can easily see what content is translated and what still needs translation. The Document Internationalization plugin provides good UI for this with its shared reference system.
Think beyond just translation: True localization goes beyond words to include cultural adaptation, date/number formatting, currency, and region-specific imagery.
Implement fallback strategies: Decide what happens when content isn't available in a language—will you show the default language or hide the content?
Consider SEO: Each language version should have proper meta tags, hreflang attributes, and language-specific internal linking for better search engine visibility.
The beauty of Sanity's approach is its flexibility—you can start simple with just document-level translations and expand to more sophisticated workflows as your needs grow. The structured content model makes it much easier to manage multilingual content compared to traditional CMSs, and with over 60 localization-related tools in the ecosystem, you have plenty of options as your requirements evolve.
Sanity is the developer-first content operating system that gives you complete control. Schema-as-code, GROQ queries, and real-time APIs mean no more workarounds or waiting for deployments. Free to start, scale as you grow.
Content operations
Content backend


The only platform powering content operations
By Industry


Tecovas strengthens their customer connections
Build and Share

Grab your gear: The official Sanity swag store
Read Grab your gear: The official Sanity swag store