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
}