Skip to content

AI localization for Shopify themes

Shopify theme translation.Locales JSON, protected.

Translate locales/*.json with human-level AI accuracy. Liquid tags, filters, HTML markup and JSON keys get 100% protection. Your storefront gets the right words, not a repair ticket.

Code-safe files. 100+ languages. Your existing workflow.

A Shopify theme exports locales/en.default.json into the Qopywriter.ai translation core. The integrity monitor checks JSON structure, Liquid, HTML and key parity. A particle stream carries the translated strings into locales/fr.json. The file returns to a Shopify Admin preview, where a validation warning changes to Theme Published - 0 Errors.

For the theme you already ship

  • Dawn
  • Custom themes
  • Commercial themes
  • Online Store 2.0

Liquid syntax & JSON key shielding

One altered token.
A broken storefront.

Shopify stores theme text in the locales/ directory. Inside those JSON files, readable copy sits beside placeholders, nested keys and HTML. Generic translation tools don't respect that boundary.

A renamed variable, a rewritten filter or an unescaped double quote turns a routine language update into a rejected file, a failing theme editor or missing storefront text. The next hour goes to manual diffs, not publishing.

Token shielding / EN → FR LOCKED BEFORE TRANSLATION

Token-lock illustration. The source is "welcome": "Hello { customer.first_name }, total: { cart.total_price | money }". A scanning beam translates Hello to Bonjour and total: to total :. Shields cover the JSON key "welcome": and both variable expressions. The scanner passes behind those shields without changing any protected character.

Liquid is not copy.

Variables, tags and filter names are excluded from translation. A customer placeholder stays a customer placeholder. Commands such as | money and | t are never rewritten as words in another language.

Valid JSON. Same schema.

Nested paths, arrays, plural branches and escaped quotes keep their structure. The export checks keys and protected tokens against the source. No translated property names. No missing brackets.

HTML that still renders.

Tag names, attributes and nesting stay unchanged while the readable text is translated. Links remain links. Product messages keep their emphasis. Your team gets a locale file, not a markup repair job.

Commerce context, not word swaps

Native phrasing.
Same brand voice.

For Shopify store theme translation, syntax is only half the job. A perfectly valid file still falls flat if the cart button sounds like it came from a dictionary.

Our AI delivers human-level linguistic accuracy, reads e-commerce terminology in context, and keeps your customer-facing tone consistent across product, cart and checkout-related strings. An “order” at checkout is a purchase; in a sort label, it's a sequence. Those are different translations.

  • Meaning follows the key context.Nested product and cart namespaces guide the phrasing, not just the isolated English word.
  • One vocabulary across the storefront.Keep product actions, availability messages and payment labels consistent from one screen to the next.
Storefront language reviewEnglish → French · Same keys, natural copy
products.product.add_to_cart
Add to cartAjouter au panier
products.product.sold_out
Sold outÉpuisé
cart.general.checkout
CheckoutPasser au paiement
cart.general.taxes_included
Taxes includedTaxes incluses
Commerce terminologyConsistent toneKey-aware context

From source file to release

Translate Shopify language files.
Keep your release workflow.

For theme developers, agency handoffs and merchants maintaining custom code. No platform migration. No string-by-string paste jobs.

  1. Start with the source locale.

    Export your theme or copy locales/en.default.json from the theme code editor. Upload that JSON file to Qopywriter. Keep the original in version control.

    INPUT / en.default.json
  2. Choose a language. Translate.

    The AI translates customer-facing values with their key context. Liquid and HTML are shielded before the language pass; JSON structure, key parity and protected tokens are checked before export.

    PROCESS / Text values only
  3. Add the locale. Preview. Publish.

    Save the French output as locales/fr.json in a duplicate theme and enable French in Shopify's language settings. Run shopify theme check, preview dynamic names, prices and plural messages, then publish the theme when you're ready.

    OUTPUT / fr.json

The developer detail

Format in Liquid.
Localize in JSON.

Keep price formatting in your Liquid template. Pass the result into a double-brace locale placeholder with | t. Shopify's translation filter resolves the key and inserts the supplied value.

In this example, cart.total_html, {{ total }} and the HTML tags stay fixed. Only the surrounding language changes. That's the boundary a proper e-commerce theme translation tool respects.

locales/fr.json
{
  "cart": {
    "total_html": "Total : <strong>{{ total }}</strong>"
  }
}
snippets/cart-total.liquid
{% assign total = cart.total_price | money %}
{{ 'cart.total_html' | t: total: total }}

Pricing

Pick a plan for the files you ship.

Start with a free trial. Every plan includes full Liquid, HTML and JSON protection, advanced AI translation and 100+ languages.

Focused updates

Lite

For individual theme projects.

$9/ month
400,000characters per month
  • Context-aware AI translation
  • Liquid & HTML shielding
  • JSON key & structure protection
  • 100+ target languages
Start free trial
Regular releases

Starter

For ongoing store localization.

$19/ month
1,000,000characters per month
  • Context-aware AI translation
  • Liquid & HTML shielding
  • JSON key & structure protection
  • 100+ target languages
Start free trial
Annual billing

Yearly

For a year of language releases.

$169/ year
12,000,000characters per year
  • Unlimited team collaboration
  • Priority support
  • Full Liquid, HTML & JSON protection
  • AI translation in 100+ languages
Start free trial

Practical answers

Shopify theme localization, explained.

File naming, Liquid boundaries, schema locales and release checks. Get the details right before the next language goes live.

Ask a file-format question
How do I translate locales JSON for Shopify?

Upload a source file such as locales/en.default.json, choose a target language and translate. Download the result as locales/fr.json for French, add it to your theme's locales folder and enable that language in Shopify. Keep the default source file alongside the new locale.

Will Liquid variables, filters or HTML change?

No. Qopywriter protects 100% of JSON keys, Liquid tokens, filter names and HTML markup. It translates text values, restores the protected fragments and checks the JSON structure before export. A key such as cart.general.checkout keeps the same name in every language.

Does this work with Dawn and commercial Shopify themes?

Yes. The workflow follows Shopify's locale file conventions, not a particular theme vendor. Use it for Dawn, custom builds and commercial themes that store text in locales/*.json. For hardcoded strings, move the copy into a locale key and reference it with Shopify's t filter before translation.

Can I translate Shopify theme schema locale files too?

Yes. Storefront locale files such as en.default.json hold customer-facing interface text. Schema locale files such as en.default.schema.json hold translated labels for the theme editor.

Process them as separate language files, preserve their keys and save the corresponding French files as fr.json and fr.schema.json. The structural properties in section schema are code, not translation copy.

Does a theme locale file cover checkout and product descriptions?

Theme locale files control the theme's own interface, including checkout-related labels defined by that theme. Product descriptions, collection content and Shopify-managed checkout text live elsewhere. Use Shopify's content and checkout localization settings for those, and Qopywriter for the strings stored in your theme language files.

Why not paste the JSON into a general AI translator?

A general text translation pass mixes copy with code. Qopywriter separates translatable values from structural content, protects Liquid and HTML, and validates the reconstructed JSON.

The AI also reads key context to distinguish product actions, cart messages and checkout labels, so the output sounds like storefront copy rather than a literal word swap.

How should I check a translated locale before publishing?

Compare JSON key paths and placeholder counts with your source, run shopify theme check, then preview a duplicate theme in the target language. Test names, prices, plural messages and text wrapping on mobile. Publish after those checks pass.

Can I try the Shopify theme translator for free?

Yes. Start a free trial and test a locale file before selecting a plan. Paid plans start at $9 per month for 400,000 characters and include 100+ languages.

Your next locale starts here

Ship a new language.
Leave the Liquid alone.

Bring locales/en.default.json. Translate the words your customers see, then preview your next release with code-safe JSON.