57 lines
2.7 KiB
Markdown
57 lines
2.7 KiB
Markdown
---
|
|
name: contract-translation-docx
|
|
description: Translate bilingual contracts in docx format — replace one language with AI-translated target language while preserving formatting, comments, and the other language.
|
|
tags: [legal, translation, docx, contract]
|
|
---
|
|
|
|
# Contract Translation in DOCX
|
|
|
|
## When to Use
|
|
- Translating bilingual contracts (e.g., German-Chinese → English-Chinese)
|
|
- Need to preserve comments/annotations, formatting, and track changes
|
|
- Need AI-quality legal translation (not Google Translate)
|
|
|
|
## Workflow
|
|
|
|
### 1. Analyze Document Structure
|
|
- Read docx with python-docx to understand paragraph layout (bilingual alternating pattern)
|
|
- Count paragraphs per language, identify comments count
|
|
- Map which paragraphs are source language vs. target language to keep
|
|
|
|
### 2. Extract Source Language Paragraphs
|
|
- Identify source language paragraphs by content/pattern
|
|
- Extract text with paragraph index mapping for replacement later
|
|
- Count total characters to estimate batch sizes
|
|
|
|
### 3. AI Translation (delegate_task)
|
|
- Use delegate_task to translate in batches (~100 paragraphs per batch)
|
|
- Specify legal register and terminology requirements
|
|
- For German→English legal: wichtiger Grund = good cause, außerordentliche Kündigung = extraordinary termination / termination for cause, Abrechnung = statements of account
|
|
- Verify all paragraphs translated (count match)
|
|
|
|
### 4. Replace in DOCX
|
|
- Use python-docx to replace source language paragraph text with translations
|
|
- Preserve paragraph formatting (alignment, indentation, spacing)
|
|
- Update font properties (e.g., Times New Roman 12pt for English)
|
|
- Do NOT use python-docx save() on workflow-produced files (destroys XML) — only for translation-specific files
|
|
|
|
### 5. Verify
|
|
- Count paragraphs by language to confirm zero source language residual
|
|
- Verify all comments preserved (count match)
|
|
- Verify target keep-language paragraphs untouched
|
|
- OnlyOffice screenshot for visual check if possible
|
|
|
|
## Style Calibration
|
|
When a reference document exists for style matching:
|
|
- Extract terminology table from reference
|
|
- Compare translation choices (shall→应, represents and warrants→声明和保证, etc.)
|
|
- Unify font, size, and formatting to match reference
|
|
- Re-delegate for corrections if needed
|
|
|
|
## Pitfalls
|
|
- "accountings" is not idiomatic — use "statements of account"
|
|
- "Manipulation" in German legal → "Falsification" in English legal
|
|
- Keep defined terms capitalized (Licensed Know-how, Contracting Parties, this Agreement not this contract)
|
|
- Don't use Google Translate for legal documents — always use AI model translation
|
|
- Comments (annotations) are stored separately in docx XML — paragraph replacement won't affect them
|