The Training Team manages content translations in the LearnWP Content – Localization GitHubGitHub GitHub 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/ project board. This is where translations and feedback are passed between translators and reviewers before content is finally published on https://learn.wordpress.org/.
Project board overview
Issues in this project board pass through 6 columns, or statuses, as progress is made.
General contributors do not have access to add/delete custom fields, or move issues between columns/statuses. Translation Coordinators need to check each issue and manually move them between statuses on behalf of contributors.
Column name | Awaiting Triage | Translation in Progress | Review in Progress | Preparing to Publish | Published or Closed | Looking for Translator |
---|---|---|---|---|---|---|
Issue details | Localization issues initially land here when created from the Content Translation Template. | Issues are being worked on by a Content Translator. | Translations are waiting for a translation review. | Content has been reviewed and is in the final stages before being published. | Completed issues. | Issues that were once started but have since been abandoned are moved here for a new translator to continue working on. |
Issues can move to the next column after… | A Translation Coordinator has confirmed an issue isn’t spam, has added the locale custom fieldCustom Field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes., and provided the translator with necessary access to Learn. | A Content Translator has completed the translation of the piece of content. | A reviewer has completed a translation review. | The content has been translated. | – | A Content Translator has volunteered to continue working on the translation. |
Next destination | “Translation in Progress” column. | “Awaiting Review” column. | “Preparing to Publish” column. | “Published or Closed” column. | – | “Translation in Progress” column. |
The project board also has filters created for each locale. These give an overview of all issues that have a locale custom field added to them.

Custom fields and filtered views are created for new locales when the first GItHub issue is submitted for that locale. Translation Coordinators familiar with GitHub are welcome to make these.
Triage tasks
Follow the steps below to triage issues in each status.
Issues in the “Awaiting Triage” column
- Confirm the issue is not spam.
- If it is, press
Close issue
.
- If it is, press
- Remove the
Awaiting Triage
label. - Choose the locale from the list of custom fields.

- Assign the issue to the Content Translator – the issue submitter.
- Add the Content Translator to Learn WordPress and assign them content.
- Change the status of the issue to
Translation in Progress
.
The Training Team would like to make sure contributions from the Content Translator and Translation Reviewer are both recorded. However, due to GitHub access restriction, we are only able to assign issues to people who have commented on the issue first.
If a Translation Reviewer has been noted in the issue, follow these steps:
- Remove the
Needs Translation Reviewer
label. - Ask the reviewer to comment on the GitHub issue.
- Once they have commented, assign the reviewer to the issue along with the Content Translator, who should already be assigned.
Issues in the “Translation in Progress” column
Generally, two weeks is a good amount of time for a contributor to translate a piece of content. If it has been more than two weeks since the last message in the GitHub issue, then feel free to @-mention the Content Translator and ask them for an update.
Once a Content Translator says their translation is complete, follow these steps:
- Confirm the translation is viewable to everyone.
- If the translation is in a Google Doc, make sure the visibility is set to “public”. Ask the translator to change it if it isn’t.
- If the translation was made directly on Learn WordPress, then create a public preview link and paste that in the GitHub issue as a comment.
- Translation may also be attached to the issue directly.
- Change the status of the issue to
Review in Progress
. - Notify the Translation Reviewer that the translation is ready to be reviewed.
- If a Translation Reviewer hasn’t been assigned yet, follow the steps under Issues in “Looking for Translator” to find and assign a reviewer.
If no progress has been made on a translation, and the assigned Content Translator hasn’t responded to a request for update for an additional two weeks, follow these steps:
- See if a part-way translation has been shared on the issue.
- If no part-way translation is shared, then leave a comment on the issue and press
Close with comment
.- Example comment: “It seems no progress has been made on this issue for some time. I’ll close this issue for now, but feel free to reopen the issue if you would like to continue working on it.”
- If a part-way translation is shared, then:
- Leave a comment notifying you’re opening this translation up for another translator to work on.
- Remove the current assignee on the issue.
- Change status to
Looking for Translator
.
Issues in the “Review in Progress” column
Generally, two weeks is a good amount of time for a contributor to review a piece of content. If it has been more than two weeks since the last message in the GitHub issue, then feel free to @-mention the Translation Reviewer and ask them for an update.
Once a Translation Reviewer says their review is complete, change the status of the issue to Preparing to Publish
.
Issues in the “Preparing to Publish” column
- Confirm the Content Translator has applied any given feedback,
- Follow Publishing Translated Content and publish the content.
- Add a comment to the issue thanking contributors, and linking to the published content. Press
Close with comment
.
Issues in the “Published or Closed” column
These issues have been closed and do not need to be triaged.
Issues in the “Looking for Translator” column
Issues here were once started by a content translator, but have since been released for other people to work on. Look at the most recent activity on the issue to decide how to proceed.
- If a contributor has recently volunteered to continue working on the translation, then:
- Add the Content Translator to Learn WordPress and assign them content.
- Change the status of the issue to
Translation in Progress
.
- If no contributor has volunteered to working on the issue, then reach out in the following ways to find a translator:
- See if there is other content translated into that locale, either by looking through GitHub issues with that locale’s custom field, or looking through published content on Learn WordPress. Reach out to translators who have translated in the past and see if they would be interested in working on this piece of content.
- If that locale has a Translation Coordinator, reach out to them and see if they know anyone who could translate the content.
- If there is no Translation Coordinator for that locale, then you can reach out to the Locale Manager of that language and ask them who they think might be interested/available to help out.
- The Locale Managers role is a Polyglots team role. Each locale’s managers can be found by clicking on the respective “View Team Page” link from this list of Translation Teams.
When reaching out to Locale Managers, it’s a good idea to do so in the #polyglots Slack channel or on the Polyglots team blog. This keeps the conversation public, and others interested in helping out will be able to jump in, too.