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

Test Polylang #2284

Open
Tracked by #2231
jonathanbossenger opened this issue Mar 5, 2024 · 16 comments
Open
Tracked by #2231

Test Polylang #2284

jonathanbossenger opened this issue Mar 5, 2024 · 16 comments
Assignees

Comments

@jonathanbossenger
Copy link
Collaborator

jonathanbossenger commented Mar 5, 2024

Front-end requirements:

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

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

@cynthianorman feel free to leave your testing feedback here.

@jonathanbossenger jonathanbossenger changed the title Test Polylang for translation Test Polylang Mar 5, 2024
@cynthianorman
Copy link
Contributor

Successfully installed on Learn WordPress local dev env
https://drive.google.com/file/d/1FhK_aov9Ut8Plex77k8LbDFTWdIGs90A/view?usp=drive_link

@cynthianorman
Copy link
Contributor

@cynthianorman
Copy link
Contributor

We can select the languages we want to translate pages and posts to
https://drive.google.com/file/d/1npTZ3t9k9rWnaFMiVKHordb8YcKumMhF/view?usp=drive_link

Note that showing the flag in the front end is optional

@cynthianorman
Copy link
Contributor

@cynthianorman
Copy link
Contributor

cynthianorman commented Mar 16, 2024

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.

https://drive.google.com/file/d/1ZLAMfGTc4nOa6Cl9Wdgo5BFpZEiBf4KR/view?usp=sharing

@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Mar 26, 2024

@cynthianorman do you think you'd be able to update this issue with a summary of your findings, in a similar way as the WPML test?

Edit, I've prepared the list in the comment below, so you just need to mark off the relevant items.

This will allow me to prepare a summary comparison table of our test findings for the training team meeting on Thursday.

@jonathanbossenger
Copy link
Collaborator Author

jonathanbossenger commented Mar 26, 2024

Front-end requirements:

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

  • 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

@cynthianorman do you think you'd be able to update this issue with a summary of your findings, in a similar way as the WPML test?

Edit, I've prepared the list in the comment below, so you just need to mark off the relevant items.

This will allow me to prepare a summary comparison table of our test findings for the training team meeting on Thursday.

ok @jonathanbossenger done

@jonathanbossenger
Copy link
Collaborator Author

Perfect, thank you so much!

@jonathanbossenger
Copy link
Collaborator Author

@sebastienserre I have been testing PolyLang this week, and I have encountered a blocker that I hope you can help resolve.

Learn.WordPress.org uses Sensei LMS to manage our course content: https://wordpress.org/plugins/sensei-lms/

Sensei allows you to create course, and then create modules within the course and lessons within the modules:

localhost_8888_wp-admin_post php_post=258770 action=edit

I am then able to navigate to individual lessons, and use the PolyLang feature to create different language versions of the individual lessons successfully:

localhost_8888_wp-admin_post-new php_post_type=lesson

However, as soon as I assign the language and link the translated version of a lesson to the English one, the relationship between the module and the lesson is broken. If I navigate back to the course edit screen, the translated lesson does not appear anymore in the module.

localhost_8888_wp-admin_post php_post=258770 action=edit (1)

Are you able to assist in determining why this is happening?

@sebastienserre
Copy link

Hello @jonathanbossenger Here is a quick video where I show you What I'have found. I'm not used to use Sensei and at helpdesk we do not have so much request for this plugin, so I hope I'm matching your request.
https://www.loom.com/share/058116fd5b204318bf3d730f8c1b5b71

The "course" post meta seems to be synchronized between the same lesson in different language. This is due to a WPML compatibility because Polylang is compatible with the WPML API to understand plugin & theme compatibility made for this plugin.
WPML API in Polylang

To stop this synchronization, you can create a wp-content/polylang/wpml-config.xml file containing

<wpml-config>
    <custom-fields>
        <custom-field action="ignore">_lesson_course</custom-field>
    </custom-fields>
</wpml-config>

If some others post_meta needs to be ignored, then _lesson_course is the meta name.
https://polylang.pro/doc/the-wpml-config-xml-file/

Of course, what is done thanks to the wpml-config.xml file can also be done in PHP if the wp.org maintainers prefer.

@jonathanbossenger
Copy link
Collaborator Author

Hey @sebastienserre, no problem at all; I'm not used to PolyLang, so we're all figuring this out together. 😁

The "course" post meta seems to be synchronized between the same lesson in different language

That does seem to be correct, so I will test your suggestion and report back with my findings.

@sebastienserre
Copy link

sebastienserre commented Sep 19, 2024

The initial sync is made by the Sensei LMS wpml-config.xml available at their root https://plugins.trac.wordpress.org/browser/sensei-lms/trunk/wpml-config.xml

You can see lots of copied "custom fields" some other post metas are sync and may "break" your test. Adding some lines with ignore instead of copy should help. In case of doubts, I'm available.

Like WordPress with a child theme, Polylang will read first the plugin root wpml-config.xml file, then the parent theme one (if exists), then the child theme one, then check in mu-plugins folder and finally wp-content/polylang

@jonathanbossenger
Copy link
Collaborator Author

Hello @sebastienserre. With the suggested wpml-config.xml config in place, I am still experiencing the problem.

I have created a screen recording of what I am seeing, I hope this will help you understand what I'm experiencing.

2024-10-02.15-30-25.mp4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: In Progress
Development

No branches or pull requests

3 participants