zudo-doc-translate
Translate zudo-doc documentation between English and Japanese with project-specific conventions.
zudo-doc Translation Skill
Translate documentation between English and Japanese following project-specific conventions.
i18n Structure
- English docs:
src/content/docs/— routes at/docs/... - Japanese docs:
src/content/docs-ja/— routes at/ja/docs/... - Directory structures must mirror each other exactly (same filenames, same folder hierarchy)
- Locale settings:
localesinsrc/config/settings.ts - Astro i18n config:
astro.config.tswithprefixDefaultLocale: false(English has no prefix, Japanese uses/ja/)
Translation Rules
Keep in English (do NOT translate)
- Component names:
<Note>,<Tip>,<Info>,<Warning>,<Danger>,<Tabs>,<TabItem>,<Details> - Code blocks — code is universal
- File paths:
src/content/docs/...,.claude/skills/..., etc. - CLI commands:
pnpm dev,pnpm build, etc. - Technical terms that are standard in English (e.g., component, props, frontmatter, slug)
- Frontmatter field keys (
title,description,sidebar_position,category)
Translate
- Frontmatter field values (e.g., the
titlevalue, thedescriptionvalue) - The
titleprop of admonition components (e.g.,<Note title="注意">) - Prose content, headings, list items, table cells (except as noted below)
Table conventions
- In tables with a “Required” column: use “Yes” / “No” directly, NOT “はい” / “いいえ” — Japanese conversational yes/no is unnatural in technical documentation
Internal links
- Adjust link paths when translating:
- En→Ja:
/docs/getting-started→/ja/docs/getting-started - Ja→En:
/ja/docs/getting-started→/docs/getting-started
- En→Ja:
File Naming
- Japanese files use the same filenames as English (e.g.,
writing-docs.mdx) - Only the parent directory differs:
docs/vsdocs-ja/ - Example:
src/content/docs/guides/writing-docs.mdx→src/content/docs-ja/guides/writing-docs.mdx
Workflow
En→Ja Translation
- Read the English source file from
src/content/docs/ - Check if the corresponding Japanese file already exists in
src/content/docs-ja/- If it exists, read it first — use it as a base and update from the English source rather than overwriting from scratch
- If it does not exist, create the file at the equivalent path in
src/content/docs-ja/
- Translate the content following the rules above
- Verify internal links point to
/ja/docs/...
Ja→En Translation
- Read the Japanese source file from
src/content/docs-ja/ - Check if the corresponding English file already exists in
src/content/docs/- If it exists, read it first — use it as a base and update from the Japanese source rather than overwriting from scratch
- If it does not exist, create the file at the equivalent path in
src/content/docs/
- Translate the content following the rules above
- Verify internal links point to
/docs/...(no/ja/prefix)
Post-Translation Checks
- Frontmatter keys are unchanged (only values translated)
- All admonition component names remain in English
- Code blocks are untouched
- Internal links use the correct locale prefix
- Directory structure mirrors the source language