I hated i18n keys throughout my code : make the codebase unreadable, made me code much slower. Also made me need to manage translations and JSON files, otherwise I would have had to spend dozens and hundred of dollars in a Saas, whereas AI translation is so, so cheap right now.
So I created my own tool, only for my stack first, then for all the stacks that exists. And it is THE ULTIMATE i18n solution : very, very fast to implement, painless to maintain (because, well, no maintainance AT ALL), and so, so cheap.
Featuring :
wrap texts into components or functions that would manage the translations : if it exists already it serves it, if not it translates on the fly
48 languages, every AppStore localization
12 SDKs, SSR, ICU plurals, bundled or not, namespaces... all the basics
handle UGC, of course, from any language to any language, of course
self-hostable, free and open source : one docker image, you have unlimited projects (donationware). Or if you dont want self hosting on your VPS, 4€ / month / project, unlimited translations. YOU CAN'T BEAT THAT PRICE
agent ready : MCP, Context7, llms.txt. I don't expect you to code it yourself, although it would take you 5 minutes too.
No lock-in, by construction. Your source strings are plain text in your code. Drop the library tomorrow and your app still reads perfectly. Try that with
user.welcome.message.



