How to Add a Locale, Language, and Sales Channel in the Nimara Storefront
Reading Time
3 min.
Published
July 20, 2025
How to Add a Locale, Language, and Sales Channel in the Nimara Storefront
In this article
Ready to gain a competitive advantage with our battle-tested solutions?
We are the creators of most popular open-source projects such as Saleor, Nimara, and Ariadne.
Let's talk
Expanding to a new market? This step-by-step guide shows you how to add a new sales channel in Saleor and update the Nimara codebase to support a new locale and language, which is everything you need to get it running smoothly.

We’ll use Spanish as an example, but the same structure applies to any locale or market.

This guide assumes you already have a working Saleor setup and access to the Nimara codebase.

Step 1: Add a New Sales Channel in Saleor

Start by adding a new sales channel in your e-commerce engine. Since Nimara is designed to work flexibly with platforms like Saleor, we’ll use it here to set up support for Spanish, including a dedicated channel and locale.

Head to your Saleor dashboard:

  • Configuration → Channels → Create Channel

For the Shipping Zones, I selected all of Europe, as in my case, orders will be fulfilled from a warehouse in Germany.

After setting up the new channel, assign the products you want to be available in that channel. Then jump into the Nimara codebase.

Step 2: Update Types for Locales, Languages, and Currencies

Let’s start with types. Correctly typing everything from the beginning helps avoid issues down the line. 

Head over to: apps/storefront/src/regions/types.ts

Add Spanish to the Supported Languages

Extend the SUPPORTED_LANGUAGES definition - in this example, we’re adding Spanish:

Add Spanish Locale

Locales link language to regional formatting. So we add the new locale to SUPPORTED_LOCALES:

Add Market for Spain (if it's a new sales channel)

If you added a brand new sales channel (not just a new language for an existing channel), also update SUPPORTED_MARKETS:

Add Currency

Spain uses the Euro, so we must include that by adding it to SUPPORTED_CURRENCIES:

Step 3: Update Routing for the New Locale

Now let’s move on to the routing.ts file, located at: apps/storefront/src/i18n/routing.ts

Add a new locale prefix:

This ensures URLs like /es/products resolve correctly.

Step 4: Register the Locale Globally

One last thing: don’t forget to add the new locale to ALL_LOCALES in: packages/domain/src/consts.ts

Step 5: Configure a New Locale, Language, and Market

If you've typed everything correctly, this next part should be straightforward. 

Now we wire everything up in the main configuration. This step links locales to specific channels, defines the new language, and tells the app how to handle the Spanish market.

Go to:apps/storefront/src/regions/config.ts

Map the Locale to the Channel

Your editor will likely point out any missing values. Start with LOCALE_CHANNEL_MAP:

Add Language Entry

Each language has metadata: name, code, and locale. Now add your language to the LANGUAGES object:

Define the Market

Finally, define the new market: its ID, name, default language, currency, and Saleor channel.

Step 6: Add Translation Files

You’ll need a translation file so the UI shows proper Spanish labels and messages.

  1. Use the existing en-GB.json file as a reference: apps/storefront/messages/en-GB.json
  2. Create a new file: apps/storefront/messages/es-ES.json
  3. and translate all values accordingly.

Step 7: Test Your Changes

Time to verify everything works as expected. Start the dev server:

Then open your browser and switch to the new Spanish locale. You should see:

  • Only products assigned to the Spanish channel
  • Prices in EUR
  • Translations from es-ES.json file

You're all set! Nimara should now fully support your new Spanish market. If you need to add more markets, just repeat the same structure.

Want to Build Something More Complex?

Do you need more than multiple languages and channels? Whether you require custom pricing rules, localized content, or tailored fulfillment logic, Nimara can adjust to your needs. Just let us know, and we’ll be happy to help.