Best Practices for Umbraco 6 Localization
Umbraco is a web content management system (WCMS) known as one of the simplest and most user-friendly tools for publishing web content. It is based on Microsoft ASP.NET technology and is considered the first open-source tool based on Microsoft ASP.NET for web content management.
As Umbraco is built on the Microsoft .NET framework, it inherits the localization and internationalization features from it. Also,the Umbraco CMS has a specific translator account and workflow that facilitates the translation process.
Setting Up Umbraco for Multilanguage Websites
There are two main approaches available to prepare Umbraco for multilanguage websites:
1. Multiple site structure: one website per language.
2. 1:1 structure: one website for all languages.
Both solutions have advantages and disadvantages, but the multiple sites approach is more widely used. The multiple sites solution provides more flexibility as the administrator can exclude content based on their needs and there is no obligation to translate everything.
I will explain how to set up the multiple-sites structure in the steps below.
Adding Target Languages to Umbraco:
1. log in as Admin.
2. From the sections panel, select Settings.
3. From the Settings tree, select Languages.
4. Right click the Languages node and select Create.
5. Select the new target language and click Create.
6. The language will then be available in the languages node.
Duplicating the Source Website into Target Languages
As this approach has one website per language, it is necessary to duplicate the entire website for each target language installed.It is highly recommended to have all the source language sites up-to-date before duplicating the content. It is a very simple and easy process:
1. From the Sections panel, select Content.
2. From the Content tree, select the source website.
3. Right-click the website node and select Copy.
4. From the Copy popup, select content as the root node for the new website and check “Relate copied items to original” to keep track between the source and copied website.
5. The new website is now available in the Content tree.
6. Select the copied website, right click and select Manage hostnames.
7. In the Manage hostnames popup, add the domain name and target language. The dropdown list shows the enabled languages.
8. There is one more configuration step needed to prevent page link conflicts between languages. Open the config file namedumbracoSettings.config (<installation path>/config/umbracoSettings.config.). Under the <requestHandler/> settings section, set the <useDomainPrefixes /> valueto true.
Once the target language is set for a website, Umbraco will localize some available items to be in the target language, such as dates, currencies, and other regionally specific values.
Once the last step is completed, the Umbraco CMS is ready to support multilingual content.
Quick Tips:
- Using the multiple websites structure is recommended over using the 1:1 structure.
- By default, English (U.S.) is already installed in Umbraco, any other target language should be set up by the CMS administrator.
- Use the dictionary for localizing static strings.
- Check “Relate copied items to original” while copying the source website to track the content changes between the source and target languages.