We Shipped Translation in 47 Seconds. Here's the Timer.
I kept a stopwatch running on my phone.
A friend runs a small direct-to-consumer brand on Shopify. She's been meaning to "do translation" for about nine months. Every time she looked into it, it was a multi-week project: plugin comparisons, translator quotes, duplicate-content questions, SEO worries. So she kept not doing it.
We did it together in the time it takes to reheat coffee.
The tape
Open sitedialect.com/signup. Enter email. Hit Create Account.
Land in the dashboard. It asks for a site URL. She pastes https://herstore.myshopify.com. Click Add Site.
A language picker appears. She selects Spanish, French, Portuguese, German. That's four languages. Click Save.
The dashboard shows a one-line script tag. Copy it.
Shopify admin → Online Store → Themes → Edit Code. Open theme.liquid. Paste the script tag just before </head>.
Click Save in the Shopify editor.
Open a new tab. Load the storefront. A flag dropdown appears in the corner. Click Spanish. The hero headline, the nav, the product cards — all Spanish.
Timer: 47 seconds.
"Okay, but — that can't be the real version"
I said that too, the first time I demoed it. Here's what's actually happening under the hood at the 47-second mark:
- The script tag loads an ~8KB init payload
- It detects the visitor's browser language preference
- It sends the visible text of the page to our translation API
- Translations come back, get cached at our edge, and replace the page text in place
- The page emits the correct
hreflanglink elements and a self-referential canonical for the language currently being served - Future visitors in Spanish hit our cache, not the translation API — the page loads essentially as fast as the original
At the 47-second mark, she has:
- A working language switcher on her live storefront
- Four additional languages served from our edge
- Valid hreflang pointing at her site's translated URLs
- Zero new servers to maintain, zero duplicate content in her CMS, zero ongoing translator costs
What took the other 14 minutes
We spent another 14 minutes tweaking — not because anything was broken, but because she wanted to:
- Override the translation of her brand name so it doesn't get translated (the dashboard has a Do Not Translate word list)
- Tweak the translation of a specific product name that Spanish customers tend to search by a different term
- Adjust the flag-dropdown position to match her brand's aesthetic
All three are optional. The 47-second version was already live and serving translations. The 14 minutes of polish was because we wanted it to feel hand-crafted.
Why it can be this fast
Most of the friction in traditional translation workflows is coordination, not translation. Hiring a translator, collecting strings, managing version control, syncing the CMS, re-publishing, QA'ing the layout, verifying hreflang. All of that is coordination work, and it's the work that blows up the timeline.
When a system lives as a tiny script tag on top of your existing HTML, that coordination vanishes. The page structure is the page structure. The strings are whatever text your page contains at render time. The translations are cached. hreflang is generated. There's nothing left to coordinate.
This is also why the approach isn't a fit for every use case. If you need perfectly native-copywriter-quality translations for a legal doc, you want a human translator. If you need transcreation for a brand campaign, you want a creative agency. For everything in between — for the 95% of pages on most websites — 47 seconds is enough.
Try it yourself
Grab a stopwatch. Open a new tab. Go to sitedialect.com/signup. See how close you get to 47.
If you beat us, email support@sitedialect.com. We'll send you a t-shirt.