What to use depends on what you want to translate.
- Texts that are a part of your application, like UI etc. Then use gettext directly, or zope.i18n, which wraps gettext so it's easier to use.
- Arbitrary texts: The Google Translation API is the thing for you.
- "Content", ie things that the user of the application will modify and translate: Well... nothing, really. You have to implement that yourself.
On your description, it sounds like you are after #2.