WordPress / Learn

WordPress.org Learn - The canonical source for the code and content behind https://learn.WordPress.org
242 stars 87 forks source link

Testing translation plugins for learn.wordpress.org #2231

Open jonathanbossenger opened 5 months ago

jonathanbossenger commented 5 months ago

As our work progresses on the Learning Pathways on Learn WordPress project, the training team would like to determine a method to manage localized content translation, which is one of our 2024 team goals.

@Piyopiyo-Kitsune kicked off this effort with a discussion post on the training team site, asking the team for their suggestions for translation plugin solutions.

Out of that discussion, the following plugins have been identified as possible solutions:

We also identified a backup option:

This issue serves to track the testing of these plugins using the learn.wordpress.org local development environment, both to determine requirements for testing, and to provide feedback on the testing process.

Individual testing issues (to be created and assigned)

jonathanbossenger commented 5 months ago

@Piyopiyo-Kitsune @bsanevans @lada7042 I will raise this in the next dev-squad session on Thursday. In the meantime, it would be good if we could gather a list of requirements that we should test for. Any requirements you, or the rest of the team can share would be greatly appreciated.

bsanevans commented 4 months ago

Front-end requirements I can think of:

Back-end requirements I can think of:

cynthianorman commented 4 months ago

I use Polylang in my website builds for clients so I can help with testing

jonathanbossenger commented 4 months ago

Thank you @cynthianorman I will assign you to the ticket and make a note in the description.

If no one else is available, I will also try and test one of these options.

jonathanbossenger commented 4 months ago

Updating to note that I will be testing TranslatePress next week.

jennydupuy commented 4 months ago

I can help to test Polylang.

cynthianorman commented 4 months ago

Hi @jonathanbossenger or anyone who can assist. Do you have a suggestion on setting up a testing environment for the Polylang plugin? I was expecting the new learn redesign site to be on a testing site with the ability to install the plugin. Also, they have a Pro version. Do we have access to this license or plans to purchase? https://polylang.pro/downloads/polylang-pro/

I think I should add, I'm just now getting myself up to speed with the build of the new Learn site. I assumed it was going to be built using a block theme. Is there an issue on GitHub tracking the build? If we are using the current classic theme then I already have that set up on my local machine so I can test Polylang that way.

unprintedch commented 4 months ago

Back-end requirements I can think of:

  • Translators do not have permission to create or publish new content.
  • Translators have permission to both translate any content, and review content translated by others.

If all this is mandatory, there is no other solution than WPML. Polylang does not have any translator management system. It is still possible to achieve, but with other solutions like custom code or another user role plugin.

cynthianorman commented 4 months ago

Back-end requirements I can think of:

  • Translators do not have permission to create or publish new content.
  • Translators have permission to both translate any content, and review content translated by others.

If all this is mandatory, there is no other solution than WPML. Polylang does not have any translator management system.

Since I'm looking to test Polylang. I just want to be clear here. I automatically think of managing translators with the use of WordPress roles in which may need to be further evaluated.

unprintedch commented 4 months ago

I can take care of the testing of wpml. (even if i would recommend polylang.)

Here are some of the wpml capabilites

I guess the big thing is the sensei compatibility

unprintedch commented 4 months ago

Another thought, I heard that multilingual will be in the core. Why don't just keep a custom taxonomy and duplicate posts? I know it sounds strange, but we could make a filter with this taxonomy and other adjustment, and it could fill the gap until we have an official solution? And it is the way it seems to be in the testing local env?

bsanevans commented 4 months ago

Thanks for testing WPML for the team, @unprintedch πŸ™Œ

It is still possible to achieve, but with other solutions like custom code or another user role plugin.

https://learn.wordpress.org/ already has a number of custom user roles active on the site. While a solution that doesn't need custom work would be ideal, adding the needed functionality is also an option we can consider.

Another thought, I heard that multilingual will be in the core. Why don't just keep a custom taxonomy and duplicate posts?

That's exactly what we have right now πŸ˜„ The team is experiencing a number of challenges with this method right now, one of those being the complexity of tracking and managing many locales in GitHub and Google docs. As the core multilingual implementation seems to be still a few years away, we're hoping to move to a more robust translation system to fill that period.

unprintedch commented 4 months ago

Hey

https://learn.wordpress.org/ already has a number of custom user roles active on the site. While a solution that doesn't need custom work would be ideal, adding the needed functionality is also an option we can consider.

I'll keep that in mind

The team is experiencing a number of challenges with this method right now, one of those being the complexity of tracking and managing many locales in GitHub and Google docs.

Could we have examples where are the pain points, Maybe a live chat?

As the core multilingual implementation seems to be still a few years away, we're hoping to move to a more robust translation system to fill that period.

That hurts, it is so important to me! My life could be so much better with a nice solution in core.

In short, the fact is that WPML is rather complete in terms of functionality. BUT! It adds much complexity and is sometime capricious, prompt to bugs and leads to frustration. I would really take this decision after testing deeply.

