Proposal for handling PTE requests

At WCEU, @petya, @nao, @casiepa, and @ocean90 have discussed the future of PTEProject Translation Editor A Project Translation Editor (often referred to as PTE) is a person, who has access to validate strings on a specific project (for example BuddyPress, WooCommerce or Twenty Fourteen) for one specific locale. A project translation editor can approve strings that are added by translation contributors. Per project translation, editors are appointed by a general translation editor after a request by the project author or by the contributors themselves. requests.
The goal is to move them in a separated place (but still on this p2p2 "p2" is the name of the theme that blogs at make.wordpress.org use (and o2 is the accompanying plugin). When asked to post something "on the p2" by a member of the Polyglots team, that usually means you're asked to post on the team blog https://make.wordpress.org/polyglots/. site) and have the data of each request in a more structured format available.

Here are the notes:

Form to collect the data

Instead of the free form textarea we ask for the data via a form:

  • Maybe: Ask if 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/author or translators
  • Select plugin/theme slugs (autocomplete)
  • Select LocaleLocale Locale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams/(s)
  • List contributor(s) per locale
  • Form can be submitted by the theme/plugin author but also contributors
  • Request can include many projects/localesLocale Locale = language version, often a combination of a language code and a region code, for instance es_MX denotes Spanish as it’s used in Mexico. A list of all locales supported by WordPress in https://make.wordpress.org/polyglots/teams//contributors

Validate the data

  • Does the contributor exist? (error)
  • Are the locales correct? (error)
  • Are the plugins/themes available?
  • Pre-requirements
    • Does the contributor have submitted at least 5? translations for the requested projects in the locale? (warning)
    • Check number of requested locales, maybe CLPTECross-locale Project Translation Editor A Cross-Locale Project Translation Editor is an account owned by a plugin or theme author (or the authoring organization), which uses professional translators to localize their product. The cross-locale project translation editor can import/validate strings on a specific project for more than one locale. This role has the same capabilities as a Project Translation Editor over multiple locales instead of one. Cross-Locale Project Translation Editors need to meet a set of criteria before being appointed by General Translation Editors.? (warning)
  • Is the contributor already an approved PTE? => Make they automatically a PTE for the new project?

Store the data in a custom post typeCustom Post Type WordPress can hold and display many different types of content. A single item of such a content is generally called a post, although post is also a specific post type. Custom Post Types gives your site the ability to have templated posts, to simplify the concept.

  • Benefit: Removes the requests from the index page of the polyglots p2

Output of requests

  • Table to list all requests, similar to teams page
  • Split requests into locales
  • Filterable by locale, date, …
  • Notifications to all GTEs
  • Link to the project on translate.w.org with active user 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.
  • Tell the GTEGeneral Translation Editor A General Translation Editor (often referred to as GTE) is a person, who has global access to validate strings on all projects for a specific locale. whether the user is already a PTE
  • Approve button for GTE without visiting the wp-admin for all GTEs
  • Show some stats about the user
  • Send reminder about requests that are two weeks old, automatically approve a week after the reminder?
  • Post request on the team p2 or just summary/activity log
  • Show comments from team p2 at the global requests (depends on previous point, discussions need to be in English)
  • Show the “Resources for translation contributors” in the request (automated comment, see French, …)
  • Reject with feedback only with predefined reasons (grammar, punctuations, typos, style guide)
  • (Nice to have) Activity log for each new PTE (user x by user y/automatically) on date)

Open TracTrac Trac is the place where contributors create issues for bugs or feature requests much like GitHub.https://core.trac.wordpress.org/. tickets

Next steps

Please let us know what you think about this proposal. Do you have any suggestions or can you provide some mockups for how a list of requests or a detail page of a request can look like? What would be a good minimum viable productMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia (MVPMinimum Viable Product "A minimum viable product (MVP) is a product with just enough features to satisfy early customers, and to provide feedback for future product development." - WikiPedia), what are the must haves for a first version?
Are you a developer and can help us with the implementation?

Whatever you have, please let us know in the comments. Thank you!

#announcement, #wceu