17 · 面向用户的文案与内部语言隔离
适用:所有产品界面、通知、邮件和无障碍名称。界面面向实际使用者,不能把研发任务、验收要求、实现进度和内部状态直接展示给他们。
COPY-01 · 每句话都要服务用户当前的任务
写文案前确认:这句话帮助谁理解什么,或决定下一步做什么?回答不了,就优先删除或移到研发文档。
| 内部表达或错误示例 | 面向用户的处理 | 行为仍需实现 |
|---|---|---|
| 接口调用失败,HTTP 500 | 未能加载项目,请重试 | 记录错误;可重试;保留已有内容 |
| 已接入后端 / 功能已完成 | 产品内不显示研发进度 | 展示实际内容与操作结果 |
| 本页面支持响应式 | 产品内不显示该实现说明 | 窄屏下真实可用 |
| 失败时保留用户输入 | 输入留在原处,提示未能保存 | 不清空输入、可重试 |
| 数据为空 / list.length 为 0 | 暂无项目,按任务提供创建入口 | 区分零数据与未加载 |
| 权限校验未通过 | 你暂时无法查看此项目 | 按产品规则申请访问或返回 |
| 此处为占位 / TODO / 暂未实现 | 不发布无效入口;必要时解释实际开放条件 | 不让用户走进死路 |
| 采用统一组件与设计 token | 产品内不显示该实现说明 | 代码复用,视觉一致 |
示例的改写需要结合原因、受众与任务,不能把所有错误机械替换成“请重试”。项目永久删除、权限不足等情况,重试没有帮助。
COPY-02 · 用户词汇来自其工作语境
建立业务术语表,记录内部名称、用户名称、适用受众、容易混淆的词与例句。同一对象从搜索、列表、详情、通知到帮助文档使用一致名称。
“内部用语”取决于受众:开发者工具中的 HTTP 状态、部署和日志可能就是用户的工作语言;生活服务中的用户通常不需要理解回调、实例 ID 或请求载荷。判断依据是能否帮助这个受众完成任务,不是简单禁止英文或技术词。
按钮优先表达动作与对象:“导出账单”“邀请成员”。删除、撤销邀请和移除成员有不同后果,不能都叫“删除”。确认框避免只写“确定 / 取消”,需要说清将执行的动作。
COPY-03 · 错误代码与错误文案分开
服务层返回稳定的业务错误代码;领域层根据原因、上下文与可恢复性映射用户提示、动作和日志。组件不直接渲染 error.message、堆栈或接口响应体。
const projectErrors = {
NAME_CONFLICT: { message: '这个名称已被使用,请换一个。', action: 'edit-name' },
FORBIDDEN: { message: '你暂时无法修改此项目。', action: 'request-access' },
NETWORK_UNAVAILABLE: { message: '未能保存,请检查网络后重试。', action: 'retry' },
OUTCOME_UNKNOWN: { message: '尚未确认保存结果。', action: 'check-result' },
};
未知错误提供安全、可操作的兜底;诊断编号可以出现在可展开详情或客服入口中。事实不确定时,不编造原因,不擅自承诺“稍后自动恢复”。
COPY-04 · 产品文案、解释文档、实验控制分层
产品区只放用户任务需要的信息;帮助文档解释必要概念;研发文档记录架构与约束;教学演示的实验控制独立标识。
例如本手册可以在实验控制中提供“下次保存模拟失败”,实际产品的保存表单不能带这个开关。“使用共享样式”“观察焦点恢复”是教学说明,不能混在被展示的产品卡片里,否则 AI 很容易原样复制。
调试信息不应仅靠 display:none 隐藏。应从发布路径移除或在构建与权限层隔离,并检查可访问名称、提示文本、错误分支和移动端是否仍有泄露。
COPY-05 · 按语义与所有权管理文案
通用动作可以共享,领域文案归领域模块,页面特有表达归页面。国际化使用稳定的语义键,不能用“第一个按钮”“红色按钮”作为键,也不能把所有文本放进无法追踪的大对象。
common.actions.cancel 通用取消
projects.rename.label 项目重命名字段
projects.rename.tooLong 名称长度校验;参数来自字段规则
billing.cancelSubscription 取消订阅;与取消编辑分别维护
同一句“继续”在不同流程中可能需要独立翻译与调整。同一字段的标签、提示与错误应引用同一业务规则。不要用全局替换或字符串拼接修改整个产品的表达。
COPY-06 · 文案预算不能代替真实布局
标题、说明、按钮、表格单元各有内容预算和溢出策略。预算是作者的编辑目标,业务限制是系统约束,两者分开;超预算不应擅自删用户输入或缩小所有字号。
数量、费用、时间、单位和影响范围必须准确。必要限制应在决定前可见,不必为了“简洁”全部藏进问号图标。详见文案容量与排版。
COPY-07 · 文案审查覆盖所有可见渠道
逐页导出静态、动态与错误文案,也检查 placeholder、tooltip、aria-label、通知、导出文件和第三方错误。标出受众、语义键、来源与出现条件。
搜索“TODO、mock、接口、token、调试、占位”等只能发现候选;专业工具可以有合法用法,普通中文也可能泄露研发口吻。最终按任务语境判断,不能把禁词表当验收结论。
检查应断言错误分类、动作、输入保留和关键业务事实。普通样式测试不必锁死整句文案;涉及金额、对象、风险和授权的关键内容,应专门验证正确性。