Blog Hero Image

Sitecore Multi-lingual: Implementing Multi-Lingual Promotion Modules in Sitecore

Dec 04, 2009
The modular nature of Sitecore templating provides an exact match for most customer's Content Promotion needs.
1.     Implement the Promo data template
Sitecore makes defining the data foundation of a site very simple and straightforward. For this specific case, a data template that includes all the Promo would be something like this:


  • Promo
    • Title
    • Image
    • Link
    • Short Description
    • Long Description
    • Inherited data (keywords, etc.) from a Base Template, if applicable.
2.     Create Presentation Web Controls/Sublayouts
This could depend in the preferred style at time of development. In one client's specific case, a Web Control or Sublayout/.NET User Control, should be created for each kind of Promo style (Homepage Promos, Highlights, Page Center Promos, etc.). Sublayouts allow flexibility in visual design, Web Controls need direct coding and no preview is available in VS. By using Sitecore's .NET API, data can be retrieved from the content tree for each promo.
3. Create Promo items in the tree
Since Sitecore is data-centric, this is also pretty straightforward. In the Content tree, it's simple to create a folder that contains the instances of the Promo data template with each individual Promo information.
4. Translation of Promos
Sitecore allows each instance of a data template to have different content in the equivalent to "Language Variants" in RedDot. Each language can be defined for a locale. For example, there can be a "French from France" locale, and a "French from Luxembourg" one, and each have different content.
5. Bind Presentation to Data
This is probably the most complex part in the process, since Promos can be presented differently in each context (or user preference). By using Placeholder Settings, it can restrict the areas that include the Sublayouts or Web Controls defined in step 2.  And this allows Page Editors to choose the correct presentation for each promo connected to the page.