Linus Ekström
OMVPPaaS CMS Developer Certification
Mar 14, 2011
visibility 12311
star star star star star
(3 votes)

Changes to the EPiServer CMS Globalization

When I got back from parental leave about a year and ago back I took on some bugs that had to do with the globalization functionality in EPiServer CMS. While trying to reproduce the bugs and testing around some I found out that there were quite a few glitches, mostly in the UI, when getting into more advanced language settings. There was also some uncertainty how the language settings should be treated for different use cases. To remedy this we worked on clarifying the specifications for the multi language functionality. This resulted in some changes that are now ready to be released in the EPiServer CMS 6 R2 release.

The changes affects

The

  1. The page language settings/language settings UI.
    1. Made a clear distinction between settings that affects editors (available) and settings that affects the site (Replacement/Fallback language).
  2. Edit panel
    1. Fixed some glitches where the language selector would sometimes now sync with the actual content language.
    2. Added information messages for some language cases.
  3. Replacement language now also sets System and User interface language to the replacement language (but not content language).

 

Page language settings

The page language settings UI has gotten a layout and textual update to clarify the different settings. First of all, there are new headings to separate the “available language”-setting that only affects editors from the “replacement/fallback”-language settings that affects the site visitors. Here is a screen shot of the UI in EPiServer CMS 6 R2:

PageLanguageSettingsUI

The connection between available languages and replacement languages has also been removed which makes is possible to set up replacement languages for all languages.

Edit panel updates

Edit panel has gotten some fixes and new functionality. First of all, there is informational messages when a page has language settings which affects the appearance of the page on the web site. This includes:

  1. The language does not exist for the page and is not visible on the web page.
  2. The language does not exist but is visible due to language settings.
  3. The language exists but is overridden due to replacement language settings.

Another change is that it’s now possible to preview a page that has no information for the selected language but is visible due to language settings. The following screen shot shows a page that does not exist for Swedish but is visible in English due to replacement language settings.

EditPanelMultiLanguageInfo

 

Replacement language updates

Replacement language now sets the System and User interface language to the replacement language. This means that translations and culture settings (like date/time formats) will appear with the replacement language’s culture settings. For a part of the site where replacement language has been set for all pages this means that this part of the site will appear the same way as if the user had visited the site in the replacement language. The only difference is that content language remains which means that pages that does not have a replacement language setting will appear in the original language (for instance a link outside the replacement language structure).

Changing this behavior

This behavior is implemented in the InitializeCulture method in EPiServer.PageBase. To turn this off you can either turn of the CultureSupport.OptionFlag in your page constructor or override the method for your page.

Mar 14, 2011

Comments

Eric
Eric Mar 14, 2011 02:13 PM

Awsome! thank you!! :)

Mar 16, 2011 01:01 PM

This rocks!! Thank you

Jeff Wallace
Jeff Wallace Apr 4, 2011 03:41 PM

Good stuff. :)

error Please login to comment.
Latest blogs
Surviving a Dirty Feed. Part 3: Error Handling and Event Batching

Committing a 250,000-row Optimizely catalog import row by row, returning a per-row failure report, and coalescing catalog events into one per batch.

Stanisław Szołkowski | Oct 16, 2026 |

Building UI Extensions for Optimizely SaaS CMS

Introduction Developers have been extending the functionality of Optimizely PaaS CMS for years using addons built in C# and deployed as NuGet...

Mark Stott | Oct 15, 2026

Cheapskate AI Translator: Because Translation Should Not Require a Second Mortgage

There is a particular kind of software project that begins with a detailed architecture document, a product roadmap, and a carefully assembled...

Linh Doan Cuu | Oct 15, 2026

Computed Fields in CMS 13 Content Contracts with Optimizely Graph

Content Contracts in Optimizely CMS 13 allow different content types to share a common structure when querying Optimizely Graph. But what if the...

Mardy | Oct 14, 2026