Most indie apps ship in English, maybe add a handful of "big" languages later, and call it done. I went the other way: Cadento, my SwiftUI Pomodoro/focus timer, launched in 39 languages on day one — including ones most apps never touch, like Catalan, Croatian, Malay, Hebrew, Thai, and Ukrainian.
This post is the honest version of how that went: the setup that made it possible, the things that broke, and whether it was worth it.
Cadento is built with SwiftUI + SwiftData, targets iOS 18 / watchOS 11, and has Live Activities, widgets, an Apple Watch app, an activity heatmap, and iCloud sync. App Store: https://apps.apple.com/app/id6784636854
Why 39 languages, not 5
The usual advice is "localize into the top languages and measure." That's reasonable. But for a focus timer, the UI vocabulary is small and stable — "Start", "Focus", "Break", "Tasks", "Today", "Streak". Once I had a clean localization pipeline, the marginal cost of language #20 was close to zero. And every additional language is a market where almost no competitor has a localized listing.






