Hi all,

I've been working with a customer recently to help them deploy a multi-lingual SharePoint 2013 environment.
This can be a little time consuming, so I helped automate this process with PowerShell:

Here is the script:

# Import BITS module

Import-Module BITSTransfer

# Path to download language packs to

$downloadPath = "C:\SPLanguagePacks"

# hashtable for language packs

$lPacks = @{

Arabic = "http://download.microsoft.com/download/3/2/C/32C97E8A-E1C4-4BC3-B4B5-1E85B2E0A571/serverlanguagepack.img"

ChineseSimp = "http://download.microsoft.com/download/4/7/7/477BFB7A-C9C2-4B1D-8408-D70D4AF52DBA/serverlanguagepack.img"

ChineseTrad = "http://download.microsoft.com/download/F/2/D/F2D67EBD-C9AE-482E-83FA-C4669F058073/serverlanguagepack.img"

English = "http://download.microsoft.com/download/7/E/C/7EC7E73F-F172-453F-877C-640AF0B82D26/serverlanguagepack.img"

Kazakh = "http://download.microsoft.com/download/0/D/1/0D1FD1A6-9104-4E57-A531-DDD26EE82E8F/serverlanguagepack.img"

Korean = "http://download.microsoft.com/download/0/0/D/00D60DFF-E7D2-4EA2-BF6B-0FD591ED7AC3/serverlanguagepack.img"

}

# loop through each hashtable item

$lPacks.GetEnumerator() | ForEach-Object {

$lang = $_.Name

$link = $_.Value

# create folder for each languge

$destination = New-Item -Path "$downloadPath\$lang" -ItemType Directory

# start download of language pack

Start-BitsTransfer -Source $link -Destination $destination -DisplayName "Downloading $lang SharePoint Language Pack" -Priority High

}