Watch a live product demo πŸ‘€ See how Sanity powers richer commerce experiences

How to Translate Content and Use Different Images Across Languages

3 replies
Last updated: Dec 9, 2021
Hello, how should I create translation on the content blog sanity?
Under the content category, I tried to add the EN and FR following the video, but doesn't seem to work.

Also if I want to have 2 images en and fr, how should I add it in my schema?

please advice
πŸ™

{
          name: 'content',
          type: 'array',
          title: 'Content',
          of:[
            {
              type: 'block'
            },
            {
              name: 'test',
              type: 'object',
              title: 'test',
              fields: [
                {
                  title: 'English',
                  name: 'en',
                  type: 'string'
                },
                {
                  title: 'French',
                  name: 'fr',
                  type: 'string'
                }
              ]
            },
            {
              type: 'image',
              fields: [
                {
                  type: 'text',
                  name: 'alt',
                  title: 'Description',
                  options: {
                    isHighlighted: true
                  }
                }
              ],
              options: {
                hotspot: true
              }
            },
            {
              type: 'code'
            }
          ]
        }
Dec 9, 2021, 6:09 PM
I can use separate editor or same one, all I want is to have the content to have en and fr.
I tried to add this, but doesn't work:

{
              name: 'test',
              type: 'object',
              title: 'test',
              fields: [
                {
                  title: 'English',
                  name: 'en',
                  type: 'string'
                },
                {
                  title: 'French',
                  name: 'fr',
                  type: 'string'
                }
              ]
            },
Dec 9, 2021, 7:01 PM
Got it. First off, I'd pull your block content array out into its own reusable schema, like:
export default {
  name: 'blockContent',
  title: 'Block Content',
  type: 'array',
  of: [
    {
      type: 'block',
      marks: {
        annotations: [
          {
            name: "link",
            type: "object",
            title: "URL",
            fields: [
              {
                title: "URL",
                name: "href",
                type: "url",
              },
            ],
          }
        ]
      }
    },
    {
      type: 'image'
    },
  ]
}
Then, in your document you can set up an object that contains both an
en
and
fr
content schema. Like this:
{
      name: 'content',
      title: 'Content',
      type: 'object', 
      fields: [
        {
          title: 'English',
          name: 'en',
          type: 'blockContent'
        },
        {
          title: 'French',
          name: 'fr',
          type: 'blockContent'
        }
      ]
 },
Dec 9, 2021, 7:22 PM
okay thanks a lot
Dec 9, 2021, 7:51 PM

Sanity.io – build remarkable experiences at scale

Sanity is a customizable solution that treats content as data to power your digital business. Free to get started, and pay-as-you-go on all plans.

Categorized in

Related answers

Get more help in the community Slack

TopicCategoriesFeaturedRepliesLast Updated
After adding the subtitle and running this code npm run graphql-deploy It does nothingSep 15, 2020
how to limit a reference to just one entry in Studio reference input side versus the default as-many-entries-as-you-fill-in-an-array...Sep 18, 2020
Is it possible to fetch more than one "_type" using GROQ?Nov 2, 2020
I want to add a view with the Structure builder (S.view.component) where I list similar documents based on the title. What...Sep 23, 2020
Is there a structure builder example where the format of each preview for the document list is modified?Feb 3, 2021
I have an array of references to a country schema type but it always just returns NULL values for meJan 30, 2021
Hi, I need help with a query for getting the url of an image asset. Here is what I've been trying, but I only get the _ref...Dec 1, 2020
Sanity UI looks brilliant :smiley: Is something like the current date picker possible at the moment? I’m not sure if anicon...Dec 21, 2020
Hey everyone. I have been coding and may have potentially accidentally deleted something. Does anyone know how to resolve...Dec 26, 2020
Hello everyone and happy new year :raised_hands::skin-tone-2:, I have a problem with outputting Portable Text :disappointed:...Jan 1, 2021

Related contributions

Clean Next.js + Sanity app
- Template

Official(made by Sanity team)

A clean example of Next.js with embedded Sanity ready for recomposition.

Cody Olsen
Go to Clean Next.js + Sanity app

Blog with Built-in Content Editing
- Template

Official(made by Sanity team)

A Sanity-powered blog with built-in content editing and instant previews.

Go to Blog with Built-in Content Editing