Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Testing translation plugins for learn.wordpress.org #2231

Open
3 tasks
jonathanbossenger opened this issue Feb 20, 2024 · 27 comments
Open
3 tasks

Testing translation plugins for learn.wordpress.org #2231

jonathanbossenger opened this issue Feb 20, 2024 · 27 comments
Assignees
Labels
[Type] Enhancement New feature request for the Learn website.

Comments

@jonathanbossenger
Copy link
Collaborator

jonathanbossenger commented Feb 20, 2024

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 jonathanbossenger self-assigned this Feb 20, 2024
@jonathanbossenger
Copy link
Collaborator Author

@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.

@jonathanbossenger jonathanbossenger added the [Type] Enhancement New feature request for the Learn website. label Feb 29, 2024
@bsanevans
Copy link
Contributor

Front-end requirements I can think of:

  • Language selector does not show as country flags. (Many countries speak multiple languages, so describing a language with a flag should be avoided.)
  • Languages can be changed without needing to log in to one's WordPress.org account.
  • Once a language is selected, it is applied globally.
  • Content of the selected language is shown above non-translated content.
  • English content is still shown where translations don't exist.

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.
  • A flow can be implemented where translations must be approved (reviewed) before published.
  • Sensei content types can be translated in the same way as native post types.
  • Taxonomies can be translated.
  • Translated content is indexed and searchable by Jetpack Search.

@cynthianorman
Copy link
Contributor

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

@jonathanbossenger
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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

@jennydupuy
Copy link

I can help to test Polylang.

@cynthianorman
Copy link
Contributor

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
Copy link

unprintedch commented Mar 14, 2024

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
Copy link
Contributor

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
Copy link

unprintedch commented Mar 14, 2024

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

Here are some of the wpml capabilites

  • Language selector does not show as country flags. (Many countries speak multiple languages, so describing a language with a flag should be avoided.)

  • Languages can be changed without needing to log in to one's WordPress.org account.

  • Once a language is selected, it is applied globally.

  • Content of the selected language is shown above non-translated content.
    Do you need multiple language on the same page? Or is it only on the grid?

  • English content is still shown where translations don't exist.

  • 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.

  • A flow can be implemented where translations must be approved (reviewed) before published.

  • Sensei content types can be translated in the same way as native post types.

  • Taxonomies can be translated.

  • Translated content is indexed and searchable by Jetpack Search.

I guess the big thing is the sensei compatibility

@unprintedch
Copy link

unprintedch commented Mar 15, 2024

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
Copy link
Contributor

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
Copy link

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
Copy link
Collaborator Author

@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
Copy link
Collaborator Author

@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
Copy link

@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
Copy link

@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
Copy link
Collaborator Author

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
Copy link
Collaborator Author

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

@unprintedch
Copy link

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
Copy link
Collaborator Author

Thank you @unprintedch, much appreciated.

@bsanevans
Copy link
Contributor

(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:

  • It's important to know that we essentially build a separate set of pages/posts/taxonomies and corresponding menu for each language.
  • For this reason, we would need to create the copied English page/post and designate it as French (for example) otherwise I don't believe this will work out for us. In other words, the copied English page/post would act as a placeholder until a translator would contribute the translation.

WPML:

  • There is no free version of WPML.
  • 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.
  • There is no (in our experience) other real viable alternative except polylang which is not as complete in terms of features.

TranslatePress

  • The free version doesn't allow for more than 1 language
  • The requirement "Translators do not have permission to create or publish new content" is available in the paid version.
  • If you have questions or want a paid version to test out I would be happy to help. (we can create a perpetual license, so you get updates moving forward to the paid version). The paid version is just an addon.

@bsanevans
Copy link
Contributor

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
Copy link
Contributor

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
Copy link
Contributor

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

  • Translator Accounts gives a step to verify first-time contributors. But there is no need to provide back end access for them to translate.
  • DeepL Automatic Translation + the free DeepL API allows us to slowly translate content into the major WordPress languages even if we don't have active translators. (A machine-generated translation is better than no translation.)

@jonathanbossenger
Copy link
Collaborator Author

@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
Copy link
Contributor

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
[Type] Enhancement New feature request for the Learn website.
Projects
Status: In Progress
Development

No branches or pull requests

6 participants