Setup languages

In Sitefinity CMS, you can localize pages and content items by creating as many language versions as required. You can create different language versions independently for the frontend of your website as well as for the backend.

To open the Languages settings page:

  1. In the main menu, click Administration » Settings.
    The Basic Settings page appears. 
  2. Click Languages.

Add frontend languages

Under Languages, you see all frontend languages that you have installed.
  1. To add a new language, click Add languages….
    The Select languages dialog opens with a list of all available languages. If you want to add different language cultures, click Show cultures.
  2. Select one or more languages or cultures and click Done.
    The selected languages are added under the Enabled languages for public content section.

    Each site must have at least one language - this is the language that your website opens in by default. To remove an additional language, click its respective Delete(Delete) icon.

    IMPORTANT: Adding or removing a language initiates soft restart and database model reset operations to reflect the new language in the database schema. For more information about Sitefinity CMS application restarts, see Application restart.

    RECOMMENDATION: We recommend creating a backup of your database before adding languages to be able to revert the changes to the database schema.

    When you have added more than one language, the Multilingual URLs section appears.

    IMPORTANT: If you are using multisite management, the newly added language is automatically used in all existing sites, unless you explicitly configure any site to use only specific languages. For more information, see Multiple site management in multilingual mode » Adding languages to individual sites.

  3. Select how the URLs of the pages will appear in each of the added languages.
    This works for both single site and multiple sites.
    Choose between the following:
    • Directories
      You use one domain and the different language versions are represented by different, automatically created directories.
      For more information about URL generation, see Language prefixes in page URLs below.
    • Different domains
      You use different domain names for each language. The system displays an input field for each language that you have added.
      • In each field, enter the respective domain name.
      • For each language, add language-specific domains for all your sites in a comma-separated list.
        EXAMPLE:
        For English, you can use a list that contains site1.domain.comsite2.domain.com, and so on.
        For German, you can use a list that contains site1.domain.desite2.domain.de, and so on.
        The same rule applies to culture-specific domains like site1.us.domain.comsite2.us.domain.com.

      NOTE: You can use only one domain per language and site combination. For instance, it is not allowed to have both site1.domain.com and site1.domain.en correspond to the English language for Site 1.

  4. Save your changes.

After you have added a language, you can translate pages and manually translate content items in this language. For more information, see Translate pages and Manually translate content and media.

To reorder the languages in the table, drag their rows in the desired order. This sets the default language order in:

  • the Language selector widget on your websites
  • the Translations selector in Sitefinity CMS backend pages

For example, you can order the languages in the translations selector on the News page, so that the most commonly used languages are displayed first.

Language prefixes in page URLs

If you have created your languages in directories, by default, pages in the default language do not have language prefixes in their URLs.

For example, if you have English as default language and French as secondary, the URLs look in the following way:

  • In English: www.mysite.com/contacts
  • In French: www.mysite.com/fr/contacts

If you want the English page to have the name of its directory in the URL, perform the following:

  1. Click Administration » Settings » Advanced.
  2. In the tree view on the left, expand Resources » UrlLocalizationStrategies » SubFolderUrlLocalizationStrategy » Parameters and click Create new.
  3. In Key, enter includeSubfoderPrefixForDefaultLanguage
  4. In Value, enter True
  5. Save your changes and restart the application.

Add backend languages

You can see the default language for the backend under Default language for the backend system. To add more backend languages, perform the following:

  1. Click Manage backend languages » Add languages…
    The Select languages dialog opens, displaying a list of all available languages. If you want to add different language cultures, click Show cultures.
  2. Select one or more languages or cultures, and then click Done.
    The selected languages are added under Languages for the backend section.

    You must have one default language. This is the language that your website backend opens in. For each additional language, the system displays the Set as default link and Remove link. You cannot remove the default language.

  3. Click Close languages for the backend system link.
  4. Click Save changes.

After you have added a backend language, you must install an existing language pack or translate the interface labels and messages. For more information, see Backend languages and labels.

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Web Security for Sitefinity Administrators

The free standalone Web Security lesson teaches administrators how to protect your websites and Sitefinity instance from external threats. Learn to configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?