Connect Shopify
Import Shopify product, collection and page copy into transglot and publish reviewed translations into each of your store's languages.
| Direction | Two-way |
| Imported | The primary-locale value of the fields you choose, on products, collections and pages |
| Written back | Shopify translations registered for each secondary locale. The primary-locale content is never changed |
| Sync | Sync from CMS |
| Per sync | Up to 2,500 resources per content type |
| Plan | Starter and above |
Before you start
- Add your target languages to the store in Shopify's language settings. Their locale codes must match the language codes in your transglot project.
- Create a custom app in your Shopify admin and install it to get an Admin API access token. Give it these scopes:
read_translationsandwrite_translations, plusread_products(for products and collections) andread_content(for pages).
Connect
Open your project's settings, choose CMS, and pick Shopify in the CMS list.
| Field | What to enter |
|---|---|
| Store domain | Only the store handle, for example acme for acme.myshopify.com |
| Admin API access token | The custom app's token (it starts with shpat_) |
| Content types | Any of products, collections, pages |
| Translatable fields | Any of title, body_html, handle, product_type |
| Publish these locales | The target languages to write back |
Select Connect, then Test connection. A successful test names the store.
What gets imported
transglot reads Shopify's translatable content for each resource in the store's primary locale. A field that is not translatable on a given resource is skipped; for example, product_type exists only on products.
Translating handle gives the resource a different URL handle in that language. Leave it out of Translatable fields if you want the same handle everywhere.
How translations are written back
Shopify keeps each secondary-locale translation as a separate record from the primary content, pinned to a fingerprint (digest) of the source value. At publish time transglot reads each resource's current digests and registers the reviewed values for the target locales against them. Your primary locale is never registered, so it cannot be overwritten.
Troubleshooting
... the credentials were rejected.The token is wrong, or the app is missing one of the scopes above.... the shop or resource was not found, check the shop domain.Enter only the store handle in Store domain.... the shop is unavailable (frozen or locked).The store is paused or locked in Shopify.... the Shopify Admin API rejected the translation.Shopify refused a value, for example because the target language has not been added to the store.... the shop is rate-limited, retry.Wait and run the sync or publish again.