4. Multilingual User Interface (MUI)
• Improvement in SPS2010
• Sites can have Alternate Languages
• Focus on “Chrome” not on “Content”
– Ribbon, navigation, branding
• Language preference is a per user setting
• Powered by Language Packs
• Site (Web) scoped
#Biwug3011
6. Language Packs
• Two types of Language Packs
– Server Language Packs
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=3411
– Foundation Language Packs
http://www.microsoft.com/download/en/details.aspx?id=4731
• Run PSConfig(UI) after all packs are
installed
• Installation screens in language of the
Language Pack
• For installation on Windows 7 – extract
language pack and modify config.xml -
http://jopx.blogspot.com/2011/11/how-
to-install-sharepoint-server-2010.html
#Biwug3011
7. Multilingual User Interface (MUI)
• Not all site templates support MUI
– E.g. Blog, Meeting workspace
– IsMultingual = False
• Use Powershell to enable alternate languages
for a complete site collection/web application,
#Biwug3011
10. MUI and Managed Metadata
• Terms can have Alternate Languages
• Edit via Term Store Management
• Out of the box import does not support
multiple languages
– Use Powershell
– Use SharePoint Object Model
#Biwug3011
11. MUI and Language Selection in the
PersonalActions Control
• Switch LCID using
Javascript
• Language selection driven
by cookie
#Biwug3011
function ChangeMUI(value)
{
var today = new Date();
var oneYear = new Date(today.getTime()+ 365*24*60*60*1000);
var url = window.location.href;
document.cookie = "lcid=" + value + ";path=/;expires=" + oneYear.toGMTString();
window.location.href = url;
}
12. MUI Support
Type of Content Examples Supported?
Settings & Help 1. Settings Pages (_layouts, _admin)
2. Help
3. Images
Supported
Application Content 1. Menus
2. Controls
3. Custom Actions
4. Web (Title, Description, Icon Description)
5. List (Title, Description)
6. Top Link Bar (Links)
7. Quick Launch (Links, Headings)
8. Global Breadcrumb
9. Local Breadcrumb
10. Managed Metadata (Taxonomy)
11. Site Content Types (Name, Description, Groups)
12. List Content Types (Name, Description)
13. Site Columns (Name, Description, Groups)
14. List Columns (Name, Description)
Supported
Developer Content 1. Features
2. Solutions
Supported
User Content 1. Content
2. Permission Levels
3. Groups
4. Views
5. OOB Web Part (Title, Appearance)
6. Custom Properties
7. Search refiners
NOT Supported
#Biwug3011
13. Some remarks about multilingual &
MUI
• No need to install Windows Language Pack –
not even for complex Character Sets such as
Mid Eastern and East-Asian Languages (pre-
RTM advise)
• You cannot enable support for alternate
languages on a site that uses customized CSS
files.
• Search refiners are “broken” in multilingual
scenarios.
#Biwug3011
15. Variations vs MUI
• Multi-lingual User Interfaces (MUI)
– Chrome language changes
– Content does not change
• Multi-lingual Sites (Variations)
– Chrome language changes
– Content changes
#Biwug3011
16. Variations – Core Concepts
• Variations are an infrastructure plumbing
feature to enable multi-lingual sites
– Enabled via Hidden Lists, Event Receivers, Timer
Jobs
– Uses WCM Publishing Features (SharePoint Server
only)
#Biwug3011
17. Variations Terminology
• Variation Home
– Location where Variations are created
– Welcome page replaced with VariationRoot.aspx
(VariationRootPageLayout.aspx) upon hierarchy creation
• Variation Labels
– Name given to each Variation Site
• Variation Root
– Location where content is originally created
– Default location in case of no browser match
• Relationships List
– Contains tracking information about each page and site in
the variation hierarchy
#Biwug3011
18. Variations – inner workings
• Used event handlers
– ItemAdded, ItemUpdated,ItemCheckedIn,
ItemDeleting and ItemDeleted event on Pages
Library
– FeatureActivated, FeatureDeactivating,
WebDeleting, WebMoving, WebMoved event on
PublishingWeb
See SharePoint Variations – The Complete Guide –
Part 3 – Triggers (Blog Stefan Gossner)
#Biwug3011
19. Variations – Inner workings – Timer
Jobs
See SharePoint Variations – The Complete Guide –
Part 4 – Timer Jobs (Blog Stefan Gossner)
#Biwug3011
20. Variations - Planning
• Design up front
• Think about
– Language Pack
– Hierarchy creation
– Navigation impact
– Redirection Logic
– Impact on search
– Translation process
#Biwug3011
21. Variations and Language Packs
• LPs provide localized Site Templates
• NOT a requirement for Variations
– Easier for content authors/editors
#Biwug3011
22. Page Propagation
• Automatic Creation
– Automatically propagate site and page variations when site
is created or page is published
• Manual Creation
– Manually propagate sites and pages
• On-Demand Propagation (New SPS2010)
– “Hybrid” approach allowing automatic site creation with
manual page updates
– Requires Powershell (or OM) to enable
#Biwug3011
25. Variations - Improvements in 2010
• Hierarchy creation
– Executes in background with Timer Service (2007
within W3WP.exe process)
– Default frequency 1 Hour
– 100 work items per timer job execution
– Variations Fix Up tool (introduced with 2007 SP2)
• Version differencing
– View Changes button
#Biwug3011
26. Variations – Improvements in 2010
• Flexible Propagation
– On-demand propagation
– Avoids “overwriting” of target pages
#Biwug3011
27. Redirection Logic
• VariationRoot.aspx
– Redirects based on Browser Language
– Typically customized
• Avoid Variations Label Menu Control
– Deprecated in SharePoint Server 2010
• Avoid external redirection – confuses
Variations redirection
#Biwug3011
28. Variations - Things to think about
• Plan it carefully
• Use a variation Home outside the Site root
– Avoids all content being translated
• Implement variation aware web parts
– Implement IWebPartVariationUpdate
#Biwug3011
29. References
• Must reads
– Understanding the Multilingual User Interface
(MUI) on MSDN http://msdn.microsoft.com/en-
us/library/ff800886.aspx
– SharePoint Variations – The Complete Guide
Triggers (Blog Stefan Gossner)
– JOPX on MUI
• Credits to @harbars (Spence Harbar) for
providing initial slides and feedback on
questions
#Biwug3011