Blog

How to Fix Shopify Liquid Syntax Errors When Translating Product CSVs

Why ChatGPT and Google Translate trash {{ product.price }} and your theme HTML when you bulk-translate Shopify CSVs — and how to stop it.

2026-10-07 · 8 min read

Yeah, your theme broke. Here’s what actually happened.

You export the catalog CSV, dump descriptions into ChatGPT / DeepL / Google Translate, import back, and the German store looks cursed. Prices gone. Layout crooked. Sometimes you literally see `{{ product.price }}` on the page like a bad joke.

It’s not that the German is “bad.” The translator treated Liquid and HTML like normal sentences. So `{{ product.price }}` becomes something stupid like “product price,” `{% if product.available %}` turns into prose, and a closing `</div>` vanishes. Theme goes boom.

Why bulk AI translation wrecks Shopify CSVs

Those tools want nice readable text. Your theme wants contracts. Liquid tags are contracts. Break them and the PDP doesn’t render right — especially on `/de/` and `/fr/` Markets URLs where you’re already juggling layout.

Variables get “translated”

`{{ product.price }}` becomes `{{ produkt.preis }}` or just words. Shopify shrugs. No price. Customer bounces.

HTML gets “cleaned”

Model decides your markup is messy, deletes a `</div>`, flattens the product grid. Suddenly the theme CSS has nothing to hang on. Looks fine in Excel. Looks dead on mobile.

The old “fixes” that waste your week

Regex masks. “Please don’t touch curly braces” prompts. Intern QA on 400 SKUs. Works until it doesn’t — nested filters, weird ICU slots, one long description and you’re back in Slack with screenshots.

If you’re shipping seasonal drops every week, vibes-based prompts aren’t a process. You need the syntax locked before anything gets rewritten.

What actually works

Inventory the tokens first. Lock Liquid, HTML structure, and slots. Only rewrite the human copy for DE / FR / ES. Put the tokens back exactly. Then export a CSV you can import without praying.

That’s the whole game: keep the theme alive, still get market-ready titles and bullets. No hero speech required.

Try it without nuking a live theme

Linguistore is for that exact mess — bulk Shopify CSV translation that doesn’t eat your Liquid. Run a small batch, check five PDPs, then scale.

Ready to translate Shopify CSVs without breaking Liquid or HTML?

Try Linguistore Free (Keep Theme Syntax 100% Safe)