WordPress.org

Making WordPress.org

Opened 5 years ago

Last modified 6 months ago

#1664 new enhancement

Display translated projects in WP.org profiles

Reported by: SergeyBiryukov Owned by:
Milestone: Priority: high
Component: Profiles Keywords: needs-testing has-screenshots ui-feedback ux-feedback
Cc:

Description (last modified by SergeyBiryukov)

Currently, the Activity tab in WP.org profiles lists Trac tickets, make.w.org P2 posts and comments, plugin and theme commits, forum topics and replies (English only, see #129).

I think it should also display strings translated on translate.wordpress.org. Maybe not for each string, but a summary like "Translated X strings for Y project" once a day. See a potential use case in #1908.

There should also be a list of all projects the translator has contributed to.

Attachments (7)

profile_translation_panel.png (122.7 KB) - added by audrasjb 3 years ago.
html_and_css_changes.html (4.5 KB) - added by audrasjb 3 years ago.
HTML and CSS changes
complete_sample_mockup.zip (489.6 KB) - added by audrasjb 3 years ago.
Complete mockup FYI
screenshot.png (78.5 KB) - added by audrasjb 3 years ago.
Final screenshot of my patch
screenshot-2.png (364.4 KB) - added by audrasjb 3 years ago.
Screenshot-2
complete_mockup.zip (817.5 KB) - added by audrasjb 3 years ago.
Complete HTML mockup - 2
html_and_css_changes.2.html (5.8 KB) - added by audrasjb 3 years ago.
HTML and CSS changes - 2

Download all attachments as: .zip

Change History (71)

This ticket was mentioned in Slack in #glotpress by sergey. View the logs.


4 years ago

#2 @SergeyBiryukov
4 years ago

There should also be a list of projects the user has contributed translations for, either in GlotPress or in WP.org profile.

Related: #1908

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


4 years ago

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


4 years ago

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


4 years ago

This ticket was mentioned in Slack in #glotpress by sergey. View the logs.


4 years ago

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


4 years ago

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


3 years ago

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


3 years ago

#11 follow-up: @audrasjb
3 years ago

Hi @SergeyBiryukov , great idea.

However, I suppose that displaying a full list of translated string in activity feed would become very noisy since many profiles are translating a huge quantity of strings each week…

What about create a new Translations panel with a list of projects the profile is involved on ?

I worked on a draft, here is a screenshot of what I managed to do (it's only static HTML content for the moment).
How about this idea Sergey? It's up to you :)

If you are ok with this draft general idea I can prepare HTML markup and start to work on data since I managed this kind of stuff on WPTD3's website :)

#12 in reply to: ↑ 11 @SergeyBiryukov
3 years ago

Replying to audrasjb:

However, I suppose that displaying a full list of translated string in activity feed would become very noisy since many profiles are translating a huge quantity of strings each week…

Yeah, I was thinking of that as well. Some kind of activity logs would still be helpful though, maybe not for each string, but a summary like "Translated X strings for Y project" once a day. See a potential use case in #1908.

What about create a new Translations panel with a list of projects the profile is involved on ?

The mockup looks great to me.

Last edited 3 years ago by SergeyBiryukov (previous) (diff)

#13 follow-up: @audrasjb
3 years ago

Great Sergey, and thanks.

However I guess I was moving a little too fast: profiles are not open-sourced yet, so I can’t do any real patch.

I keep my HTML code aside for later, if need more anything at this stage do not hesitate to ask me.

Last edited 3 years ago by audrasjb (previous) (diff)

#14 in reply to: ↑ 13 ; follow-up: @SergeyBiryukov
3 years ago

Replying to audrasjb:

I keep my HTML code aside for later, if need more anything at this stage do not hesitate to ask me.

If you attach the HTML mockup here, we could use it later when Profiles are open-sourced, or when someone from the dotorg team has a chance to implement it.

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


3 years ago

#16 @SergeyBiryukov
3 years ago

  • Summary changed from Display translated strings in profile activity to Display translated projects in WP.org profiles

@audrasjb
3 years ago

HTML and CSS changes

@audrasjb
3 years ago

Complete mockup FYI

@audrasjb
3 years ago

Final screenshot of my patch

#17 follow-up: @audrasjb
3 years ago

  • Keywords has-patch needs-testing added

Hi there,

I uploaded 3 new attachments :
html_and_css_changes.html is the list of the new things I added/edited in HTML/CSS template
complete_sample_mockup.zip is a zip file with a HTML mockup you can view in your browser to see my work
screenshot.png : final rendering

Feel free to ask me anything :)
Maybe I can help for the PHP stuff too, but since Profiles are not open-sourced yet, I dont know how…

Jb

Last edited 3 years ago by audrasjb (previous) (diff)

#18 @audrasjb
3 years ago

  • Keywords has-screenshots added

#19 in reply to: ↑ 14 ; follow-up: @audrasjb
3 years ago

Replying to SergeyBiryukov:

or when someone from the dotorg team has a chance to implement it.

@SergeyBiryukov Where can I know who are component mainteners for dotorg Profiles?

#20 in reply to: ↑ 19 @SergeyBiryukov
3 years ago

Replying to audrasjb:

@SergeyBiryukov Where can I know who are component mainteners for dotorg Profiles?

@coffee2code, I think :)

