CtrlK
BlogDocsLog inGet started
Tessl Logo
SkillPublic

ui-copy

编写、精简或审查中英文界面文案:按钮、标题、表单、报错、空状态、toast、确认弹窗、设置项和 i18n 源文案,以及给产品内 AI 生成文案写约束。用于“改下文案”“这个报错怎么写”“界面字太多”“去 AI slop”“审一下这些 key”。长段落的 Slack、文档和文章交给 chinese-writing;翻译交给 gemini-translate。

77

Quality

97%

Does it follow best practices?

Run evals on this skill

Adds up to 20 points to the overall score

View guide
SecuritybySnyk

Passed

No findings from the security scan

SKILL.md
Quality
Evals
Security

中英文 UI 文案

界面上只留用户此刻做决定需要的字。能不写就不写;需要一段说明才能看懂,先考虑改界面(换控件、加默认值、拆步骤),再考虑加字。

主要防的是 AI slop:模型会把标题、说明、空状态、报错都写成一段解释,客套、态度、背景全在,信息很少,每张卡同一个句式。交稿前按下面的规则删一轮。

先看项目已有约定

动手前抽样看项目里同类组件的现有文案(英文源文件、设计稿、术语表)。大小写、人称、动词、标点以项目现状为准,本 skill 只在项目没有约定时提供默认值。不要为了“符合规范”批量改动无关文案。

删什么

  • 副词和形容词:easily、quickly、simply、just、really、very;轻松、快速、简单、一键、立即。只有它说明了功能本身时保留(Feed your pets automatically)。
  • 客套和感叹:please、thank you、sorry、Oops、Uh oh、Hooray;请、请您、您可以、温馨提示、请注意、哦、~、!。例外见下文:服务故障可以道歉,问候和祝贺可以用感叹号。
  • 自我说明:We're having trouble…、为了给你更好的体验、我们已经……。主语换成事情本身:Unable to load content / 无法加载内容。
  • 重复:标题说过的,正文不再说。标题是「没有项目」,下面不解释什么是项目。
  • 冗余主语和铺垫:This is the total cost → Total cost;You have entered the wrong password → Wrong password;您已成功保存更改!→ 已保存。
  • 没有下一步的说明句。

删完大声读一遍,听着像客服话术就还没删完。

不能删的

简洁不等于删掉后果。以下信息留在主画面,不收进 tooltip:

  • 不可撤销的后果:资产转出、删除、覆盖、助记词/私钥泄露风险。
  • 金额、手续费、网络、地址等用户要核对的值。
  • 会改变用户选择的限制条件(最低额度、锁定期、地区限制)。

这类句子也只写事实和后果,不写恐吓和形容词。

按组件

按钮:动词开头,写具体动作。默认中文 2–4 字、英文 1–3 词;破坏性操作单独出现时把对象写进去,最多 6 字(删除钱包 / Delete Wallet);确认弹窗标题已写明对象时,按钮可以只写动词。不用「确定」「OK」兜底。不加句号和感叹号。有具体动作时写动作(保存 API Key / Save API Key);只是在多步流程里前进时,固定用 开始 → 继续 → 完成 / Get Started → Continue → Done。打开后续输入的菜单项和加载态用单字符省略号 …:重命名… / Rename…;加载中保留原动作:保存中… / Saving…。不写态度:发送 / Send,不写 来吧 / Let's do it。

标题和标签:名词或动词短语,不加句号,少用「你的 / Your」(收藏 / Favorites)。

报错:两截——出了什么事,怎么办。原因只在影响下一步时写。贴在出错位置旁边。

  • 写要求,不写指责:至少 8 位 / Use at least 8 characters,不写 密码太短 / Password too short。
  • 写允许什么,不写禁止什么:只能包含字母,不写 不能包含数字或符号。
  • 不用 invalid、illegal、forbidden、非法、错误操作。
  • 校验错误不道歉;服务故障可以道歉一次。
  • 「出错了,稍后重试 / Something went wrong. Try again.」只在确实不知道原因时用,能说清的要说清。

空状态:一句原因 + 一个主动作(按钮或链接)。不写气氛(这里空空如也~ / Nothing here yet!)。搜索无结果给改条件的出口,不写成庆祝或卖萌。

