#replace spell name and description to localized one $db = "src\packs\sc-spells.db" $spellList = "C:\Users\dmitr\Documents\Repos\local\modules\sc-spells\src\packs\sc-spells.json" $localizationFile = "localization\ru.json" $brokenNames = "localization\broken.json" $null | Set-Content $brokenNames $null | Set-Content $db $data = get-content $spellList | ConvertFrom-Json $localizationData = get-content $localizationFile | ConvertFrom-Json foreach ($entry in $data){ if ($entry.name -in $localizationData.name){ $localizedEntry = $localizationData | Where-Object -Property name -eq "$($entry.name)" $entry.name = "$($localizedEntry.localizedName)/$($entry.name)" $entry.system.description.value = "$($localizedEntry.description)" @($entry) | convertto-json -Depth 32 -Compress >> $db } else { Write-Warning "$($entry.name) is absent in localization file" @($entry) | convertto-json -Depth 32 -Compress >> $brokenNames } }