Changing the language of an existing SharePoint site

Recently we had a problem with a (pretty large) site. The problem was that the site was created in English, while it should have been created in Dutch.  All content was in Dutch of course, but for instance the Site Actions button still said Site Actions, and when adding a document the buttons were "New", "Upload" and "Actions".

In order to solve this a couple of possible solutions were explored:

  • Saving the site as template didn't work, because you can only see the saved site when you create a site in the original language of the site
  • Using backup and restore didn't work, the site kept it's original language
  • Changing the language through the object model didn't work, because the Language property of the SPWeb object is read-only

This last attempt did trigger me to think that the language of a site is stored at SPWeb level. It is also stored in the database in the Webs table. So I decided to do a little test with changing the language in de database. And it worked like a charm!

Now you need to know that you're not supposed to change data in the database and that doing so is not supported by Microsoft. For me this was a very simple solution though to a pretty big problem. And the best thing was that it only took me 30 seconds to write the query and about 0.02 seconds to run it. Everything in the site is now Dutch, except of course for already created lists and libraries. So the name of the Pages library is still Pages and does not change to Pagina's. But the Site Actions button calls itself Siteacties, the Master Pages are Hoofdpagina's and View All Site Content is called Alle site-inhoud weergeven. You get the picture.. ;-) 

Do note that this solution doesn't work well for publishing sites as they depend on all sorts of libraries that don't have their name changed when you change the language of the site via the database.

For changing the language of all sites in the content database to Dutch the query would be:
UPDATE dbo.Webs SET Language = 1043

Changing the language of one site collection can be done with:
UPDATE dbo.Webs SET Language = 1043 WHERE SiteId = [[SiteCollectionId]]

And for changing the language of a single web or subsite you can use:
UPDATE dbo.Webs SET Language = 1043 WHERE Id = [[WebId]]

Print | posted @ Tuesday, April 29, 2008 2:38 PM

Comments on this entry:

Gravatar # re: Changing the language of an existing SharePoint site
by Rene at 5/6/2008 12:14 PM

Great article. Do not forget first to be sure having first the Dutch LanguagePack for Moss 2007 already installed...
  
Gravatar # re: Changing the language of an existing SharePoint site
by Djavan at 9/19/2008 3:19 PM

Interesting, but the only problem here is that modifying directly the DB will invalidate Microsoft's support.
  
Gravatar # re: Changing the language of an existing SharePoint site
by Mirjam at 12/5/2008 1:48 PM

Hi Johan,

Names and columns of the people and groups list views are basically already created lists. They have their names directly attached to them and don't read the names out of the SharePoint resource files.
Unfortunaly changing the language only effects texts that are read from the resource files.

Regards,
Mirjam
  
Gravatar # re: Changing the language of an existing SharePoint site
by Mirjam at 12/5/2008 1:49 PM

Hi Warren,

Changing the Locale of your sites changes the Regional settings and will have no effect on the language of the site.

Regards,
Mirjam
  
Gravatar # re: Changing the language of an existing SharePoint site
by Mirjam at 1/29/2009 8:59 AM

Hi Leonardo,

Just changing the language on an single page is not possible (except by skinning the page with a custom httphandler).
Also changing the language of a site without access to the database is not possible. If you want to achieve that you should simply recreate the site in another language and rebuild it.

Good luck.

Mirjam
  
Gravatar # re: Changing the language of an existing SharePoint site
by Sven De Bont at 3/16/2009 8:39 AM

Just what I needed :-)

Thx Mirjam
  
Gravatar # re: Changing the language of an existing SharePoint site
by Jonathan at 5/6/2009 9:08 AM

Interesting, but as Djavan said, wouldn't it invalidate MS support of the farm/site ?
Anyone has experience dealing with this kind of case ?
  
Gravatar # Changing the language of an existing SharePoint Site
by www.bloggix.com at 5/5/2008 1:26 PM

  
Gravatar # SharePoint Kaffeetasse #61
by weblogs.mysharepoint.de at 5/5/2008 1:46 PM

  
Gravatar # SharePoint Kaffeetasse #61
by feeds.feedburner.com at 5/5/2008 2:56 PM

  
Gravatar # Cambiando el lenguaje de tu sitio SharePoint
by juliocasal.com at 5/26/2008 7:03 AM

  
Gravatar # Cambiando el lenguaje de tu sitio SharePoint
by sharepointmx.mvps.org at 6/8/2008 1:44 AM

  
Gravatar # ??????sharepoint???????????? : Jecoso’ Blog
by www.jecoso.cn at 6/23/2008 1:58 PM

  
Gravatar # 修改sharepoint站点语言
by www.cnblogs.com at 7/1/2008 5:11 AM

  
Gravatar # Change language | keyongtech
by www.keyongtech.com at 1/18/2009 4:45 PM

  
Gravatar # re: Changing the language of an existing SharePoint site
by ggs at 10/21/2009 3:37 PM

I changed the language code, and works perfect the translation of the text. But I have problem when I want to create a new page, the MOSS with the new language cannot find the templates pages installed, so, I cannot add new pages. Any idea? Or I have to create the site again with the other language, and migrate the content?
  
Gravatar # re: Changing the language of an existing SharePoint site
by Matthijs at 2/26/2010 10:58 AM

Hi all,
I have some problems with my language in my sharepoint. I want to change my language also in dutch.

What i did:
-Installed WSS 3.0
-Installed WSS3.0 ducht language pack
-Installed MOSS2007
-Installed MOSS2007 dutch language pack

I can't find the solution to set the ducht language. Now is my question were can I find the file to change:
UPDATE dbo.Webs SET Language = 1043

I like to hear from you
  

Your comment:

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 3 and 3 and type the answer here: