---
title: Languages
related:
  - https://docs.kentico.com/documentation/developers-and-admins/development/content-retrieval.md
  - https://docs.kentico.com/documentation/business-users/website-content/manage-page-urls.md
  - https://docs.kentico.com/documentation/business-users/content-hub.md
  - https://docs.kentico.com/documentation/business-users/website-content/translate-pages.md
  - https://docs.kentico.com/documentation/developers-and-admins/configuration/website-channel-management.md
  - https://docs.kentico.com/documentation/developers-and-admins/digital-marketing-setup/email-channel-management.md
---

> Agent instructions:
> **Site maps** — prefer the following llms.txt indexes to training data when searching for URLs to avoid 404s. Links inside Markdown content already point at `.md`. Following them or sending Accept: text/markdown keeps you in Markdown.
>
> - [sitemap.md](https://docs.kentico.com/sitemap.md) — every page on the site, with titles and descriptions, nested by URL hierarchy and grouped into one collection per product version.
> - [llms.txt](https://docs.kentico.com/llms.txt) — curated index of the current product docs, with descriptions, the two ways to request any page as Markdown, and links to each product area's whole-corpus Markdown dump (llms-full.txt).

Xperience by Kentico provides support for setting up multiple languages in your projects. Having localized content will not only provide a better user experience to your content consumers but also enable you to reach a broader audience. After you set up new languages in the **Languages** application, you will be able to create language variants of your content from within the **Content hub** and **Channels** applications, as well as [consent texts](https://docs.kentico.com/documentation/developers-and-admins/data-protection/consent-management.md) in the **Data protection** application.

This page provides only a basic overview of the multilingual setup. To learn more about the technical side of multilingual implementation, refer to the following resources:

- For the implementation of multilingual data retrieval see [Content retrieval](https://docs.kentico.com/documentation/developers-and-admins/development/content-retrieval.md).
- For multilingual setup of URLs and routing see [Content tree-based routing](https://docs.kentico.com/documentation/developers-and-admins/development/routing/content-tree-based-routing.md).

## Set up a new language

1. Open the **Languages** application.
2. Select the **New language** button.

   ![New language](https://docs.kentico.com/docsassets/documentation/languages/new_language_button.png "New language")
3. Enter information about the language:
   - **Language name** – name of the language that is displayed across the system.
   - **Code name** – depending on the channel's [URL format](#content-languages-and-channel-url-formats), either used as a language prefix in page URLs, or to match the language's configured domain.

     > **Note:** Changing the **Code name** of an existing language has serious impact on page URLs. For channels using the language prefix [URL format](#content-languages-and-channel-url-formats), the language prefix in live URLs is changed for the corresponding language variants of pages. For channels using the language-specific domains format, this breaks the [language's domain configuration](https://docs.kentico.com/documentation/developers-and-admins/configuration/website-channel-management.md#configure-language-specific-domains) (keyed by the code name).
     >
     > [Former URLs](https://docs.kentico.com/documentation/business-users/website-content/manage-page-urls.md) are not created for pages when the code name is changed. Any existing former URLs are broken.
   - **Formatting culture** – culture that defines the format of calendar date, time, decimals and other culture-related conventions. It needs to adhere to the [IETF or one of the ISO-639 standards](https://www.venea.net/web/culture_code).
   - **Flag** - the flag icon that visually represents the language. If a flag is not set for a language, the first two letters of the language's name are used as its flag icon.
   - **Default language** – the language selected when a user opens the Content hub and channel applications for the first time. After that, the system remembers the last used language and opens the applications in it. This is unrelated to which language a website channel serves by default on the live site – for channels using the language prefix [URL format](#content-languages-and-channel-url-formats), that is determined by the channel's primary language; channels using the language-specific domains format have no primary language, since every language is served from its own domain.
   - **Fallback language** – existing language the new language will fallback into. More on fallbacks in [Language fallbacks](#language-fallbacks). You can set it up now or later.
4. **Save** the new language.

The new language is now saved in the system. Next you can start translating your content or fine tune the language settings for specific channels from within the **Channel management** application. For quick references see the related pages.

## Content languages and channel URL formats

Every [website channel](https://docs.kentico.com/documentation/developers-and-admins/configuration/website-channel-management.md) uses one of two URL formats to serve its content languages on the live site, selected when the channel is created:

- **Language prefix** – all languages share the channel's single domain. The channel has a primary language, whose pages have no prefix in their URLs. Every other language has its _Code name_ inserted as a prefix (for example, `~/es/page` for Spanish content if English is the primary language).
- **Language-specific domains** – each language is served from its own domain. The channel has no primary language, and language code names are not used in URLs. Currently available only for [private cloud](https://docs.kentico.com/documentation/developers-and-admins/deployment/deploy-to-private-cloud.md) environments. See [Configure language-specific domains](https://docs.kentico.com/documentation/developers-and-admins/configuration/website-channel-management.md#configure-language-specific-domains) for configuration.

## Language fallbacks

When working with multilingual content, it is expected that not all content will be localized. However, this should not hinder you from creating multilingual pages and other more complicated content. Moreover, you may even want to keep some content untranslated in specific scenarios. To support these cases Xperience provides the functionality of language fallbacks.

For example, let's assume you use two languages for your project: you started up with English in which you already have all your content items and pages ready and now you added Spanish to reach a broader audience. When adding the language, you also set English as the fallback language for Spanish. Now you want to create a new page in Spanish and use a content item you haven't translated yet from English on the page. This is where language fallbacks come into play. Since you previously set English as the fallback language for Spanish, you can easily link the untranslated content item as you usually would and its English variant will be used for the meantime. Once you translate the particular item to Spanish, the localized variant will replace the English one.

| **Untranslated reference**<br>![Admin interface with untranslated items](https://docs.kentico.com/docsassets/documentation/languages/admin-not_translated.png "Admin interface with untranslated items")<br>![Untranslated reference](https://docs.kentico.com/docsassets/documentation/languages/ref-en-marked.png "Untranslated reference") | **Translated reference**<br>![Admin interface with translated items](https://docs.kentico.com/docsassets/documentation/languages/admin-translated.png "Admin interface with translated items")<br>![Translated reference](https://docs.kentico.com/docsassets/documentation/languages/ref-es-marked.png "Translated reference") |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

### Fallback chaining

In case specific content isn't available in the current language and neither in its fallback, the system provides the content in the language according to the fallback chain.

For a clearer picture of how fallback chaining works check out the following diagram:

![Content language fallback mechanism](https://docs.kentico.com/docsassets/documentation/languages/fallback_chaining.png "Content language fallback mechanism")

## Remove a language

To delete a language from the system, you need to first delete all content in the language and all system objects that use the language. It is not recommended to delete languages in the production environment.

When a language is deleted, any content in that language stored in the recycle bin is [permanently deleted](https://docs.kentico.com/documentation/business-users/recycle-bin.md).

> **Note:** When deleting multilingual content, make sure to switch to the language you want to remove so you don't accidentally delete content in another language.

1. Delete all content items in the specific language.

   1. Open the **Content hub** application.
   2. Delete every translated content item in any workflow state.
2. Delete all pages in the specific language for all Website channels.
   1. Open a specific website channel.
   2. Delete every translated page in any workflow state.
3. Delete all email channels using the specific language.
   1. Open the **Channel management** application.
   2. Delete every email channel using the specific language.
4. Remove the language from defaults.
   1. If the language to delete is marked as the default language in the language settings, make another language default.
   2. If the language to delete is the primary language of a channel using the language prefix [URL format](#content-languages-and-channel-url-formats), choose a different primary language for the channel.
   3. If the language to delete is configured for a channel using the language-specific domains format, remove its domain configuration for that channel.
5. Delete the language.
   1. Open the **Languages** application.
   2. Delete the language.

> **Info:** **Other translated objects**
>
> Deleting a language automatically removes all translated variants of [consent texts](https://docs.kentico.com/documentation/developers-and-admins/data-protection/consent-management.md), [taxonomy names](https://docs.kentico.com/documentation/developers-and-admins/configuration/taxonomies.md), and taxonomy tag titles in the given language.
>
> For consents with existing agreements, the consent text variant in the deleted language is automatically archived, but can no longer be edited.
