自动化交付

把翻译结果交给同事时,压缩包里该多放哪张清单

交付压缩包里只有几个译文文件,同事不知道它们对应哪个原件、目标语言是什么、哪些页需要复核。增加一份简短机器可读清单,往往比在聊天窗口补发十条说明更可靠。

阅读文本 / Reading text
本文使用合成样本演示处理方法。代码已通过隔离环境中的示例检查;这不代表对所有真实文件或产品效果的保证。处理重要文件前,请保留原件,并按文中的边界与验收项复核。 交付压缩包里只有几个译文文件,同事不知道它们对应哪个原件、目标语言是什么、哪些页需要复核。增加一份简短机器可读清单,往往比在聊天窗口补发十条说明更可靠。 清单记录事实,不写模糊评价 “质量很好”不能用于自动验收;输入输出摘要、目标语言、任务版本和未解决问题可以。将机器检查与人工审校分开记录,避免一个笼统的 passed: true 被误解为所有内容都正确。 创建并复核合成交付清单 import hashlib import json def sha(raw): return hashlib.sha256(raw).hexdigest() source = b"synthetic source" output = b"synthetic translated output" manifest = { "manifest_version": 1, "job_id": "demo-job-001", "source_sha256": sha(source), "output_sha256": sha(output), "target_language": "en", "policy_version": "demo-v1", "checks": {"file_present": True, "human_review": "pending"}, "open_issues": ["Review terminology on the example cover"] } encoded = json.dumps(manifest, ensure_ascii=False, sort_keys=True) restored = json.loads(encoded) assert restored["source_sha256"] == sha(source) assert restored["output_sha256"] == sha(output) assert restored["checks"]["human_review"] == "pending" assert restored["output_sha256"] != sha(output + b"changed") assert not {"token", "password", "api_key"} & restored.keys() 最后一个断言只检查几个顶层键,不是通用秘密扫描器。真正交付前应使用明确字段白名单,审核嵌套结构与文本备注,不要把完整请求对象原样放入清单。 清单怎样服务接收者 字段 接收者可以做什么 不应推断 输出摘要 发现文件被改动 文件语义一定正确 目标语言 路由给合适审校者 所有段落都已翻译 规则版本 重现处理条件 新旧版本结果必相同 未解决事项 聚焦检查位置 没列出就代表没有问题 清单与文件应一起版本化 如果译稿更新了,清单也必须重新生成。把新版文件和旧版摘要放在一起,会让正确的文件看起来像被篡改。可以让一次交付使用不可变目录或版本号,避免接收者下载到新旧混合的一组文件。 让翻译结果更容易接手 从 OmniDoc(产品入口) 下载译稿后,团队可以在自己的交付层生成这份清单,记录源文件、语言与审校状态。它不要求平台采用某种内部技术,只是在文件之外补齐协作需要的上下文,让成果更容易传递和复核。 参考: Python json 。 - 1 -
更新于 2026-10-08