Virtual projects for the patterns project

We have just deployedDeploy Launching code from a local development environment to the production web server, so that it's available to visitors. an update to create one project for each pattern.

Previously, when a translator translated the patterns, all the stringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings. were under the same project, so she couldn’t focus in translating one pattern easily.

Today we updated this functionality, creating “virtual projects” for the patterns, so each pattern has its own project. This approach try to improve the individual translation for patterns.

Limitations

This approach has some limitations:

  • The virtual projects are alphabetically ordered.
  • The search and the 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. are not working.

If this approach improves the work of the translators, in the future we will consider to really split the patterns in subproject, so each pattern will be one subproject, and they will be able to use whole GlotPressGlotPress GlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org. functionality.

#improvements, #patterns

The feedback tool

This tool is a working in progress. Some of the functionalities described here could have been changed.

Last months we were working on a new expected functionality, the feedback tool. This tool improves the communication between the translators, developers and validators (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., 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., 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.), so the translation process can be more agile, sending feedback through email to the different people involved in a translation.

In this post, I am going to talk about:

  • Opt-in to receive notifications.
  • Single feedback on approve, reject or fuzzy.
  • Bulk feedback on reject.
  • Discussions.

Opt-in notifications

The tool sends some email notifications. The notifications are opt-in. To receive it, you have to opt-in here.

These are the notifications the system sends:

  • The translator will receive a notification when a validatorValidator See translation editor. makes a bulk rejection or rejects, approves or sets as fuzzy a single stringString A string is a translatable part of the software. A translation consists of a multitude of localized strings. or when a validator replies to one of her comments.
  • The developer receives a notification when someone asks something around a “typo in the English text” or request more context for the translation.
  • The GTE/PTE/CLPTE will receive a notification when someone replies to a notification she made before or when someone asks something related with her language and/or 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.

The email subject is “New comment in a translation discussion” and the email content is similar to this one:

Single feedback

When a validator (GTE, PTE or CLPTE) is reviewing a suggested translation, she can approve, reject or mark as fuzzy the current translation, as we have been doing so far. But we have added a new element, the “Give feedback” tool.

If you click on the text marked on the next image:

You will see some checkboxes where you can select a feedback type and a comment. Both fields are optional, so you can approve, reject or mark as fuzzy the current translation without adding feedback to this action.

If you select one checkbox and/or write some comment, you will see how the “Reject” button will change to “Request changes”, because if you click in this new button:

  • The translator will receive a notification with the feedback.
  • The translation will be in a new status: “Changes requested”.

Once you click on this button, you will see the translation with this new status (changes requested), and you can see this 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. in the top bar.

You can also see this new status in the advanced filter:

This new status has its own color: light blue. You can see it in the next image, in a “changes requested” row and in the legend, at the bottom.

You can add feedback when you approve or mark as fuzzy one string.

Bulk feedback

As validator, you can also give feedback in a bulk rejection. To do this, you have to:

  • Select the translations to which you want to give feedback.
  • Select the “Reject” status.
  • Click on the “Apply” button.

Once you click on this button, you will see a new form, similar to the one you have in the single feedback tool. If you click on the “Reject” button, you will reject both stringsString A string is a translatable part of the software. A translation consists of a multitude of localized strings., as usual.

But if you select some reason and/or you made some comment, the “Reject” button will change to “Request changes”.

Once you click on the “Request changes” button, you can see these 2 strings in “changes requested” status.

You can’t add feedback when you bulk approve or mark as fuzzy some strings.

Discussions

There is a discussion page for each original where you can find all discussions about it.

To access to the discussions for an original, you have to:

  1. Click on the hamburger icon.
  2. Click on the “Discussion” link to open the discussion page in the same tab.
  3. Click on the arrow image to open the discussion page in a new tab.

In the “Discussions” page, you can get this information for an original string:

  1. A filter.
  2. The feedback comment.
  3. The comment reasons.
  4. A button to reply to this comment.

You can have a lot of comments with replies, similar to a page in a forum.

You have a new tab with the translation history.

And another tab with the translation in other 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/, so you can get some inspiration for your 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/.

At the bottom of the page, you have a form to open a discussion to:

  • Notify developers (if opted-in):
    • A typo in the source.
    • Requesting more context, because the source doesn’t have enough information.
  • Notify validators (if opted-in) with a question related with your language.

And at the bottom of the form, you can:

  • Opt-in/opt-out for the current discussion.
  • Opt-in/opt-out globally in the discussions.

#feedback, #improvements