Sitecore is a leading Microsoft .NET based Web Content Management System or WCMS. Sitecore is highly scalable, yet very easy to use and allows website managers and authors to better engage with their customers online across multiple channels and derive customer intelligence.
The company was founded in 2001 and has offices in Australia, Denmark, Sweden, Canada, Germany, Japan, Netherlands, New Zealand, United Kingdom, Ukraine, and United States.
Sitecore has been recognized for the fourth consecutive year as a global leader in customer experience management software. Sitecore has been positioned by Gartner, Inc. in the Leaders Quadrant of the 2013 Magic Quadrant for Web Content Management (WCM).
The most recent release at the time of writing is version 7.1 Update-1 and it was released on January 31, 2014. To date, Sitecore has 3,000+ customers worldwide and is powering well over 32,000 websites.
In this blog entry, we shall discuss using Sitecore to support and manage multiple language websites. This will be the first post in a three-post series.
Preparing to support a Multilingual Website
Sitecore provides great features for the support and management of multiple language websites.
When setting up a multilingual website in Sitecore, there are some steps which are outside the translation-only workflow which must be covered to ensure best practices are followed for multiple languages websites. The first step will be enabling the appropriate Languages (which are the correct language and country codes) through the Sitecore Content Editor as seen below:
- Open the Content Editor
- Go to Sitecore > System > Languages
- Right-click on Language, choose Insert > Language
- Fill in the language details
This process is repeated for each language you plan to support on your website.
Other considerations when building multilingual websites
Sitecore remains committed to ensuring best practices are followed when building multiple language websites. However there are some steps which are developer and process dependent and cannot be enforced by Sitecore. One such scenario is the use of template files in implementing the site. Special consideration must be taken when developing these templates to support multilingual content. Here are some important tips for creating Sitecore templates for website translation and localization.
- Expansion of translated content: When development your website templates, it is important to keep in mind the space needed to accommodate possible text expansion in other languages (e.g. text length could expand up to a 25% of the original). You should also ensure that the web template was coded in a way that responds in a fluid manner (i.e. expands or shrinks) based on the displayed content.
- Static text references: There are strings that web developer and programmers include directly into the templates or web applications for varying usages (e.g. alert messages, labels, etc.). When strings are hard-coded into your development assets (templates, client-side java script, back-end services, etc.), they are not immediately available for export during the translation process. This would result in a partial translation taking place and have mixed languages present on your website. While it may be acceptable to have English mixed with other languages on your websites (e.g. footer notices, legal statement, etc.) it’s not the general case (e.g. registration forms, etc.) and should be avoided. To solve this issue, one of the following is highly recommended:
- Move all hard-coded, extracted text into a resource file. (This will need to be sent for translation also.)
- Use the built-in dictionary within Sitecore. This dictionary will manage and store all your static text (as key/value pairs) and your templates can be updated to simply reference these keys. When the page is being rendered, the appropriate value (dependent on the current language) will be pulled directly from the dictionary.
The other great benefit of adopting either of these approaches is that the text now is completely managed in a central location and is available for export/import during the translation process.
- Open the Content Editor
- Go to Sitecore > System > Dictionary
- Right-click on Dictionary, choose Insert > Dictionary Entry
- Fill out the Dictionary Entry details