I hate online translators, but out of convenience I used them. For some reason, they love to use translate incorrectly. An example is the word "computer", will almost always translate to "equipo" which is really "equipment" or "team." Just about everyone in Latin America uses the term "computadora" and in Spain it's "ordenador." I have NEVER heard anyone use the term "equipo." Maybe Google's translator has changed, but it tends to drive me nuts
http://translate.google.com/ One that I tend to use is Bing's translator
http://www.microsofttranslator.com/ because it gives usage and dictionary information. After entering "computer" to translate to Spanish, that site says
Translation
equipoDictionary
informática español ordenador masculino, Latinoamérica computadora femenino; have something on computer tener algo en el español ordenador or Latinoamérica computadora
Notice that the translation is wrong, but the dictionary is correct?
Whatever translator you use, you have to use short phrases, not long sentences or else it all goes to hell. It's better to translate "I am going to travel to Costa Rica. Are you available on Wednesday?" as opposed to "I'm going to go to Costa Rica, will you be there on Wednesday?"
Think simple phrases. Do not attempted complicated phrases or long ones.
I wouldn't buy a specific device for translation as they tend to collect dust as Icantstayaway said. Instead, use apps for iPad/iPhone or Android apps. This makes your phone/tablet a multi-tasker.
Additionally, Spanish has conjugations of verbs that don't exist in English such as the subjunctive, which is really hard to explain to a English-only speaker. Basically, it's a verb conjugation of "possibilities," and people it get confused with the conditional or the future. Whereas they use a verb conjugation, we use phrases to express doubt or uncertainty. That is, if you use the wrong conjugation, not understanding what it means, you express a completely different sentiment.
When you learn Spanish, learn phrases as opposed to words that you try to transliterate into Spanish. Transliteration is a word for word translation and they don't construct sentences the way we do in English, so the sentences you put into the translators actually transliterate, not translate.