Skip to main content

Add languages to your store

How to add languages to your store and map them to your Shopify Markets

Todor Atanasov avatar
Written by Todor Atanasov
Updated over 3 months ago

To make the languages you add with our app available in your store, you have to add them to your market. There are two scenarios:


Add a language to your store

To add a language to your store, go to the Languages page in T Lab and click on Add language:

Then, select the desired language and click Add language:

Note, that you are not able to add the language that you use as your Primary language for the store

Now that the language is added to your store, you can already start translating your resources.

However, to make sure the language is active on the website, you first have to publish it:

And then, you need to publish it in your Shopify Markets settings


Publish your languages in Shopify Markets

If you are using a single market

For example, if you have English as your primary language and you have added German to your store, you will see that by default, it's Inactive:

To enable it for your market so that the language can be accessed on your website, click the icon near the Inactive text:

This will open the Markets settings page in Shopify ( Settings -> Markets). Now, select your Primary market:

On the next page, select Languages and domains:

Once there, click the Add languages button on the top right, then select which of the languages you have added to your store you wish to be enabled:

That's it. Now, the German language is available for your store and you can see the URL it's available on - domain.com/de (where domain.com would be the domain name of your store)

If you check the Languages page in Translation Lab now, you will see the German language is active for the United States market:

Don't forget that the language should be Published in our app as well before its URL can be accessed


If you are using multiple markets

The languages are just a part of the Markets feature in Shopify. Whether you should use multiple markets or a single one, depends on your specific case.

Please reach the Shopify support team so they can advise you further on what configuration to use for the markets, as they also include Shipping configuration, Tax configuration and market-specific settings not related to the translations.

Once you know what configuration you wish to use, we can help you configure the languages for your markets

We will use the same example, for having 2 languages - English (primary) and German (secondary). In this example, we will be using two Markets as well - a United States market (primary) and a German market (secondary), since our store has different shipping rates for both countries, let's say.

In the previous case, we had the English language on domain.com and German on domain.com/de

However, if you are using multiple languages, you have a few options on how to set up your languages, in terms of the URL structure. Here are some examples:

  • Primary domain only configuration - with this setting enabled, we will still have the same URL structure:

    • domain.com - English language (in the USA market)

    • domain.com/de - German language (in the German market)

  • Subdomain/Domain configuration - set both languages on their own domain/subdomain, for example:

    • domain.com - English language (in the USA market)

    • domain.de - German language (in the German market)

  • Subfolder configuration - keep one domain, but have a subfolder structure for each market. In this case, we can have:

    • domain.com - English language (in the USA market)

    • domain.com/de - German language (in the USA market)

    • domain.com/en-de - English language (in the German market)

    • domain.com/de-de - German language (in the German market)

Now let's walk through each configuration.

You can check which of the 3 settings is any secondary market using, by selecting the market in question, in our case, the German market (under Settings -> Markets):

then, Lanugages and domains. Finally, click the Manage domains button:

By default, any secondary market you add, uses the Use primary market configuration setting:

Use primary market configuration

If you are using this configuration, the languages are only enabled from the Primary market. So the steps for enabling the German language for the German market, are the same as if we have a single market only.

Use a separate domain/subdomain

You can add additional domains/subdomains, then asign them to the market. Once you have added your domain/subdomain, close the popup and enable the languages that you wish to have enabled for that domain.

Use subfolders

The final option is to use subfolder structure, for each market. You create your own suffix for the given market, while the current language the user is on, is changed automatically:

Here, I have added de as my subfolder suffix for the German market. But it could be something else as well.

Then, I can enable single or multiple languages for this market. In our example, enabling both the English and German languages for both markets - USA and Germany will result in the URL structure shown above:

domain.com - English language (in the USA market)

domain.com/de - German language (in the USA market)

domain.com/en-de - English language (in the German market)

domain.com/de-de - German language (in the German market)


Change the default language for a given market

You can change the default language for a given market. For example, if your store's primary language is English and you have translated it with our app to German, you would get domain.com for the English language by default and domain.com/de for the German language by default.

If you want to change this, so that German appears on domain.com and English on domain.com/en, it's recommended to change the default language for your market, rather than changing the primary language in your store (since the latter, causes a known issue in Shopify).

To do this, go to Settings -> Markets -> Pick the Primary market -> Click on Languages and domains. On this page, click the three dots near the language you wish to have as the default language -> then click Set as default:

That's it, you now have the German language set as default.

The process of changing the default language for a secondary market is the same. You just need to select the given market when you go to Settings -> Markets.


How to enable Country and Language redirection

Shopify recently announced that they will be sunsetting their Geolocation app on February 1st, 2025, so they have introduced a built-in Markets redirect feature that can enabled and it's compatible with Translation Lab and our language switcher.

Navigate to your Online Store -> Preferences:

Automatic redirection

This feature will redirect your visitors to their respective correct Market/Region (not language) if such exists in your store. E.g. a visitor from Germany will be redirected to the German Market/Region if such is available in your store.

If your market is set up with a separate domain, subdomain, or subfolder, then the country/region redirection setting automatically detects a customer's geolocation and redirects them to the URL that corresponds to their resolved market.

For example, if you use a .com domain for your United States market and a .ca domain for your Canada market, then a Canadian customer who visits your .com domain is automatically redirected to your .ca domain.

Browser Language Redirection

This feature detects a customer's browser language and automatically switches the storefront to match when that language is available.

For example, if your domain has a .ca TLD and your Canada market's default language is English, when language redirection is activated, a customer from Canada that has their browser’s primary language set to French is automatically redirected to .ca/fr, where the storefront is in French.

To achieve the best results, it would be best to use both redirections at the same time. They will not conflict with each other.

One redirects customers to Market/Regions (it would also work if you are using subdomains as the default domain for a market), and the other redirects to language based on the visitor's browser language

Did this answer your question?