wagtail / wagtailtrans

A Wagtail add-on for supporting multilingual sites
http://wagtailtrans.readthedocs.io/
BSD 3-Clause "New" or "Revised" License
104 stars 60 forks source link

Add upgrade hint #212

Closed allcaps closed 3 years ago

allcaps commented 3 years ago

Thanks for contributing!

Please make sure all the tests pass, before creating a pull-request.

allcaps commented 3 years ago

@Stormheg Thank you for the review, suggestions and question. I'll update the PR.

To put things into perspective....

Question: is wagtailtrans still the way to go for new Wagtail sites? It is my understanding that wagtailtrans offers features that wagtail-localize does not (not sure what features exactly, not very involved with wagtailtrans and wagtail-localize).

I think we should note in the readme that wagtail-localize is the newer, better maintained package.

Features (not complete as I'm not sure too):

Wagtail Localize is a derivative work from Wagtailtrans. An attempt to work with mixins, but never got merged back.

Relevant lines from the internationalisation RFC 54:

This RFC does not propose any solution for translation management or workflow. This would remain the responsibility of third-party modules such as wagtailtrans and wagtail-localize. [...]

Why implement internationalisation in Wagtail core?

There are a few things that are really hard/impossible to implement in a third party package: [...]

The purpose of the internationalisation in Wagtail core is to make the hard parts of internationalisation easier for thrid-party packages. Easier to hook into Wagtail. Not to replace existing packages with 'the best' third-party package. The intent is to have many third-party packages so developers can choose a translation management or workflow that is right for their project.

Wagtail Localize is the first package to work with Wagtail and seems the go-to solution. But there are others: wagtail.contrib.simple_translation and wagtail_xliff_translation work with recent Wagtails. They supply different translation management or workflows.

That WagtailTrans stopped working after the internationalisation work in core, is sad. It makes way too many projects stuck on an old version of Wagtail. I hope someone takes the effort and makes WagtailTrans recent Wagtail compatible.

We should not give advice on any package. This PR is only to help WagtailTrans projects with their upgrade path. Making WagtailTrans recent Wagtail compatible is the best solution.

If we decide to sundown WagtailTrans, or hint at that, it should be a core team decision. I think Wagtailtrans is still relevant, I hope we get many flavours of translation management.

allcaps commented 3 years ago

Yes, it does make sense. The incompatibility is what I point out in this PR in an attempt to guide our users. The linked migration guide does migrate to Wagtail Localize.

Where I wrote: "We should not give advice on any package." I should have written: "We should be careful ...". I tried to give some background to explain the intent of RFC and the possibilities of the current Wagtail.

With current Wagtail it is easy for third-party packages or custom code to hook into Wagtail and provide translation flows. Let's hope more and more translation packages will be created, so that our users can choose what works best in their project.