Any language you can hold a conversation in

Most language apps have a menu. Somewhere between eight and forty languages, each one a product someone built: a curriculum, a word list, recorded audio, a team.

Wading doesn't have a menu, because it doesn't have courses. There's a conversation, a dial controlling how much of it happens in your target language, and a record of which words you've met. None of that is language-specific. So the honest answer to "do you support X?" is: if a conversation can be had in it, yes.

We've watched people start Croatian, Bosnian, Japanese, Brazilian Portuguese, Esperanto — and Šatrovački, a Serbo-Croatian slang built by swapping the syllables of ordinary words. No curriculum team on earth was going to build that one. It took the same zero configuration as Spanish.

What "no catalogue" costs

Freedom like that isn't free, and most of the work is in the failure cases.

A typo isn't a language. Someone typing "Portugese" or "Mandrin" needs the language they meant, not a new entry in the registry. So a name is canonicalised before anything is created, and a name we can't place comes back with suggestions rather than an error — the app offers you Portuguese and you tap it.

Neither is a near-duplicate. "Español" and "Spanish" are the same language. So is "brazilian portuguese" against a registry that already holds "Brazilian Portuguese". Every start checks the languages you already have, then the shared catalogue, before minting anything new — otherwise a user ends up with two Spanishes and their vocabulary split between them.

Some languages take two alphabets. Bosnian and Serbian are written in both Latin and Cyrillic, and either is correct. What is not correct is switching between them mid-conversation, which is what a model does by default. So a multi-script language gets pinned — to whatever your vocabulary list already uses, or if the list is empty, to whichever is more commonly written today — and it stays pinned.

And some have scripts your phone can't draw. Klingon's native pIqaD sits in the Unicode Private Use Area, which renders as empty boxes on virtually every device. So constructed languages whose script isn't ordinary renderable Unicode use the community's standard Latin orthography instead — nuqneH, Qapla'. A row of boxes teaches nothing, however authentic it is.

The part I didn't expect

The languages we'd never have shipped are the ones people are most delighted to find.

There's a particular reaction when someone types a language they fully expect to be rejected — a regional variety, a constructed language, a dialect their grandmother spoke — and the app just starts. It reads as being taken seriously. Nobody has ever had that experience with a dropdown.

It also means the small languages aren't second-class. A Croatian learner gets exactly the engine a Spanish learner gets: the same dial, the same decay, the same tutor who remembers their dog's name. There's no "coming soon," no thinner course for the languages with fewer speakers, because there was never a course to make thicker.

That's not generosity. It's just what happens when the product is a conversation rather than a curriculum.

Type anything. See what happens.