Books, CDs, flashcards, classes -- there are a lot of tools to help you learn a foreign language. If you spend much of your time near a computer, software may be one of the better options. Ian McIntosh's Amigo is a friendly language utility for the Linux user, notable for how well it integrates into the desktop.
There are several flashcard-like vocabulary training applications for Linux, both for KDE and for GNOME. They are undeniably useful, but they also require a dedicated study session. Where Amigo differs is that it runs in the background while you do other things. An icon in the notification area is the only sign that Amigo is awake and paying attention. But whenever you highlight a word in any application -- Firefox, an editor, your email or IM client -- Amigo looks it up in its dictionary. If it finds a match, the definition and root word pop up in a small notification window.
The idea is that you can read in the language you are trying to learn, and when you run across a troublesome word, you can look it up instantly and unobtrusively, regardless of the application you are in. You can also look up words directly in Amigo's dictionary by clicking on the notification area icon. The word entries contain the definition and alternate forms, which makes the system a useful aid for writing in the second language as well as reading.
McIntosh released Amigo to the world in June, having employed it privately while living in Argentina. The existing software dictionaries were slow and limited -- typically only the base form of any given word -- so he wrote his own. Right now it knows only Spanish (as the name suggests), but adding support for additional languages should be a simple task. McIntosh says users have expressed interest in adding German and Brazilian Portuguese to the supported languages, but that there is no road map for the next release. If you'd like to help out, visit the Amigo page to contact him for instructions.
You can download the latest release from the project page. It is a tarball, which you can extract to any location on your system. The package requires Ruby, SQLite, and the typical roster of GTK+ and GNOME libraries -- any current GNOME environment should suffice.
Start things up by typing ./amigo.rb & from within the extracted Amigo directory. A Spanish flag will appear in the GNOME panel's notification area, indicating that the app is running. Now, whenever you highlight a Spanish word, a notification box will pop into view. You can click on the flag icon to look up a dictionary word manually.
Obviously, if you don't spend any time around Spanish words, the program won't be of much use, so if you really want to dive in head first, trying changing your system language to Spanish when you log in. Then you'll see just how much you really know.
That's all there is to Amigo -- straightforward assistance available while you work -- but that's why I like it. It blends into the background, appearing only when you actually need it. If you need to translate complete sentences or paragraphs in a language that you don't understand, online translation sites are your best bet. But as you get familiar in the second language, it is individual words that trip you up as you read. By not forcing you to switch contexts and applications, Amigo keeps your attention focused on the task at hand.