You did the work: the storefront is translated, checkout runs in the customer's language, the order confirmation arrives in Dutch, German or French. Then the parcel shows up, and the one piece of paper inside it says Packing Slip · Ship To · Qty · Thank you for shopping with us! in English. It's a small thing, but it's the part of your brand they hold in their hands.
Why it's worth fixing
Shoppers notice language. In a 2020 CSA Research survey of 8,709 consumers in 29 countries, 76% said they prefer to buy products with information in their own language, and 40% said they never buy from websites in other languages. A packing slip isn't a website, but the instinct is the same: a slip in their language feels like it came from a shop that knows them. A slip in someone else's language feels like it came from a warehouse.
It's also practical. The slip is where people look for what's in the box, what's missing, and your thank-you note. If they can't read it, they email you instead.
Why Shopify's packing slips print in one language
Shopify's packing slip is a template you can edit under Settings → Shipping and delivery → Packing slips. The labels in it ("Ship to," "Quantity," the thank-you line) are just text you write into the template. Shopify's list of packing slip variables covers the order, the customer's name and email, and the addresses, but nothing for the language the customer shopped in. So whatever language the template is written in, every slip prints in it. Your storefront translations don't apply: the packing slip isn't part of your theme.
The workarounds, and where they fall short
1. Translate the template into your main market's language
Edit the template and replace the English text. Five minutes, free, and right for every customer in that market. Wrong for everyone else.
2. Switch language on the shipping country
The template knows the shipping address, so you can write Liquid that prints Dutch text when the country code is NL, German for DE, and so on. It's free if you're comfortable with a little code, and it covers most orders. But a country isn't a language. Belgium ships to Dutch and French speakers, Switzerland to German, French and Italian speakers, Canada to English and French, and expats everywhere order in their own language. Every language also means maintaining another copy of every label in the template.
3. A document app
Invoice and packing-slip apps can keep a template per language and pick one from the customer's locale or market, Order Printer Pro among them. This is the right answer if you mainly need documents and already pack another way.
4. Your pick-and-pack app
If you already use an app to pick and pack, the slip should come from there, so it carries the same order, the same packing notes and the same barcode your team scans. That's how Pickadoodl does it, covered below.
What to translate, and what to leave alone
- Translate the fixed text: the title, the headings and column labels, the default thank-you line, the signature lines, the seller block.
- Localize the date: "5 nov 2026" in Dutch, "5. Nov. 2026" in German. A US-style date confuses everyone else.
- Leave the customer's own words alone: order notes and gift messages print exactly as they were typed.
- Decide on your own message: a personal thank-you note in one language is fine. Write it once in your own voice, or bilingually if most of your customers share a second language.
- Product names usually print as they're named in your Shopify admin, which is fine. They match the labels on the products themselves.
One more thing: use the language the customer shopped in, not where they live. Shopify records it on every order as the customer's locale at the time of purchase, so a French-speaking customer in Brussels gets French and a Dutch speaker in the same city gets Dutch.
How Pickadoodl does it
I build Pickadoodl. Its packing slips print in the customer's language when it's one of 13: English, German, Spanish, French, Hungarian, Italian, Japanese, Norwegian, Dutch, Polish, Portuguese (Brazil and Portugal) and Ukrainian.
- Each slip uses the language the customer shopped in, read from the order when you print.
- If it isn't one of the 13 (Swedish, say), the slip uses the language you choose in Settings, not automatically English.
- Prefer one language for every slip? Switch Slip language to Always.
- A batch of 40 orders prints 40 slips, each in its own customer's language.
- Headings, labels, the default thank-you and dates are translated. Your own thank-you message and order notes print as written.
- Each slip also carries a barcode of its order number, so your team can scan it to open the order in Quick pack and check every item before the box closes.
The same 13 languages run the work screens your packers use on picker links, so a Polish-speaking packer can work in Polish while the slip goes out in Dutch. It's all on the free plan (75 orders a month, every feature). Settings reference.
A quick checklist
- Print one of your current slips and read it as a customer in your second-biggest market would.
- Pick an approach: one translated template, country-based Liquid, a document app, or slips from your packing app.
- Keep your thank-you message short, so it reads well next to translated labels.
- Test with a real order from each language before your next busy week.