#21 @fierevere
3 years ago

It will be nice to see not only assigned projects in profile,
but last active projects and activity time at least, like in "Activity" tab,
but it should be uncluttered from other activities if possible.

Last edited 3 years ago by fierevere (previous) (diff)

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


3 years ago

#23 in reply to: ↑ 17 @tobifjellner
3 years ago

Replying to audrasjb:

A couple of hitngs seem to be missing in your mockup: A PTE role is specific for a locale in combination with a project (or a category, such as "themes" or "plugins").
So, the PTE status needs to mention language (or rather locale).
And one would need a nice way to show that someone is the PTE for any plugin within a locale.

#24 @audrasjb
3 years ago

  • Keywords needs-refresh added

@tobifjellner @fierevere

Great ideas, thanks!
I'm currently working on a new HTML workaround to integrate these features in this new Translation tab. I'll submit here in a couple of days.

Cheers,
Jb

#25 @audrasjb
3 years ago

Heya,
Here is another workaround for this ticket. The following attachments are coming:

  • Add locale indication for each project
  • Add indication for "general PTEs"
  • Add last activity listing

Attachments:

  • Screenshot-2
  • Zip file with my HTML mockups
  • HTML and CSS changes in a separated file

Hope it will cover all the previous requests :)

Cheers,
Jb

@audrasjb
3 years ago

Screenshot-2

@audrasjb
3 years ago

Complete HTML mockup - 2

@audrasjb
3 years ago

HTML and CSS changes - 2

#26 @fierevere
3 years ago

Screenshot-2 - looks very good for me.

#27 @audrasjb
3 years ago

  • Keywords ui-feedback ux-feedback added; needs-refresh removed

This ticket was mentioned in Slack in #meta by audrasjb. View the logs.


3 years ago

This ticket was mentioned in Slack in #meta by audrasjb. View the logs.


3 years ago

#30 @tellyworth
3 years ago

  • Priority changed from normal to high

#31 @ocean90
3 years ago

  • Keywords has-patch removed

I'm pretty sure that the page can be simplified a lot so it's better scalable. There is no need for displaying thumbnails, the name and a link should be enough. The activity stuff should get merged with the existing Activity tab. Instead of having one line for each "is a PTE for $something in $locale", why not combining them into one sentence?

#32 @audrasjb
3 years ago

Many thanks @ocean90 ! I'll work on a new mockup very soon!
You're alright.

#33 @fierevere
3 years ago

I think translation activity should be on a separate tab for GTE's convenience, otherwise Activity filters should be present to easily find translation activities among others

#34 @SergeyBiryukov
3 years ago

  • Description modified (diff)

#35 @ocean90
3 years ago

#2315 was marked as a duplicate.

#36 @BArS
2 years ago

Great idea, it will be very usefull for us.

#37 @obenland
2 years ago

  • Type changed from defect to enhancement

#38 @Otshelnik-Fm
20 months ago

still alive idea? +++

#39 @BArS
19 months ago

Still no changes?

#40 @seredniy
14 months ago

I need this feature!

#41 @dd32
7 months ago

r15893-dotorg

Profiles: Add a Translations section to WordPress.org profiles which lists their GTE/PTE status for each section of translate.w.org.

