Загрузка данных


$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
}