文案检查
1. 机械检查
参数:$ARGUMENTS
node ${CLAUDE_SKILL_DIR}/scripts/i18n-parity.mjs <dir, 默认:当前项目的根目录> --locales sv,en
该脚本查找 **/messages|locales|i18n/<locale>.json 目录以及 TS/JS 中的同级 sv: {…} / en: {…} 对象字面量。它会报告:
- 错误: 缺失键、数组长度不匹配、占位符不匹配(
{name}、${x}、{{x}})。请全部修复。 - 警告: 英语字符串中的瑞典语功能词(och、att、för、med、inte、är 等)以及反之亦然,以及长相同字符串(未翻译?)。逐条判断;产品名称和引用的瑞典语术语可以保留。
- 未解析: 迷你解析器无法读取的块。请目视检查这些文件。
在此模式之外构建的字符串(JSX 字面量、带有内联默认值的 t())不会被覆盖。请对更改过的文件 grep 错误语言环境中的硬编码文本。
2. 人工判断(先检查更改过的文件,再检查它们所在的页面)
- 禁用或过时短语: 阅读仓库中的 CLAUDE.md 与项目的记忆条目。项目通常会保留已弃用的标语、必需的开场白或绝对不得公开发布的内容。
- 声明与实际情况对比: 价格、试用时长、限制与“免费”应与实际定价配置、Stripe 产品与条款页面一致。覆盖面声明不得将显示上限表述为覆盖面。“最快”、“每一个”和“所有”需要来源。
- 法律/同意措辞: 营销同意不得与条款捆绑,且瑞典语法律术语正确(ångerrätt、personuppgifter)。
- 语言质量(瑞典语示例): 自然语序,无连写错误(“hyres lägenhet”),正确的 en/ett,小数逗号和
kr放在数字后(1 299 kr),日期格式为19 okt/2026-10-19。 - 英语质量: 大小写正确,无瑞典语标点习惯,货币格式符合语言环境。
- 一致性: 跨页面使用相同的术语表示同一事物(选用已存在的术语)。
退出条件
- i18n-parity 以退出码 0 结束,或所有剩余警告均已被判断。
- 无禁用短语,且每个事实性声明与配置、条款或来源一致。
- 仅修改文案,未夹带任何设计变更。
- 向用户提交简短摘要。