This is only for PTE/GTE status, not for individual translation contributions.

See https://meta.trac.wordpress.org/ticket/1664.

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


7 months ago

#43 follow-up: @tobifjellner
7 months ago

The list of editor roles is a great start.
Regarding "Translation activity": Of course, it'd may be really nice (but perhaps too noisy) to list information about every string translated.

But what we (as in "polyglots") really need is a way to find a specific user's contributions. Once I know what plugins/themes/other projects a user has touched, I can simply open that project and find the strings. (There's no need to split between various sub-projects – If we know which plugin, then we'll easily find strings in dev, stable, readme anyway, for instance)

So enough information would be:
Contributed string translations for sv_SE in:
WordPress Core 5.3, WordPress Core 5.4
WooCommerce, Akismet
TwentyTwenty, OceanWP
(Perhaps each item also nicely linked to the corresponding page where we can find more details...)

#44 follow-up: @casiepa
7 months ago

@dd32 Hovering over a plugin name in https://profiles.wordpress.org/casiepa/#content-translations , I see a double slash at the end https://wordpress.org/plugins/bbpress//

#45 in reply to: ↑ 44 @dd32
7 months ago

Replying to casiepa:

Hovering over a plugin name in https://profiles.wordpress.org/casiepa/#content-translations , I see a double slash at the end https://wordpress.org/plugins/bbpress//

Thanks! I went through slashing a bunch of the urls, and double slashed a few accidentally. Fixed now.

#46 in reply to: ↑ 43 ; follow-up: @dd32
7 months ago

Replying to tobifjellner:

But what we (as in "polyglots") really need is a way to find a specific user's contributions. Once I know what plugins/themes/other projects a user has touched, I can simply open that project and find the strings. (There's no need to split between various sub-projects – If we know which plugin, then we'll easily find strings in dev, stable, readme anyway, for instance)

One of the problems I've found there is that the list is HUGE for many people, hundreds of projects even. Even PTE's can have quite a few..
But the largest problem is that we don't actually store the data in a way that can be queried, which is why it's not included on the translations tab yet.

I was thinking about it yesterday, and I think I've come up with a way to track it, and also to get Profile Activity entries for translations.
Basically, a new table consisting of (user, project, locale, date) so we can find which projects a user has contributed to, and when. The when is important, the first time they'll get a Started Translating x activity item, and every month after that they get a Contributed more translations for x item.

The other option for Activity would be a "Strings Contributed to x" activity item in every hour that they contribute instead. That way it's not every-string message, but rather every-hour-per-project.

Last edited 7 months ago by dd32 (previous) (diff)

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


7 months ago

#48 @dd32
7 months ago

In 9710:

Translate: Include a user identifier as a linkable id.

See #1664.

#49 @dd32
7 months ago

r9709:

Translate, Project Stats: Store projects that a user translates, for display in profiles.

This doesn't store the actual project, but rather the "parent" project we're most interested in. Ie. 'wp-plugins/hello-dolly' rather than 'wp-plugins/hello-dolly/stable'

See https://meta.trac.wordpress.org/ticket/1664.

#50 @dd32
7 months ago

r15902-dotorg:

Profiles: Display translated projects on user profiles.

Please note: The data hasn't been fully backfilled yet.

See #1664.
  • some examples.. dd32 caiepa nao and finally one which this might be more sane for, a randomly selected user with 15 translations: webgode.
  • I've backfilled those profiles with any projects where my translation wasn't obsoleted, the number was almost doubled when I included obsolete strings.
  • I've not broken it out into "groups" of data there, just a whole big blob of translated projects.
Version 0, edited 7 months ago by dd32 (next)

#51 in reply to: ↑ 46 ; follow-up: @SergeyBiryukov
7 months ago

Replying to dd32:

Replying to tobifjellner:

But what we (as in "polyglots") really need is a way to find a specific user's contributions. Once I know what plugins/themes/other projects a user has touched, I can simply open that project and find the strings. (There's no need to split between various sub-projects – If we know which plugin, then we'll easily find strings in dev, stable, readme anyway, for instance)

One of the problems I've found there is that the list is HUGE for many people, hundreds of projects even. Even PTE's can have quite a few..

Related: #1908. Might be worth revisiting?

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


7 months ago

