agentleFS
chatgptprojectschatgptprojects/clear-code/skills/translate-explanation/SKILL.md

translate-explanation

Skill2.1k starsChanged 7 months agoMITView on GitHub

Translate existing code-explanation docs into another language, Chinese by default. Translates a whole `CODE_EXPLANATION/` folder into a parallel `CODE_EXPLANATION_<LANG>` copy (e.g. `CODE_EXPLANATION_ZH`), or a single file — either bilingually in place (English + translation interleaved) for small files or as a `<name>_<lang>.<ext>` sidecar copy for larger ones. Keeps filenames, code, identifiers, file paths, and technical terms in English — only the explanatory prose is translated. Use this skill whenever the user wants to translate, localize, or produce a non-English version of code-explanation / codebase documentation: phrases like "translate-explanation", "translate the code explanation", "translate the CODE_EXPLANATION folder", "localize these docs to Chinese", "make a Chinese version of the explanation", or naming any target language for the explanation files. Default to Chinese (ZH) when no language is specified.

  • Installs packages

3 other projects use a version of this.

Trending

Quiet since April.thin dataabout the whole repository

Dec 2025: 0 mentionsJan 2026: 0 mentionsFeb 2026: 0 mentionsMar 2026: 1 mentionApr 2026: 1 mentionMay 2026: 0 mentionsJun 2026: 0 mentionsJul 2026: 0 mentionsAug 2026: 0 mentionsSep 2026: 0 mentionsOct 2026: 0 mentionsNov 2026: 0 mentions
Dec 2025Jun 2026Nov 2026
Mentions a month of the chatgptprojects/clear-code repository that our weekly crawl found: only 2 in all, so this is a hint, not a trend. There is no adoption data for this file yet.

Most recently taken up by

The file

We split this skill into the rules it gives an agent

8 rules. About 0 are common, 3 are distinctive, and 5 are very specific to this project.

  • ≈0

    Common · estimate

    Many files like this have a rule of this kind.

  • ≈3

    Distinctive · estimate

    This author's own choices. Worth a look.

  • 5

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Very specific:

    Default language is Chinese (ZH): If the user names another language, use its code instead (see the table below).

    line 26
  2. Distinctive:

    Bilingual / interleaved (small files, < 50 lines): Update the file in place so each prose line is immediately followed by its translation — …

    line 41
  3. Very specific:

    Sidecar file (larger files, ≥ 50 lines): Don't clutter a long file with interleaving.

    line 45
  4. Distinctive:

    Use the line count of the source file to pick the style.

    line 50
  5. Very specific:

    If no language is given, default to Chinese (ZH).

    line 82
  6. Very specific:

    When the target is a single file (not a folder), first count its lines to choose the output style, then resolve the language code …

    line 99
  7. Distinctive:

    Leave code blocks verbatim and unduplicated — never interleave inside a fenced block.

    line 108
  8. Very specific:

    Don't interleave a long file — it becomes hard to read.

    line 126

≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Translate Explanation

Translate generated code-explanation docs (the kind produced by the code-explanation skill) into another language. The prose is translated but everything technical stays in English so the docs remain accurate and usable by engineers.

Default language is Chinese (ZH). If the user names another language, use its code instead (see the table below).

Translation modes

First decide what's being translated — a whole folder or a single file — because the output shape differs.

Folder mode (default). The target is a CODE_EXPLANATION/ folder (or any folder of docs). Produce a parallel folder named <FOLDER>_<LANG> (e.g. CODE_EXPLANATION_ZH) with the same files. See Folder mode below.

Single-file mode. The target is one file. Choose between two output styles based on the file's length, because what's pleasant to read differs by size:

  • Bilingual / interleaved (small files, < 50 lines). Update the file in place so each prose line is immediately followed by its translation — English line, then Chinese line. For short files this keeps original and translation together and is easy to scan. See Single-file mode → Bilingual.
  • Sidecar file (larger files, ≥ 50 lines). Don't clutter a long file with interleaving. Instead create a fully-translated copy named <name>_<lang>.<ext> (e.g. notes_zh.md) in the same folder, leaving the original untouched. See Single-file mode → Sidecar.

Use the line count of the source file to pick the style; if the user explicitly asks for one style, honor that regardless of size.

In every mode, the rules in What to translate vs. keep as-is apply.

Folder mode

1. Locate the source folder

