WordPress.org

Making WordPress.org

Opened 4 years ago

Closed 3 years ago

#1259 closed enhancement (fixed)

List all available translations on plugin pages

Reported by: johnbillion Owned by: ocean90
Milestone: Priority: normal
Component: Plugin Directory Keywords:
Cc:

Description

My User Switching plugin has 100% translations for 19 languages, but only 5 of them are shown under the Translations section that's added to the bottom of the plugin's page on wordpress.org. There's a "and 14 other languages" text which is of no use to anyone.

I think all available translations should be listed here to help users who are searching for plugins but who are not using their localised plugin directory.

Note that my plugin includes the full list in its readme file, including the native and English name for each translation.

This probably applies to themes in the theme directory too.

Attachments (4)

langlist.png (40.4 KB) - added by Otto42 4 years ago.
Example of size of Akismet's list
appstore.png (92.7 KB) - added by ocean90 4 years ago.
Another example from Apple's App Store, localized, German
plugin_translations.png (22.6 KB) - added by ramiy 4 years ago.
The new plugin translation sections has few string that needs to be localized
plugin-repo-more-css-issues.png (83.1 KB) - added by ramiy 4 years ago.
translate btn css

Download all attachments as: .zip

Change History (35)

#2 follow-up: @Otto42
4 years ago

That gets a bit unwieldy after a while. Akismet is translated into 42 languages. How do we display them? A big list? Ugly.

#3 follow-up: @johnbillion
4 years ago

True, but not showing all the languages that it's translated into doesn't help the users of those languages either.

There is a language switcher mechanism on the home page of wordpress.org. Maybe this should be shown on the plugin and theme directories too so users can easily switch to the localised site.

https://i.imgur.com/5Cjb7R2.png

#4 in reply to: ↑ 3 @netweb
4 years ago

There is a language switcher mechanism on the home page of wordpress.org. Maybe this should be shown on the plugin and theme directories too so users can easily switch to the localised site.

https://i.imgur.com/5Cjb7R2.png

This sounds like a good idea, though a new ticket would be best :)

#5 in reply to: ↑ 2 @SergeyBiryukov
4 years ago

Replying to Otto42:

That gets a bit unwieldy after a while. Akismet is translated into 42 languages. How do we display them? A big list? Ugly.

Do we actually need to display all the languages? The current user's language(s) (like on wordpress.org) should be enough:

Languages: User Switching доступен на вашем языке: Русский (также Български).

#6 @samuelsidler
4 years ago

I think we should list all languages, in the sidebar, in their native names. But they should have a click through to show more (like Authors right now).

#7 @Otto42
4 years ago

Not opposed to putting it in the sidebar, but could be a pretty long list.

@Otto42
4 years ago

Example of size of Akismet's list

#8 @Otto42
4 years ago

Example of Akismet's list. Quick mockup I made using the current data.

#9 @ocean90
4 years ago

I don't think we have to link them, they should be comma separated and we should add a "more" button after the first 5 languages. (Example: https://www.microsoft.com/de-de/store/apps/onedrive/9wzdncrfj1p3#App-Details)

@ocean90
4 years ago

Another example from Apple's App Store, localized, German

#10 follow-up: @Otto42
4 years ago

Making it show a (more) link with some JS to expand the list is a good idea. However, I'm for linking to their individual localized pages. No point in having the list at all, without the link.

#11 in reply to: ↑ 10 @SergeyBiryukov
4 years ago

Replying to Otto42:

However, I'm for linking to their individual localized pages. No point in having the list at all, without the link.

Agreed.

#12 @Otto42
4 years ago

@obenland added the list in [dotorg-10963]. However, looks like it still needs some styling love.

#13 @samuelsidler
4 years ago

Yay! Outside of styling love (whatever that looks like), I think we should do one more thing on this ticket: Sort by accept-lang header.

The current alphabetical sort isn't very relevant for most users. Thus, we should sort the list by what's in the accept-lang header, with results after that in alphabetical order. We'd still only want to show the top five results and click through for the rest.

This ticket was mentioned in Slack in #meta-i18n by ocean90. View the logs.


4 years ago

#15 follow-up: @GregRoss
4 years ago

Two thoughts:

  1. Probably should not list all the languages, just a count that takes you to the translate.wp.org page if you really want to see the list.
  1. If no translations are available on translate.wp.org the current message is a little misleading as the plug may be using mo's. It should be updated to reference the fact that there are no translations on translate.wp.org only, instead of inferring the plug in is not translated at all.

#16 @GregRoss
4 years ago

Another thought, maybe don't display the widget if the plugin has no text domain or it doesn't match the plugin slug.

#17 follow-up: @Otto42
4 years ago

@GregRoss The widget still needs to be displayed, because translations contain more than just the contents of the plugin. The readme.txt is in the translation system too. All plugins have some text to be translated.

#18 in reply to: ↑ 17 @GregRoss
4 years ago

Replying to Otto42:

@GregRoss The widget still needs to be displayed, because translations contain more than just the contents of the plugin. The readme.txt is in the translation system too. All plugins have some text to be translated.

Then lets make sure it's clear in the widget, perhaps add a line like "this plugin doesn't use translate.wp.org for translations, only for the plugin information." or something similar.

#19 follow-up: @Otto42
4 years ago

