Guides

How to Translate Shopify Email Notifications and Transactional Messages

Your customer just placed an order in French — then received an order confirmation written entirely in English. That friction alone can erode the trust you worked hard to build. Knowing how to shopify translate email notifications properly is one of the most overlooked steps in going multilingual, and this guide gives you every method available, with exact steps and honest caveats about what Shopify currently supports.

Why Transactional Emails Matter for International Stores

Transactional messages — order confirmations, shipping updates, refund notices — land in inboxes at moments of high customer attention. A customer who just paid is actively looking for reassurance. Receiving that reassurance in their own language reinforces confidence in your brand; receiving it in a foreign language plants doubt.

This is separate from your storefront translation. You can have a beautifully localized French store and still send every French customer an English confirmation email, because Shopify's notification system operates independently from the storefront language layer. Fixing that gap is what this guide is about.


Understanding How Shopify Notification Templates Work

Shopify has around 30 built-in notification templates covering the full order lifecycle: order confirmation, order edited, order cancelled, shipping confirmation, out for delivery, delivered, refund notification, and more. Each template is an HTML/Liquid file you can edit directly inside your Shopify admin under Settings → Notifications.

These templates have no native multi-language support built into the editor — Shopify does not let you save a separate "French version" of a template from that screen. Instead, you have two main paths to localized notifications:

  1. Conditional Liquid logic inside a single template — detect the customer's locale and serve different text blocks accordingly
  2. Shopify Markets + a compatible notification setup (with important plan-tier caveats covered below)

Understanding this distinction upfront saves you hours of frustration.


Method 1: Conditional Liquid in Notification Templates

This is the most universally available method — it works on every Shopify plan and requires no third-party app.

How to Access Notification Templates

  1. Go to Settings → Notifications in your Shopify admin
  2. Click any notification (start with Order confirmation — it's the highest priority)
  3. Click Edit code to open the Liquid/HTML template

Detecting Customer Locale

Inside notification templates, the correct Liquid variable for the customer's locale is:

{{ order.customer_locale }}

This returns a locale string such as fr, de, ar, or ja. Note: The available variable depends on which notification type you are editing. For order-related notifications, order.customer_locale is the standard variable. For account-related notifications (password reset, account welcome), the relevant variable is customer.locale. Always verify in a test order before deploying widely — Shopify's variable availability is not identical across all 30 template types.

A Working Conditional Block

Here is a minimal, verified pattern for adding French alongside English in an order confirmation:

{% if order.customer_locale == 'fr' %}
  <p>Merci pour votre commande ! Nous vous enverrons une confirmation dès que votre colis sera expédié.</p>
{% elsif order.customer_locale == 'de' %}
  <p>Vielen Dank für Ihre Bestellung! Wir benachrichtigen Sie, sobald Ihr Paket versandt wurde.</p>
{% else %}
  <p>Thank you for your order! We'll send you a shipping confirmation once your package is on its way.</p>
{% endif %}

Apply this pattern to every text block in the template — subject line, body copy, CTA buttons, footer — and repeat for each language you support.

Which Notifications to Prioritize

Most merchants do not need to translate all 30 templates. Focus on the five to eight that customers actually open and act on:

  • Order confirmation — highest priority; customers check this immediately
  • Shipping confirmation (with tracking link)
  • Out for delivery
  • Order cancelled
  • Refund notification
  • Abandoned checkout (if you use it)

Translating these six covers the vast majority of customer touchpoints without requiring you to maintain dozens of template variations.


Method 2: Shopify Markets-Based Notification Localization

Shopify has been incrementally rolling out the ability to associate notification settings with specific Markets configurations. However, availability and the exact admin path vary by plan tier and have changed across Shopify releases. As of mid-2026, this functionality is more developed for merchants on Shopify Plus.

If you are on a standard plan, check Settings → Notifications for any "Translate" or market-specific options — the UI varies. If you do not see them, the Liquid conditional method above is your reliable fallback.

For a broader understanding of how Markets structures your international setup, see Shopify Markets Explained: A Merchant's Guide to Selling Globally and How to Set Up Shopify Markets for Multiple Languages and Currencies Together.


Handling RTL Languages in Notification Templates

Arabic and Hebrew require right-to-left text rendering. Shopify's default notification templates use left-to-right HTML structure, so you need to explicitly set direction in the template's HTML when serving RTL content.

Inside the conditional block for an RTL locale, wrap your content in a div with the appropriate attribute:

{% if order.customer_locale == 'ar' %}
  <div dir="rtl" style="text-align: right; font-family: Arial, sans-serif;">
    <p>شكراً لطلبك! سنرسل لك تأكيد الشحن بمجرد إرسال طردك.</p>
  </div>
{% endif %}

Place this dir="rtl" wrapper around every Arabic or Hebrew text block, not just the outermost container, because Shopify's notification templates include multiple independent HTML sections. Without this, Arabic text may render LTR and appear scrambled to your customers. For a deeper look at RTL considerations across your store, see Selling in RTL Languages: Arabic & Hebrew on Shopify.


Maintaining Consistency with Your Brand Terminology

One practical challenge with manual notification translation is keeping your brand-specific terms consistent — product line names, proprietary sizing language, return policy terminology — especially as templates drift over time when different team members edit them.

If you already use StoreLingo to translate your storefront, your translation glossary defines how brand terms should be rendered in each language. You can reference that same glossary when writing or reviewing your notification template translations manually, so the terminology a customer sees in a product description matches what they see in their order confirmation. This is a simple cross-reference workflow: export your glossary terms for a given language, check them against your notification copy, and update any inconsistencies.


Dynamic Content: Order Details, Prices, and Dates

Liquid variables for order data — {{ order.name }}, {{ subtotal_price | money }}, {{ order.shipping_address.city }} — render independently of your text translations. You do not need to translate these; Shopify populates them automatically.

What you do need to handle is surrounding copy, labels, and formatting. For currency and date format expectations by market, see Currency, Dates and Number Formatting for Global Stores — the conventions differ significantly between, for example, German and Japanese customers.


What Notification Translation Cannot Do (and Where to Go Next)

Translating notification templates handles post-purchase communication. It does not cover:

Notification translation is one piece of a complete multilingual experience. If you want a full checklist of everything that needs translating before you launch a new language, The Complete Shopify Translation Checklist for Going Multilingual covers every content type in one place.

For the storefront translation layer itself — products, collections, pages, articles, and SEO meta fields across 47 languages — Add StoreLingo on the Shopify App Store →


FAQ

Does Shopify automatically translate notification emails when I add a language to my store? No. Adding a language to your Shopify storefront or Markets configuration does not automatically translate notification templates. You must manually add conditional Liquid logic to each template, or use any Markets-native notification features available on your plan tier.

What Liquid variable should I use to detect a customer's language in notification templates? For order-related notifications, use order.customer_locale. For account notifications such as password reset or welcome emails, use customer.locale. The variable is not identical across all template types, so always test with a real order or account action before publishing changes.

Do I need to translate all 30 Shopify notification templates? No — most merchants only need to translate five to eight high-traffic templates: order confirmation, shipping confirmation, out for delivery, order cancelled, refund notification, and abandoned checkout. These cover the notifications customers actually open and act on, making them the highest-ROI place to start.

Translate your store into 47 languages

StoreLingo translates products, collections, pages and articles with AI — review before publishing, keep your brand terms consistent.

Add to Shopify →