Falsehoods Programmers Believe About (Human) Languages - Common pitfalls in interface translation

Accepted Session
Short Form
Scheduled: Tuesday, June 20, 2017 from 4:45 – 5:30pm in B302/303


Making open source software translatable is easy, right? You just take out all the strings, put them in a translation file in your git repository, and start accepting pull requests. Simple! Well, not so fast. There’s a lot more to this than meets the eye, and if you take a quick and dirty approach you’ll end up with upset translators, complaints from users, and mysteries like “what is ١٢٬٣٤٥٬٦٧٨ and why does my code want to parse that as a number?”. Thankfully, there are open source resources and libraries that can take care of these things for you.


Many languages have interesting features that make internationalizing software more complicated than an English speaker might imagine. There are libraries for this, but to get the most out of them they have to be used correctly. In this talk, I will discuss tools and best practices for interface translation, and show you some of the interesting features of human languages that make translation complicated.



Speaking experience

I presented at Open Source Bridge in 2015 (http://opensourcebridge.org/sessions/1626 as David Chan's sidekick), 2014 (http://opensourcebridge.org/sessions/1247), and 2013 (http://opensourcebridge.org/sessions/1021), 2012 (http://opensourcebridge.org/sessions/877). I also gave a presentation at linux.conf.au 2015 (https://www.youtube.com/watch?v=mG3bTVF-EGo) and a well-received lightning talk making light of the topic of my talk at linux.conf.au 2017 (https://youtu.be/brNmfD1Lb7M?t=57m28s) and LibrePlanet 2017.