
Script
function LanguageVersionsOperations($LanguageItemInfo) { #Spliting the Input $SplitDetails=$LanguageItemInfo.Split(";") #Path of the item $itemPath=$SplitDetails[0] #Item Details from Get-Item method $itemGetInfo= Get-Item $itemPath #Deleting All versions except English foreach ($version in $itemGetInfo.Versions.GetVersions($true)) { if ($version.Language -ne "en") { Remove-ItemVersion $version Write-Host $version.DisplayName " - " $version.ID " - " $version.Language "- deleted" } } #Adding Versions for($i = 1; $i -lt $SplitDetails.Length; $i++) { $itemInfo = Get-Item $itemPath | Add-ItemLanguage -Language "en" -TargetLanguage $SplitDetails[$i] -IfExist OverwriteLatest Write-Host $itemInfo.DisplayName " - " $itemInfo.ID " - " $SplitDetails[$i] "- added" } } $Items ="master:\sitecore\content\Home\TestItem1;en-US;en-CA;fr-CA;zh-CN;en-AU", "master:\sitecore\content\Home\TestItem2;en-US;en-CA;fr-CA;en-IN;es-AR", "master:\sitecore\content\Home\TestItem3;en-US;en-CA;fr-CA;en-IN;es-AR", "master:\sitecore\content\Home\TestItem4;en-US;en-CA;fr-CA;zh-CN;en-AU" foreach ($Item in $Items) { Write-Host "Start Operation $((Get-Date).ToString())" LanguageVersionsOperations $Item Write-Host "End Operation $((Get-Date).ToString())" }
You can modify above script as per your need and use it.
Hope you find this information useful.
No comments:
Post a Comment