Every time I've localized an app, it's gone one of two ways: hand-translate
the strings myself (slow, and my Spanish/French/whatever is not great), or
set up a full localization platform for what's really a five-minute job on
a small project.
So I built StringLingo AI — a free
tool that translates:
- Android
strings.xml - iOS
Localizable.strings - Flutter
.arbfiles - Or just plain pasted text
Upload the file, pick a target language, download a translated file with
the same keys and structure. No account, nothing stored.
The part I actually want feedback on
The interesting problem wasn't the UI, it was not breaking your strings
while translating them. Localization files are full of things a naive
translation pass will mangle:
xml
<string name="welcome_message">Hello %1$s, you have %2$d new messages</string>
Top comments (1)
Nice tool — a translator that handles XML, .strings, and ARB in one place is exactly the unglamorous utility mobile teams end up needing at 11pm. I ran my usual launch-day scan on string-lingo-ai.vercel.app while reading, sharing in case it's useful:
vercel.json(orheaders()in next.config if it's Next.js). Even a starterdefault-src 'self'plus your API/AI endpoints mitigates XSS and data-injection.frame-ancestors 'self'inside the CSP covers it too) and clickjacking is off the table.I run these passive launch scans for free — happy to send the full report (14 checks with the timing breakdown) if you want it. Congrats on shipping!