You can translate words and phrases between more than 60 languages using Google Translate for iOS. For most languages, you can speak your phrases and hear the corresponding translation (which, of course, you can't do on the web version).
The voice recognition is not perfect but as long as you speak slowly and clearly, the results are impressive. Unfortunately, since it relies on Google’s web service, you’ll need an internet connection to use Translate, which limits its usefulness for travellers without 3G access (or classrooms with no Wi-Fi). Still, one wonders if anyone will need to learn a foreign language in ten years from now (only joking!).