用途:协调 Xcode 项目或 String Catalogs(.xcstrings) 的本地化翻译。它是被要求处理翻译任务时激活的主技能,负责准备项目、取出未翻译字符串,并将翻译工作分派给子代理,自身绝不直接翻译。
主要能力:LocalizationPlanner 为项目新增语言(创建 String Catalogs、添加 locale)或做其他本地化变更;StringCatalogRead 按翻译状态(new、needs_review、translated、machine_translated)取回字符串键,支持分页与各状态计数。
使用方式:新增语言时先调用 LocalizationPlanner,若其 nextStep 要求构建项目则需构建,因为只有构建才会把代码中的字符串抽取到新建的 String Catalogs。随后挑选相关 String Catalogs,用 StringCatalogRead 以 requestedState: "new" 获取待翻译键;若 totalForRequestedState 大于返回数量,需增大 offset 分页直到收齐。将键按每批最多 15 个拆分,为每批创建子代理,要求其使用 xcode-integration:translation 技能,并告知跳过 LocalizationPlanner;并发最多 5 个子代理,等全部完成再启动下一组。子代理需收到目标 locale、tab 标识、String Catalog 路径和键列表,键须原样传递并保留转义。把用户的术语与风格要求转发给子代理,并说明该指引优先于风格指南。若键中有应用名(如 CFBundleDisplayName、CFBundleName),放到首批最前。全部完成后用 StringCatalogRead 校验。
限制:只能通过 String Catalog 工具访问 .xcstrings,绝不直接读写;键须与工具返回完全一致;locale 标识按用户显式给出的原样传递,未给出时才按 BCP 47 推导;引号与撇号需符合目标语言排版并转义,& 等字符写字面量而非 XML 实体;不得为省时而跳过字符串。