docs
  1. Checkout-guide
  2. Configure
  3. Checkout Translations

Checkout Translations

All tenants must migrate to this Checkout Translations system by End of October, 2025. See the Migration Guide for details and instructions.

SCAYLE's in-house translation management system allows tenants to manage Checkout localization with near real-time updates, flexible overrides, and default translations for 22+ locales.

Key Features

Tenants can access and update all checkout-related translations through the SCAYLE Panel. This includes both default translations and tenant-specific overrides.

  • New translation keys, introduced through upcoming features, are automatically included in the system with default translations. A notification will be triggered in the SCAYLE Panel whenever a new translations is available.
  • Changes saved through the SCAYLE Panel are reflected in the respective environments almost immediately – typically visible after the checkout frontend is refreshed (e.g., on a full page reload)

Translations must be configured separately for each environment (e.g., prev, test, and live).

Default Translations

The checkout includes built-in default translations for the following locales. No manual publishing or configuration is needed — these translations are available out of the box:

CountryLocale CodeLanguage
🇩🇪 Germanyde_DEGerman
🇸🇪 Swedensv_SESwedish
🇹🇷 Turkeytr_TRTurkish
🇸🇰 Slovakiask_SKSlovak
🇸🇮 Sloveniasl_SISlovenian
🇷🇴 Romaniaro_RORomanian
🇵🇱 Polandpl_PLPolish
🇵🇹 Portugalpt_PTPortuguese (Portugal)
🇳🇴 Norwaynb_NONorwegian (Bokmål)
🇳🇱 Netherlandsnl_NLDutch
🇱🇹 Lithuanialt_LTLithuanian
🇱🇻 Latvialv_LVLatvian
🇭🇺 Hungaryhu_HUHungarian
🇮🇹 Italyit_ITItalian
🇫🇷 Francefr_FRFrench
🇪🇪 Estoniaet_EEEstonian
🇫🇮 Finlandfi_FIFinnish
🇺🇸 United Statesen_USEnglish (US)
🇪🇸 Spaines_ESSpanish
🇬🇷 Greeceel_GRGreek
🇩🇰 Denmarkda_DKDanish
🇧🇬 Bulgariabg_BGBulgarian
🇨🇿 Czech Republiccs_CZCzech

Don’t see your shop’s country in the default list? No problem! Check the Locale Overrides section below for a detailed example on how to set up translations for shops in countries not covered by the default locales.

The locale code (e.g., de_DE) refers exclusively to the language and regional formatting, not to the physical location of the shop. For example, it is perfectly valid to use the de_DE locale for a shop operating in Austria if it serves German-speaking customers. The country component (DE in this case) is part of the standard locale naming convention and does not restrict the shop to that country.

Fallback behavior

The checkout uses multiple layers of translations, loaded in a specific order. If a translation is missing in one layer, the system automatically falls back to the next one. Here is how it works:

Layer NameHierarchyDescription
Panel Translations1 - Highest priorityThese are custom translations made by tenants directly in the SCAYLE Panel. If a translation key is defined here, it will always be used.
Locale-Specific Defaults2 - Medium priority For example, if a shop is configured with de_DE, the default German translations are loaded automatically—no extra setup required.
Global Default (en_GB)3 - Lowest priorityThis is the fallback language. If no translation is found in any of the layers above, the system uses the English (UK) default (en_GB).
If customers see English text, it usually means that a translation is missing in their local language.

All these layers are merged together using a fallback logic: If a key is missing from the top layer, the system checks the next one—until it finds a match.

This setup ensures both consistency and flexibility across markets, enabling centralized control with local customization.

Practical example is outlined here.

Translation Overrides & Locale-Specific Defaults

To keep your checkout fast and smooth, only change translations if they really need to be different from the default ones provided. Every time you add an override in the SCAYLE Panel, it’s stored separately and loaded on top of the default translations. If unnecessary overrides are added, the size of the translation file is increased, which may slightly impact loading speed.

In practice, users will hardly notice the difference—but depending on the size of the override file, it could add, for example, around 100ms to the checkout loading time.

How to Use Locales Effectively in SCAYLE Panel

We provide default translations for the most common locales, tenants are encouraged to use these standard options wherever possible.

🔍 Example 1 - Shop Country Not in Default Locale List

Case 1: Let’s say you have a shop targeting customers in Ireland. While Ireland isn’t listed in the default locale table, you can still setup the existing en_GB (English) locale.

Case 2: However, let's say you are running a shop in Croatia, and no specific hr_HR (Croatian) locale is available. For newly created shops, the checkout will fall back to the default English (en_GB) translations, since we do not provide built-in support for Croatian yet. To display the checkout in Croatian, you should upload, publish and manage the hr_HR translations manually via the SCAYLE Panel.

Case 3: Both Germany and Austria use the German language. If de_AT is not part of the default locale list, the system will default to en_GB. To enable full German translations, you can manually switch the locale to de_DE in the SCAYLE Panel.

🔍 Example 2 - Multi-Locale Shops in One Country

Suppose you have just created three dedicated shops for Switzerland, each serving a different language group:

  • Switzerland shop, German language (e.g.: Shop ID 101)
  • Switzerland shop, French language (e.g.: Shop ID 102)
  • Switzerland shop, Italian language (e.g.: Shop ID 103)

Since we do not have a Switzerland-specific locale, the new shops will receive each our default en_GB. To configure the respective locales using our existing defaults:

Shop IDShop CountryTargeted LanguageDefault Locale
101SwitzerlandGermande_DE
102SwitzerlandFrenchfr_FR
103SwitzerlandItalianit_IT

You can still opt to use different locales such as ch_DE, ch_FR, ch_IT, etc. However, as previously outlined, those locales will not receive automatic translation updates.

Let's say you decide to keep use such locale for the Switzerland shops. During checkout loading, the system attempts to resolve the best available match:

  1. First, checking for the exact custom locale (e.g.: ch_IT).
  2. If it doesn't exist, the system tries to map by country component (we split ch and IT and try to find in our defaults a language component that belongs to ch ). In this case, since there is no component specific for Switzerland, no match will be found.
  3. Next, the system defaults to English (en_GB).

As an outcome for the above example, the users may see a combination of translated keys in the custom language and fallback values in either English or a related default locale.

Since we always fallback to English language in case no match was found in the previous layers, there are no situations in which the checkout will display translation keys to the users.

🔍 Example 3 - Country-Specific Translations for Shared Locale:

Although the default translation setup includes general locale codes like de_DE for German, country-specific variations can be handled through translation overrides in Panel. These overrides are applied at the shop level, meaning different shops can have different translations for the same key.

Suppose you want to configure different translations for the same shipping method key for Austria and Germany while using our default de_DE . This can be configured by:

  • Selecting each shop in the SCAYLE Panel
  • Choosing the de_DE locale
  • Overriding the same translation key with shop-specific values
Shop IDShop CountryDefault LocaleTranslation KeyDefault TranslationOverride
101Germanyde_DEshipping_method.dhl_express"DHL Express""DHL Express (9,99€)"
102Austriade_DEshipping_method.dhl_express"DHL Express""DHL Express (14,99€)"

The system ensures that these shop-level overrides are prioritized when translations are loaded in the checkout, allowing full flexibility even when the same locale is used across markets.

How to Manage Translations

For detailed steps on how to manage translations within the SCAYLE Panel, please refer to this guide.