Manage app translations with the GraphQL Admin API

This guide explains how to use the GraphQL Admin API to create and retrieve translated content for Shopify resources. It also covers how to retrieve translated content using the Storefront API. For example, you might add translations of product information and email notification templates using the GraphQL Admin API so a merchant can send customers email notifications in multiple languages. Those translations can then be retrieved by either the GraphQL Admin API or the Storefront API.

GraphQL Admin API translation access scopes

To use the GraphQL Admin API to create or retrieve translated content, your app needs to request the read_translations and write_translations access scopes for a Shopify store. For more information on requesting access scopes when your app is installed, see OAuth.

Storefront API translation header

To use the Storefront API to retrieve translated content, your app needs to use the Accept-Language HTTP request header when sending queries. The following example header enables Spanish translations to be returned using the Storefront API: Accept-Language: es

GraphQL Admin API translatable resource types

For information about types of resources that are translatable, refer to the TranslatableResourceType reference documentation.

You can use the following query to list each of the translatable types of resources that are available:

Storefront API translation resources

The following resources include properties that can be retrieved using the Storefront API:

Type Fields
Collection title, descriptionHtml, description
Metafield value
Article title, content, contentHtml, excerpt, excerptHtml
Blog title
Page title, body
Product title, descriptionHtml, description
ProductOption name, values
ProductVariant title, selectedOptions
ShopPolicy body

Retrieving translations

You can use the translateableResources connection to retrieve a list of translatable resources, their translatable content, and their existing translations in variou