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.
AI localization for Shopify themes
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
Liquid syntax & JSON key shielding
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-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.
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.
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.
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
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.
From source file to release
For theme developers, agency handoffs and merchants maintaining custom code. No platform migration. No string-by-string paste jobs.
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.
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.
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.
The developer detail
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.
{
"cart": {
"total_html": "Total : <strong>{{ total }}</strong>"
}
}
{% assign total = cart.total_price | money %}
{{ 'cart.total_html' | t: total: total }}
Pricing
Start with a free trial. Every plan includes full Liquid, HTML and JSON protection, advanced AI translation and 100+ languages.
For individual theme projects.
For ongoing store localization.
For agencies shipping client themes.
For a year of language releases.
Practical answers
File naming, Liquid boundaries, schema locales and release checks. Get the details right before the next language goes live.
Ask a file-format questionUpload 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.
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.
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.
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.
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.
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.
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.
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
Bring locales/en.default.json. Translate the words your customers see, then preview your next release with code-safe JSON.