About that, could you point me to a very complete lesson that i could use to test?

jonathanbossenger commented 4 months ago

@cynthianorman

Do you have a suggestion on setting up a testing environment for the Polylang plugin? I was expecting the new learn redesign site to be on a testing site with the ability to install the plugin.

How I planned to do this was to install Polylang as a plugin on our Learn WordPress local development environment, copy one of the current live courses (maybe one of the theme developer courses) from Learn WordPress to the local environment, and test that way.

Also, they have a Pro version. Do we have access to this license or plans to purchase? https://polylang.pro/downloads/polylang-pro/

Installing Pro versions of plugins might not be possible, but it might be worthwhile mentioning the features that the pro version has as part of your feedback.

I think I should add, I'm just now getting myself up to speed with the build of the new Learn site. I assumed it was going to be built using a block theme. Is there an issue on GitHub tracking the build? If we are using the current classic theme then I already have that set up on my local machine so I can test Polylang that way.

That process hasn't started yet, and will likely only start once the designs are completed.

jonathanbossenger commented 4 months ago

@unprintedch

About that, could you point me to a very complete lesson that i could use to test?

At the moment, could I confirm, do you have the local development environment for learn set up?

If you do, then you are able to create courses and lessons locally, to test with those.

Currently lessons are mostly just an embedded youtube video, and content. Some lessons might have quizzes at the end of them which you can also create locally.

unprintedch commented 4 months ago

@unprintedch

At the moment, could I confirm, do you have the local development environment for learn set up?

Yes, thanks to you, it was painful but I finally got the all thing working

If you do, then you are able to create courses and lessons locally, to test with those. Currently lessons are mostly just an embedded youtube video, and content. Some lessons might have quizzes at the end of them which you can also create locally.

Ok i guess the quiz are the thing to test?

unprintedch commented 4 months ago

@jonathanbossenger when you say: Installing Pro versions of plugins might not be possible, but it might be worthwhile mentioning the features that the pro version has as part of your feedback.

Is a deal breaker for WPML. There is no free version.

jonathanbossenger commented 4 months ago
Is a deal breaker for WPML. There is no free version.

I will add this to this week's meeting agenda, I'm not sure what the next step would be there.

jonathanbossenger commented 4 months ago

@unprintedch could I also ask that you copy your WPML specific feedback to the Test WPML GitHub issue. Thanks

unprintedch commented 4 months ago

I did i little summary there, tell me if you need some specific answers. Confirm to me if the "nothing is free" is an issue. If not I'll will gladly test it deeply.

jonathanbossenger commented 3 months ago

Thank you @unprintedch, much appreciated.

bsanevans commented 3 months ago

(I'm moving Jonathan's comment here so we can keep discussing next steps on this issue.)

The following plugins were tested by the following contributors

Here is a breakdown of the requirements tested

Requirement Polylang WPML TranslatePress
Language selector does not show as country flags. x x x
Languages can be changed without needing to log in to one's WordPress.org account. x x x
Once a language is selected, it is applied globally. x x x
Content of the selected language is shown above non-translated content. x
English content is still shown where translations don't exist. x x x
Translators do not have permission to create or publish new content. x x x
Translators have permission to both translate any content, and review content translated by others. x x x
A flow can be implemented where translations must be approved (reviewed) before published. x x
Sensei content types can be translated in the same way as native post types. x x
Taxonomies can be translated. x x x
Translated content is indexed and searchable by Jetpack Search. x needs deeper testing needs deeper testing

General note on Jetpack Search: If it's a external index like the Google search that's found on other parts of wordpress.org, it might work. If it relies on WordPress internally for querying content and sending it to Jetpack servers, it might not. We can only really test this on the live site.

Additional notes from testers (see linked tickets for testing notes):

Polylang:

WPML:

TranslatePress

bsanevans commented 3 months ago

The team would like to prioritize using GPL compliant plugins. So, let’s focus on the research reports for Polylang and TranslatePress. What are folks' thoughts?

Please leave thoughts below. Let's wrap up this discussion by April 5th so we can then work with the Meta Team to get this installed on Learn.

digitalchild commented 3 months ago

I've been using TranslatePress on my sites for years. Yes you do need a pro version for multiple language support, but it's extremely lightweight, and the translations move no matter the design. Meaning when we update the site design, as long as the strings are the same, translations do not need to be updated.

bsanevans commented 3 months ago

I'm liking the looks of TranslatePress (Pro with add-ons) for two reasons:

jonathanbossenger commented 3 months ago

@bsanevans I wonder if now would be a good time to connect with the Meta team and find out what the possibility is of installing TranslatePress and it's Pro add-on? I'd hate to do further testing, only to find out it's not possible to use.

bsanevans commented 3 months ago

I have a call with Meta folks about the site redesign next week. I'll bring it up then πŸ“

bsanevans commented 2 months ago

We've started the process of testing TranslatePress in https://github.com/WordPress/Learn/issues/2445