Translate Academic Credentials (ZH → EN)
Quick start
- Identify document type: transcript, degree certificate, graduation certificate, or verification letter.
- Analyze layout first — page-by-page, top-to-bottom. See layout-reference.md.
- Ask if missing: output folder, file basename, and official English institution names.
- Read the source (image/PDF/text). Extract every field, table cell, stamp, watermark, footer, and blank line.
- Translate to English only using reference.md. Do not include Chinese text in output files.
- Build layout-mirrored JSON — blocks in the same order, alignment, and structure as the original. See templates.md.
- Export:
python3 -m pip install python-docx fpdf2
python ~/.cursor/skills/translate-academic-credentials/scripts/build_translation_docs.py translation.json
- Verify layout fidelity against the checklist below, then deliver
.docx and .pdf paths.
Layout fidelity (strict — required)
The English document must mirror the Chinese original format, not be reorganized into a generic template.
Structure
- Same page count and page breaks
- Same block order (titles → fields → tables → signatures → seals → footers)
- Same table dimensions (columns, rows, including empty rows)
- Same label–value pairing (if two fields share one row in the source, keep them on one row)
- Preserve blank lines and vertical spacing with
spacer blocks
Typography & alignment
- Match center / left / right / justify per block
- Match relative font size and bold (titles larger, certificate numbers smaller)
- Certificate text: preserve stacked centered lines if that is how the source appears
Forbidden layout changes
- Do not convert source tables into summary "Field | Value" tables unless the source uses that layout
- Do not add section headings (e.g., "Student Information") absent from the source
- Do not merge or split rows/columns for convenience
- Do not move signatures, dates, or seals to different positions
- Do not add a generic "OFFICIAL TRANSLATION" banner unless the user requests it (
suppress_default_title: true by default)
Output rules
English-only deliverables
- Word/PDF contain English translation only — no Chinese, no bilingual columns
- Institution names: official English only
Required file outputs
Every translation produces both:
{basename}.docx
{basename}.pdf
Default naming: {FamilyName}_{GivenName}_{DocumentType}_EN
Translator certification
If included, certification_statement goes on a separate page after the mirrored translation — it is not part of the source layout.
Core translation rules
- Translate all visible text; use
[Illegible] when unreadable
- Do not summarize, reinterpret grades, or convert GPA unless asked
- Names: Pinyin,
Family Name, Given Name
- Dates:
Month DD, YYYY unless source format must be preserved
- Seals:
[Official Seal: Institution Name] at the original position
- Warn about ID numbers; offer redaction if needed
Document-specific layout notes
成绩单
- Mirror header grid (often multi-column label rows, not a single table)
- Course table: translate column headers; keep every data row
- Summary row (总学分, GPA): same position and pairing as source
- Repeat per-page headers if the source repeats them
学位证 / 毕业证
- Mirror vertical certificate stack (centered lines, spacing, signature block)
- Keep certificate number placement (often lower on page)
- 学位证 vs 毕业证: use correct English title; do not swap document types
Export workflow
- Set
"mirror_source_layout": true and "suppress_default_title": true in JSON
- Run
build_translation_docs.py
- PDF is generated from DOCX when LibreOffice/Pandoc is available (best layout match); otherwise fpdf2 fallback
- Confirm both files exist
Quality checklist
Layout
Content
Additional resources
- Layout patterns: layout-reference.md
- Terminology: reference.md
- JSON schema & examples: templates.md
1---2name: translate-academic-credentials3description: Translates Chinese academic transcripts (成绩单), degree certificates (学位证), graduation certificates (毕业证), and related credential documents into English-only Word and PDF files that strictly mirror the original Chinese layout and formatting. Use when the user mentions 成绩单, 学位证, 毕业证, 学历证明, academic transcript, degree certificate, credential translation, layout-matched translation, or saving translation as Word/PDF.4---56# Translate Academic Credentials (ZH → EN)78## Quick start9101. **Identify document type**: transcript, degree certificate, graduation certificate, or verification letter.112. **Analyze layout first** — page-by-page, top-to-bottom. See [layout-reference.md](layout-reference.md).123. **Ask if missing**: output folder, file basename, and official English institution names.134. **Read the source** (image/PDF/text). Extract every field, table cell, stamp, watermark, footer, and blank line.145. **Translate to English only** using [reference.md](reference.md). **Do not include Chinese text** in output files.156. **Build layout-mirrored JSON** — blocks in the **same order, alignment, and structure** as the original. See [templates.md](templates.md).167. **Export**:17 ```bash18 python3 -m pip install python-docx fpdf219 python ~/.cursor/skills/translate-academic-credentials/scripts/build_translation_docs.py translation.json20 ```218. **Verify layout fidelity** against the checklist below, then deliver `.docx` and `.pdf` paths.2223## Layout fidelity (strict — required)2425The English document must **mirror the Chinese original format**, not be reorganized into a generic template.2627### Structure28- Same **page count** and **page breaks**29- Same **block order** (titles → fields → tables → signatures → seals → footers)30- Same **table dimensions** (columns, rows, including empty rows)31- Same **label–value pairing** (if two fields share one row in the source, keep them on one row)32- Preserve **blank lines** and vertical spacing with `spacer` blocks3334### Typography & alignment35- Match **center / left / right / justify** per block36- Match relative **font size** and **bold** (titles larger, certificate numbers smaller)37- Certificate text: preserve **stacked centered** lines if that is how the source appears3839### Forbidden layout changes40- Do **not** convert source tables into summary "Field | Value" tables unless the source uses that layout41- Do **not** add section headings (e.g., "Student Information") absent from the source42- Do **not** merge or split rows/columns for convenience43- Do **not** move signatures, dates, or seals to different positions44- Do **not** add a generic "OFFICIAL TRANSLATION" banner unless the user requests it (`suppress_default_title: true` by default)4546## Output rules4748### English-only deliverables49- Word/PDF contain **English translation only** — no Chinese, no bilingual columns50- Institution names: official English only5152### Required file outputs53Every translation produces **both**:54- `{basename}.docx`55- `{basename}.pdf`5657Default naming: `{FamilyName}_{GivenName}_{DocumentType}_EN`5859### Translator certification60If included, `certification_statement` goes on a **separate page after** the mirrored translation — it is not part of the source layout.6162## Core translation rules6364- Translate **all** visible text; use `[Illegible]` when unreadable65- Do **not** summarize, reinterpret grades, or convert GPA unless asked66- **Names**: Pinyin, `Family Name, Given Name`67- **Dates**: `Month DD, YYYY` unless source format must be preserved68- **Seals**: `[Official Seal: Institution Name]` at the original position69- Warn about ID numbers; offer redaction if needed7071## Document-specific layout notes7273### 成绩单74- Mirror header grid (often multi-column label rows, not a single table)75- Course table: translate column headers; keep every data row76- Summary row (总学分, GPA): same position and pairing as source77- Repeat per-page headers if the source repeats them7879### 学位证 / 毕业证80- Mirror vertical certificate stack (centered lines, spacing, signature block)81- Keep certificate number placement (often lower on page)82- 学位证 vs 毕业证: use correct English title; do not swap document types8384## Export workflow85861. Set `"mirror_source_layout": true` and `"suppress_default_title": true` in JSON872. Run `build_translation_docs.py`883. PDF is generated from DOCX when LibreOffice/Pandoc is available (best layout match); otherwise fpdf2 fallback894. Confirm both files exist9091## Quality checklist9293### Layout94- [ ] Page count matches source95- [ ] Block order matches source top-to-bottom96- [ ] Alignments (center/left/right) match source97- [ ] Table column count and row count match source98- [ ] Label–value pairs on same rows as source99- [ ] Spacing, page breaks, footers, seals at correct positions100- [ ] No generic reformatting or added section headings101102### Content103- [ ] English only in output files104- [ ] Both `.docx` and `.pdf` generated105- [ ] All fields translated; numbers/IDs exact106- [ ] Terminology matches [reference.md](reference.md)107- [ ] No unauthorized GPA conversion108109## Additional resources110111- Layout patterns: [layout-reference.md](layout-reference.md)112- Terminology: [reference.md](reference.md)113- JSON schema & examples: [templates.md](templates.md)