Skip to content

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

  1. Automated extraction — Strings pulled from code repositories automatically (push)
  2. Automated generation — Localized files generated from translated strings (pull)
  3. Real-time visibility — See what products need localization at any moment
  4. Translation leveraging — Previous translations reused when source strings change
  5. 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-mojito
  • weblate
  • tolgee
  • Xliff