Also, if a plugin is using its own .mo files, then when the plugin gets imported into the translate system, then the contents of the .mo files will be imported with it. More info here:
https://make.wordpress.org/plugins/2015/09/01/plugin-translations-on-wordpress-org/

#20 in reply to: ↑ 19 ; follow-up: @GregRoss
4 years ago

Replying to Otto42:

Also, if a plugin is using its own .mo files, then when the plugin gets imported into the translate system, then the contents of the .mo files will be imported with it. More info here:
https://make.wordpress.org/plugins/2015/09/01/plugin-translations-on-wordpress-org/

I understand that, but for example WP Statistics was imported but for some reason a single new original was detected by translate.wp.org so none of them are at 100%. This will also drift further out of sync over time.

Likewise if I create a new plugin and then add translations at a latter time that import won't happen.

The widget needs to handle these kinds of cases and make it clear to the user.

#21 in reply to: ↑ 20 ; follow-up: @Otto42
4 years ago

Replying to GregRoss:

WP Statistics was imported but for some reason a single new original was detected

In your case, the phrase "optimization page" was untranslated in Polish and Japanese. Looking at your .po files here, that phrase is indeed not in them. It was not detected because it is not there.

http://plugins.svn.wordpress.org/wp-statistics/trunk/languages/

I suspect that simply translating that phrase on translate.wordpress.org and having it validated would cause things to get changed.

#22 in reply to: ↑ 21 @GregRoss
4 years ago

Replying to Otto42:

Replying to GregRoss:

WP Statistics was imported but for some reason a single new original was detected

In your case, the phrase "optimization page" was untranslated in Polish and Japanese. Looking at your .po files here, that phrase is indeed not in them. It was not detected because it is not there.

http://plugins.svn.wordpress.org/wp-statistics/trunk/languages/

I suspect that simply translating that phrase on translate.wordpress.org and having it validated would cause things to get changed.

I understand that but that's just one example. I'm not using translate.wp.org as I have my own GP install and do not expect to change.

For these cases the messaging should be clear the widget is only referring to translate.wp.org.

#23 follow-up: @obenland
4 years ago

I removed the output for the else case when there are no translations. This is also along the lines of what the language list in the description content did previously.

#24 in reply to: ↑ 15 ; follow-up: @samuelsidler
4 years ago

Replying to GregRoss:

  1. Probably should not list all the languages, just a count that takes you to the translate.wp.org page if you really want to see the list.

I like that we list all locales and link to the respective directories.

  1. If no translations are available on translate.wp.org the current message is a little misleading as the plug may be using mo's. It should be updated to reference the fact that there are no translations on translate.wp.org only, instead of inferring the plug in is not translated at all.

As @obenland mentioned, the message has been removed in [dotorg-10968].

Replying to GregRoss:

Then lets make sure it's clear in the widget, perhaps add a line like "this plugin doesn't use translate.wp.org for translations, only for the plugin information." or something similar.

I don't think this is a useful addition. Distinguishing between different types of "translations" for a plugin isn't a distinction most people care about.

Replying to GregRoss:

Likewise if I create a new plugin and then add translations at a latter time that import won't happen.

This case should not be a normal one in the future. Authors of new plugins should rely on translate.wordpress.org for their translations (after our initial import is complete).

Left on this ticket: comment:13.

#25 in reply to: ↑ 23 @GregRoss
4 years ago

Replying to obenland:

I removed the output for the else case when there are no translations. This is also along the lines of what the language list in the description content did previously.

That's better, thanks.

#26 in reply to: ↑ 24 @GregRoss
4 years ago

Replying to samuelsidler:

Replying to GregRoss:

Then lets make sure it's clear in the widget, perhaps add a line like "this plugin doesn't use translate.wp.org for translations, only for the plugin information." or something similar.

I don't think this is a useful addition. Distinguishing between different types of "translations" for a plugin isn't a distinction most people care about.

Replying to GregRoss:

Likewise if I create a new plugin and then add translations at a latter time that import won't happen.

This case should not be a normal one in the future. Authors of new plugins should rely on translate.wordpress.org for their translations (after our initial import is complete).

Left on this ticket: comment:13.

It may not be important for most, but it will be to some and being clear seems like a reasonable thing to do.

Since mo's are still a support method of translating a plugin the directory should not make them a second class citizen when being displayed unless there's a good reason to.

There will always be some authors that want/need to use another translation service, making sure they are included seems to make sense to me.

@ramiy
4 years ago

The new plugin translation sections has few string that needs to be localized

@ramiy
4 years ago

translate btn css

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


3 years ago

#29 @ocean90
3 years ago

  • Owner set to ocean90
  • Status changed from new to assigned

Going to work on comment:13

#30 @ocean90
3 years ago

The current alphabetical sort isn't very relevant for most users. Thus, we should sort the list by what's in the accept-lang header, with results after that in alphabetical order. We'd still only want to show the top five results and click through for the rest.

This was added in [dotorg11570].

#31 @samuelsidler
3 years ago

  • Resolution set to fixed
  • Status changed from assigned to closed

Pretty sure this ticket is fixed.

For the record, in the new directory, we're adding a banner (like comment:3 mentions) and will list all languages in the Contributors & Developers section.

Note: See TracTickets for help on using tickets.