====== Internationalisation is harder than you think ====== Making your software work in different languages isn't easy. Visiting Madrid in April 2014, I tried to buy a ticket at Sol station for a Madrid commuter train, Renfe Cercanías. OK, so the ticket machine's initial display is in Spanish, and my Spanish is pretty much non-existent. But look! There's a helpful button that looks like you can change the interface language. {{:other:mad1.jpg?600|Initial screen}} Let's see if it does English. {{:other:mad2.jpg?600|Initial screen in English}} Well, almost. It would have helped if it had translated the ticket types too. Never mind, let's take a stab at Adulto Ida meaning Adult One-way. {{:other:mad3.jpg?600|Choose destination}} Right, we're obviously choosing the destination here. Thanks to Google, I now know that the screen title and button labels have switched to Basque. Never mind, choose a destination. {{:other:mad4.jpg?600|How many tickets?}} OK, we're still in Basque at the 'How many tickets' screen. Can I switch it back to English? {{:other:mad5.jpg?600|How many tickets? in English}} Yes, I can. At this point I must admit I was looking for instruction on what to do next. Eventually I figured out the machine was waiting for me to deposit money. I'd like a receipt. I can't see how to get one. Is it possible? {{:other:mad6.jpg?600|Printing tickets}} So now the machine is printing the tickets. Even if I couldn't hear printing noises inside, my French is well up to the task of translating 'Printing your tickets in progress'. {{:other:mad7.jpg?600|Thanks and goodbye}} 'Take your tickets, and thanks for travelling with us.' I think this is an interesting approach to internationalisation. Force your users to expand their knowledge of other languages. The Australian Federal Government once tried a [[http://en.wikipedia.org/wiki/Immigration_Restriction_Act_1901|similar approach]].