Android/iOS: If you are travelling and can't speak the local language, having Translate (by Translate.com) on your phone might bail you out. The app gives you easy translations using text, voice or camera and works with a wide variety of languages.
Just write the text or speak into your phone and choose the appropriate language for input. Translate.com can then read out what appears on screen in the other language, which you can play back for the other person. It works the other way around too, although Translate's support for voice input is restricted; it didn't support Hindi and Italian, for instance, although English, French and Spanish are fine.
The cool part, though, is that you can click a photograph and submit it to the community to get an answer on what something means. Unfortunately, Translate needs you to login with Facebook for this, which can be a problem for some. Once you do log in, you can submit your photo (or voice or text) and ask the community for a translation in the comments box. I submitted one translation and got one, the latter of which held up (I tested a Hindi phrase whose answer I already knew).
Translate also has a dictionary and thesaurus built in for additional word references.
Translate (Free) [iTunes App Store]