π³ Free Β· no signup Β· no app install Β· read-only
Your admin says 100 % translated. What does a French shopper actually read?
Shopify's language settings count the strings Shopify knows about. They say nothing about the keys your theme added, the text baked into a section setting, or the words an app renders on its own. We open up to four of your non-default language versions the way a shopper does, plus one product page, and quote back the English storefront strings we find still sitting there.
Based on publicly available data only. Informational, not legal advice.
What this checks
- Which languages this storefront declares in the HTML it serves β read from hreflang tags, the /localization form and Shopify.locale
- A fixed list of common English storefront strings, checked against the visible text of the non-default language pages we open and quoted verbatim where found
- Where each leftover sits β button, announcement bar, footer, review widget β and whether the class names around it point at your theme or at an app
- The <title>, meta description and og:title of each version we open; these are the three most commonly forgotten
- Whether <html lang> on each version matches the language actually being served
- One product page in a non-default language, so the buy box gets checked and not just the homepage
FAQ
My admin shows every language at 100 %. How can there be leftovers?
The percentage counts translation resources Shopify has registered β its own storefront strings plus whatever your theme declared in locales/*.json. It does not count text typed into a section setting, text a developer hardcoded into a Liquid template, or text an app draws inside its own widget. Those three are outside what the percentage measures, which is why this scan reads the pages themselves instead of trusting the number.
Won't a word that exists in both languages be flagged wrongly?
We only report strings we actually found on the page, and we print the surrounding markup so you can judge it yourself. Matching is case-sensitive on the interface capitalisation, so a lowercase 'sale' inside a French sentence is never counted. Loanwords that are normal everywhere β Menu, Email, Newsletter β are dropped entirely, and per-language exceptions are applied on top: 'Shop', 'Sale', 'Checkout' and 'Filter' are not counted on German, Dutch, Danish, Swedish, Norwegian, Icelandic or Finnish pages; 'Sale' is also not counted on Spanish, Catalan, French, Italian or Portuguese pages; 'Color' is not counted on Spanish or Catalan pages. The report repeats this list, so you can check we applied it.
What can this tool not see?
We read the HTML your server returns and never run JavaScript. Text that only appears after scripts execute β a cart drawer built at runtime, a chat bubble, a review widget that fetches its own copy β is invisible to us, so untranslated strings can be hiding there that this report does not list. Shopify's checkout is a separate surface we cannot inspect either, and for a language we hold no character or word fingerprint for we say so instead of guessing. Every number in the report is a floor over the pages we opened, not a total for your store.
Want the leftovers cleaned out and kept out?
We are a Shopify studio. The audit is free; the fix is yours to make β or ours to ship.