There are a couple of different applications for internationalized content in Django. As of now I only have used http://code.google.com/p/django-multilingual/ in my production environments, but I wonder if there are "better" solutions for my wishes.
What my staff users need is the following:
An object is being created by a staff user in any language (e.g. "de")
This object should be displayed in the german version of the website.
When a staff user translates the object into a different language (e.g. "fr"), then the page must be visible in the french version as well.
If an object is not translated in the visitor's currently selected language (e.g. "en"), then calling the objects url shall raise a 404 Error (or even better a notice that the object is only available in the languages "de" and "fr", and the visitor might be able to select one of the languages)
My staff users are working in the admin interface, so the multilingual application must support this as well.
I don't really care whether the multilingual app uses a single table with many fields (like title_en, title_de, title_fr) or a foreign key to a related table (as it is implemented in django-multlingual). I only want it to have a good admin interface and no "default" language, because some content might be available just in "de", and some other just in "fr" and "en". And the most important issue of course is compatibility with Django 1.2.x.
What are your experiences and preferred apps, and why?