Find the explanation folder to translate. By default this is CODE_EXPLANATION/ at the repo root. If it isn't there, search for it (find . -type d -name 'CODE_EXPLANATION' -not -path '*/node_modules/*') and confirm with the user if there are multiple candidates. List its files so you know exactly what to translate — typically OVERVIEW.md and numbered files like 01_architecture.md, 02_models.md, etc.

2. Resolve the target language and output folder

Map the requested language to a short uppercase code and create the output folder CODE_EXPLANATION_<CODE> as a sibling of the source folder.

LanguageCodeOutput folder
ChineseZHCODE_EXPLANATION_ZH
SpanishESCODE_EXPLANATION_ES
FrenchFRCODE_EXPLANATION_FR
GermanDECODE_EXPLANATION_DE
JapaneseJACODE_EXPLANATION_JA
KoreanKOCODE_EXPLANATION_KO
HindiHICODE_EXPLANATION_HI
PortuguesePTCODE_EXPLANATION_PT

If no language is given, default to Chinese (ZH). For a language not in the table, use its common two-letter ISO 639-1 code, uppercased.

3. Translate each file, one by one

For every file in the source folder, create a file with the exact same name in the output folder. Filenames never change — 01_architecture.md stays 01_architecture.md, not 01_架构.md. This keeps the two folders aligned side by side so a reader can compare them file-for-file.

Translate the prose into the target language while keeping everything technical in English. Read each source file, translate its content, and write the result. Don't translate by guesswork from filenames — translate the actual content.

Single-file mode

When the target is a single file (not a folder), first count its lines to choose the output style, then resolve the language code (Chinese/ZH by default).

Bilingual / interleaved (small files, < 50 lines)

Edit the file in place. After each translatable prose line, insert its translation on the next line, so the file alternates English then the target language. This keeps a short file readable as a single bilingual document.

  • Leave code blocks verbatim and unduplicated — never interleave inside a fenced block; just keep it once.
  • For a heading, put the original heading, then the translated heading on the next line (both as headings).
  • Blank lines and structure stay intact.

Example (English file → bilingual):

# Architecture
# 架构

The handler authenticates the caller, then renders a response.
该 handler 会对调用方进行认证,然后渲染出一个 response。

Sidecar file (larger files, ≥ 50 lines)

Don't interleave a long file — it becomes hard to read. Instead create a new file in the same folder named <name>_<lang>.<ext>: take the original filename, insert _<lang> before the extension (lowercase code), e.g. design.md → design_zh.md, README.txt → README_zh.txt. Write a complete translation there following the standard rules, and leave the original file unchanged.

What to translate vs. keep as-is

The guiding idea: an engineer reading the translated docs should see their own language for the explanations, but the exact same code and terminology they'd find in the editor. Translating an identifier or a library name would make the docs wrong and unsearchable, so leave those untouched.

Translate (the prose):

  • Sentences and paragraphs that explain things.
  • The descriptive part of headings — but keep technical nouns in English. Example: ## Data models and validation → ## 数据模型与 validation (translate the connective prose, keep validation as the technical term).
  • Table cells that contain descriptions/explanations.

Keep exactly as-is (do NOT translate):

  • Filenames — same name in the output folder.
  • Fenced code blocks (```…```) — copy verbatim, including any code comments. Code is code.
  • Inline code in backticks — RequestHandler, pip install treecap, src/server/handler.py.
  • Identifiers and symbols — class/function/variable names, module paths, file paths, line references like handler.py:42.
  • Library, framework, tool, and product names — FastAPI, Pydantic, React, PostgreSQL, treecap.
  • Established technical terms — keep them in English inline within the translated sentence (e.g. dependency injection, middleware, registry pattern, endpoint, schema, async). These are the shared vocabulary engineers use regardless of spoken language; translating them adds confusion, not clarity.
  • URLs, commands, and config snippets.

Example (English → Chinese)

Source (01_architecture.md):

The central request handler lives in `src/server/handler.py`. Every inbound
request flows through `handle()`: it authenticates the caller, loads the
relevant record, and renders a response. Note the dependency injection in
`__init__` — `Store` and `AuthService` are passed in rather than constructed
here, which makes the handler unit-testable.

```python
async def handle(self, req: Request) -> Response:
    user = await self.auth.verify(req.token)
    return self._render(record, user)
```

Translated (01_architecture.md inside CODE_EXPLANATION_ZH/):

核心的 request handler 位于 `src/server/handler.py`。每个进入的请求都会经过
`handle()`:它会对调用方进行认证,加载相关的 record,然后渲染出 response。注意
`__init__` 中使用了 dependency injection —— `Store` 和 `AuthService` 是被传入的,
而不是在这里构造的,这使得该 handler 可以进行单元测试。

```python
async def handle(self, req: Request) -> Response:
    user = await self.auth.verify(req.token)
    return self._render(record, user)
```

Notice: the code block is byte-for-byte identical, all backticked identifiers stay English, technical terms (handler, dependency injection, record, response) stay English inline, and only the connective prose is translated.

Quick checklist

  • Determined the mode: whole folder, or a single file
  • Resolved target language code (Chinese/ZH by default)
  • Folder mode: created <FOLDER>_<CODE>/ sibling, one output file per source file with identical filenames
  • Single file < 50 lines: edited in place, bilingual (English line then translation line), code blocks kept once
  • Single file ≥ 50 lines: wrote a <name>_<lang>.<ext> sidecar in the same folder, original untouched
  • Prose translated; code blocks, identifiers, paths, and tool/library names verbatim
  • Technical terms kept in English inline within translated sentences

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.