Developer & ITOriginal Reddit post

I made a MacOS App to Localize my other Apps

Full contextOriginal content · Reddit

I built AppUFO.app to Localise iOS Apps with AI. It translates the xcstrings file from Xcode in a few seconds. Problem Some weeks ago I went to localize one of my Apps. This was my first time localizing an iOS App. I quickly realised how long the process takes (3days+) & how expensive it is ($100+ for each language). This is not acceptable in 2026 with all the AI. So instead of working on that app, I took a tangent and built this mini tool for mac. Comparison vs onesky: Both Apps have basic features like Glossery, Character limit, Ai Context. Onesky is have the option of human translators. AppUFO is fully offline (accept AI translation), is a lot cheaper, allows you to use the latest LLMs & the process is lot faster. AppUFO is targeted more for the indie dev. vs lokalise: Both Apps have the same basic features. Localise works with web, ios, android & other software, while AppUFO is dedicated for iOS Apps. Lokalise has a lots of team features, while AppUFO is targeted for indie devs. AppUFO is a lot cheaper & affordable. Pricing €39.99 Lifetime, no subscription. Bring-Your-Own-AI-API-KEY €9.99 Monthly - AI translation included, no API Key required. €69.99 Monthly - AI translation included, no API Key required. Mac App Store: https://apps.apple.com/app/id6790789186 Website: https://appUFO.app Trust/Transparency I'm Melvin! I have been developing apps for the last 13 years. You might know me from the last post on TinyFast. I would love to answer any question you have. Let me know what you think. I Would love to hear feedback from other devs.

01Demand tags
Developer & ITFeature improvementDesktop appCandidates unverified

Collected discussion

22 collected

22collected26reported on Reddit
u/geralt_noble

Looks useful! How do you handle translation accuracy and app-specific context (like technical terms or UI strings)? Does the AI learn from previous translations?

u/melvinzammitOPReply

You can create an app project which gets general app context directly from the App store. Above this, it also takes in context the phrase comments generated in xcode and character limits to make sure everything fits in the ui.

u/dumanyac

The question that decides whether I'd use this: what happens on the second run? I add 5 new keys to an xcstrings that already has 400, hit translate, and does it only touch the 5 or regenerate everything? I hand-fix translations after the fact and losing those on every run would kill it for me. Related, does it respect the state field xcstrings already tracks? Xcode marks strings needs_review / translated, and if you set new ones to needs_review and leave translated ones alone, that's basically the whole feature right there. Also worth flagging German and Turkish for anyone reading who hasn't localized yet. Strings get long and they will blow out fixed-width layouts. The translation is the easy half.

u/melvinzammitOPReply

If you add 5 new keys, they will show up as ‘translate’. All others will persist. The app always loads a fresh xcstrings file. It only exports when you tap export. So yea, it keeps translation history. There’s even a history feature (like Time Machine). It respects the do not translate field. Doesn’t read the needs_review. I will add this. It has a character limit feature for this exact use case.

u/melvinzammitOPReply

I was going to add price index localization in the future as a stretch goal. It is a possible future feature. However not at the moment

u/alielsokary

Can it handle arguments texts like "Total would be: %d", "Welcome back, %@"?

u/melvinzammitOPReply

Yea sure. Even if you have “my name is melvin”. You can tell it to keep melvin unchanged. The %d,%@.. are automatically kept

u/Positive-Sock-3894

why not running a small local LLM for the localization instead of consuming API keys? I think it will also decrease the infrastructure costs.

u/melvinzammitOPReply

I tried, but its not accurate enough. I would not share something that I do not use on my own apps. Do you have any llm suggestions that are good for translations?

u/Positive-Sock-3894Reply

a good model for that is qwen 3.5 and is lightweight

u/Adrian_Galilea

Isn’t this solved by native APIs? i’m pretty sure I watched it in the last WWDC

u/melvinzammitOPReply

Would love to know more if you have more info. I could not find anything. Maybe its for live translation and not accurate translation for apps?

u/Adrian_GalileaReply

I am pretty sure is for localizing apps, let me get back to this, I have it documented for eventually use this new API on my own apps.

u/Tom42-59

Is this able to use the downloaded translation languages on device? Or does it have to use AI translation?

u/melvinzammitOPReply

It uses openAI, but you can use your own key. Im afraid local ai translation or classic translation is not accurate enough

u/Tom42-59Reply

Yeah that makes sense, I guess it wouldn’t be in your interest especially since it’ll be added functionality for not so accurate translation, but in a free tier having the on device translation, just an idea

u/CloudInsideAToaster

Interesting concept. I instead created Claude skill with all references for localizations.