Blog

Translating PageBuilder content without breaking it

Why sending raw HTML to an AI model goes wrong, and how placeholders keep your layouts intact.

1 min read

Ask a language model to translate a PageBuilder row and it will usually do fine — until it quietly drops a closing tag, translates a CSS class, or "fixes" a URL. On a store with thousands of pages, "usually" is not good enough.

Placeholders, not prompts

We never ask the model to be careful with markup. Instead, the engine lifts out exactly the text that should change — headings, paragraphs, button labels, tab names, JSON values inside widgets — and replaces everything else with opaque tokens. Scripts, styles, URLs and directives never reach the model at all.

Checked on the way back

Every translated fragment is compared tag-for-tag with the source. If the structure changed, the translation is rejected and your store is left untouched.

Tell us about your store. We’ll set up your account.

There’s no self-signup. Send us your store URL and the languages you need, and our team creates your account and first API key.