$inputFolder = "C:\Users\User\Downloads\k"
$outputFile = "C:\Users\User\Downloads\translation.json"
$data = @{}
$files = Get-ChildItem -Path $inputFolder -Filter *.txt
foreach ($file in $files) {
$lines = Get-Content -Path $file.FullName -Encoding UTF8
$fileData = @{}
$index = 1
foreach ($line in $lines) {
# Ищем шаблон MESSAGE(..., "текст")
if ($line -match 'MESSAGE\([^,]+,\s*"([^"]+)"') {
$text = $Matches[1]
# Ключом будет реальный номер строки в файле
$fileData["line_$index"] = $text
}
$index++
}
# Если в файле нашли нужные строки, добавляем их в общий массив
if ($fileData.Count -gt 0) {
$data[$file.Name] = $fileData
}
}
# Конвертируем собранные данные в JSON и сохраняем в файл
if ($data.Count -gt 0) {
$data | ConvertTo-Json -Depth 100 | Set-Content -Path $outputFile -Encoding UTF8
Write-Host "Готово! Файл успешно сохранен в: $outputFile" -ForegroundColor Green
} else {
Write-Host "Внимание: Ни одного совпадения не найдено. Файл не создан." -ForegroundColor Yellow
}