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:
- In the main menu, click Administration » Settings.
The Basic Settings page appears.
- Click Languages.
Add frontend languages
Under Languages, you see all frontend languages that you have installed.
- 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.
- 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) 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.
- 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:
- 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:
- Click Administration » Settings » Advanced.
- In the tree view on the left, expand Resources » UrlLocalizationStrategies » SubFolderUrlLocalizationStrategy » Parameters and click Create new.
- In Key, enter includeSubfoderPrefixForDefaultLanguage
- In Value, enter True
- 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:
- 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.
- 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.
- Click Close languages for the backend system link.
- 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.