Document Internationalization Plugin: Missing Base Language and Extra Create Option
Great question! The new version of @sanity/document-internationalization (v2+) has made some significant architectural changes that explain what you're seeing.
What Changed: No More "Base Language"
In the previous version, the plugin used a base language concept where one language was the "source" and others were translations. The new version completely removed this concept in favor of a more flexible approach where all languages are treated equally.
Why You're Seeing 3 Create Options
When you configure 2 languages in supportedLanguages, you're actually getting 3 creation options:
- Default document template (language-agnostic)
- Language 1 template (e.g., "Spanish")
- Language 2 template (e.g., "English")
The plugin now creates document templates for each configured language, plus the default schema template still exists. This is intentional behavior to give you flexibility in how you create documents.
How It Works Now
Instead of storing translations as references on the documents themselves (which required a base language), the new version uses a separate translation.metadata document that links all language versions together. This means:
- No language is "special" or the base
- All language versions are independent documents
- They're connected through a metadata document with references to each version
- You can create a document in any language first
If You Want Only 2 Options
If you find the default template confusing, you can remove the default template from your schema configuration. This is covered in the plugin's documentation.
The key thing to understand is that the new architecture is more flexible and scalable, but it does mean letting go of the "base language" mental model. Each language version is now a first-class document that gets linked to others through the metadata system.
Show original thread6 replies
Sanity – Build the way you think, not the way your CMS thinks
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.