Hi, sorry for getting late to this discussion.
I'm not an expert here, but I've been using modeltranslations lately, and it's very easy to use
(at least considering basic usage): just register the model in translation.py and you get
translated fields without editing models.
The bad thing is that now you need migrations, and that's why I would like to use hvad/parler:
avoid a migration for every change to LANGUAGES.
Due to this "problem" I tried switching my project to both hvad and parler, but they require
you to define translated fields directly in models, so if you want to translate product title,
you have to override "title" attribute in Product class but you cannot do this using
AbstractProduct, so you are forced to copy whole Product model over to your project,
and do this for all models that need to be translated.
This is quite annoying as a "standard" way to add a translation.
Moreover, since most of oscar codebase is not translation-aware, and hvad/parler don't load
translations by default in querysets, you can either:
- fork/override each line of code that references translated field and ensure translations
have been loaded (this is the main "more and more" i was talking about)
- override at least default manager for every translated model (less tedious, but a potentially
huge performance hit)
To be honest I'm not 100% sure about what I wrote, maybe there's a way to make a field
translatable with hvad/parler with same name of regular field, and I just didn't find it before
getting tired, since modeltranslation was already working for me, and I had other topics to
address before going any further.
Dealing with forms/admin is quite similar for both approaches , some hassle is required,
but definitely quite easy for both (at least for basic operations, attribute values is not one
of them).
In the end if you plan to include some multilingual support in Oscar, I think using hvad/parler
is better along with putting some translation-loading logic into oscar core for basic performance
management. On the other hand if you only want to give some advice on translating a project
based on oscar, i think modeltranslation is easier to use (manage.py oscar_fork_app, write
translations.py).
Hope it helps.