表单:标签始终可见;placeholder 只放格式示例(name@example.com、+1 (123) 456-7890),不放说明,不写「请输入邮箱」。不在空字段失焦时报错。

确认弹窗:标题写要执行的动作和对象(删除这个钱包?/ Delete this wallet?),正文只写后果,主按钮重复这个动作(删除 / Delete),不用「确定 / OK」;次按钮用「取消 / Cancel」。

Toast / 成功提示:中文用「已 + 动词」,英文用过去分词:已保存 / Saved、已复制 / Copied。不写「成功!」。

设置项:写开启后发生什么,用户能推断关闭的含义。需要跳转时直接给链接,不描述「前往 设置 > 安全 > …」。

说明句:能不出现就不出现。必须有时,中文一句、20 字左右,英文 12 词左右;目的放前面(To get reservation updates, enter your phone number)。背景放展开或 tooltip。

链接:链接文字本身说明去向(了解手续费 / Learn about fees),不用「点击这里 / Click here」。

人称和词汇

  • 用「你」,不用「您」;英文用 you,不写 the user。避免「我们 / we」,除非确实是服务方在做一件具体的事。
  • 一个概念一个词,建一张词表(推荐词 / 避免词 / 定义)。删除就是删除,不和移除、清除混用;确认就是确认,不和提交、完成混用。
  • 不用比喻动词和营销词:Unleash、seamless、赋能、开启全新体验。

中英文格式

  • 中文和英文、数字之间加空格:在 Apple 上买了 2 个。全角标点前后不加空格。% 和 ° 前不加空格。
  • 中文:标签、标题、按钮、单句提示不加句号;两句以上或后接链接时用全角句号。感叹号只用于问候和祝贺。引号全产品统一一种。
  • 英文:大小写按项目约定。没有约定时,按钮和标题用 Title Case(Vercel 对产品界面的要求),设置说明、表单帮助文字用 sentence case;同一类组件只用一种。用弯引号和 …。
  • 数字用阿拉伯数字:8 个部署 / 8 deployments。数字和单位之间用不断行空格:10 MB。同一上下文金额小数位一致。日期、金额、千分位走 locale 格式化,不手拼。
  • 专有名词按官方写法:GitHub、OneKey、USDT。品牌名、代码 token、合约地址加 translate="no" 或等价处理。

变量和翻译单元

  • 带变量的句子整句作为一个 key,用具名参数:已选 {count} 项。不拼「前缀 + 变量 + 后缀」。
  • 复数走 ICU plural;0、1、多各看一遍。中文写完整句,不写 item(s)。
  • 绝对时间和相对时间分两个模板:开始于 {date} 和 {relative}开始 不共用(relative 由 locale 格式化,自带「前」)。
  • 渲染前检查:界面上不能出现 {、%s、undefined、null、NaN、lorem。缺值时回退到不带变量的短句。
  • 布局按英文 2 倍宽度留余量;按钮不截断,写短。截断时英文按词、中文按字,不切在变量或标点中间。

给产品内 AI 生成文案写约束

模型默认会多写。限制写在 prompt 和后处理里,不靠人工事后删:

  • 按槽位给长度上限和语气:标题 ≤ N 字、按钮 ≤ 4 字/3 词、说明 1 句;报错冷静,空状态中性。
  • 注入词表和禁用词(上面「删什么」的列表),要求同一界面动词不换词。
  • 要求结构而不是文风:现在是什么情况、能做什么。没有可执行动作的句子删掉。
  • 输出用结构化字段(title / body / action),不收自由段落;超长或含占位符的结果回退到固定文案。
  • 抽样检查多张卡片是否同一个句式开头。

在 OneKey app-monorepo 里

  • 只写英文源文案和建议的中文,说明 key 和使用位置。翻译用 gemini-translate;生成的 locale 文件不手改,走 Lokalise / yarn i18n:*。
  • 先搜现有 key 能否复用,避免同义新 key。

交付

  • 改写:直接给改后文案;改动多时用「原文 → 改后」表格,每条原因一句。
  • 审查:按组件列问题,标出违反的是哪条规则,给替换文案。
  • 例子和反例见 examples.md,规则出处和取舍见 sources.md。只在需要核对出处或遇到冲突时读后者。
Repository

OneKeyHQ/app-monorepo

Path

.skillshare/skills/ui-copy/SKILL.md

Last updated
First committed

Is this your skill?

If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.