
Author in Git
Locales, messages, segments, and targets live as definitions. Every change is versioned and reviewable.
Learn moreGit-native i18n and l10n management.
Declare messages, build datafiles, and consume with SDKs.
description: Greeting shown on home pagetranslations: en: "Welcome {name}!" ja: "ようこそ、{name}!" nl: "Welkom {name}!"# (optional) conditional overridesoverrides: - segments: pro-subscribers translations: en: "Welcome pro subscriber {name}!" ja: "プロサブスクライバー{name}さん、ようこそ!" nl: "Welkom pro abonnee {name}!"import { createMessagevisor } from '@messagevisor/sdk'import { createICUModule } from '@messagevisor/module-icu'const m = createMessagevisor({ datafile, modules: [createICUModule()],})m.translate('ui.greeting', { name: 'Ada' })// → 'Welcome Ada!'m.setContext({ plan: 'pro' })m.translate('ui.greeting', { name: 'Ada' })// → 'Welcome pro subscriber Ada!'Quick install
npx @messagevisor/cli initTreat translations like infrastructure
Messagevisor is a translation workflow system, not just a runtime library.
Author, review, test, and deploy copy the same way you ship code.

Locales, messages, segments, and targets live as definitions. Every change is versioned and reviewable.
Learn more
Run the CLI in CI to validate, test, and generate compact JSON datafiles, then upload them to your CDN or custom server.
Learn more
Load datafiles in your app. Segment overrides, ICU formatting, and context resolve at runtime without redeploying.
Learn moreOne repo. Full translation workflow.
Messagevisor keeps all your definitions for messages, their translations, and locale specific formatting configurations in Git.
Locales, messages, segments, attributes, and targets live as structured definition files in your Git repository.
Review changes in pull requests, run tests in CI, and ship compact JSON datafiles. No external TMS required.
Author in YAML, JSON, or plug in a custom parser. The project model stays the same regardless of file format.
translations: en: "Sign in" nl: "Inloggen"Lint, test, and build from the command line. Validate definitions and compile runtime datafiles (pure JSON files).
Regional variants inherit from base locales. RTL, number, and date formats built in.
Dev, staging, and production trees in one repo. Promote translations incrementally.
Compact JSON per target and locale, ready for CDN delivery.
Folder paths in Git map to dotted message keys automatically.
Vary copy by platform, region, or segment. Logic lives in definitions, not app code.
Validate specs in CI before you build or deploy.
A visual layer over yourtranslation definitions
The catalog is a browsable view of your Messagevisor project. Run it locally or export a static build in CI for teammates who prefer a UI over definitions.
npx messagevisor catalog to run locally
Export, translate, import
Hand translation work to someone outside Git without giving up review, linting, or tests. Export a CSV from the CLI, fill in the target locales, then import the results back into your project.
Who does the translating?
Human path
Send a CSV to freelancers, agencies, or in-house specialists. They can work in Excel, Google Sheets, or any spreadsheet tool. No Git access required.
Learn about translator handoff →
AI path
Let an agent drive the round trip. Export the CSV, fill locales while preserving ICU syntax and placeholders, then import back through the CLI.
Learn about AI translations →
Cloud-native by design
Bring your own CI/CD pipeline and CDN, and translations ship to the edge alongside your app, with no extra infrastructure.
CI/CD Pipelines
builds & uploads
Cloud & CDN
Use cases that fit your needs
From shipping copy independently to scaling across brands and environments. Patterns product teams reach for every day.
Ship translation updates without redeploying your apps. Rebuild datafiles and publish to your CDN.
Assign namespace ownership to teams. Stay aligned through structured pull request reviews.
Personalize for premium users, cohorts, or onboarding flows using segment overrides.
Run copy experiments by targeting translation variants at defined user segments.
Handle en-US vs en-GB, pt-BR vs pt-PT, and more with locale inheritance and overrides.
Define number, date, and currency formats once per locale. ICU support built in.
Mark keys as deprecated with a migration path. Teams clean up at their own pace.
Host multiple brands or products in one repo. Share common translations across Sets.
Translators submit Pull Requests via GitHub's web UI. No CLI or local setup required. Otherwise handoff translations as CSVs.
Stage in development, validate in staging, promote to production with one CLI command.
Add Arabic, Hebrew, or other RTL locales without reworking your application layout.
Start managing translations like a team
Messagevisor is free, open source, and works with your existing Git workflow. No vendor accounts, no lock-in. Just bring your translations in as definitions.
Everything you need to know about Messagevisor.