I’m always on the lookout for software development solutions that are smart, disruptive, novel, and that challenge assumptions to solve a business problem. I recently attended an SF Globalization meetup event in San Francisco hosted by Airbnb. There, I saw localization (and UX) convention stood on its head by something anyone working in developer relations would be proud to evangelize about. It was a great event, dinner was provided for free, and I learned how Airbnb built international product. It was a story told with honest and candid insight by a multi-skilled team. Very refreshing views were heard, far too many to go into now.
The Airbnb engineering team used Rails, instrumenting a t() (translate) helper method as the foundation of an infrastructure to deliver quality translations. The responses to audience questions, especially to the one if Airbnb used a translation memory, “We use a normal SQL database….”, made me smile. I was immediately reading up more about the Rails i18n module.
The t() solution was built to meet a need and to suit the Airbnb business model. It handles plurals, context, locale changes, and so on.
Here’s the t() method process overview:
Here’s how the tool provides context for translators, using screen shots:
It’s good for handling singular and plural and other language semantics, too:
And of course, where would user experience be without enabling locale specifics:
The event also revealed that Airbnb relied on community translation and Google Translate as a bootstrap translation tool, that’s another day’s blog. I am indebted to the Airbnb team for the use of these images here. I cannot share all the slides shown in the meetup, but you can read more about the t() method and how it took Airbnb into the Japanese market.
If you see Airbnb on the agenda at localization or UX industry events, check it out. Inspiring stuff. And, they must be doing something right, as they’re poised to become the world’s biggest hotelier…