一键导入
po-translate
Orchestrate English→Japanese translation of po/ja.po — classify, delegate translation/review to subagents, iterate until clean
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Orchestrate English→Japanese translation of po/ja.po — classify, delegate translation/review to subagents, iterate until clean
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Verify a rendering or window-chrome change in any macOS GUI app unattended — find its CGWindowID via JXA, capture that window alone (with per-pixel alpha) using screencapture -l, and read exact RGBA via NSBitmapImageRep. Use for blur/opacity/corner-radius/glyph/color rendering bugs where a screenshot or pixel value is the ground truth. No Python and no Accessibility permission needed.
Verify a rendering or window-chrome change in a GUI app unattended on Linux/Wayland under the niri compositor — enumerate windows and read output scale via niri msg --json, capture a specific window to a file with niri msg action screenshot-window --id, and probe exact pixel RGBA with ImageMagick. Use for layout/glyph/color/HiDPI rendering bugs where a screenshot or pixel value is the ground truth.
GitHub CLI for pull requests, issues, releases, workflows, and repository operations. Use for creating PRs, managing issues, viewing repository information, and accessing GitHub URLs.
Clone and reuse GitHub/GitLab repositories under a single managed root (`ghq root`) instead of fetching files one-by-one via `gh api`/`WebFetch` or scratch-cloning into `/tmp`. Use this skill whenever investigating, reading, grepping, or referencing source code from any remote repository — even for a single file. Triggers include "look at X's source", "how does X implement Y", "check the X repo", "find Z in nixpkgs/react/linux/etc.", or any moment a remote repo URL appears and you need to read more than one file from it. Skip only for one-shot GitHub API operations that have no source code in them (PR comments, issue bodies, workflow runs — those belong to the `gh` skill).
How to write a commit message that stays meaningful after the session ends — explain WHY, follow the repository's convention, and never reference conversation-local structure like "Phase 2" or "Task 3". Load this BEFORE running `git commit`, whenever creating a commit, amending a commit message, or asked to "commit this". Applies to every commit, including intermediate commits made while working through a multi-step plan.
Prose standard for this repository's literate Org configuration documents — first-person narrative voice, scope per setting, paragraph structure, logical rigor, restraint, and banned LLM-sounding English. Use when writing, rewriting, or reviewing prose in *.org files (configuration.org, modules/, overlays/, README).
| name | po-translate |
| description | Orchestrate English→Japanese translation of po/ja.po — classify, delegate translation/review to subagents, iterate until clean |
Translate po/ja.po from English to Japanese for this literate Nix configuration
repository. This skill orchestrates the process: you classify entries yourself, then
delegate translation and review to subagents, iterating until the review passes.
Scan po/ja.po and classify every entry into three buckets.
PO type comment (#. type:) | Reason |
|---|---|
paragraph in src | Code block content |
keyword NAME / keyword name | Source block identifiers |
keyword SETUPFILE | Org directive |
keyword PROPERTY | Property drawer value |
keyword OPTIONS | Export option string |
keyword STARTUP | Startup keyword |
keyword INCLUDE | po4a handles path swap |
property (*) | Property values |
Also skip: bare URLs as msgid, table cells with hardware models/hostnames/platforms.
Non-empty msgstr — leave unchanged unless review flags them.
Everything else: paragraph, heading *–*****, plain list, paragraph in QUOTE/quote/example,
cell column N with prose, keyword title.
Group translatable entries by primary source file into sequential batches:
configuration.orgapplications/emacs/init.orgoverlays/configuration.org + applications/emacs/early-init.org + .github/README.orgmodules/configuration.orgOutput a batch summary (entry counts, line ranges) before proceeding to Phase 2.
Spawn one Agent per batch, sequentially (wait for each to finish before starting the next — they all edit the same file).
Include ALL of the following in each subagent's prompt:
.claude/skills/po-translate/references/glossary.md.claude/skills/po-translate/references/style-guide.md.claude/skills/po-translate/references/po-format.md## Translation Rules
### What to translate
- paragraph, heading, plain list, paragraph in QUOTE/quote/example, cell with prose, keyword title
### What to leave empty (msgstr "")
- paragraph in src, keyword NAME/name, SETUPFILE/PROPERTY/OPTIONS/STARTUP/INCLUDE, property (*), bare URLs, proper nouns (hardware models, hostnames, platforms)
### PO format
- #, no-wrap entries: msgstr on single line
- Multi-line msgid: msgstr starts with "" then continuation lines
- Match approximate line structure of msgid
- Preserve \" escaping
### Org markup preservation
- [[url][desc]]: translate only desc, keep URL intact
- [[*heading][desc]]: translate *heading to match the translated heading name in po/ja.po, translate desc independently
- =code= and ~verbatim~: do NOT translate content inside markers
- *bold* / /italic/: translate text, keep markers
- \\\\: preserve in same position
### Terminology
- Follow the glossary strictly
- Nix terms (flake, derivation, overlay, home-manager) → keep English
- General technical terms with Japanese equivalents → use Japanese
### Register
- です/ます (desu/masu) polite form consistently
- Technical but accessible
- Faithfully translate "why" reasoning — core value of literate config
### Important
- Never modify msgid or comment lines (#., #:, #,)
- If entry already has correct translation, leave unchanged
- Preserve blank lines between entries
- Use the Edit tool for each translation
- After completing, read back modified sections to verify
After all translation batches complete, spawn a review subagent.
Include these checks in the prompt:
msgfmt --check po/ja.poparagraph in src, keyword NAME/name, directive
keywords, property (*) all have empty msgstrparagraph, heading, plain list etc. have non-empty msgstr#, no-wrap entries have single-line msgstr[[/]] count matches, URLs unchanged, =code=/~verbatim~ preserved[[*heading][desc]] — verify *heading matches the translated heading name in the corresponding heading entry's msgstrThe review subagent should:
msgfmt --check po/ja.po after fixesEvaluate the review subagent's report:
After review passes:
msgfmt --check po/ja.po
po4a po4a.cfg