This guide walks you through translating your curriculum into additional languages, from initial setup through maintaining translations over time.
Overview
CurryCMS supports full curriculum translation with:
- Multiple locales per curriculum
- Attribute-level translation for rich text and strings
- Translation inheritance in variants
- Translation status tracking per node
- Side-by-side editing for translator efficiency
Prerequisites
Before translating:
- Have a complete (or stable) source curriculum
- Know your target language(s)
- Have translators available or a translation workflow
- Confirm your account has the target locales enabled
Step 1: Enable Target Locales
Check Available Locales
- Navigate to Account Settings → Locales
- Review enabled locales
- Request additional locales from your admin if needed
Verify Curriculum Locale Support
- Open your curriculum
- Check Settings → Locales
- Ensure target languages are enabled for this curriculum
Step 2: Understand What Gets Translated
Translatable Content
| Content Type | Translated |
|---|---|
| Rich text attributes | Yes |
| String attributes | Yes |
| Node titles | Yes |
| Glossary terms | Yes |
| Asset alt text | Yes |
Non-Translatable Content
| Content Type | Why |
|---|---|
| Numbers | Universal |
| Node structure | Same hierarchy all languages |
| Standards alignments | Standards are language-specific sets |
| System metadata | Internal use |
Step 3: Set Up Your Translation Workflow
Option A: Direct Translation
For small curricula or internal translators:
- Switch to target locale in the editor
- Translate content directly in CurryCMS
- Save and move to next node
Option B: Export/Import
For external translators or translation services:
- Export content for translation
- Send to translators
- Import completed translations
- Review in CurryCMS
Option C: Side-by-Side
For efficient in-app translation:
- Open the translation view
- Source language displays on left
- Enter translation on right
- Save and continue
Step 4: Translate Content
Basic Translation Process
- Open your curriculum
- Switch locale using the locale selector
- Navigate to a node
- For each translatable field:
- View the source text
- Enter the translation
- Maintain formatting (bold, lists, etc.)
- Save the node
- Repeat for all nodes
Translation Status Indicators
Each node shows translation status:
| Status | Meaning |
|---|---|
| Complete | All fields translated |
| Partial | Some fields translated |
| Missing | No translations yet |
| Stale | Source changed after translation |
Handling Rich Text
When translating rich text:
- Preserve structure - Keep headings, lists, tables
- Match formatting - Bold, italic, links
- Adjust length - Translations may be longer/shorter
- Check links - Internal links should work in all locales
Translating Glossary Terms
Glossary terms need separate translation:
- Navigate to Glossary
- Select a term
- Switch to target locale
- Enter translated term and definition
- Save
Glossary usages automatically use the translated term.
Step 5: Handle Special Cases
Numbers and Formatting
Some content may need locale-specific formatting:
| Element | Example (EN → ES) |
|---|---|
| Decimals | 3.14 → 3,14 |
| Thousands | 1,000 → 1.000 |
| Dates | 12/25/2024 → 25/12/2024 |
| Currency | $10.00 → 10,00 $ |
Adjust formatting conventions for your target locale.
Embedded Examples
If content includes language-specific examples:
English:
"The quick brown fox jumps over the lazy dog."
Spanish (culturally adapted):
"El veloz murciélago hindú comÃa feliz cardillo y kiwi."
Adapt examples to be natural in the target language.
Cross-References
Internal cross-references work across locales. Ensure referenced content is also translated for a consistent experience.
Step 6: Track Translation Progress
Using the Dashboard
Monitor translation status:
- Open curriculum dashboard
- View translation progress by locale
- Identify nodes needing translation
- Filter by translation status
Progress Reports
Check overall translation coverage:
| Locale | Nodes | Translated | Percentage |
|---|---|---|---|
| Spanish | 150 | 142 | 95% |
| French | 150 | 89 | 59% |
| Mandarin | 150 | 0 | 0% |
Stale Translation Alerts
When source content changes:
- Dashboard flags affected translations
- Navigate to flagged nodes
- Review source changes
- Update translation as needed
- Mark as current
Step 7: Quality Assurance
Review Workflow
Use the standard review process for translations:
- Translator completes translation
- Submit for review
- Reviewer (bilingual) checks accuracy
- Approve or return with feedback
- Publish when approved
Quality Checklist
- [ ] All nodes have translations
- [ ] No stale translations remain
- [ ] Formatting is preserved
- [ ] Links work correctly
- [ ] Glossary terms are translated
- [ ] Cultural adaptations are appropriate
- [ ] Numbers/dates use correct format
Native Speaker Review
For best quality:
- Have a native speaker review the full curriculum
- Check for natural language flow
- Verify cultural appropriateness
- Confirm terminology consistency
Step 8: Translations in Variants
Inheritance Behavior
Variant translations follow content inheritance:
| Scenario | Translation Source |
|---|---|
| Inherited content | Uses parent's translation |
| Overridden content | Needs own translation |
| Added content | Needs own translation |
Variant Translation Strategy
- Translate the base curriculum first
- Create variants after translation
- Variants inherit translations automatically
- Only translate variant-specific overrides
Step 9: Publish Translated Content
Create Multilingual Editions
When publishing:
- Navigate to Editions
- Click New Edition
- The edition captures all locales
- Each locale's translation state is frozen
Locale-Specific Distribution
Editions include all translations. Distribution systems can:
- Serve locale-specific content
- Allow user locale selection
- Default based on user preferences
Maintaining Translations
Ongoing Updates
When source content changes:
- Update the source language first
- Check for stale translation flags
- Update translations to match
- Re-review if significant changes
Adding New Content
For new nodes:
- Create content in source language
- Complete source review workflow
- Switch to target locale
- Translate new content
- Complete translation review
Annual Review
Periodically review all translations:
- Check for outdated terminology
- Verify cultural relevance
- Update examples as needed
- Refresh stale translations
Common Issues
"Locale not available"
Contact your admin to enable additional locales for your account.
"Translation not saving"
Check that:
- You're in the correct locale
- You have translation permissions
- The field is translatable
"Formatting lost"
Rich text formatting must be re-applied in each locale. Copy-paste may strip formatting.
Tips for Success
- Translate stable content - Wait until source is reviewed
- Use consistent terminology - Create a translation glossary
- Batch by section - Translate complete units together
- Preserve context - Translations should make sense standalone
- Test with users - Have target-language users review
Related Documentation:
- Translations - Translation features deep dive
- Glossary Terms - Managing terminology
- Workflow & Review - Review process
- Publishing Editions - Create releases