Making WordPress.org

Opened 7 years ago

Last modified 6 months ago

#1078 accepted enhancement

Enable community-translator

Reported by: yoavf Owned by: dd32
Milestone: Priority: normal
Component: Translate Site & Plugins Keywords: has-patch


The community translator is a tool that enables front-end translations of strings for projects that use GlotPress to store their translations. It consists of a few parts:

  1. A front end script that highlights translatable strings, provides the UI to translate them, and submits the translations
  2. A backend plugin that prepares translation data for the script (based on gettext filters, for example)
  3. A GlotPress plugin to extend the api (gihub link coming soon)

Enabling it on WordPress.org would allow front end translations of rosetta, the plugin directory, the theme directory, etc.
Demo: https://cloudup.com/iU6acgS9-x1



  • Do we want this to load for all users? Only previously active translators? something else?
  • Fix URLs in the translator plugin for wporg cdn
  • Design adjustments

props akirk hew julesaus

Attachments (5)

jumpstart-rosetta-themes.diff (946 bytes) - added by yoavf 7 years ago.
jumpstart-plugins.diff (881 bytes) - added by yoavf 7 years ago.
translate-api-plugin.diff (13.3 KB) - added by yoavf 7 years ago.
translator.diff (99.1 KB) - added by yoavf 7 years ago.
translator.2.diff (98.9 KB) - added by akirk 7 years ago.

Download all attachments as: .zip

Change History (21)

7 years ago

#1 @akirk
7 years ago

  • Cc akirk.wordpress@… added

7 years ago

#2 @akirk
7 years ago

This fixes a bug where the ngettext filter was not installed properly.

#3 @hew
7 years ago

  • Cc hewsut@… added

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

7 years ago

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

6 years ago

#6 @ocean90
6 years ago

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

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

5 years ago

#8 @tellyworth
3 years ago

  • Milestone set to Q1

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

3 years ago

#10 @swissspidy
22 months ago

  • Component changed from General to Translate Site & Plugins

#11 @dd32
17 months ago

  • Milestone changed from Q1 to 2020 Q1

Milestone renamed

#12 @dd32
17 months ago

  • Milestone changed from 2020 Q1 to Q1

Milestone renamed

#13 @dd32
15 months ago

  • Owner changed from ocean90 to dd32
  • Status changed from reviewing to accepted

Just noting that I've started taking a look at this, and think I can get a variant of it up and running for some things sooner than later (although I have a few other tasks that take priority, so this is my on-the-side project right now)

I'm finding some limitations where strings don't get matched due to various content filters (wptexturize() being the main culprit I think) but it seems that overall, this patch/code still works to a degree good enough that a POC works on the plugin directory, about pages, and DevHub to a degree.

Thanks @yoavf & @akirk for getting this started!

There's been quite a few changes to dotorg in the past 5 years, some of which make this easier, and some of which mean it would be beneficial to work on this again. I've also got some of my own thoughts on how to improve the interface & flow, so some of it is going to require some experimentation.

This ticket is the intention behind [10444] and [10446] (Well, actually [10442:10447] if you want the full story)

This ticket was mentioned in PR #27 on WordPress/wordpress.org by dd32.

11 months ago

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

This is a draft PR where I was playing with adding the community translator.

There are a number of changes made to the upstream community translator project, which increases the size of this PR significantly.

#15 @tellyworth
8 months ago

  • Milestone Q1 deleted

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

6 months ago

Note: See TracTickets for help on using tickets.