Hi Bernhard, fyi: a similar topic was recently discussed here[0].
My point of view: I recently counted 19 packages for this purpose, six of them being actively maintained. You already mentioned that there are two ways that you can design the database layout (I argue there are three, but thats nitpicky), but there are also multiple ways to design the Python-side API. And here's the point: For each and every of the available options, there are really big disadvantages. The JOIN approach is the cleanest database-wise but has its own problems, for example it gets really messy when you want to deal with multiple languages at the same time. Also, no implementation managed to implement that without massively limiting the overall power of the ORM. The "many columns" approach is bad, because it requires migrations every time you want to change the supported languages and because it might lead to very large data sets returned by the database -- but its easier to work with multiple languages at the same time. There are also two implementations (django-nece and django-i18nfield) using a JSON-based approach which mixes some of the problems and features of the other two approaches, but you give up some lookup or filterting functionality. There is absolutely no one-size-fits-all solution here in sight, not even a works-for-90%-of-people soltion. That makes it really hard to argue for one of them to be included in Django. On DjangoCon Europe this year, I gave a talk comparing the six maintained packages [1]. In an email earlier on this list [2] you can find a very short summary of that. Unfortunately, the videos of this conferences are not yet online. You can find my slides at [3], although the Slides mostly contain the mere facts, and not the opinions expressed in the talk ;) Cheers Raphael [0] https://groups.google.com/d/msg/django-developers/6a5Bwf5KMNA/HBj-S8ypBgAJ [1] https://2017.djangocon.eu/schedule/data-internationalization-in-django/ [2] https://groups.google.com/d/msg/django-developers/6a5Bwf5KMNA/4q7HNXysBgAJ [3] https://speakerdeck.com/raphaelm/data-internationalization-in-django -- You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/django-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/20170613191025.14fade39%40kvothe. For more options, visit https://groups.google.com/d/optout.
pgpVy13lQyhfG.pgp
Description: Digitale Signatur von OpenPGP
