A while ago, back when Django was in it's 1.3 version, my first serious project was http://datoz.com, a real estate information site featuring, among other things, bilingual descriptions of office spaces.
Back then I wrote about how we managed that in a quick and easy manner, with no external dependencies, essentially by creating separate fields for each language and unifying acces to them with a
from django.utils import translation
description_en = models.CharField()
description_es = models.CharField()
lang = translation.get_language()
self, 'description_%s' % lang,
Sort of quick and dirty, yeah, but back then existing apps for doing that striked me as buggy, or too big, or outright unmantained. After sharing that post on Reddit people helpfully pointed me to a couple of libraries that do a much better job, namely:
Normal.objects.language("en").all(), which I think is much neater than having the language of the query implicitly depending on the global language setting.
You should check them out!
If you liked this article, say hello on Twitter