For Flutter teams • Built around your ARBs
Send your Flutter app's strings to anyone who can write. They translate them in a web app. You pull approved changes back into your ARBs — with context, history, and zero spreadsheets.
Open-source CLI · Hosted backend at locale.ly
How it works
No bespoke YAML, no proprietary file format. Your ARBs stay the source of truth.
locale_helper publish uploads
your strings with Claude-generated context for each key so translators
understand intent.
Invite anyone with a link. They edit per locale side-by-side with the source. Suggestions wait for owner approval; direct edits land immediately.
locale_helper pull --apply
writes approved changes back to your ARB files. A 3-way diff keeps your
local edits safe.
The review surface
Translators see one string at a time, with source context, AI-generated intent notes, and a thread for asking questions. Owners review pending suggestions and approve in one click.
Per-locale review state
Approve de while fr is still in review.
Per-string change history
See every edit, who made it, and where it came from (suggestion / direct / publish).
Comments threaded per key
Translators ask, you answer. Context stays attached to the string forever.
Safe concurrent edits
A baseline lockfile detects conflicts before they overwrite your work.
Stays in your repo
Lives next to your code, not in your CI. Idempotent.
Your .locale_helper/ directory tracks just enough
state to keep pushes and pulls safe.
$ locale_helper init # one-time per project $ locale_helper publish # pushes ARBs + AI context # reviewers do their thing $ locale_helper pull --apply # writes approved changes back
Pricing
We'll figure out paid tiers when usage tells us what's worth charging for. Until then, everything is on the house.
Everything we've built, no limits.
$0/forever
For teams shipping in many languages.
$??/mo
FAQ
No catch right now. We're pre-launch and prioritising usage over revenue. When we eventually add a paid tier (probably for teams with SSO needs or heavy AI usage), the beta you signed up under will stay free. We'll announce changes in advance.
Those are mature, generalist platforms. locale.ly is opinionated for Flutter — your ARBs stay the source of truth, the CLI is the only way things move in and out, and there's no proprietary file format. If you're not on Flutter or you need Figma plugins, those tools are probably a better fit.
Yes. Bundles are stored on our backend (encrypted at rest) and only accessible to project members you invite. AI context is generated via Anthropic with no training on your data. Self-hosting is on the roadmap for teams who'd rather keep everything on their own infra.
The full server source lives in the same monorepo as the CLI — Caddy, Postgres, systemd unit, bootstrap script, the works. It's not yet a first-class supported product, but if you want to run your own copy on a VPS today, everything you need is there.
Not today. The CLI parses ARB files and writes them back. Anything built on a different format (gettext .po, iOS .strings, Android XML) would need a new loader. If you'd want one, get in touch.
Last write wins on the server, but the change history shows every edit and who made it. On the CLI side, a baseline lockfile detects when the server has changed since your last publish and warns you before overwriting.
Five minutes to set up. Free forever in beta.