Speak the language of your editors: Sanity Studio UI localization (ssr)

Written by Marissa Ghassemian

Missing Image!

If you’ve ever stood in line at a coffee shop, you’ve witnessed how much people like to customize their orders—extra caffeinated, quadruple syrup, oat milk—everyone’s preferences are different. Similarly, a standout benefit of Sanity is the option to tailor the authoring interface to meet the needs and preferences of your content teams. Doing so makes editing more efficient, enjoyable, and opens more opportunities for innovation.

Our latest enhancement to Sanity Studio builds on this value by making it easy to localize the UI to your editors’ language preferences. Say 'hello', 'hola', 'bonjour', or 'こんにちは' to a platform interface that speaks your language!

First-class experiences anywhere

Because few software tools offer a range of language support for their user interfaces, many teams (especially those outside of English-speaking regions) have to compromise when they choose solutions. Either they settle by working in English or by choosing a solution that’s built in their preferred language but lacks other key functionality they need. It's time to move beyond these compromises and to cater to your team's diverse linguistic needs.

Sanity Studio UI localization removes these tradeoffs, letting you choose what language (and related date and number formatting) best meets the needs of your editors.

Doing so makes workflows more intuitive and improves efficiency by reducing those micro-moments of translation or confusion. Content teams no longer need to navigate through a UI unsure if they’re clicking the right buttons—friction that’s particularly high for new teammates as they onboard to a platform in their non-native language.

In cases where a translated UI is a requirement for selecting a solution (such as for many state-run organizations), customers have been able to customize Sanity to comply, but the developer experience has been more onerous than we’d like.

Removing development burden

For teams who’ve prioritized localizing the Sanity UI already (whether for compliance or to create inclusive editorial experiences across global teams), doing so has been a substantial development investment.

Creating nuanced translations across business domains is a complex, time-consuming and challenging task. And maintaining and managing custom translations over time requires ongoing development effort to avoid breaking changes with Sanity Studio version updates. That these customers have done so speaks to the significant benefits a translated interface brings.

With Studio UI localization, developers can now streamline this effort by implementing a growing library of AI-generated (and community supported) translations as language plugins. These libraries will be updated as we release new, enhanced versions of Sanity Studio so you can get the latest value without worrying that translations will break.

How Studio UI localization works

Language plugins

Sanity UI localization is powered by language plugins that can be installed and configured just like all other Sanity Studio plugins. A language plugin is a set of files or resources that contain the translations for Sanity Studio UI elements to a specific language. Once added, they seamlessly translate the UI to your language of choice.

A Sanity Studio that's been translated to German using the German language plugin.
PortableText [components.type] is missing "gotcha"

Beyond these elements, much of the interface that editors interact with is driven by your schema, which you’ve always controlled. This means as long as your schema is in German, if you install the German language plugin, your users will have a seamless experience in their language of choice.

Supported languages

When building Studio UI localization we wanted to make it as inclusive as possible. To streamline this effort, we've implemented an innovative solution: a fully automated, AI-driven pipeline for language plugin creation. This accelerates language support (we’re launching with over 20 languages!) and makes it easy to add more as the need arises. Here are the languages we’re launching with:

  1. Chinese (Simplified) / 简体中文
  2. Chinese (Traditional) / 繁體中文
  3. Czech / Čeština
  4. Dutch / Nederlands
  5. Finnish / Suomi
  6. French / Français
  7. German / Deutsch
  8. Icelandic / Íslenska
  9. Italian / Italiano
  10. Japanese / 日本語
  11. Korean / 한국어
  12. Norwegian (Bokmål) / Norsk (Bokmål)
  13. Norwegian (Nynorsk) / Norsk (Nynorsk)
  14. Polish / Polski
  15. Portuguese / Português
  16. Portuguese (Brazil) / Português (Brasil)
  17. Spanish / Español
  18. Swedish / Svenska
  19. Thai / ไทย
  20. Turkish / Türkçe
  21. Vietnamese / Tiếng Việt

It's important to acknowledge that while large language models have gotten quite good, AI-generated translations may not always be 100% accurate. With this in mind, English is the only official Sanity language plugin. All other languages are “unofficial” because they don’t have human review from the Sanity team to ensure precision.

We expect language plugins to improve over time with the support of our community. If you spot a translation error or wish to add a new language plugin, you can submit a pull request in the relevant repository. For detailed guidelines on participating, please see the 'Community Contributions' section below.

Automated localization maintenance

One of the persistent challenges with manually localizing software is the bottleneck of translating new features as they launch. Each new string of text must be meticulously translated from English which is time-consuming and resource-intensive.

When you use Sanity-created language plugins, you can avoid this work by simply updating your language plugin when you update the Sanity Studio. As we ship new Sanity Studio core features (and, over time, updates to official Sanity plugins) we’ll generate the necessary translations, so you don’t have to take on this work when you update your Sanity Studio.

Community contributions

As mentioned above, we expect AI-generated translations to benefit from the human eye of a native speaker. To empower community members to lend their expertise, we initiate all of our automated translations as pull requests in our GitHub repository so you can review and refine translations within each language's repository. And if you don’t see a locale that you were hoping for, you can create it and submit it to us for publishing!

We deeply appreciate community contributions. Here’s how to participate:

  1. Refine existing language plugins: Identify areas for improvement or correct any inaccuracies by suggesting and submitting enhancements directly through our GitHub repository.
  2. Become a maintainer for existing language plugins: In the role of maintainer, you can choose specific languages to automatically receive notifications to review new translations, whether they're AI-generated or human-crafted. Learn how to become a maintainer.
  3. Add a new language plugin: Create and submit language plugins for yet-unsupported languages. Learn about the process to request or create language plugins.

Crafting tailored editorial experiences

Sanity is the only solution on the market that lets you configure a deeply tailored, more efficient interface for your content teams. Now, with Studio UI localization, it's easy to layer in yet another comfort for your teams to create workflows that feel just right, every time, for all.

To learn more about Studio UI localization check out our docs!