Continuous Localization¶
Summary¶
Continuous Localization (CL) is the practice of integrating translation workflows into the software development CI/CD pipeline, ensuring that translatable strings are automatically extracted, translated, and compiled back into localized builds without manual intervention.
Core Principles¶
- Automated extraction — Strings pulled from code repositories automatically (push)
- Automated generation — Localized files generated from translated strings (pull)
- Real-time visibility — See what products need localization at any moment
- Translation leveraging — Previous translations reused when source strings change
- Quality checks — Automated validation (placeholder matching, format strings, etc.)
How It Differs from Traditional Localization¶
| Traditional | Continuous Localization | |
|---|---|---|
| Trigger | Manual export/import | Automated on code changes |
| File format | XLIFF, PO sent via email | API-driven push/pull |
| Visibility | Periodic status meetings | Real-time dashboards |
| Release cycle | Translation blocks releases | Translations keep pace with releases |
| Translator access | Offline files | Web-based editing |
Tools¶
box-mojito¶
- Extracts strings from repositories to be translated
- Generates localized files from translations
- Quality checks (placeholder validation)
- Basic translation leveraging (no fuzzy matching)
- Generates XLIFF files for translators
weblate¶
- Git-first: translations live in your repository as code
- Automatic sync with GitHub, GitLab, Gitea
- Webhooks for pull on source changes
- Configurable commit intervals for push
- Add-on system for automated discovery of new files
tolgee¶
- SDK-based: translations embedded in apps at runtime
- CLI watches and pulls changes automatically
- Real-time sync between platform and apps
- In-context editing for developers
- MCP server for AI assistant integration
CI/CD Integration Patterns¶
Push Pattern¶
Code commit → CI extracts strings → Push to CL platform → Translators notified
Pull Pattern¶
Translation complete → CL platform generates localized files → Pull to repo → Build deploys
Webhook Pattern¶
Source repo changes → Webhook triggers CL update → CL updates → Webhook triggers push back
Benefits¶
- Translations keep pace with development velocity
- No manual file export/import
- Reduced context switch for developers
- Real-time visibility into translation status
- Quality checks catch errors before deployment
Challenges¶
- Requires infrastructure (self-hosted CL platform)
- Translators need to adapt to web-based workflows
- String extraction requires code annotations/keys
- Complex for projects with many file formats
See Also¶
box-mojitoweblatetolgee- Xliff