Now in French - plus language-aware recipes and open lexicons

Three changes landing on recipe.exchange - two you’ll see right away, one mostly behind the scenes but important for the broader food-on-atproto story.

recipe.exchange now speaks French

Bonjour ! The whole app is now available in French - recipes, profile pages, search, the recipe wizard, etc. Switch languages from your profile settings (or just visit with a French-language browser and we’ll do the right thing by default).

This is the first stop on a longer localization journey. More languages will follow - if you’d like to help translate, get in touch.

Recipes now know their language

Every recipe on recipe.exchange can now declare the language(s) it’s written in. That sounds small, but it unlocks a lot: search results that match the language you read, recipes a friend posted in a language you understand, and a foundation for cross-language discovery tools to build on - none of which work well when every recipe just looks like an undifferentiated blob of text.

For now, untagged recipes are presumed English so language-filtered search produces sensible results out of the gate. The next time you sign in, recipe.exchange will tag your own existing recipes with your profile language automatically, so a French author’s boeuf bourguignon shows up correctly to French speakers without anyone having to re-tag by hand. You can always change the language on any recipe from the editor; new recipes you create inherit from your profile language by default.

Our lexicons are now resolvable on atproto

This last one is mostly invisible if you’re here to cook, but it matters for the broader ecosystem: recipe.exchange’s lexicons are now published in the standard way the AT Protocol Lexicon spec describes. Any developer building on atproto can discover and use our recipe, collection, and profile schemas without recipe.exchange having to sit in the middle.

This is how an open ecosystem is supposed to work - and it’s what makes the language-aware recipes above actually portable across the network. The language tag isn’t a recipe.exchange thing; it’s part of an openly-published schema anyone can consume.

If you’re curious about the plumbing:

  • DNS resolution: a TXT record at _lexicon.recipe.exchange points at our publishing DID
  • Canonical records live at at://did:plc:4cx7ts7lqgjtsfquo53qo3sz/com.atproto.lexicon.schema/exchange.recipe.{recipe,collection,profile,defs}
  • Human-readable mirrors remain at /lexicons