Finds every missing translation in your strings.xml and fills them in with one click.
Free & open source·bring your own Anthropic API key
macOS, Windows and Linux · GPL-3.0
Used to localize CrookCatcher — 1M+ active users
Scans every values-xx folder and diffs against your base locale. Only translates what's actually missing.
No copy-paste. Updated strings.xml files are written directly to your project.
Handles %1$s, %2$d, and other Android format specifiers correctly.
Apostrophes, quotes, and other characters are escaped correctly for Android.
Changed a string after translating? LynString detects it and offers to re-translate just that string across all languages.
Powered by Claude. Supports every language and locale Android supports, and checks that each language comes back in the right script.
You can — for small apps. But when you're adding a new language to a project with 200+
strings, LLMs reliably miss a few. They don't have a systematic view of what's already
translated vs. missing across all your values-xx folders.
LynString diffs every locale against your base strings and only translates exactly what's missing. Nothing gets skipped.
If you've ever shipped and found a raw string key showing up in production for one specific language, you know the pain.
LynString scans your /res folder and automatically detects missing translations across all values-xx folders. Click translate, and LynString fills them in using AI. No manual copy-paste required.
100+ languages, covering everything Android supports including RTL languages like Arabic and Hebrew.
Yes. LynString is free and open source under the GPL-3.0 license. The code is on GitHub.
Yes, LynString translates with Claude using your own Anthropic API key, so you pay Anthropic directly for what you translate. Translating around 800 strings into one language costs roughly $0.50 with Claude Sonnet for a European language, more for languages with non-Latin scripts, and about 20× less with Claude Haiku.
Quality is high for most languages. For languages with their own script, such as Hindi, Kannada or Japanese, LynString checks every batch and retries it if the model drifted into another language. As with any machine translation, have a native speaker review important text.
LynString used to be a subscription app. Paid plans have ended and nobody is billed anymore. The app is now open source and runs entirely on your machine with your own API key.
Yes, plurals are supported.