How to Translate Product Info on Shopify and Sanity?

1 replies
Last updated: Jun 29, 2022
Hello everyone!This is not clearly an "help" request but just a discussion.
I've seen the new
shopify connector for sanity and the new work is amazing.Just want to ask you how do you manage languages? You translate both product info like title and description into sanity or you translate product fields on shopify and sanity fields on sanity?
AI Update

Great question! Managing translations with the Sanity Connect for Shopify integration is definitely something to think through carefully. Here's how most teams approach this:

The Common Pattern: Split Responsibilities

The most typical approach is to keep core product data in Shopify (titles, descriptions, variants, prices) and manage those translations through Shopify Markets, while using Sanity for rich editorial/marketing content that augments your products (like storytelling content, buying guides, rich media galleries, lifestyle imagery, etc.).

Why This Split Makes Sense

When you install Sanity Connect, it creates a bidirectional sync of your product, variant, and collection data. The synced Shopify data in Sanity is essentially read-only—the source of truth remains in Shopify. This means:

  1. Shopify handles transactional content best - Product titles, descriptions, prices, and variant information are tightly coupled to your commerce operations, inventory management, and checkout. Shopify's built-in translation tools and Markets feature are designed specifically for this use case.

  2. Sanity excels at rich, composable content - The editorial content that makes your products stand out (brand stories, detailed guides, related content modules, custom media) benefits from Sanity's flexible content modeling and composable content approach.

For Sanity Content Translation

When you need to translate the content you manage in Sanity, you have several options:

  • Document-level internationalization - Create separate documents per language (this is the recommended approach as it avoids attribute limit issues)
  • Field-level translation - Store translations within the same document using objects with language keys (though this isn't recommended for Portable Text fields)
  • Translation management integrations - Connect with services through Sanity's localization plugins like MotionPoint or Transifex
  • AI-powered translation - Use Sanity's built-in AI translation capabilities

Important Consideration: Attribute Limits

One thing to watch out for: translations can multiply your document size significantly, especially with field-level localization. This is why document-level internationalization is generally the safer choice.

The Hybrid Approach

Some teams do translate product fields in both places, especially if they want more editorial control over how product descriptions are presented in different markets beyond what Shopify Markets provides. The key is establishing a clear workflow so your team knows where the "source of truth" lives for each type of content.

The Sanity Connect announcement blog post has more details on how the sync works and what's possible with the integration!

Hey
user G
, discussions are welcome! (Also feel free to chime in ecommerce or shopify, since this channel moves pretty quickly!)
Currently the language selector in the demo only changes product pricing, no localization is taking place here.

That said, there’s a number of ways you could tackle this. I would probably opt to handle it in the way you’ve mentioned – manage
product field localization in Shopify (so other apps in the Shopify app ecosystem can take advantage of these) and manage localization of all editorial and other pages in Sanity. (Whether that would be on a per-field or per-entry basis would be up to you)

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.

Was this answer helpful?