All updates
v1.0milestone1 min read

Fun Calendar 1.0 is live on the App Store

365 days of quirky holidays, a swipeable card deck, streaks, achievements and home-screen widgets — shipped in 16 languages on day one.

Fun Calendar is out. Every single day is a holiday — you just didn't know it yet.

What shipped in 1.0

  • A swipeable card deck for today's holidays, with a full month calendar behind it
  • Search across 365+ holidays, plus favourites and per-day notes
  • Personal events — birthdays and anniversaries living alongside the public calendar
  • Streaks and achievements, and a "My Year in Fun" stats screen
  • Home-screen widgets and alternate app icons for Pro subscribers
  • 16 languages, including right-to-left layouts

The localisation wrinkle

The app's selected language is deliberately independent of the device locale — you can run your phone in English and Fun Calendar in Ukrainian. That's easy for LocalizedStringKey, and awkward for everything else.

The full year of holiday content is static Swift data, not a remote payload. Those string literals don't participate in the SwiftUI environment locale at all, so they're resolved once per view-model init through a manual .lproj bundle lookup. The tabs then have to be forced to rebuild when the language changes, keyed on the selected language, so both mechanisms land on the same answer.

It's more machinery than a single .environment(\.locale,) line, but it's the only way the static content and the localized UI stay in sync.

Next

1.0.1 is already in progress — mostly the things people emailed about in the first week.

  • #launch
  • #appstore
  • #widgetkit