In case you have an existing site collection and want to enable language settings (multilingual SharePoint 2010 UI) for all the sites in that site collection, here is a simple PowerShell script to automate that task. It’s going to enable/disable multilingual UI and add a desired language/culture along with it.

[System.Reflection.Assembly]::LoadWithPartialName("Microsoft.SharePoint")

cls
if((Get-PSSnapin | Where {$_.Name -eq "Microsoft.SharePoint.PowerShell"}) -eq $null) {
	Add-PSSnapin Microsoft.SharePoint.PowerShell;
}

function Set-SPWebLangaugeSettings
{
	param(
		[Parameter(
			Position=0, 
			Mandatory=$true, 
			ValueFromPipeline=$true
		)]
		[Microsoft.SharePoint.SPWeb]$CurrentWeb,
		[Parameter(
			Position=1, 
			Mandatory=$true
		)]
		[bool]$IsMultilingual = $false,
		[Parameter(
			Position=2, 
			Mandatory=$true
		)]
		[string]$Culture = $null
		
	)
	
	if($CurrentWeb.IsMultilingual -ne $IsMultilingual)
	{
		$CurrentWeb.IsMultilingual = $IsMultilingual;
	}
	
	if($IsMultilingual -and $Culture -ne $null)
	{
		$CurrentWeb.AddSupportedUICulture($Culture);
	}
	
	$CurrentWeb.Update();
}

To execute this script type something like this. Use your site_collection_url and appropriate culture (en-en for English, it-it for Italian, de-de for German)

Get-SPSite "http://site_collection_url" | Get-SPWeb -Limit All | ForEach-Object { Set-SPWebLangaugeSettings $_ -IsMultilingual $true -Culture "culture-culture" }

Leave a Reply