用途:面向 iOS 项目的本地化文案工作流,覆盖 .xcstrings String Catalog 的翻译、同步与校验,以及 App Store 的 whatsNew、fastlane release_notes.txt、截图说明文案等元数据。
主要能力:先确定范围与语言真值,检查 Xcode knownRegions、各 .xcstrings 目录与元数据语言目录,记录语言集合并解决不一致;审计目录,按语言报告键覆盖、状态计数(translated、new、needs_review)与缺失键清单;建立文案清单,追踪键到调用点,记录源语言值、占位符、URL、Markdown 链接目标与有意空白;按上下文翻译,复用已发布术语表,保留占位符类型与顺序、转义字符、换行与空白、变体与源键映射;校验契约,解析目录、比对键与语言覆盖、占位符签名、URL 与 Markdown 目标,并运行最窄相关构建或本地化测试。
使用方式:审计时把目录按 JSON 加载;提取问题可检查 table: 或 tableName: 参数、目标成员关系、SWIFT_EMIT_LOC_STRINGS、LOCALIZED_STRING_SWIFTUI_SUPPORT,并注意普通 String 变量不会被提取。同步可用 find <DerivedData> -path '/<Target>.build/' -name '*.stringsdata' 定位数据,备份目录后运行 xcrun xcstringstool sync <catalog> --stringsdata <file> --skip-marking-strings-stale。校验门禁包括 jq empty <catalog>、各语言键计数、占位符等价 diff、xcrun xcstringstool compile <catalog> --output-directory <tmp>(--dry-run 只列输出路径,不能证明可编译)与 git diff --check。
适用场景:iOS 应用多语言文案翻译、目录同步、发布说明与截图文案本地化、本地化质量复核。
限制:Xcode 的 Generate Translations 无法可靠通过 GUI 自动化驱动;设备端 Translation 框架 CLI 会因模型下载提示阻塞,无头进程无法应答。不要整体重写目录文件,json.dumps 往返与 Xcode 格式不逐字节一致。元数据默认不在范围内,发现过期元数据只作为单独任务报告,不直接编辑。发布前停在二进制上传与 App Review 提交之前。截图图像设计与上传属于单独任务。