You did the work. Shopify Markets is set up, Translate & Adapt has run, your product titles and theme strings are in French, German, and Japanese. A shopper in Lyon lands on your store and everything reads correctly.
Then they add a fourth bottle to the cart, hit your per-customer limit, and get:
"You can only order 3 of this item per month."
In English. On a French storefront.
This is the last untranslated surface on most cross-border Shopify stores, and it's a bad one — because app messages only appear at the exact moments a shopper is being told no. The page they read in their own language is the easy one. The message that stops their checkout is the one that needs to be clearest.
Quick answer: how to translate app messages on Shopify
Shopify Markets translates your theme and content, but not your apps. To get limit and availability messages in each shopper's language, publish your languages through Shopify Markets or Translate & Adapt, then use apps that read the shopper's active storefront locale rather than your store's default language. In OrderRules this is automatic across nine languages, with no per-language setup — and you can override any individual message with your own wording per language.
Why translated stores still show English app messages
It helps to be precise about which system owns which string.
| Surface | Who translates it |
|---|---|
| Theme text, product titles, descriptions | Shopify Markets / Translate & Adapt |
| Checkout UI labels | Shopify |
| App messages — badges, banners, limit notices | The app itself |
Shopify hands apps a storefront locale. What an app does with it is entirely up to that app. There are three common behaviours, and only one of them is right:
- Hardcoded English. The app ships one language. Every shopper everywhere sees English.
- Merchant's store language. The app translates, but to your configured language. A German merchant's French shoppers see German. This is the sneaky one — it looks translated in testing because you're testing as yourself.
- The shopper's locale. The app reads the active storefront language and renders accordingly. A French shopper sees French, a Japanese shopper sees Japanese, from the same store and the same rules.
If you sell across borders, only the third behaviour actually works.
The messages that matter most
Not all app strings are equal. The ones worth auditing are the ones that appear when something is constrained — because those carry information the shopper has to act on:
- Availability badges — "10 units remaining today." A number without a comprehensible sentence around it is just a number.
- Store-closed banners — the shopper needs to know you're closed, not just that something is greyed out.
- Per-customer and per-product limit notices — "you already ordered 2 of 3 this month" is only useful if it's readable.
- Minimum-order and case-pack badges — "order in multiples of 6" is a rule the shopper must follow before they can check out.
- Cart and disabled-button messages — the difference between "the site is broken" and "here's what to change."
Every one of these is a point where an untranslated string turns into an abandoned cart, because the shopper's honest conclusion is that your store doesn't work.
How to audit your own store in ten minutes
Do this as a shopper, not as a merchant. Log out, switch your storefront to each published language, and try to trigger each state:
- Open a product that's near a limit — does the availability badge translate?
- Visit outside your business hours — is the closed banner in the shopper's language?
- Add a quantity below a minimum or off a case-pack multiple — does the badge translate?
- Actually hit a per-customer cap — does the notice translate?
- Push through to checkout on a blocked cart — what language is the error?
Write down what comes back in the wrong language. That list is your gap.
Setting it up with OrderRules
OrderRules is available in nine languages — English, Japanese, Spanish, French, German, Italian, Dutch, Portuguese, and Simplified Chinese — across both the admin and the storefront, and the two follow different signals:
- The admin follows your Shopify admin language automatically. Run your store in Japanese, manage your rules in Japanese. Nothing to configure.
- The storefront follows each shopper's active storefront language. Nothing to configure there either — publish the language through Shopify Markets or Translate & Adapt and OrderRules picks it up.
Then, where the default translation isn't quite your voice:
- Go to Settings → Language & Translations
- Pick a language — every shopper-facing message fills in
- Edit the ones that matter to you
- Save
Message left at its default -> auto-translates to each shopper's language
Message you edited -> pinned to your wording, shown to every shopper
That mix is the useful part. Hand-write your Japanese availability badge because the phrasing matters for a Japanese buyer, and let the other eight languages translate themselves.
Language support is included on every plan, Starter included. See Languages & Translations for the full setup.
The one thing that doesn't translate per buyer yet
Being straight about the gap: checkout-blocking error messages currently follow your configured store language, not the buyer's. If a cart violates a rule and Shopify's native checkout blocks it, that specific message appears in your store's language.
Everything before that point — the badge, the banner, the limit notice, the cart message, the delivery date picker — follows the shopper. In practice, a well-configured store rarely lets a shopper reach checkout with a violating cart, because the storefront messages caught it earlier and in their own language. But it's a real limitation, and you should know about it before you promise a fully localized checkout.
Who this matters most for
- Japanese stores. Japanese buyers expect a native experience; a half-English one reads as untrustworthy in a market where trust does the selling.
- EU merchants selling across three or four languages from a single store and a single set of rules.
- Shopify Markets merchants running regional storefronts — one configuration, correct language per market.
- Agencies managing many client storefronts who don't want a per-locale message table to maintain.
Where to go next
- Languages & Translations — full setup and per-language customization
- Dynamic Storefront Messaging — placeholders and message types
- Per-Customer Order Limits — the rules these messages describe
Your theme has been translated for a while. It's worth checking whether the messages that stop a sale have been.