Translating the docs into Chinese

SkillAI & models

Rules for the Chinese (docs/zh) tree — what is translated and what stays verbatim, by position on the page and by term. Read BEFORE translating, reviewing, or editing any docs/zh page or the translation prompts in tools/docs/translate.ts.

Available today. Use it from your connected AI after setup.

Connect ahel once, and every AI you use reads what you have installed.

Then ask your AI: use the Translating the docs into Chinese skill

What this skill tells your AI

The instructions your AI receives, as published by clice-io/clice in .claude/skills/translate-docs/SKILL.md and read by ahel’s review.

The zh tree reads as Chinese technical writing, not as glossed English. The reader is a C++ developer who searches the web in English, so the rule is: translate the prose, keep the names people search for, and never touch anything a tool or a compiler reads. The mechanics (segment isomorphism, report/record/check, the review mode) are in the docs skill; this skill is only about the words.

By position on the page

WhereRule
Sidebar groups, nav barGroup labels are translated (指南 / 语言服务器 / 命令行 / 设计 / 开发). Product names clice, catter, kotatsu, blog stay lowercase English; the zh nav calls the blog 博客.
Page and section headings (h1–h3)Prose headings are translated, on every page including design/. A heading that is an identifier stays verbatim: [project], [[rules]], textDocument/hover, clice lint. A mixed heading translates only the prose part and keeps every code span.
Capability card name, summary, descriptionTranslated, including names that start with code (auto deduction → auto 推导, Doxygen /// comments → Doxygen /// 注释). The one-sentence summary ends without a period, like the English.
Table headers and cellsTranslated (选项 / 类型 / 默认值 / 状态). Code spans inside cells stay.
Status wordsFixed vocabulary only: 支持 / 部分支持 / 不支持 / 已实现 / 存根 / 计划中. The card sticker and the status table must use the same word.
Task-list itemsText translated, [ ] / [x] state kept.
Theme UI strings (查看示例, 悬停提示, 页脚)Not in the pages; the site components switch on lang.
Code blocks, snap fences, // snap: blocksNever translated, byte-identical to English. Comments inside code blocks stay English too — they are part of the fixture, and a translated comment would no longer match the source the site renders.
Inline code, paths, config keys, command linesNever translated; the checker compares them literally.
Issue references, URLs, link targetsVerbatim.
Compiler and tool output quoted in proseVerbatim.

By term

Translate:

  • Feature names have fixed Chinese names — use the ones the overview page uses: 代码补全, 悬停, 签名帮助, 代码导航, 文档链接, 语义 Token, 内联提示, 折叠范围, 文档符号, 格式化, 诊断, 代码操作; Lint stays Lint. LSP request names stay as code when quoted (textDocument/hover); the feature is named in Chinese.
  • C++ concepts with an established Chinese term: 结构化绑定, 范围 for 循环, 概念, 模板特化, 显式实例化, 折叠表达式, 参数包, 注入类名. On first use in a page, give the English in full-width parentheses when the English is what one would search for: 结构化绑定(structured bindings), 最令人烦恼的解析(most vexing parse).
  • Common nouns: translation unit → 翻译单元, compilation database → 编译数据库, header → 头文件, index → 索引, snapshot → 快照 (test snapshots and dependency snapshots alike), overload set → 重载集, crash → 崩溃, build → 构建, worker → worker (kept), language server → 语言服务器.

Keep English (never transliterate):

  • Product and tool names: VS Code, Neovim, Zed, CMake, Bazel, clang, clang-format, clangd, GCC, MSVC, LLVM, Clang.
  • Acronyms: LSP, AST, PCH, PCM, CDB, TU, ADL, CTAD, DAG, ABI, URI, C++23.
  • Terms Chinese C++ developers use untranslated: Lambda, Token, Concept (as the language feature; 概念 in prose is fine), this, Preamble, fixture. When in doubt, keep the English term and add a short Chinese gloss rather than invent a translation.

Style

  • Full-width punctuation inside Chinese sentences; a space between CJK and Latin text (prettier enforces it).
  • No machine-translation calques: no "这个" as an article, no passive chains, no stacked 进行 / 对于 / 通过……的方式; split long relative clauses.
  • Banned filler: 深入, 强大, 无缝, 赋能, 极大地, 显著地, 值得注意的是, 总而言之, 综上所述.
  • Say what the English says, not word for word. A card summary must read as one sentence on its own.
  • One term, one translation within a page; a status table row and the card it points to use identical wording.

Where the rules live in code

tools/docs/translate.ts embeds these rules in REVIEW_PROMPT. Change the prompt and this skill together.

Signals

GitHub stars
1k
Forks
81
Last commit
Sep 2026
Advanced
Catalog kind
skill
Gateway key
translate-docs
Source
github.com/clice-io/clice