Reducing the Plugin Review team’s workload through automation

To help the PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Review team make the most of their contribution time and improve the security of all plugins distributed on WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/, MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team contributors have built a code scanner that detects potential security risks such as unescaped SQL queries in plugin code. This is installed as a plugin on WordPress.org, and displays results in a metaboxMetabox A post metabox is a draggable box shown on the post editing screen. Its purpose is to allow the user to select or enter information in addition to the main post content. This information should be related to the post in some way. on the plugin edit screen accessible to reviewers.

The Plugin Review team has been sharing feedback on the quality of the results, which has let Meta contributors to refine the tool to improve the noise-to-signal ratio that makes any automated checker a challenge.

Looking forward, our teams are discussing how often to run this scan (probably every time a new version of a plugin is detected), and how to semi-automate informing plugin authors about the results of the scans.

We’re excited that the Plugin Review team finds this tool useful, and that we’re making progress toward one of our Big Picture Goals for 2021 by decreasing manual work for contributor teams through better tooling.

If you’re a plugin developer and would like to help test the scanner on your own code, it’s available on GitHub.

Many thanks to the Plugin Review team for making the time to test and share the feedback that made this tooling improvement possible!

#plugins

Plugin Directory Design Direction

Earlier this week, a few of us met to discuss the design direction of the PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Directory. Myself, @michael-arestad, @hugobaeta, @melchoyce, @helen, and @samuelsidler looked at the current directory and challenged ourselves to look at it from a fresh perspective, exploring flows, UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing., and content. The overall goal was to set a direction for the design.

After a couple days of whiteboard drawings, we’re a lot closer and I wanted to share some explorations with you.

Please note that the below explorations are wireframes and heavily subject to change. They’re only meant to give you an idea of the direction we’re looking at.

