用途:面向 iOS 应用本地化,审计 Swift/SwiftUI 项目的 Localizable.xcstrings(及 AppShortcuts.xcstrings),计算每种语言的翻译覆盖率,找出未进入目录的 UI 字面量,并完成翻译、Swift 侧接线与验证的闭环。
主要能力:先读取仓库中的 .xcstrings 目录、sourceLanguage、locales 集合与 UI 源码根目录,判断是否存在应用内语言选择器;再运行 python3 scripts/audit.py <project-root> 输出 JSON,包含各语言覆盖计数与未收录的 UI 字面量(含 Swift 会构建的 LocalizedStringKey 形态与 auto_localizes 标记)。翻译时要求占位符 %@、%lld、%.1f、%@%% 的数量与顺序保持一致,符号或纯格式源做恒等处理,复数形式分别翻译,写回时保留 Xcode 的 2 空格缩进、键名字母序与末尾换行。
使用方式:按审计、翻译缺口、Swift 侧接线、验证四步执行。接线参考 references/wire-up.md,覆盖 String 类型视图属性、返回 UI 标签的 String 枚举、Text(verbatim:) 或 AttributedString 的运行时字符串、应用内语言选择器与设备语言不一致、Siri 短语的 AppShortcuts.xcstrings、快捷指令 Int 参数的 AppEnum、以及来自 JS i18n 的旧式 {name} 占位符。验证时重跑 audit.py,用 xcodebuild 构建模拟器,必要时 plutil -p 检查编译后的 Localizable.strings,先 xcrun simctl terminate 再重启应用并走主流程,最后跑测试套件。
适用场景:需要本地化 iOS 应用或排查尚未翻译字符串的开发者。
限制:AI 翻译为开发/TestFlight 质量,若面向 App Store 提交,建议后续由母语者复核。项目若使用 iOS 17 之前的旧式 .strings 文件,应标记并建议迁移,不自动编辑。若仓库 CI 会自动提取目录键(如 Xcode 构建阶段运行 xcstringstool sync),需在该流程内工作,不手动编辑自动提取的键。资料未提供具体收费、价格与平台支持信息。