Overview
Static translation of Know Your Rights content requires infrastructure capable of maintaining strict synchronization between the English source of truth and its multilingual variants. Relying solely on manual translation creates insurmountable bottlenecks, while pure machine translation introduces unacceptable legal risks.
Continuous Localization
Architecture
English Content (CMS)
│
│ (API/Webhook trigger on update)
▼
┌─────────────────────┐
│ Translation Memory │
│ (TMS Database) │
└─────────┬───────────┘
│
Match Found?
│ │
Yes No
│ │
▼ ▼
┌──────────┐ ┌──────────────┐
│ Apply TM │ │ MT Draft │
│ Match │ │ Generation │
└────┬─────┘ └──────┬───────┘
│ │
└───────┬───────┘
│
▼
┌─────────────────────────┐
│ Human Review (HITL) │
│ Post-Editing │
└───────────┬─────────────┘
│
▼
┌─────────────────────────┐
│ Approved Translation │
│ → Published │
└─────────────────────────┘
Key Components
| Component | Function | Examples |
|---|---|---|
| CMS | Content Management System | 11ty, WordPress, Contentful |
| TMS | Translation Management System | Phrase, Smartling, Lokalise |
| TM | Translation Memory database | Stored human translations |
| MT | Machine Translation engine | DeepL, Google, custom LLM |
CMS/TMS Integration
Integration Patterns
| Pattern | Description | Best For |
|---|---|---|
| API Push | CMS pushes content changes to TMS | Real-time sync |
| Webhook | TMS pulls when CMS sends notification | Decoupled systems |
| File Sync | Periodic export/import of XLIFF files | Simple setups |
| Headless | Both systems share content via API | Modern architectures |
Platform Options
| Platform | Type | Strengths | Cost |
|---|---|---|---|
| Phrase | TMS | Robust workflow, good API | $$ |
| Smartling | TMS | Enterprise features | $$$ |
| Lokalise | TMS | Developer-friendly | $$ |
| Crowdin | TMS | Open source friendly | $ |
| POEditor | TMS | Simple, affordable | $ |
11ty Integration Example
// .eleventy.js - Export content for translation
module.exports = function(eleventyConfig) {
eleventyConfig.addCollection("forTranslation", function(collectionApi) {
return collectionApi.getFilteredByTag("translatable")
.filter(item => item.data.needsTranslation);
});
// Generate XLIFF on build
eleventyConfig.on('afterBuild', () => {
generateXLIFF();
});
};
XLIFF Format
Standard Structure
XLIFF (XML Localization Interchange File Format) is the industry standard for translation data exchange.
<?xml version="1.0" encoding="UTF-8"?>
<xliff version="2.0" xmlns="urn:oasis:names:tc:xliff:document:2.0"
srcLang="en" trgLang="es">
<file id="know-your-rights">
<unit id="1">
<segment>
<source>You have the right to remain silent.</source>
<target>Usted tiene el derecho de permanecer en silencio.</target>
</segment>
</unit>
<unit id="2">
<segment>
<source>Do not open the door for ICE.</source>
<target>No abra la puerta para ICE.</target>
</segment>
</unit>
</file>
</xliff>
Key Elements
| Element | Purpose |
|---|---|
<source> |
Original English text |
<target> |
Translated text |
<note> |
Context for translators |
<unit id> |
Unique identifier for string |
state |
Translation status (initial, translated, reviewed, final) |
Metadata Preservation
<unit id="warrant-warning">
<notes>
<note category="context">Displayed when user asks about warrants</note>
<note category="legal">Must match ACLU-approved language</note>
<note category="tone">Urgent but not alarming</note>
</notes>
<segment>
<source>Ask to see the warrant through the window or under the door.</source>
<target state="needs-review">Pida ver la orden judicial por la ventana o debajo de la puerta.</target>
</segment>
</unit>
Translation Memory
How TM Works
| Scenario | Match Type | Action |
|---|---|---|
| Exact previous translation exists | 100% match | Auto-apply |
| Similar translation exists | Fuzzy match (75-99%) | Suggest, human review |
| No similar translation | No match | MT draft + human review |
Fuzzy Match Thresholds
| Match Level | Typical Action |
|---|---|
| 100% | Auto-apply, flag if context changed |
| 95-99% | Auto-apply, quick human review |
| 85-94% | Suggest, human editing required |
| 75-84% | Reference only, full translation |
| <75% | New translation needed |
TM Maintenance
| Task | Frequency | Purpose |
|---|---|---|
| Cleanup duplicates | Monthly | Reduce conflicts |
| Remove outdated | Quarterly | Legal accuracy |
| Quality audit | Quarterly | Consistency check |
| Term extraction | Per project | Build glossary |
Human-in-the-Loop Review
MTPE Process
Machine Translation Post-Editing (MTPE) combines MT efficiency with human accuracy.
| Phase | Actor | Focus |
|---|---|---|
| MT Draft | Machine | Generate initial translation |
| Light Edit | Translator | Fix errors, improve fluency |
| Legal Review | Attorney/paralegal | Verify legal accuracy |
| Community Review | Native speakers | Cultural appropriateness |
Review Workflow
MT Output → Translator → Legal Review → Community Review → Publish
↓ ↓ ↓
Edit for Verify legal Check cultural
fluency accuracy appropriateness
Quality Tiers
| Tier | Review Level | Use Case |
|---|---|---|
| Critical | Attorney + 2 translators | Legal rights content |
| High | Paralegal + 1 translator | Procedural guides |
| Standard | 1 translator + spot check | General information |
| Rapid | MT + quick review | Time-sensitive alerts |
Legal Terminology Management
Glossary Structure
| Field | Purpose | Example |
|---|---|---|
| English term | Source | "Green Card" |
| Spanish | Translation | "Tarjeta de residencia permanente (Green Card)" |
| Chinese | Translation | "绿卡 (Green Card)" |
| Vietnamese | Translation | "Thẻ xanh (Green Card)" |
| Definition | Context | "Permanent resident card issued by USCIS" |
| Usage note | Guidance | "Always include English term in parentheses" |
| Do not translate | Flag | "ICE, USCIS, DACA" (keep English) |
Terminology Sources
| Source | Coverage | Access |
|---|---|---|
| USCIS Glossary | Official immigration terms | Public |
| California Judicial Council | Court interpreter terms | Public |
| DOJ/EOIR | Immigration court terms | Public |
| CLINIC | Nonprofit legal terms | Member |
Term Handling Strategies
| Term Type | Strategy | Example |
|---|---|---|
| Acronyms | Keep English + explanation | "ICE (Servicio de Inmigración)" |
| Legal concepts | Translate + parenthetical | "asilo (asylum)" |
| Untranslatable | Transcribe + define | "Green Card (tarjeta de residencia permanente)" |
| False friends | Careful differentiation | "deportación" vs "remoción" |
Content Synchronization
Version Control
| System | Status | Action |
|---|---|---|
| EN v2.1, ES v2.1 | Synced | No action |
| EN v2.2, ES v2.1 | Out of sync | Flag for translation |
| EN v2.2, ES v2.0 | Behind | Priority update |
Sync Workflow
English Content Updated
│
▼
CMS Detects Change (diff)
│
▼
Compare to Localized Versions
│
├─── Minor change (typo, formatting)
│ │
│ ▼
│ Auto-propagate to all languages
│
└─── Substantive change (legal, content)
│
▼
Flag all localized versions as "Needs Review"
│
▼
Queue for MTPE workflow
│
▼
Lock outdated versions (optional)
Notification System
| Trigger | Notification | Recipients |
|---|---|---|
| Content update | Slack/email alert | Localization manager |
| High-priority change | Immediate alert | Translation team |
| Version mismatch | Dashboard warning | Content managers |
| Review complete | Status update | All stakeholders |
Quality Assurance
Automated Checks
| Check | Purpose | Tool |
|---|---|---|
| Terminology consistency | Match glossary | TMS built-in |
| Missing translations | Completeness | CI/CD validation |
| Format preservation | HTML/markdown intact | Automated diff |
| Length validation | UI fit | Character count |
Manual QA Protocol
| Phase | Focus | Checklist |
|---|---|---|
| Linguistic | Grammar, fluency | Native speaker review |
| Legal | Accuracy, disclaimers | Attorney signoff |
| Cultural | Appropriateness, tone | Community review |
| Technical | Display, links, formatting | QA engineer |
Back-Translation Verification
Original English → Spanish Translation → Back to English → Compare
| Comparison Result | Action |
|---|---|
| Meaning preserved | Approve |
| Minor drift | Review context |
| Significant drift | Retranslate |
Workflow Templates
Standard Content Update
workflow: standard_update
trigger: content_change
steps:
- extract_changed_strings
- query_translation_memory
- generate_mt_draft
- assign_translator
- linguistic_review
- legal_review (if tagged "legal")
- community_review (if tagged "sensitive")
- publish
- update_translation_memory
notifications:
- on_start: localization_manager
- on_complete: content_team
sla: 72_hours
Urgent Legal Update
workflow: urgent_legal
trigger: legal_flag
priority: critical
steps:
- extract_changed_strings
- assign_senior_translator (immediate)
- legal_review (required)
- expedited_community_check
- publish
- update_translation_memory
notifications:
- on_start: [legal_team, localization_manager, exec_team]
- on_complete: all_stakeholders
sla: 24_hours
escalation: 4_hours_no_progress
Implementation Checklist
Phase 1: Setup
- [ ] Select TMS platform
- [ ] Configure CMS integration
- [ ] Create XLIFF export pipeline
- [ ] Build initial translation memory from existing content
- [ ] Create terminology glossary
Phase 2: Workflow
- [ ] Define review workflows by content type
- [ ] Establish SLAs for each priority level
- [ ] Configure notification system
- [ ] Train translators on glossary and style guide
- [ ] Set up QA checkpoints
Phase 3: Automation
- [ ] Implement version sync detection
- [ ] Configure automated TM matching
- [ ] Set up back-translation verification
- [ ] Build reporting dashboard
- [ ] Integrate with CI/CD pipeline
Ongoing
- [ ] Monthly TM cleanup
- [ ] Quarterly glossary review
- [ ] Regular translator calibration sessions
- [ ] Community feedback integration
- [ ] Policy change monitoring
Next Steps
- Review language-specific guides for implementation details
- Design multilingual UX for translated content
- Understand community context for cultural adaptation
- Plan full implementation timeline and resources