WordPress.org

Make WordPress Core

Opened 5 weeks ago

Last modified 11 days ago

#51039 new enhancement

Enhancement: Show a prompt in dashboard to recruit more translators

Reported by: Nao Owned by:
Milestone: Awaiting Review Priority: normal
Severity: normal Version:
Component: I18N Keywords: has-patch has-screenshots needs-testing dev-feedback
Focuses: administration, ui-copy Cc:

Description

Problem: Out of 204 available locales teams, around 130 are behind by more than one major version in releasing their core language pack, and considered to be “inactive.” The common issue among them is that they don't have enough contributors to suggest and approve translations. Also, once the team becomes inactive, it's very hard to find and onboard new contributors.

In the Polyglots Team handbook, we suggest plugin authors who are looking for translators of their product to show a dismissible message in the dashboard. How about core also adopts that method for core?

  • Only show suggestions to users whose browser language is not English AND it matches one of the inactive locales (behind by more than one major version or no language pack is ever created).
  • Link to a polyglots handbook page where the new contributor can get more info (I suggest First Steps page for now)

The message could look like this:

Translate WordPress to LOCALE_NAME: It looks like you understand LOCALE_NAME. Did you know you can help translate WordPress in your language? Visit this page to get started.

After some time, polyglots global mentors can check and promote new contributors based on our GTE/Locale Manager vetting criteria and provide mentorship to help them stay active.

Attachments (6)

dashboard-message-translator.png (67.7 KB) - added by Nao 5 weeks ago.
Example of prompt for inactive locale users
Screen Shot 2020-08-26 at 11.52.52 AM.png (67.3 KB) - added by garrett-eclipse 3 weeks ago.
Concept: Apply the notice to the General Settings directly tied to the Site Language
51039.diff (1.2 KB) - added by garrett-eclipse 3 weeks ago.
Initial concept introducing the message when not en_US.
Screen Shot 2020-08-31 at 11.52.08 PM.2.png (66.0 KB) - added by garrett-eclipse 3 weeks ago.
Screen of initial implementation
Screenshot 2020-09-01 204752.png (19.3 KB) - added by pedromendonca 2 weeks ago.
User and site locales info
Screenshot 2020-09-01 204920.png (28.9 KB) - added by pedromendonca 2 weeks ago.
Locale stats and invitation to contribute to the translation

Download all attachments as: .zip

Change History (23)

@Nao
5 weeks ago

Example of prompt for inactive locale users

#1 @desrosj
5 weeks ago

  • Focuses administration added

I think this is a great idea, but I am a bit hesitant to introduce an admin notice. Especially when the recommendation to plugin authors was to include one of their own. But not sure where else it could live (maybe a Dashboard widget).

Would the notice always show (unless dismissed) for a user? Or would the notice disappear in some situations. For example, if the locale is say 95%+ translated, would it still show?

#2 @Nao
5 weeks ago

I can understand your concern about an admin notice, a Dashboard widget may not be a bad idea for this.

I think setting 95%+ threshold is okay, but at the moment the result will be the same as I originally proposed.

https://make.wordpress.org/polyglots/teams/#major-behind-one (will not see the notice)
https://make.wordpress.org/polyglots/teams/#major-behind-many (will see the notice, all is under 95%)

We could also remove the notice based on the team activity (e.g. when a GTE starts actively translating/reviewing the core project) as long as that's technically possible/optimal.

This ticket was mentioned in Slack in #polyglots by evarlese. View the logs.


4 weeks ago

@garrett-eclipse
3 weeks ago

Concept: Apply the notice to the General Settings directly tied to the Site Language

#4 follow-up: @garrett-eclipse
3 weeks ago

In general @Nao I definitely like the concept. If an admin notice is too obtrusive maybe we can tie the notice directly to the General Settings > Site Language field. Could potentially provide the % translated so admins feel a need to help finalize the translation.
Thoughts?

#5 in reply to: ↑ 4 @SergeyBiryukov
3 weeks ago

Replying to garrett-eclipse:

If an admin notice is too obtrusive maybe we can tie the notice directly to the General Settings > Site Language field. Could potentially provide the % translated so admins feel a need to help finalize the translation.

That looks great to me :)

#6 @Nao
3 weeks ago

@garrett-eclipse While I want this message to be as effective as possible, I can see it may be distractive to have it on the dashboard all the time for some people (e.g. if a user with a localized browser setting is always using WordPress in English).

My goal here is to let more people know that they can participate in translating core, so adding the new message to the setting page is deemed appropriate, then I'll be happy to see it happen there.

Adding % translated sounds good to me too.

@garrett-eclipse
3 weeks ago

Initial concept introducing the message when not en_US.

#8 @garrett-eclipse
3 weeks ago

  • Focuses ui-copy added
  • Keywords has-patch has-screenshots needs-testing dev-feedback added

I've uploaded an initial implementation in 51039.diff to introduce an info notice whenever the locale isn't an empty string (en_US).

