You will not find any package that can automatically translate a text gramatically correct. Computers simply can't understand text well enough to translate it.
The main problem with automatic translation is understanding the text that is translated, the actual translation part is trivial in comparison and could be done by a computer.
Take for example a simple sentence like "When the going gets tough, the tough gets going.". It has ambigous words, implicit references and cultural undertones, which is very hard to write an algorithm for deciphering.
I once read about a project of developing an independent, unambigous intermediate translation language, which sounded promising. You could translate your text (partly manually) to this intermediate language, which then could be automatically translated into any language. I haven't heard anything more about it, though...