Ship every language the day you ship English
Thalarum pulls strings straight from GitHub, GitLab, and Figma, drafts translations with your glossary and tone rules, routes the languages that matter through human review, and blocks the release if the German build breaks a button.
No spreadsheets were involved in the making of this product.
of online buyers prefer to purchase a product with information in their own language
will not buy at all from a site that only speaks English to them
revenue growth advantage for companies that invest in localization over peers that do not
Industry research on language and buying behavior, aggregated across published surveys.
Product
Localization that behaves like part of your codebase
Because it is. Strings live in your repo. Thalarum meets them there instead of asking your team to babysit exports.
Strings sync themselves
Connect GitHub, GitLab, and Figma once. New keys appear in Thalarum minutes after they land on main, and finished translations come back as a clean pull request. Nobody emails a spreadsheet, ever.
Machine drafts, human judgment
Every string gets a first draft that respects your glossary and tone rules, with the UI screenshot attached so reviewers see where it renders. Route German and Japanese through your reviewers. Let French ship as a draft until it earns a reviewer.
CI catches the broken button
Missing keys, untranslated strings, and text that overflows its container at 320px all fail the check before release, not after a customer in Munich screenshots it. Fixes then ship over the air to web, iOS, and Android with no app release.
How it works
Three steps between you and 30 markets
Setup is an afternoon, not a migration project.
Connect your repo and design files
Point Thalarum at the branches and Figma files that hold your strings. It parses JSON, XLIFF, .strings, and ARB in place, builds your key inventory, and starts watching for changes. Most teams are synced inside an hour.
Translations flow through review
Machine drafts land instantly. Your rules decide what happens next: which languages need a human pass, who reviews what, and which terms never get translated. Reviewers work with live screenshots, not naked strings.
CI guards every release
The Thalarum check runs beside your tests. Incomplete locales, layout overflows, and placeholder mismatches block the merge. When everything passes, translations deploy over the air the moment you cut the release.
Pricing
Priced for the size of your ambition
Start free with one project. Pay when you are shipping to markets that pay you.
Starter
For a side project testing the water
- 1 project, 2 languages
- GitHub and GitLab sync
- Machine translation drafts
- 500 hosted strings
- Community support
Team
For product teams going international
- 10 projects, 30 languages
- Figma sync with screenshot context
- Glossary, tone rules, review workflows
- CI checks and over-the-air delivery
- Unlimited reviewers, priority support
Enterprise
For regulated or very large fleets
- Unlimited projects and languages
- SSO and SAML, audit logs
- Choice of MT providers per language
- Agency and vendor onboarding
- Security review, SLA, dedicated support
FAQ
Fair questions
How good is the machine translation, really?
Good enough to ship for low-stakes locales, not good enough to trust blind. Drafts follow your glossary and tone rules, so "Pipeline" stays "Pipeline" in German if you say so. Each string gets a confidence score, and anything below your threshold routes to human review automatically. For your top revenue markets, we assume a human approves everything.
Which file formats do you support?
JSON (flat and nested), XLIFF 1.2 and 2.0, Apple .strings and .stringsdict, Android strings XML, and Flutter ARB at launch, with YAML and gettext .po close behind. Formats round-trip exactly: comments, plural rules, and placeholders survive untouched.
How does over-the-air delivery work?
Approved translations publish to a CDN as versioned bundles. A small SDK for web, iOS, and Android fetches the latest bundle on launch and falls back to the strings compiled into your build when offline. You can fix a bad translation in production in minutes without waiting on an app store review.
Will this clutter my repo with commits?
No. Thalarum opens one pull request per release branch and force-updates it as translations land, so your history shows a single reviewed change per release. Branch names, commit format, and PR labels are all configurable.
When can my team start?
We are onboarding a small early access cohort now, roughly ten teams at a time so setup gets real attention. Email hello@thalarum.com with your stack and target languages and we will tell you honestly where you are in the queue.
Your next market should not cost a quarter
Teams spend three months of spreadsheet ping-pong per language launch. Connect a repo, and see your first reviewed locale this week.
Request early access