For now I avoided the % as it would require updating the languages API to include that information which may be overkill. I also felt now that it's in a non-intrusive placement there's less point in suppressing it when we're at a translation threshold. It also means we can expand the messaging to indicate WP and plugins/themes so even translated locales realize they can still contribute.

I pointed them to translate.wordpress.org for now, but potentially could direct users to their locale's space on translate.wp.org. Also on the link I opened in a new tab and provided the accessibility text, am unsure if that's desired.

Thoughts?
P.S. Thanks for sharing @joostdevalk that's an awesome little module.

@garrett-eclipse
3 weeks ago

Screen of initial implementation

This ticket was mentioned in Slack in #polyglots by casiepa. View the logs.


2 weeks ago

#10 @pedromendonca
2 weeks ago

Hi,

I have a concept of that in the plugin Translation Tools https://wordpress.org/plugins/translation-tools/, wich adds some info below the Language Select field (site and user language) and adds a notice below the Translations section on the Updates page.

Screenshots following.

@pedromendonca
2 weeks ago

User and site locales info

@pedromendonca
2 weeks ago

Locale stats and invitation to contribute to the translation

#11 @Nao
2 weeks ago

Inviting more translators to participate in plugin/theme translation for all locales is a great idea. In the Slack message that mentioned this ticket and elsewhere, I often see plugin/theme authors struggling to find contributors for their products.

I still think we should stick with increasing the core translators only for inactive teams (even including "behind one major version" teams) since the bar for approving translation is usually higher for core and getting their first contribution rejected because of not fully understanding the style guide & glossary is not a very pleasant experience for newbies. This is not the case for inactive teams – global mentors can vet and promote them eventually.

@pedromendonca's Translation Tools plugin is indeed useful, I like the extra information about the translation package.

#12 @fierevere
2 weeks ago

After discussing with russian team, we came to another approach for this
(props: @SergeyBiryukov)

WordPress already has a core component for detecting various issues and notifying about them in a convenient unobtrusive way. Health Check
Its very extendable and can be extended to do translation health checking too.

Based on WordPress core langpack, it is fine to notify about major-behind-many issue,
and when there is 2 weeks of translation inactivity for major-behind-one.
User can be invited to translate core.

Health Check can be extended to check language packs for installed plugins and themes,
if they are not localized, or have incomplete translation - User can be invited to translate plugins and themes.

I will ask @clorith if this will be easy enough to implement.

This ticket was mentioned in Slack in #polyglots by pedromendonca. View the logs.


2 weeks ago

#14 @Clorith
2 weeks ago

I think this makes sense to add as a health check. If your site uses a non-English locale, and you have plugins, themes, or core it self, that isn't fully translated, it could lead to mixed languages on your site, which the user would of course want to avoid.

So there's a few things that came to mind instantly:

  • WordPress core, is it fully translated, yes or no question really.
  • Add an actionable item which links to the polyglots handbook on getting started with translations.

Plugins and themes, this is where there are different routes that could be taken.

Does it make sense to provide a link to the translation page for them directly if they are missing translations, or keep it neat and avoid information overload by only leaving the original action link for the handbook? A direct link to get started with translations would lower the barrier of entry, but may lead to users skipping the handbook link altogether, and missing out on important information. I believe the polyglots team would know better than I what is preferred in this case, so I defer to their judgement on what they want to expose, and how.

Likewise for translation percentage cutoffs, would you want a recommendation if it's <100%, <90%, etc. ?

This ticket was mentioned in Slack in #core-site-health by pedromendonca. View the logs.


2 weeks ago

#16 @Nao
11 days ago

@pedromendonca incorporated some translation status information to the latest version of his Translation Tools plugin.

Since having the message in the Site Health Status section allows for more space, linking to both the translation platform and documentation makes sense, as he did.

would you want a recommendation if it's <100%, <90%, etc. ?

I think it's ideal to notify locales with missing the latest major versions, rather than based on the percentage.
https://make.wordpress.org/polyglots/teams/#major-behind-one
https://make.wordpress.org/polyglots/teams/#major-behind-many
https://make.wordpress.org/polyglots/teams/#no-releases

#17 @pedromendonca
11 days ago

Thanks @Nao, I've incorporated the message in the patch that @garrett-eclipse wrote in the patch https://core.trac.wordpress.org/attachment/ticket/51039/51039.diff.

About the notifications, I think it makes sense to notify the users if its install has no translations available, wich means its Locale is not 100%, for the installed version.

Basically, notifying #major-behind-one, #major-behind-many and #no-releases is almost averyone.

The core version installed should matter. If the install is behind a major version but that major version is translated, does it make sense to notify and invite to contribute to translate a newer version?
Of course hopefuly the install should be the most recent, still, it's good to invite to translate what a user relates to. That is why I point the users to the translation project of the version the user has installed, not necessairily 'dev'.

The simplest method is just check if the installed version is complete or not (language pack date). If not, it's incomplete -> invite to complete.

Note: See TracTickets for help on using tickets.