We discussed three views:

  1. The landing page (wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org//plugins/)
  2. The Search results view
  3. The Single Plugin View
Plugin Landingpage

Plugins Landing page

Plugins Search Results

Plugins Search Results

Plugins Single View

Plugins Single View

Some pictures of our whiteboards

On each view, here are some thoughts on the direction.

Plugins Landing page (/plugins/)

  • The title blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. is much longer, with a more prominent search field at the top. Search is the primary action in the directory and we’re working to improve it.
  • The addition of a slider for featured plugins… yes that’s not misspelled, I wrote “slider”. 😉
  • Sectioned plugin blocks around various “filters” of plugins. As a sample, we used popular, trending, and betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process., but these could be anything in the future.
  • The “Developer Center” that currently exists becomes a small “Plugin Authors” callout at the bottom of the page since it’s not frequently used. We’d add other blocks (like the ones show) where relevant.

Plugins Search Results

  • Search results maintain a similar style as the landing page.
  • Search field remains prominent in the title block.
  • In fact, when searching from the landing page, everything under the search box is replaced with results.

Plugins Single View

  • Maintain a large plugin banner at top of the view.
  • The plugin name will no longer be over the banner.
  • Below the banner, we show the name of the plugin, author, and a Download button.
  • The Translation Information displayed will note if a plugin is available in your language or, if not, allow you to click and see it on your localized site with a callout to begin a translation.
  • Tabs are removed. Instead, content blocks act as accordions on the page, revealing information when a visitor clicks to know more. The main column holds the following information:
    • Description
    • Changelog
    • Screenshots in the form of a gallery/slider (to be explored).
    • FAQs – We debated this section a bit, but FAQs are still quite important, when they exist. Ideally, these could be added in the plugin author dashboard instead of the readme so the format is more consistent. If that happened, we could show a list of questions with accordion-like answers when clicked.
    • Reviews – Becomes a section on this view where you can click to see more reviews.
    • “Contribute” is the new “Developers” section. Here we’d show relevant developer information, contributors, a donate button, and all available translations. As we experiment, this may become another view similar to Reviews where you click to see more detailed information.
  • Meanwhile, the sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. remains, but becomes more condensed. In it, we show:
    • Ratings – a break down by rating.
    • Support – a “widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.” that shows relevant support information and allows the visitor to click to enter the support forumSupport Forum WordPress Support Forums is a place to go for help and conversations around using WordPress. Also the place to go to report issues that are caused by errors with the WordPress code and implementations..
    • Active Installs
    • Last Updated
    • CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging.
    • “Designed to work with” option, if relevant.

Overall, we worked hard to keep the most relevant information for visitors as information that’s important to plugin authors moves to the plugin admin dashboard.

Thoughts?

As a reminder these are wireframes to give you a general idea of the direction we’re heading.

What do you think about the direction? Are there things you think should be removed? Things that should be added to the main views? Leave your feedback in the comments.

#design, #plugin-directory, #plugins

Weekly i18n Chat Notes – November 17, 2015

Howdy again! We’ve actually been meeting the last couple of weeks but someone (aka: me) has been bad about posting meeting notes. If you’re interested in helping with internationalization efforts on WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/, join us on Tuesdays at 12:00 UTC (note the time change for DST).

Here’s a few things that happened in the i18n world over the last couple of weeks:

  • Translate: A bunch of things have happened!
    • @obenland swooped in with some updates to the project overview for plugins. Here’s an example. But I’ll save you a click: all four sub-projects are now represented on the page in a layout similar to the stats page. We hope to expand that page with other features in the future.
    • Speaking of stats, @dd32 updated the Waiting column on the stats page to list waiting strings from all projects. Numbers grew substantially for many locales.
    • Every time a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party gets imported into translate.wordpress.org, the status is now displayed in the #meta-language-packs channel on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.. Plugins that are already in translate.wordpress.org get re-imported every time there’s a commit in their SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/. repository. In the future, initial plugin imports will also be shown in this channel.
    • The above item was the last major step to enabling at-will plugin imports into translate.wordpress.org. @ocean90 has fixed a various bugs in the scripts and will be testing the feature (secretly) soon, to see if it will scale. Once he’s comfortable, it’ll roll out to a broader audience and eventually get announced to all plugin authors.
    • One of the ways we can ensure it will scale is by setting up a job system and running all of our jobs through that. @dd32 has worked up some initial code for that, which we’re waiting on systems to deployDeploy Launching code from a local development environment to the production web server, so that it's available to visitors..
    • But that’s not all! A filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. is now available for larger groups of projects (like plugins and themes). You can see it for themes here.
    • Additionally, Dion fixed the issue where themes with \r\n in there strings were appearing incorrectly.
  • Forums: More forum plugins are being ported! @nullbyte has signed up for a few plugins and the table has been updated.

Finally, at today’s chat we talked about #1388, #1044, and #1162, as well as related GlotPress tickets #100 and #494. Specifically, what is the best way to alert translators and translation editors of projects that strings are ready and available to translate?

There are a number of things we can do here, but for now the best course of action is adding a list of contributors/PTEs to the plugin overview (that’s #1388 for those following along). Adding this is a good first step towards future solutions.

While that’s being developed, it’s worth considering the best UXUX UX is an acronym for User Experience - the way the user uses the UI. Think ‘what they are doing’ and less about how they do it. for notifying/contacting translators. The propose GlotPress method is notifications and a notification center, however our use case might be different than the norm – or perhaps we should work with the GlotPress developers on the ideal solution if our use case is normal.

Lots to think about and discuss with the polyglots teamPolyglots Team Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/. and propose to plugin/theme authors.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #translations

Weekly i18n Chat Notes – September 22, 2015

Earlier today a handful of us gathered to talk about life, the universe, and things that may or may not relate to the metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. team and i18n. Here’s a bit of what we talked about:

  • Plugins: Last week imported our first set of plugins into translate.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/! Hurrah! Huzzah! 🎤⬇️ And because we were feeling good about it, we also sent out emails to the second batch of pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party authors (~200 plugins). That import will start today or tomorrow and we’ll send out emails for the next import soon.
  • Translate: The stats page got some love with the addition of the Waiting column (see #1202) and some improvements to the design (see #1238).
  • Theme Directory: @obenland started work on the Translations section by adding a link to translate any theme to the page. Check out the Twenty Sixteen theme page for an example.
  • WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more.: Set things up so the WordCamp theme can be translated (see #1076), pending deployment by the WordCamp team.
  • Forums: There was a mention that the Italian forums are not working. @ocean90 will investigate. Additionally, we’ve had a couple of requests for new forums. We think it’s okay to add new ones for testing purposes. For example, an RTL forum would be appropriate.

For the next week, we’re planning to work on the following:

  • Import and language pack status of plugins sent to a SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.
  • Sorting / FilterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. finished up (or whatever we call it).
  • Streamline the process of adding per-project translation editors (see #1237 which requires #1240).
  • Work on updated design for project pages in Translate.
  • Possibly: More Theme Directory translation section additions.
  • Possibly: Rosetta headers fixed up (see #1201).
  • Possibly: Job system started.

See y’all next Tuesday at 11:00 UTC!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #theme-directory, #translations, #wordcamp-org

Weekly i18n Chat Notes – September 15, 2015

We met today, like normal, at 11:00 UTC and discussed the following things:

  • Translate: Warnings on translate.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ are now being sent to #polyglots-warnings for more transparency and to catch bad actors. (The channel name may change to #polyglots-notices to cover other usages.) Additionally, the “Waiting” tab now shows the full project name instead of just the sub-project name; e.g., “Plugins – Akismet – Development (trunk)” instead of “Development (trunk)” which was less descriptive.
  • Plugins: Last week, emails went out to the first batch of plugins. We are ready to begin the import into translate.wordpress.org.
  • Forums: @clorith has taken on a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party! We love new contributors. 🙂

There was no update last week (on this blog) but we also improved the design of the stats page.

Over the next week, we intend to do the following:

  • Plugin import, starting today.
  • Import and language pack status of plugins sent to a SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel.
  • Emails for next plugin import batch will go out.
  • Sorting / FilterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. UIUI UI is an acronym for User Interface - the layout of the page the user interacts with. Think ‘how are they doing that’ and less about what they are doing. finished up (or whatever we call it).
  • Possibly: Rosetta headers fixed up.
  • Possibly: Jobs system started.

See y’all next week!

#forums, #i18n, #l10n, #meeting-notes, #plugins, #stats, #translations

Weekly i18n Chat Notes – September 1, 2015

Howdy! We have our weekly i18n chat tomorrow at 11:00 UTC. Please join us.

Last week, we discussed the following things:

  • Translate: A stats dashboard has been created. We’ll track the most important projects on this dashboard. We still need to add a couple of features for admins. A bit of time was spent on ways to improve the dashboard and, if you attend tomorrow, you’ll discover that a number of changes were made.
  • MetaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. Environment: Not a normal topic for us, but a pull request exists that adds translate.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ to the meta environment so developing for it will be easier.

What’s up for the next week’s worth of work? Maybe some of the things mentioned here.

At the end of the chat we mentioned that we’re on track to start importing plugins in ~2 weeks. Since I’m posting this about a week late, that means next week we plan to begin the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party import.

#i18n, #l10n, #meeting-notes, #plugins, #stats, #wordpress-meta-environment

Weekly i18n Chat Notes – August 25, 2015

As a reminder, we have a chat tomorrow at 11:00 UTC. The update below is from last week’s chat

It’s been a while since we last met! I think WordPress 4.3 somewhat distracted us. 🙂 Here’s what’s happened in the last three weeks:

  • Forums: Progress has been made on porting bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org. 1.x plugins! So far, @jmdodd has migrated two plugins to bbPress 2.x. If you’re interested in helping out, be sure to put your name in the “Migrate?” column of the table. (Need access? Just pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” me.)
  • Translate: A “Waiting” tab now exists and both it and the themes tab is now sorted by the order previously discussed. Filters are still coming (pending design), but we’re well on our way. Additionally, themes are now in sync with the directory and fully caught up. That means if a theme is approved in the directory, it is automatically imported into translate.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/.

And upcoming:

  • Sort orders (and filters) in translate.wordpress.org.
  • Properly log warnings in translate.wordpress.org to a SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. channel so we can keep an eye on them.
  • Fixes to \r in translations.
  • Rosetta header changes.
  • An i18n dashboard to keep track of major products.
  • Automation of Rosetta deploys (pending logging mentioned above).
  • Job / queue system for imports and language pack generation (with systems).

About a month ago, I made a list of next steps before importing plugins to translate.wordpress.org and we’ve done them all, but run into a few other things needed (as listed above). That said, I think we’re very close to the point where we can import plugins. Of the items above, only the job system is necessary, due to the number of commits plugins receive. More to come on make/plugins.

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Weekly i18n Chat Notes – July 21, 2015

At our weekly chat today, we talked about a few things:

  • Forums: The Italian forums were launched! It’s a bit rough around the edges, so there’s a bunch of work still left to do. If anyone is interested in contributing to our bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org. theme just let us know. The more help we can get, the faster we can get the forum theme in shape to launch it to other locales. (Big props to @ocean90 and @medariox!)
  • Translate: Tons of things going on and upcoming here.
    • Themes are being imported. Currently ~1100 out of a total of ~1900 themes. The rest should be imported by next week’s meeting.
    • As part of the import, we’re noticing that quite a few themes have a textdomain that is different than the theme’s slug. Language packs will not support that. Instead, we’ll contact theme authors and work with the theme review team to ensure this won’t happen again. (Also, @Otto42 is adding modifying theme-check so that it checks for this issue.) Some stats on that were shared in SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/., but note that they’re for all themes, not just active themes. The actual numbers will be different.
    • Meanwhile, we need to start considering how to sort and prioritize themes and plugins. This post has some ideas and the comments section is open for more. We should have a list to start on by next week’s meeting. There are some backend changes that @dd32 needs to work up first.
    • One method of prioritizing is favorites. @dd32 is working up changes to the theme directory (and elsewhere) so themes can be favorited. ❤️ We can use theme and pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party favorites to prioritize projects (per-user) on translate.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/.
    • @ocean90 is also testing plugin imports with a few select plugins to ensure the import script works well.
    • Additionally, the language pack script currently exists for plugins and will be modified for themes (thanks @ocean90!).

Most of our focus right now is on language packs and theme/plugin translations. Summarized, here’s the next steps:

  • Finish theme import
  • Enable theme directory syncing (every new/updated theme gets imported)
  • Implement some prioritization (including a side project: adding favorites to themes)
  • Modify the theme directory to support translated theme names/descriptions
  • Enable language packs for themes
  • Start importing top n plugins
  • Enable language packs for top n plugins

Of course, some of these will happen in parallel with others and there are numerous parts to each line item, but we’re making great progress. By next week, we’ll probably be able to cross off an item or two. 👏

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Weekly i18n Chat Notes – July 14, 2015

We had our weekly chat today and talked about a few things.

  • Forums: We’re still waiting for one issue to get fixed in bbPressbbPress Free, open source software built on top of WordPress for easily creating forums on sites. https://bbpress.org. before we can enable initial forums for the Italian community.
  • Translate: Lots of great progress.
    • Design implementation is done.
    • Paging is done. Basic search is part of it as well.
    • Import scripts are done for themes and in-progress for plugins.
    • @dd32 tested an import of all themes and it works! 🎉
    • Role pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party design changes are still pending, but the design is ready, so it’s just a matter of implementation.

Because of the progress on themes, we think we can do the initial import for themes very soon. It’s know that there will be issues, especially in categorizing and sorting through all ~1500 active themes that will be imported. We’ll work through those issues, fix them, and be ever-more ready for plugins.

Also, because we’re so close, I posted on make/polyglots and make/themes to give them the heads up and added some documentation to the translator handbook to walk through how some of this will work on their end.

As we get closer to the initial import of plugins, there will be a post on make/plugins and we will email plugin authors ahead of time, with a specific date, so they have an opportunity to commit any missing translations to SVNSVN Apache Subversion (often abbreviated SVN, after its command name svn) is a software versioning and revision control system. Software developers use Subversion to maintain current and historical versions of files such as source code, web pages, and documentation. Its goal is to be a mostly compatible successor to the widely used Concurrent Versions System (CVS). WordPress core and the wordpress.org released code are all centrally managed through SVN. https://subversion.apache.org/..

(See also: the meeting notes from last week.)

#forums, #i18n, #l10n, #meeting-notes, #plugins, #rosetta, #themes

Plugins, Themes, and Translate.WordPress.org

As mentioned a few times, we’re going to be enabling the translation of active plugins and themes in the WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ repositories on translate.wordpress.org. Today, we had a chat in #meta-i18n (logs) about how the non-technical side of this will work.

As a quick recap: We’re making good progress on the relevant pieces of Rosetta, GlotPress, and all the related scripts needed to import plugins and themes that are in the WordPress.org directories into translate.wordpress.org and make them available for translation. Every pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party and theme will then be able to take advantage of languages packs, meaning no more delay in language updates and smaller plugin downloads.

Here are a few of the points we discussed on how this process will work:

  • Eventually, all active themes and plugins in the WordPress.org directories will be imported into translate.wordpress.org and made available for translation. The “eventually” is important to note as we will be importing a few at a time to ensure GlotPress can scale accordingly. It’s also important to note that “active” is a theme or plugin that has been updated in the last year. Further, even plugins and themes that are not i18n-ready will be imported so that their descriptions can be translated.
  • Additionally, any plugins or themes that do not live in the WordPress.org directories will not be allowed on translate.wordpress.org. For example, commercial plugins.
  • During the initial import, we intend to import all strings – included translations – directly from the plugin’s svn repository on WordPress.org. We will not continuously import these strings, however. Ideally, after the initial import, a plugin would then delete the strings from the svn repository, making their download smaller and immediately taking advantage of the language packs generated by translate.wordpress.org.
  • For a language pack to be updated, the string must be updated in translate.wordpress.org.
  • The above point means that if a theme or plugin author uses a different site for translations, those translations must be brought over to translate.wordpress.org. If the theme or plugin has an active translation community, they can work with the polyglots team to bring translation editors over to the community. These translation editors can be limited to specific plugins, at the discretion of the locales translation editors. These translation editors can import strings for the plugin/theme, should they wish to continue using a different site for translations. (When we get closer to this, I’ll create a sample post that theme and plugin authors can use.)

That’s a lot to take in, so please let it digest. 🙂

One thing we also discussed was the possibility of enabling GlotPress installations to “talk to” each other, such that translate.wordpress.org could import strings from another GlotPress site (for example, translate.yoast.com), whether as a feature of GlotPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. or a plugin. Currently, this is an open question. We plan to discuss the technical questions of this possibility at next week’s #meta-i18n chat (Tuesday, July 14 2015 11:00 UTC). Note that we will not wait for this feature before continuing with our planned import.

A few other notes:

  • We discussed the possibility of adding a banner to the specific plugin/theme’s page on translate.wordpress.org pointing the external site where translations are active, should a plugin/theme not use translate.wordpress.org as the canonical source for their translations. Currently, I believe the answer is “no banner” but it’s a conversation we should have and re-evaluate over time.
  • Outside of that, it occurred to me after our chat that we will need to add translation editors to the relevant theme/plugin page. For example, if a translator editor only has permissions to approve translations for Hello Dolly, we should note that on the Hello Dolly page within translate.wordpress.org. Example: “Strings for [project name] are approved by the German translation editors [link], as well as username, username, and username.”

If you’re interested in any of this topic, we’d like to get some feedback on any/all of the above. Please leave your comments here, not in #meta-i18n, so others can see your feedback. We’re especially interested in feedback from plugin and theme authors who do not currently have translations and one’s who use an existing product for their translations.

#i18n, #meeting, #plugins, #themes, #translations