Where do I start? The users demand support for multi lingual. First step I see is to start supporting the languagepacks… but which ones? You need to figure it out. You may not be best served by simply installing all of them. What would happen if MS decided to stop supporting one of them? I’ve found a few places that make me sound smart when I recommend languages to support… It doesn’t have to be a guessing game. 1) Active Directory mailbox language info 2) Language Usage Report on the Intranet 3) Looking at Top languages of the Internet world (Useful for Internet Sites)
This was my approach…
1. Look at stats of msExchUserCulture – Starting with a survey was stupid. There are systematic ways of getting this data, and very few will admit they need translation. If they will, they won’t tell you in English. The first systematic way I found was to look in the AD at a specific Exchange attribute… Specifically the “msExchUserCulture” attribute in AD. With permissions.
One way to find out what language your users are speaking is to find out what language the users are using for their mailboxes. With Outlook Web Access there is an attribute that the Exchange Servers group has write permissions called the msExchUserCulture attribute. This attribute contains one or more preferred languages and essentially when the users is using outlook web access it knows what language to display the UI for the User. I dumped the data
“How it worked before Exchange 2007into excel and then did subtotals on the columns. Then I normalized it further to collapse all the english and spanish. Get the mailbox data out of exchange. There is a field in Active Directory where it reports the mailbox “msExchUserCulture”
In previous versions of Exchange Server, the language for a user mailbox was determined by the language setting of the MAPI agent (such as the Outlook client) and not by the Exchange server:
At the first connection of a MAPI agent (like Outlook client) to a user mailbox, the language of the default folders (like inbox) and system messages (like quota messages and non-delivery reports) was set on the information store (PR_LOCALE_ID MAPI property) to the language used by the MAPI agent.
And now with Exchange 2007/2010
In Microsoft Exchange Server 2007, you can specify the language preferences for a mailbox, in order of preference, with the Languages parameter by using the Exchange Management Shell and the Set-Mailbox cmdlet. Several Exchange components display information to the user using the preferred language, if that language is supported. ”
More info at Language Setup for a mailbox on technet blogs
Set-Mailbox -Identity “Carlo Dupont” -Languages “fr-FR”
Does this mean that the administrators set all the languages? No. There’s this setting called “DefaultClientLanguage: The default value for this setting is 0. This means the default client language is not defined and users will be prompted to choose a language and time zone the first time that they log on to OWA. If the value is defined (different from 0 ) (for example 1036 for French (France)), users will not be prompted to choose a language and the OWA time zone will use the time zone of the Client Access server.”
So the users essentially can configure both language and time zone.
You can get a dump of the data with an LDAP query, Windows Powershell or by running dsquery user. Be careful. You could likely work with your directory team to get the data, but really any Windows Server with DSQuery User you could likely get the data you’re looking for.
Understanding the Data
msExchUserCulture = en-US or pt-BR or es-MX or en-US,fr-FR etc…
Here’s a good list of all of the language codes (Well actually it’s missing Turkish and Japanese, so refer to this one if you can’t find it) first two digits are language, and the second two are country codes. I also found this regional and language settings page helpful. It lists the language codes which are very useful for older versions of SharePoint and has a list of the various time zones around the world. I’m considering adding that as a choice field on the profile page. Great setting for a global audience. Just saying I’m in Russia doesn’t say when it’s cool to call me.
Some of the Chinese codes were a little more challenging, so I’m listing those here:
zh-twChinese (Taiwan)zh-cnChinese (PRC)
zh-hkChinese (Hong Kong)zh-sgChinese (Singapore)
EN-US is English-United States. PT-PT is Portuguese-Portugal and PT-BR is Portuguese-Brazilian. In SharePoint there are really only one language where the country code is important. (All the language packs are listed further down in this document.) Portuguese for SharePoint has both a Brazillian and a Portuguese version. So, essentially all of those Spanish variations don’t really result in any difference in SharePoint itself. It’s the same diff with English. They are all dumped into 1. There are two types of Chinese, but those are different in the codes themselves. Sorry no French Canadian language pack. Just French. Would you be interested in the Canadian English language pack, eh?
Ultimately I put together a list including counts per user (omitted for privacy reasons):
In our case we looked at Portuguese and found that most of our needs were for Brazilian Portuguese. That list represents our top 10 languages we want to support… but wait! Shouldn’t we also verify that those users are using the Intranet, and what about growth?
2. Now I jump into our web analytics software and drill down on User browser language, and look at the data from a recent month, and do some comparisons.
While it tells us that Chinese are more frequent users of the Intranet and Koreans are less frequent users of the Intranet we still ended up with the same list of 10, which is great news.
3. I think it’s important to point out the Top 10 Languages of the Internet.
Looking at this list we actually aren’t that far off on our language usage. The only difference I see is Italian vs. Arabic.
Finally I look at the list of SharePoint Language Packs, and start lining them up. … (As of this post 4/17/2012) more detail on technet.
Top 10 for Intranet/Internet
Zh-* (Taiwan, Hong Kong)
Other considerations are who are supporting the servers. I’ve talked to plenty of Admins and ops guys with years of SharePoint and Microsoft experience. I’ve been hearing a tune that says… Install English SharePoint servers even if you don’t speak English as your first language. Why? That’s arrogant. Well, it is, but it’s also the language of the product team and the common language of the community where you’ll be getting your support. If you try to translate your error message if it doesn’t match up, you will likely have problems with searches on the Internet to find those errors and error codes. I’m just passing on some best practices from the middle east. I thought it was clever, and sad but makes sense. Wish it was as simple as having my blog come up in various languages as well. I wish you could read this blog in your native tongue.
I hope this information is useful. Saw a Facebook comment about me recently that said I haven’t posted anything useful in a while. I’m posting this in spite of what that guy wrote, not because of it. Dude, that’s not motivating.