Welcome to the official blog of the translator team for the WordPress open sourceOpen SourceOpen Source denotes software for which the original source code is made freely available and may be redistributed and modified. Open Source **must be** delivered via a licensing model, see GPL. project. This is where we discuss all things related to translating WordPress. Follow our progress for general updates, status reports, and debates.
We’d love for you to help out!
Translate WordPress
You can help translate WordPress to your language by logging in to the translation platform with your WordPress.orgWordPress.orgThe 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/ account and suggesting translations (more details).
We have meetings every week on SlackSlackSlack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/. in polyglots (the schedule is on the sidebarSidebarA 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. of this page). You are also welcome to ask questions on the same channel at any time!
Posting here
In order to post to this site, you will need to log in with your wordpress.org account. Your first post may take a while to show up, as it is moderated. Please follow our tag policy when posting.
The topic was proposed for discussion during the Community Summit but sadly, it wasn’t chosen. Before a formal proposal on a wider translation solution can be written, discussion should continue to gather the issues that need solving before translation can occur. The teams involved at the beginning of this process are polyglots, docs, training & metaMetaMeta 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.. There is a recommendation to involve the community and marketing teams.
Goals
To increase the amount of content in other languages, improve search, site usability and create sitemaps.
What is known from RosettaRosettaThe code name of the theme for the local WordPress sites (eg. bg.wordpress.org is a “Rosetta” site). All locale specific WordPress sites are referred to as “Rosetta sites.” The name was inspired from the ancient Rosetta Stone, which contained more or less the same text in three different languages. sites:
Site usability, /team/ has been created for most localesLocaleLocale = 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/ and /support/ only if requested, but are overall not used a lot.
The “handbook” functionality is enabled for all team sites, but only a handful locales are actually using it.
Which content will be translated?
There are different types of content to be either translated, adapted or localized.
Documentation (HelpHub & DevHub)—articles will be translated in full with adaptation of images/videos to the local language
wordpress.orgWordPress.orgThe 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//documentation
developer.wordpress.org
Training (Learn)—since Learn is using filters, the content (videos/text) can either be translated or adapted (originally written in a different language, e.g. adding the option of captioning in different languages, etc)
learn.wordpress.org
Local handbooks — Some articles would be translated or adapted/localized versions of corresponding global versions (for instance content related to Community or Marketing, for instance how to find a meeting place for free or how to get a sponsored venue for a MeetupMeetupAll local/regional gatherings that are officially a part of the WordPress world but are not WordCamps are organized through https://www.meetup.com/. A meetup is typically a chance for local WordPress users to get together and share new ideas and seek help from one another. Searching for ‘WordPress’ on meetup.com will help you find options in your area., although the rules may differ from country to country.) Other parts, like translation style guide, etc would basically lack corresponding content on global level.
Problems to solve before starting translation
Where are we hosting the information? This will depend on the tool used. We have the option to host the information on WordPress and also on GitHubGitHubGitHub is a website that offers online implementation of git repositories that can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/. (Currently Docs, Training and some other teams use Github as version and process control system.)
There is a need for a notification system that alerts local teams of
New articles/posts/videos added
Updates to existing posts/articles/videos
Find a way to easily identify the line/word/paragraph that was changed to avoid reviewing/retranslating a full document after a small change of the source
Handbooks for local teams (see examples below for the Spanish and Catalan handbooks)
GlotPressGlotPressGlotPress is the translation management software that powers Translate.WordPress.org. More information is available at glotpress.org. may be a good platform for the translation since we’re already using it; it can handle versioning and help with document comparison. The Playground can be a support tool for translation.
Translate text > localize text (when needed) > adapt images
GlotPress
There is currently no out of the box solution for using GlotPress to translate content.
The necessary components are:
A way to translate import a WordPress page or post into a GlotPress project. For this a segmentation tool is needed which can split the post according to a predetermined set of rules. A possibly useful approach would be splitting the document by GutenbergGutenbergThe Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ blocks. The preference is splitting by sentences because the blocks will give less translation reuse to the team. This should be done automatically upon update.
Ideally, translation reuse should take into consideration stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings. context: if surrounding source segments also are full matches to a previous translation, then the stored translation is more probably correct
A way to relate different language WordPress pages or posts to each other, so that we can interlink a post in English to the other language pages/posts “This page is also available in language”
Members of the meta team who work on translate.wordpress.orgtranslate.wordpress.orgThe platform for contributing to the translation of WordPress core, themes and plugins. would help in assisting to create the above components.
Team experiences
Since there will not be a fit-for-all solution, reflecting on experiences other teams have with content translation is necessary to understand if similar processes can be applied or adapted in as many Rosetta sites as possible.
Any team wanting to share their experience, please fill in this form.
We create a new dashboard for the GTEs, so they can get the last feedback comments.
This tool is not available for users without GTEGeneral Translation EditorA 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. profile, or in other languages where the GTE doesn’t have this profile.
In each row you will get this information:
Original stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings., with a link to the translation form.
The comment, with a link to the comment.
The project, with a link to the project.
The comment author, with a link to her WordPress.orgWordPress.orgThe 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/ profile.
The timestamp.
At the bottom, you will see a pagination bar.
Improvements
We are aware of some problems and/or improvements, and we are working on this:
Large set of comments. We are trying to get some technical solution to hide or mark as read the comments that were read by the user.
Filters. @la-geeksuggested adding some filters. We are working to decide the new filters: all comments, comments I participated in, comments with no participation, …
Until now, a validatorValidatorSee translation editor. could not request changes from a translator. Since we have added the feedback tool, a validator can do this, so instead of rejecting a stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings., when a validator gives feedback to a translator, the status changes from “rejected” to “changes requested”, so the translator can update the translation and then the validator can recheck it, to approve it.
When a validator (GTEGeneral Translation EditorA 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 EditorA 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. or CLPTECross-locale Project Translation EditorA 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.) 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 filterFilterFilters 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.
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 stringsStringA 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.
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 EditorA 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 EditorA 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 EditorA 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 validatorValidatorSee translation editor. makes a bulk rejection or rejects, approves or sets as fuzzy a single stringStringA 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 pluginPluginA 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 filterFilterFilters 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 stringsStringA 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:
Click on the hamburger icon.
Click on the “Discussion” link to open the discussion page in the same tab.
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:
A filter.
The feedback comment.
The comment reasons.
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 localesLocaleLocale = 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 localeLocaleLocale = 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.
This pluginPluginA 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 will have a notification system, with different situations, related with the users that will be notified:
Typo or context request: a user notify a typo in the original stringStringA string is a translatable part of the software. A translation consists of a multitude of localized strings. (usually in English), or request more information about the context.
Question in one language: a user requests some explanation to the reviewer about the translation to one language.
A reviewer bulk rejects some stringsStringA string is a translatable part of the software. A translation consists of a multitude of localized strings..
A reviewer rejects one string.
1. translate.wordpress.orgtranslate.wordpress.orgThe platform for contributing to the translation of WordPress core, themes and plugins.
The discussions will have a link to the settings at the bottom (something similar to text marked text in the next image) to opt-in/opt-out globally or only for the current discussion.
In the replies to a comment, all the users that write in the thread will receive an email.
1.1. Typo or context request
Here we have 2 different situations:
1.1.1. Plugins and themes
The plugin/theme authors will receive an email (Themes: only one email address. Plugins: all the plugin authors.). In the replies, all the users that write in the thread will receive an email. If none of these users is an author, the other authors will receive an email.
1.1.2. CoreCoreCore is the set of software required to run WordPress. The Core Development Team builds WordPress., Patterns, metaMetaMeta 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. and apps
Some special users (to be determined, we want to get users from the Polyglots community) will receive an email each time a request of this type is sent in a translation of this type (all translations of projects that are neither themes nor plugins). In the replies, all the users that write in the thread will receive an email. If none of these users is a special user, the other special users will receive an email.
1.2. Question in one language
The GTEGeneral Translation EditorA 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 EditorA 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 EditorA 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. for this project and localeLocaleLocale = 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/ will receive an email. In the replies, if none of these users is a GTE/PTE/CLPTE, all the GTE/PTE/CLPTE for this project and locale will receive an email.
1.3. Bulk rejection
The GTE/PTE/CLPTE can reject all the strings without making any comment, clicking on the “Reject” button on the popover. The translator will receive one email with all the rejected strings and the comment if the GTE/PTE/CLPTE had made a comment.
1.4. Single rejection
The GTE/PTE/CLPTE can reject the string without giving feedback, clicking on the “Reject” button on the sidebarSidebarA 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.. The translator will receive one email with the rejected string and the comment if the GTE/PTE/CLPTE had made a comment.
2. Number of notifications
At translate.wordpress.org, we know that some users will receive (not in the first days/months) an significant amount of notifications. Once we release this new functionality, we want to get feedback from the users to know if this situation is happening, and we’re committed to quickly make adjustments where necessary so that the notifications will be useful. In this case, we will talk about developing a dashboard for the users (GTE/PTE/CLPTE/translators) that would allow to say up to date by checking the dashboard instead of receiving notifications.
We’re concerned about due to the opt-in, many people will initially miss that conversations are going on because they won’t get notified. We’re thinking about how to make people aware of the opt-in possibility and how they’d benefit from it.
A banner on the top explaining that you can opt in. That banner can be closed and won’t show again.
A one-time full screen opt-in screen that can be closed and will never appear again.
Allow opting in with a checkbox when submitting a translation.
Other ideas?
In the footer of all discussions, the user will have some links to opt-in/opt-out in the whole system or only for the current discussion.
Do you have some comments? Please, write them in the comments.
The scope for leaving feedback is closed now and the team is currently preparing the 2020 Polyglots Survey. Thanks to everyone for helping us out!
Dear Polyglots,
Hope you are all doing well. As you are aware, in the past few weeks we have been quite active with the ‘Translation Day 2020‘ Mini Events across different localesLocaleLocale = 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/. We appreciate the input by the locales who have been posting updates of their activities with the community. As planned earlier we are conducting a survey across the community to gather information on the Translation Day initiative. We have created a draft set of questionnaire thanks to @nao, @evarlese, @devinmaeztri & @psmits1567. The document has suggestion/comment option enabled for all.
We request you all to share your feedback to help finalize the questionnaire for the 2020 Polyglots Survey.