#53 follow-up: @casiepa
7 months ago

@dd32 I see you write 'PLUGINS Translation Editor' in the headers. I suppose you mean 'PROJECT Translation Editor' ? See e.g. https://profiles.wordpress.org/fxbenard/#content-translations

This ticket was mentioned in Slack in #meta by tellyworth. View the logs.


7 months ago

#55 in reply to: ↑ 53 @dd32
7 months ago

Replying to casiepa:

I see you write 'PLUGINS Translation Editor' in the headers. I suppose you mean 'PROJECT Translation Editor' ? See e.g. https://profiles.wordpress.org/fxbenard/#content-translations

Yep, that's a bug - There's some funky grouping going on here to break it out as almost every translation editor has a different mix of capabilities.. due to that, the titles are also generated through string concatenation.

Normally, the header is Plugins Translation Editor and lists all the plugins under it that they have access to, and then there's Themes Translation Editor for themes. But some locales add PTE's to all plugins or all themes rather than individual items (which makes sense) and as a result this bad phrasing pops up..

Project Translation Editor makes as much sense here as anything else I can think of, so I'll make it say that.

In r15903-dotorg

Profiles: When a PTE has all-plugins or all-themes PTE status, make it read 'Project Translation Editor' as a generic title.

Props casiepa.
See https://meta.trac.wordpress.org/ticket/1664.

#56 in reply to: ↑ 51 @dd32
7 months ago

Replying to SergeyBiryukov:

Replying to dd32:

One of the problems I've found there is that the list is HUGE for many people, hundreds of projects even. Even PTE's can have quite a few..

Related: #1908. Might be worth revisiting?

That sounds useful, but really isn't something that can easily be done on translate.wordpress.org without upstream changes IMHO.

#57 @dd32
7 months ago

I've backfilled those profiles with any projects where the translation wasn't obsoleted, the number was almost doubled when I included obsolete strings.

Backfilled for all users, all users should have the Translation Contributions on their profiles now.

The one thing not yet done here is a Profile Activity Item for translations.
Any opinions from others on what should appear for that?

  1. The first time they'll get a Started Translating x activity item, and every month after that they get a Contributed more translations for x item.
  2. The other option for Activity would be a Strings Contributed to x activity item in every hour that they contribute instead. That way it's not every-string message, but rather every-hour-per-project.
  3. Something else entirely

#58 @tobifjellner
7 months ago

A typical scenario for a GTE is to once in a while walk through new strings and check them. Especially: When a plugin/theme is updated, you often get some fuzzy strings, to it's not uncommon to check/fix 2-5 strings for 5-10 projects at once. I'm a bit concerned that this functionality shouldn't become too chatty. Something like:
"Contributed n strings to the following projects: Akismet, Hello Dolly, WooCommerce, Twenty Twenty."
If it's condensed like that, then once an hour might be ok.

#59 @Nao
7 months ago

Do a user get plugins listed once they contribute one string to a project?
Personally, if I did a few fixes while reviewing, I don't need to see it on my list. Contributors who contribute a handful of translations may not care enough either (unless the project has very few strings).

I agree with @tobifjellner that the list can get long for GTEs, so it doesn't have to be too detailed - at least on the profile page.

Checking every hour is not a must either - a few times a day is ok to me.

#60 @dd32
7 months ago

Do a user get plugins listed once they contribute one string to a project?

Unfortunately yes. There's only so much that we can do on the logic for when to show it.

We could definitely put a lower limit on it, such as "must have 5 strings contributed to this project in this locale".
That'd help in my case, where I've contributed 1 or 2 strings in quite a few languages when we corrected a typo in an original string.

#61 @dd32
7 months ago

After crunching some numbers, I'm going to implement a threshold of 5 strings in a project in a specific locale before the project gets listed on profiles.

The number of users who have <5 strings in any given project + locale is not insignificant, but neither is the number of 5+ strings, it seems like a pretty good cutoff when looking at the curve of contributions.

#62 @dd32
7 months ago

In 9724:

Translate: Only include a project in a users translated list if they hace contributed more than 5 strings to the project.

See #1664.

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


7 months ago

#64 @dd32
6 months ago

In 9755:

Translate: Fix a variable typo in the user stats.

See #1664.

Note: See TracTickets for help on using tickets.