DEV Community

Fahad Heylaal
Fahad Heylaal

Posted on

Introducing Messagevisor - i18n and l10n management with GitOps

I built Messagevisor, a Git-native i18n management solution for product teams

If you've used Featurevisor before, you might recognize the approach. Same GitOps philosophy, different problem: this time it's translations.

The problem

Most i18n setups have a gap. Libraries like react-i18next or next-intl handle the runtime side well, but everything upstream, like authoring, reviewing, testing, and deploying translations are either duct-taped together or handed off to a SaaS TMS you don't fully control.

I wanted translations to go through the same workflow as code: pull requests, CI checks, and a proper audit trail in Git.

What Messagevisor does

You define messages as YAML files in a dedicated Git repo:

# messages/dashboard/greeting.yml
description: Greeting shown on home page

translations:
  en: "Welcome {name}!"
  nl: "Welkom {name}!"
  ja: "ようこそ、{name}!"

overrides:
  - segments: pro-subscribers
    translations:
      en: "Welcome pro subscriber {name}!"
Enter fullscreen mode Exit fullscreen mode

From there, the CLI lints, tests, and compiles everything into compact JSON datafiles. You publish those to your CDN, independently of your app release, and consume them at runtime via a small (~5kB) SDK.

Key things it supports

  • 📁 Namespaces: file paths become message keys, scales to thousands of strings
  • 🌍 Locales: regional copy, currency, dates, RTL, and locale inheritance
  • 🎯 Audience targeting: serve different copy to different user segments without redeploying
  • 🧪 A/B copy variants: run copy experiments the same way you'd run feature experiments
  • 🔁 Environment promotion: messagevisor promote --from=dev --to=staging with a diff preview
  • 📤 Translator handoff: export a CSV for human translators or pipe it through an AI agent

It's open source

MIT licensed, no vendor lock-in, bring your own CI/CD and CDN.

👉 messagevisor.com | GitHub

It's clearly engineering focused, and you may struggle to get it adopted if you have non-technical folks in the workflow as well. But if they are into vibe coding, it might just fly.

Would love to hear what you think, especially if you've struggled with the translation workflow problem before.

Top comments (0)