The best (free) one I've seen is Intertan
but even then it's not particularly great.
I don't know about any translators you have to buy, but I doubt there's any that are all that accurate. Your best bet is to learn a bit about the grammar of a language and then just use the translator as a dictionary.
edited 14th Oct '10 4:29:17 PM by Lasty