That really depends on what you want to do with it.
We are using both dbgettext with Rosetta and transmeta in our application.
Transmeta creates extra database fields with _en and _es (or other language-codes). You then edit the fields in django admin, like regular fields. It is an easy way to create a multi-lingual application. However the problem with it is when you want external translators to edit the fields, the django admin interface is not good. You wouldn't want them to login and edit there.
The best thing about using dbgettext and Rosetta is that you can send the PO files to translators and they can use there regular software to do the translations. Then you can just import the po file in the project. You can then use rosetta to handle updates thereafter.
So in summary, either is good as long as you are doing the translations yourself or you are doing it as you go along, however if you have alot of translations that need to be translated at once, Rosetta and dbgettext is probably a better solution.
Regards,
Andréas