You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本处理含※行时CSV翻译匹配错位问题排查

修复PowerShell脚本的翻译匹配错位问题

问题根源

带※的行合并后,_Inglese.txt的有效行数减少,但原脚本仍按原始行数与CSV行做对应,导致后续翻译内容和CSV条目错位。

解决方案

先预处理_Inglese.txt生成完整的合并后翻译列表,再将该列表与CSV的翻译字段一一对应赋值,确保行数匹配、对应关系正确。

修复后的代码示例

# 读取目标CSV文件
$csvPath = "目标文件路径.csv"
$csvData = Import-Csv -Path $csvPath -Delimiter "," # 根据实际分隔符调整

# 读取并预处理_Inglese.txt文件
$txtPath = "对应路径_Inglese.txt"
$rawLines = Get-Content -Path $txtPath -Encoding UTF8
$processedTranslations = @()
$currentTranslation = ""

foreach ($line in $rawLines) {
    $trimmedLine = $line.Trim()
    if ($trimmedLine.EndsWith("※")) {
        # 移除※符号并合并到当前翻译内容
        $currentTranslation += " " + $trimmedLine.Substring(0, $trimmedLine.Length - 1).Trim()
    } else {
        if ($currentTranslation -ne "") {
            # 将合并完成的翻译加入列表
            $processedTranslations += $currentTranslation.Trim()
            $currentTranslation = ""
        }
        # 非空的独立行直接加入列表
        if ($trimmedLine -ne "") {
            $processedTranslations += $trimmedLine
        }
    }
}
# 处理最后一行未完成的合并内容
if ($currentTranslation -ne "") {
    $processedTranslations += $currentTranslation.Trim()
}

# 校验行数匹配(可选,提前排查内容不匹配问题)
if ($processedTranslations.Count -ne $csvData.Count) {
    Write-Warning "翻译行数($($processedTranslations.Count))与CSV条目数($($csvData.Count))不匹配,请检查源文件内容"
} else {
    # 将翻译内容赋值到CSV对应字段(假设翻译字段名为Italian,根据实际调整)
    for ($i = 0; $i -lt $csvData.Count; $i++) {
        $csvData[$i].Italian = $processedTranslations[$i]
    }
    # 保存更新后的CSV
    $csvData | Export-Csv -Path $csvPath -Delimiter "," -NoTypeInformation -Encoding UTF8
    Write-Host "翻译更新完成"
}

代码说明

  1. 文本预处理:遍历_Inglese.txt的每一行,将带※的行合并到上一行内容中,最终生成无换行拆分问题的翻译列表。
  2. 行数校验:添加行数匹配检查,提前发现源文件内容不一致的问题,避免错位后才排查错误。
  3. 精准对应赋值:通过索引遍历CSV和预处理后的翻译列表,确保每个CSV条目对应正确的翻译内容。

测试验证

处理完成后检查CSV的翻译字段,确认“Dress Like a Pirate.”对应的意大利语“Vestiti come un pirata.”已匹配到正确行,后续翻译无错位情况。

内容的提问来源于stack exchange,提问作者Kenryoku

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.30 11:59:58