It's amazing to me how much better multi lingual support has gotten in 2010, and I think many don't even realize just how easy it is to setup to support. When language packs first came out, we worried we'd need to have support people for each language pack we rolled out. This is NOT the case today. With the ability to have users simply pick their preferred display language someone supporting someone's site could simply change the language display to their own preference. A site simply displays by default in its language and supports alternates with a simple click of a checkbox after the language packs have been installed. I was amazed how easy it was to setup.
How to Enable Multilingual SharePoint Site UI in SharePoint Without a Drop of Code, and Simply Without Variations:
- Determine the languages you want to support. I did some research on TOP 10 Languages of your Intranet; feel free to take advantage of my research or follow the steps to do your own. You could even support the 6 official languages of the UN.
- Download and install the Language packs you chose in step 1. Choose the language from the drop down on change language and choose download. You do not need to download the language for the product you've installed. English servers don't need English language pack installed. These packs apply to SharePoint Server. If you are using SharePoint Foundation you can download those language packs. "Language packs enable creation of sites and site collections in multiple languages without requiring separate installations of SharePoint Server 2010, Project Server 2010, Search Server 2010, and Office Web Apps 2010. Multiple language packs can be installed on the same server. Application of a Language Pack will not change the language of the installed Microsoft server product, or the language of the administrative features." Reference: Deploy Language Packs
Recommendation: You should be committed to supporting these not just this version, but going forward. Since people will be installing a site in Spanish, the site is still Spanish even though you can view it in English if the relevant language pack is installed… You cannot change an existing site, site collection, or Web page from one language to another by applying different language-specific site templates. After you use a language-specific site template for a site or a site collection, the site or site collection will always display content in the language of the original site template. Removing a language pack that has sites that were based on it will result in a 500 error. For this reason I do NOT recommend installing all of the language packs. Understand your user base then install those most common languages.
- After the Languages have been installed. Go into the site settings, site actions, and in the section on site administration click Language settings.
- From here you'll see what site the language of the site was created in plus additional alternate languages the site should support. Simply check the boxes. This allows users navigating to the site to be able to change the display language of the site to any of the checked languages! As well you can overwrite the translations if you want to force the title in a specific language if desired.
Congratulations. Your site is now multi lingual.
Go back to your site collection, click on your name in the top right corner and select a display language
- View your site and voila! You've got much of the out of the box stuff translated, but many of your own labels are not translated, much of your nav, menus for third party products, some libraries, columns, and so on. SharePoint does have a mechanism for supporting resource files that provide the translation mapping. I recommend referring to the MSDN article on localizing the User Interface. This translation is not perfect as you can see in the screenshot below. All the images, and much of the custom labels need work.
So that's what you get out of the box for enabling it on one site… Now you're saying… I've got thousands of sites, can I add it to all of them? Yes.
A clever guy in the community setup a powershell script to support Multilingual UI to step through all of the sites in a web app or farm to enable them for alternate languages (UICulture)
If you're a dev: "You can use the SharePoint Foundation object model to do the same thing by getting a reference to a SPWeb object, setting its IsMultilingual property to true, and then calling the AddSupportedUICulture method to add support for one or more alternate languages"
Understanding the Multilingual User Interface (MUI)
Walkthrough: Localizing a Web Part
Walkthrough: Localizing Columns, Content
Third Party Enhancements
This post is sponsored by IceFire Studios, creators of PointFire a third party component which provides additional multilingual capabilities and attempts to simplify MUI development and reduce the need for Variations. Here is some information from them on their product.
- "With PointFire, those simple instructions are simpler still – the alternate languages you want are always there by default, and users can change languages with or without a personal menu
- The SharePoint MUI translates about 90% of the UI, but PointFire covers 100%, including templates that don't support MUI, all out-of-the-box content, and web parts.
- PointFire ensures user always see content in their language, letting you set the language of items, documents, web parts, and pages. The page URL is the same for all language versions.
- PointFire manages all multilingual content without needing to use Variations"
You can download a free trial of PointFire for SharePoint Multilingual including enhanced Language Packs from their site.