Every boring by design app shared one thing before this: English-only UI text. Rather than bolt translations onto each app separately whenever someone asked, I did it once, everywhere, in the same pass — five languages (English, Español, Français, Deutsch, Português (BR)) landed across all five PWAs and the landing page together.
How it's built
No translation service, no account, no server round-trip. Every piece of
UI copy gets a data-i18n-key, resolved against a small
per-language dictionary shipped with the app itself. The language you pick
is remembered locally, the same way theme preference already was — pick it
once, and it's there next time you open the app, on that device.
A consistent switcher
Rather than a plain dropdown, the language picker is the same icon-button + modal pattern used for theme switching: click the globe icon, pick a language from a short list, done. It looks and behaves the same whether you're in Notes, Todos, Calendar, Share, Maps, or on this site.
One exception, on purpose: this blog and other long-form pages stay English-only for now — translating prose well needs more than a key/value dictionary, and I'd rather ship that properly later than machine-translate it today.